Alles rund um die Programmierung mit Qt
Linuxguru
Beiträge: 96 Registriert: 14. Januar 2007 02:09
Beitrag
von Linuxguru » 13. Januar 2008 22:01
hallo,
ich möchte aus einem qdirmodel eine datei löschen. die darstellung des verzeichnisbaums erfolgt mit qtreeview. bei der ersten datei geht alles noch, wenn ich die 2. löschen möchte springt das qdirmodel nach dem löschen in ein anderes verzeichnis. meisstens ist es /bin.
hier mal ein auszug der löschen funktion
Code: Alles auswählen
void MyWidget::treeListRemove()
{
QModelIndex modelIndex = treeList->currentIndex();
if( !modelIndex.isValid() )
return;
bool ok;
if( model->fileInfo(modelIndex).isDir() )
{
ok = model->rmdir( modelIndex );
}
else
{
ok = model->remove( modelIndex );
}
if (!ok)
QMessageBox::information( this, tr("Remove"), tr("Failed to remove %1").arg(model->fileName(modelIndex)) );
}
Linuxguru
Beiträge: 96 Registriert: 14. Januar 2007 02:09
Beitrag
von Linuxguru » 16. Januar 2008 10:45
hab mein Problem jetzt so gelöst.. ich lösche direkt über QDir und QFile.
Code: Alles auswählen
void MyWidget::treeListRemove()
{
QModelIndex index = treeList->currentIndex();
QString itemName = model->filePath( index );
QString fileName = model->fileName( index );
QString filePath = itemName.left(itemName.lastIndexOf('/'));
if( !index.isValid() )
return;
if( model->fileInfo(index).isDir() )
{
QDir dir( itemName );
dir.rmdir( itemName );
}
else
{
QFile file( fileName );
file.remove( filePath+"/"+fileName );
}
treeList->setCurrentIndex(model->index("/"));
QModelIndex newindex = treeList->currentIndex();
model->refresh(newindex);
}
evtl kann ja mal noch jemand testen, ob es vielleicht einen bug in QDirModel::remove() und QDirModel::rmdir() gibt.
upsala
Beiträge: 3946 Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:
Beitrag
von upsala » 16. Januar 2008 12:16
evtl kann ja mal noch jemand testen, ob es vielleicht einen bug in QDirModel::remove() und QDirModel::rmdir() gibt.
Welche Qt-Version, welches Betriebssystem, im Task-Tracker schon mal nachgeschaut?
Linuxguru
Beiträge: 96 Registriert: 14. Januar 2007 02:09
Beitrag
von Linuxguru » 16. Januar 2008 15:19
hallo,
OS = Debian lenny
QT = 4.3.3
im tasktracker hab ich nachgeschaut, aber nix passendes an bugs gefunden. hab vermutet das der fehler evtl an mir liegt.
daher auch meine forumfrage