Hi Leute, folgendes:
Ich hab ein QTreeView und ein QDirModel. Jetzt will ich im aktuell selektierten Ordner ein neues Verzeichnis erstellen.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
void Suite::on_actionNeuer_Ordner_triggered()
{
bool ok;
QString dirname = QInputDialog::getText(this, "Neuer Ordner", "Ordnername:", QLineEdit::Normal, "", &ok);
if(ok && !dirname.isEmpty())
{
if(!model->mkdir(ui->ArchivTree->currentIndex(), dirname).isValid())
{
QMessageBox::information(this, "Fehler", "Ordner konnte nicht erstellt werden");
}
}
}
|
Aber es wird kein Ordner erstellt.
In model ist das QDirModel gespeichert, das ich für den TreeView benutze, es wird auch alles richtig angezeigt.
Ich hab schon ne ganze Weile gegooglet, aber das einzig brauchbare, was ich gefunden hab, war der Hinweis, dass currentIndex auf einen gültigen Ordner zeigen muss.
Aber das tut es ja eigentlich, wenn ich im TreeView einen Ordner markiere oder?
Edit:
Problem gelöst: Es ist doch kein Verzeichnisname im TreeView - den muss man sich scheinbar erst noch zusammenzimmern mit QDirModel::filePath(index).
|
C-/C++-Quelltext
|
1
2
3
|
QDir dir(model->filePath(ui->ArchivTree->currentIndex()));
dir.mkdir(dirname);
model->refresh();
|