Fehler beim Löschen einer Datei

Alles rund um die Programmierung mit Qt
Antworten
Linuxguru
Beiträge: 96
Registriert: 14. Januar 2007 02:09

Fehler beim Löschen einer Datei

Beitrag von Linuxguru »

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 »

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 »

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 »

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 :-)
Antworten