Für ein Notizprogramm habe muss ich das Drag 'n Drop etwas anpassen. Ich möchte Dateien von einer QViewList in die andere verschieben (Model ist QFileSystemModel).
Jetzt habe ich zwei Probleme. Das eine ist, dass es nur möglich sein soll Dateien von der einen QViewList in einen beliebigen Ordner der anderen QViewList zu verschieben. Man sollte in den leeren weißen Bereich also keine Objekte droppen können. Das andere Problem ist, dass es eventuell bereits eine Datei mit einem bestimmten Namen gibt. In diesem Fall sollen alle Dateien bis auf die bereits vorhandenen Titel verschoben werden und dann soll sich ein Dialog zum umbenennen der Datei(en) öffnen.
Hierzu habe ich die Klasse QListView neu erstellt und den dropEvent reimplementiert. Damit kann man die Daten erst mal nicht mehr verschieben. Die Zeile "QAbstractItemView::dropEvent(e);" ermöglicht dies wieder.
Mit "qDebug()<<event->mimeData()->formats(); habe ich herausgefunden, dass das Datenformat "text/uri-list" ist. Mit qDebug()<<event->mimeData()->data("text/uri-list");" bekomme ich beim Droppen die URLs der Dateien ausgegeben.
Hat jemand vielleicht eine Idee, wie ich jetzt herausbekommen kann, welche Dateien nicht verschoben werden können bzw. wie ich an eine URL-Liste der in dem Zielordner befindlichen Dateien komme?
Gibt es vielleicht auch einen viel einfacheren Weg dies alles zu erreichen?
Vielen Dank im Voraus
Viele Grüße, Hakaishi