[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdebase/kmenuedit
From: Waldo Bastian <bastian () kde ! org>
Date: 2005-03-17 15:44:53
Message-ID: 20050317154453.A05F11853F () office ! kde ! org
[Download RAW message or body]
CVS commit by waba:
Don't lose recent changes when moving a folder around.
BUG:93241
M +24 -5 treeview.cpp 1.94
--- kdebase/kmenuedit/treeview.cpp #1.93:1.94
@@ -760,5 +760,12 @@ void TreeView::slotDropped (QDropEvent *
}
- del(m_dragItem, false);
+ // Remove MenuFolderInfo
+ TreeItem *oldParentItem = static_cast<TreeItem*>(m_dragItem->parent());
+ MenuFolderInfo *oldParentFolderInfo = oldParentItem ? \
oldParentItem->folderInfo() : m_rootFolder; + \
oldParentFolderInfo->take(folderInfo); +
+ // Delete old menu
+ m_menuFile->pushAction(MenuFile::REMOVE_MENU, m_dragItem->directory(), \
QString::null); +
// Move menu
QString oldFolder = folderInfo->fullId;
@@ -787,8 +794,20 @@ void TreeView::slotDropped (QDropEvent *
parentFolderInfo->add(folderInfo);
- TreeItem *newItem = createTreeItem(parentItem, after, folderInfo);
-
- setSelected ( newItem, true);
- itemSelected( newItem);
+ if ((parentItem != oldParentItem) || !after)
+ {
+ if (oldParentItem)
+ oldParentItem->takeItem(m_dragItem);
+ else
+ takeItem(m_dragItem);
+ if (parentItem)
+ parentItem->insertItem(m_dragItem);
+ else
+ insertItem(m_dragItem);
+ }
+ m_dragItem->moveItem(after);
+ m_dragItem->setName(folderInfo->caption);
+ m_dragItem->setDirectoryPath(folderInfo->fullId);
+ setSelected(m_dragItem, true);
+ itemSelected(m_dragItem);
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic