Drag'n'Drop fixups.

1. Proper event handling
2. Allow folder moving
3. Allow moving into folders
This commit is contained in:
Nick Tiskov 2013-06-04 18:28:58 +04:00 committed by sledgehammer999
parent 933b2817ce
commit 8f12cfc817

View file

@ -173,19 +173,23 @@ void FeedListWidget::updateCurrentFeed(QTreeWidgetItem* new_item) {
}
void FeedListWidget::dragMoveEvent(QDragMoveEvent * event) {
QTreeWidget::dragMoveEvent(event);
QTreeWidgetItem *item = itemAt(event->pos());
// Prohibit dropping onto global unread counter
if (item == m_unreadStickyItem) {
event->ignore();
} else {
if (item && isFolder(item))
event->ignore();
else {
return;
}
// Prohibit dragging of global unread counter
if (selectedItems().contains(m_unreadStickyItem)) {
event->ignore();
} else {
QTreeWidget::dragMoveEvent(event);
}
return;
}
// Prohibit dropping onto feeds
if (item && isFeed(item)) {
event->ignore();
return;
}
}