Seite 1 von 1

QDirModel - Browsing

Verfasst: 1. Dezember 2008 15:17
von CLRS530
Hi, ein kleines Projekt mit QDirModel geschrieben, das in einem QTableView das Browsen ermöglichen soll. Nach dem Ändern diverser Filte ist es fast genau so wie ich es haben möchte.
Das einzige Problem ist folgendes:
Ich starte im root, gehe bspw in D:\. Dort aber werden mir die 2 Punkte für das zurückgehen nicht angeboten. Gehe ich weiter in z.B. D:\folder kann ich problemlos zu D:\ zurückgelangen. Der code für das Browser ist folgender:

Code: Alles auswählen

void MainWindow::selectionChanged(const QItemSelection & selected, const QItemSelection & deselected)
{
    const QModelIndex &parentIndex = dirModel->parent(selected.indexes().at(0));
    const QModelIndex &modelIndex = dirModel->index(selected.indexes().at(0).row(), 0, parentIndex);
    fileBrowser->setRootIndex(modelIndex);
}
fileBrowser ist das QTableView und dirModel QDirModel

Es liegt an QDir vermute ich. Es ist mir aber schleierhaft wieso es sich so verhält. Ich hoffe mir kann jemand helfen, ob ich beim Ordnerwechsel etwas falsch mache oder wie ich, ohne ein komplizierteres eigenes Model schreiben zu müssen, zum Ziel gelangen kann.

Wenn ihr weiteren Code braucht sagt nur bescheid. Ich dachte, dass das genügt.
Vielleicht noch folgendes:

Code: Alles auswählen

dirModel->setFilter(QDir::AllEntries | QDir::Hidden | QDir::System);
fileBrowser->setRootIndex(dirModel->index(QString("/")));
Wäre QDirModel nicht völlig sinnlos, wenn es unter Windows eine Partition als eigenen root ansehen würde und das zurückgehen zu "My Computer" nicht ermöglichen würde?

Verfasst: 1. Dezember 2008 15:38
von pfid
D:\ ist doch schon die unterste Ebene, oder täusch ich mich da?

Verfasst: 1. Dezember 2008 15:44
von CLRS530
Naja wie man es nimmt. Ich möchte natürlich noch in die Übersicht der Partitionen und Disks wo ich auch hergekommen war.
Was bringt mir so ein Dateibrowser, wenn ich nicht zwischen den Partitionen wechseln kann.