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

List:       kde-commits
Subject:    kdebase/konqueror/sidebar/trees
From:       Daniel Teske <teske () squorn ! de>
Date:       2005-03-13 21:37:40
Message-ID: 20050313213740.42A861487F () office ! kde ! org
[Download RAW message or body]

CVS commit by teske: 

Remove code duplication of bookmark_module and konq_sidebartree.


  M +13 -10    konq_sidebartree.cpp   1.53
  M +3 -0      konq_sidebartree.h   1.18
  M +2 -19     bookmark_module/bookmark_module.cpp   1.13
  M +0 -2      bookmark_module/bookmark_module.h   1.4


--- kdebase/konqueror/sidebar/trees/konq_sidebartree.cpp  #1.52:1.53
@@ -879,13 +879,7 @@ void KonqSidebarTree::enableActions( boo
 }
 
-void KonqSidebarTree::showToplevelContextMenu()
+bool KonqSidebarTree::tabSupport()
 {
-    KonqSidebarTreeTopLevelItem *item = 0;
-    KonqSidebarTreeItem *treeItem = currentItem();
-    if (treeItem && treeItem->isTopLevelItem())
-        item = static_cast<KonqSidebarTreeTopLevelItem *>(treeItem);
-
     // see if the newTab() dcop function is available (i.e. the sidebar is embedded into konqueror)
-    bool tabSupport = false;
     DCOPRef ref(kapp->dcopClient()->appId(), topLevelWidget()->name());
     DCOPReply reply = ref.call("functions()");
@@ -895,9 +889,18 @@ void KonqSidebarTree::showToplevelContex
         for (QCStringList::ConstIterator it = funcs.begin(); it != funcs.end(); ++it) {
             if ((*it) == "void newTab(QString url)") {
-                tabSupport = true;
+                return true;
                 break;
             }
         }
     }
+    return false;
+}
+
+void KonqSidebarTree::showToplevelContextMenu()
+{
+    KonqSidebarTreeTopLevelItem *item = 0;
+    KonqSidebarTreeItem *treeItem = currentItem();
+    if (treeItem && treeItem->isTopLevelItem())
+        item = static_cast<KonqSidebarTreeTopLevelItem *>(treeItem);
 
     if (!m_collection)
@@ -931,5 +934,5 @@ void KonqSidebarTree::showToplevelContex
             m_collection->action("create_folder")->plug(menu);
         } else {
-            if (tabSupport)
+            if (tabSupport())
                 m_collection->action("open_tab")->plug(menu);
             m_collection->action("open_window")->plug(menu);

--- kdebase/konqueror/sidebar/trees/konq_sidebartree.h  #1.17:1.18
@@ -115,4 +115,7 @@ public:
     void addURL(KonqSidebarTreeTopLevelItem* item, const KURL&url);
 
+    // If we can use dcop to open tabs
+    bool tabSupport();
+
 public slots:
     virtual void setContentsPos( int x, int y );

--- kdebase/konqueror/sidebar/trees/bookmark_module/bookmark_module.cpp  #1.12:1.13
@@ -98,5 +98,5 @@ bool KonqSidebarBookmarkModule::handleTo
     QPopupMenu *menu = new QPopupMenu;
 
-    if (tabSupport()) {
+    if (tree()->tabSupport()) {
         m_collection->action("folder_open_tabs")->plug(menu);
         menu->insertSeparator();
@@ -113,21 +113,4 @@ bool KonqSidebarBookmarkModule::handleTo
 }
 
-bool KonqSidebarBookmarkModule::tabSupport()
-{
-    DCOPRef ref(kapp->dcopClient()->appId(), tree()->topLevelWidget()->name());
-    DCOPReply reply = ref.call("functions()");
-    if (reply.isValid()) {
-        QCStringList funcs;
-        reply.get(funcs, "QCStringList");
-        for (QCStringList::ConstIterator it = funcs.begin(); it != funcs.end(); ++it) {
-            if ((*it) == "void newTab(QString url)") {
-                return true;
-                break;
-            }
-        }
-    }
-    return false;
-}
-
 void KonqSidebarBookmarkModule::showPopupMenu()
 {
@@ -136,5 +119,5 @@ void KonqSidebarBookmarkModule::showPopu
         return;
 
-    bool tabSupported = tabSupport();
+    bool tabSupported = tree()->tabSupport();
     QPopupMenu *menu = new QPopupMenu;
 

--- kdebase/konqueror/sidebar/trees/bookmark_module/bookmark_module.h  #1.3:1.4
@@ -67,6 +67,4 @@ private slots:
 
 private:
-    bool tabSupport();
-
     KonqSidebarTreeTopLevelItem * m_topLevelItem;
     KonqSidebarBookmarkItem * m_rootItem;


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

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