Hi!
Deep in the docs I found: http://doc.trolltech.com/latest/mode...ith-item-views
The following seems to do what you want:
#include "FileList.h"
FileList::FileList()
{
setAcceptDrops(true);
setDragEnabled(true);
setDropIndicatorShown(true);
setAlternatingRowColors(true);
}
{
if (event->mimeData()->hasUrls())
{
event->acceptProposedAction();
} else {
}
}
{
if (event->mimeData()->hasUrls())
{
event->acceptProposedAction();
} else {
}
}
{
if (event->mimeData()->hasUrls())
{
QList<QUrl> urls = event->mimeData()->urls();
if (!urls.isEmpty())
{
if (dropHintItem)
{
delete dropHintItem;
dropHintItem = 0;
}
foreach (url,urls)
{
}
}
event->acceptProposedAction();
}
}
#include "FileList.h"
FileList::FileList()
{
setAcceptDrops(true);
setDragEnabled(true);
setSelectionMode(QAbstractItemView::SingleSelection);
setDropIndicatorShown(true);
setDragDropMode(QAbstractItemView::InternalMove);
setAlternatingRowColors(true);
dropHintItem = new QListWidgetItem("Drop Files here...",this);
}
void FileList::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasUrls())
{
event->acceptProposedAction();
} else {
QListWidget::dragEnterEvent(event);
}
}
void FileList::dragMoveEvent(QDragMoveEvent *event)
{
if (event->mimeData()->hasUrls())
{
event->acceptProposedAction();
} else {
QListWidget::dragMoveEvent(event);
}
}
void FileList::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasUrls())
{
QList<QUrl> urls = event->mimeData()->urls();
if (!urls.isEmpty())
{
if (dropHintItem)
{
delete dropHintItem;
dropHintItem = 0;
}
QUrl url;
foreach (url,urls)
{
new QListWidgetItem(url.toLocalFile(),this);
}
}
event->acceptProposedAction();
}
QListWidget::dropEvent(event);
}
To copy to clipboard, switch view to plain text mode
Joh
Bookmarks