[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kmenuedit
From:       Stephan Binner <binner () kde ! org>
Date:       2004-10-05 17:26:35
Message-ID: 20041005172635.56E43126EF () office ! kde ! org
[Download RAW message or body]

CVS commit by binner: 

fix TreeView::closeAllItems(QListViewItem *item)
fix 'kmenuedit /'
fix 'kmenuedit / foo.desktop'


  M +17 -9     treeview.cpp   1.92


--- kdebase/kmenuedit/treeview.cpp  #1.91:1.92
@@ -445,7 +445,7 @@ void TreeView::closeAllItems(QListViewIt
 {
     if (!item) return;
-    item->setOpen(false);
     while(item)
     {
+       item->setOpen(false);
        closeAllItems(item->firstChild());
        item = item->nextSibling();
@@ -455,14 +455,17 @@ void TreeView::closeAllItems(QListViewIt
 void TreeView::selectMenu(const QString &menu)
 {
+   closeAllItems(firstChild());
+   
    if (menu.length() <= 1)
+   {
+      setCurrentItem(firstChild());
+      clearSelection();
       return; // Root menu
+   }
 
-   MenuFolderInfo *menuInfo = m_rootFolder;
    QString restMenu = menu.mid(1);
    if (!restMenu.endsWith("/"))
       restMenu += "/";
 
-   closeAllItems(firstChild());
-
    TreeItem *item = 0;
    do
@@ -495,9 +498,14 @@ void TreeView::selectMenu(const QString 
 void TreeView::selectMenuEntry(const QString &menuEntry)
 {
-   TreeItem *item = (TreeItem *) currentItem();
+   TreeItem *item = (TreeItem *) selectedItem();
    if (!item)
-      return;
-      
+   {
+      item = (TreeItem *) currentItem();
+      while (item && item->isDirectory())
+          item = (TreeItem*) item->nextSibling();
+   }
+   else
    item = (TreeItem *) item->firstChild();
+
    while(item)
    {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic