]> cloud.milkyroute.net Git - dolphin.git/commitdiff
A middle click on an item of the tree view panel should open the URL inside a new...
authorPeter Penz <peter.penz19@gmail.com>
Sun, 11 May 2008 21:51:04 +0000 (21:51 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 11 May 2008 21:51:04 +0000 (21:51 +0000)
TODO: cleanup some obsolete signals/structure inside SidebarPage and TreeviewSidebarPage.

svn path=/trunk/KDE/kdebase/apps/; revision=806635

src/dolphinmainwindow.cpp
src/sidebarpage.h
src/treeviewsidebarpage.cpp
src/treeviewsidebarpage.h

index 149f58b0f6960e5b5127a105c758b9ed6ee9437d..51cb22e9d426aaa2b9c33d26ae36e689e6d8922d 100644 (file)
@@ -1046,8 +1046,8 @@ void DolphinMainWindow::setupDockWidgets()
     addDockWidget(Qt::LeftDockWidgetArea, treeViewDock);
     connect(this, SIGNAL(urlChanged(KUrl)),
             treeWidget, SLOT(setUrl(KUrl)));
-    connect(treeWidget, SIGNAL(changeUrl(KUrl)),
-            this, SLOT(changeUrl(KUrl)));
+    connect(treeWidget, SIGNAL(changeUrl(KUrl, Qt::MouseButtons)),
+            this, SLOT(handlePlacesClick(KUrl, Qt::MouseButtons)));
     connect(treeWidget, SIGNAL(changeSelection(KFileItemList)),
             this, SLOT(changeSelection(KFileItemList)));
     connect(treeWidget, SIGNAL(urlsDropped(KUrl::List, KUrl)),
index 697e8de58d30688fec43271663ccc41b0014047f..1c6b26be303852db10036ca13b2de7014faa126e 100644 (file)
@@ -54,30 +54,6 @@ public slots:
      */
     virtual void setSelection(const KFileItemList& selection);
 
-signals:
-    /**
-     * This signal is emitted when the sidebar requests an URL-change in the
-     * currently active file-management view. The view is not requested to
-     * accept this change, if it is accepted the sidebar will be informed via
-     * the setUrl() slot.
-     */
-    void changeUrl(const KUrl& url);
-
-    /**
-     * This signal is emitted when the sidebar requests a change in the
-     * current selection. The file-management view recieving this signal is
-     * not required to select all listed files, limiting the selection to
-     * e.g. the current folder. The new selection will be reported via the
-     * setSelection slot.
-     */
-    void changeSelection(const KFileItemList& selection);
-
-    /**
-     * This signal is emitted whenever a drop action on this widget needs the
-     * MainWindow's attention.
-     */
-    void urlsDropped(const KUrl::List& urls, const KUrl& destination);
-
 private:
     KUrl m_url;
     KFileItemList m_currentSelection;
index 84991bc434531b0a1a2e863b3ca0ecebe3bce92e..d5f5f40532a284f9933d35c68a90a5d766648170 100644 (file)
@@ -31,6 +31,7 @@
 #include <kdirlister.h>
 #include <kfileitem.h>
 
+#include <QApplication>
 #include <QItemSelection>
 #include <QTreeView>
 #include <QBoxLayout>
@@ -41,6 +42,7 @@
 TreeViewSidebarPage::TreeViewSidebarPage(QWidget* parent) :
     SidebarPage(parent),
     m_setLeafVisible(false),
+    m_mouseButtons(Qt::NoButton),
     m_dirLister(0),
     m_dolphinModel(0),
     m_proxyModel(0),
@@ -135,6 +137,8 @@ void TreeViewSidebarPage::showEvent(QShowEvent* event)
                 this, SLOT(updateActiveView(const QModelIndex&)));
         connect(m_treeView, SIGNAL(urlsDropped(const KUrl::List&, const QModelIndex&)),
                 this, SLOT(dropUrls(const KUrl::List&, const QModelIndex&)));
+        connect(m_treeView, SIGNAL(pressed(const QModelIndex&)),
+                this, SLOT(updateMouseButtons()));
 
         QVBoxLayout* layout = new QVBoxLayout(this);
         layout->setMargin(0);
@@ -166,7 +170,7 @@ void TreeViewSidebarPage::updateActiveView(const QModelIndex& index)
     const QModelIndex dirIndex = m_proxyModel->mapToSource(index);
     const KFileItem item = m_dolphinModel->itemForIndex(dirIndex);
     if (!item.isNull()) {
-        emit changeUrl(item.url());
+        emit changeUrl(item.url(), m_mouseButtons);
     }
 }
 
@@ -238,6 +242,11 @@ void TreeViewSidebarPage::scrollToLeaf()
     }
 }
 
+void TreeViewSidebarPage::updateMouseButtons()
+{
+    m_mouseButtons = QApplication::mouseButtons();
+}
+
 void TreeViewSidebarPage::loadTree(const KUrl& url)
 {
     Q_ASSERT(m_dirLister != 0);
index 336d2a6ca083d040e8503c895c12652ca89f6f6a..ba820ff20c0e4632ce4de84b06805f2442b325af 100644 (file)
@@ -51,6 +51,27 @@ public:
     void setShowHiddenFiles(bool show);
     bool showHiddenFiles() const;
 
+signals:
+    /**
+     * Is emitted if the an URL change is requested.
+     */
+    void changeUrl(const KUrl& url, Qt::MouseButtons buttons);
+
+    /**
+     * This signal is emitted when the sidebar requests a change in the
+     * current selection. The file-management view recieving this signal is
+     * not required to select all listed files, limiting the selection to
+     * e.g. the current folder. The new selection will be reported via the
+     * setSelection slot.
+     */
+    void changeSelection(const KFileItemList& selection);
+
+    /**
+     * This signal is emitted whenever a drop action on this widget needs the
+     * MainWindow's attention.
+     */
+    void urlsDropped(const KUrl::List& urls, const KUrl& destination);
+
 public slots:
     /**
      * Changes the current selection inside the tree to \a url.
@@ -107,6 +128,8 @@ private slots:
      */
     void scrollToLeaf();
 
+    void updateMouseButtons();
+
 private:
     /**
      * Initializes the base URL of the tree and expands all
@@ -124,6 +147,7 @@ private:
 
 private:
     bool m_setLeafVisible;
+    Qt::MouseButtons m_mouseButtons;
     KDirLister* m_dirLister;
     DolphinModel* m_dolphinModel;
     DolphinSortFilterProxyModel* m_proxyModel;