┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2009-04-15 21:50:50 +0000
committerFrank Reininghaus <[email protected]>2009-04-15 21:50:50 +0000
commitb842968e4aa23332fb29687ee52611716b0b321c (patch)
tree2ca4033e6f753332a9828b91114c7e029091454d
parentb6e31438cbbba1368f85a91713e8cafad1e33532 (diff)
Make Qt 4.5's new "move tab" feature work in Dolphin. Up to now, tabs could be moved in the tab bar using drag&drop, but DolphinMainWindow didn't notice :-(
Note that there's no need to call setActiveTab() because the active tab is the same before and after the move operation - only its index in the tab bar has changed. BUG: 189641 svn path=/trunk/KDE/kdebase/apps/; revision=954556
-rw-r--r--src/dolphinmainwindow.cpp8
-rw-r--r--src/dolphinmainwindow.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index e60d7662e..ba3ae2787 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -960,6 +960,12 @@ void DolphinMainWindow::searchItems(const KUrl& url)
m_activeViewContainer->setUrl(url);
}
+void DolphinMainWindow::slotTabMoved(int from, int to)
+{
+ m_viewTab.move(from, to);
+ m_tabIndex = m_tabBar->currentIndex();
+}
+
void DolphinMainWindow::init()
{
DolphinSettings& settings = DolphinSettings::instance();
@@ -1016,6 +1022,8 @@ void DolphinMainWindow::init()
this, SLOT(slotWheelMoved(int)));
connect(m_tabBar, SIGNAL(mouseMiddleClick(int)),
this, SLOT(closeTab(int)));
+ connect(m_tabBar, SIGNAL(tabMoved(int, int)),
+ this, SLOT(slotTabMoved(int, int)));
m_tabBar->blockSignals(true); // signals get unblocked after at least 2 tabs are open
diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
index 687eecddf..5e1d27476 100644
--- a/src/dolphinmainwindow.h
+++ b/src/dolphinmainwindow.h
@@ -375,6 +375,13 @@ private slots:
*/
void searchItems(const KUrl& url);
+ /**
+ * Is connected to the QTabBar signal tabMoved(int from, int to).
+ * Reorders the list of tabs after a tab was moved in the tab bar
+ * and sets m_tabIndex to the new index of the current tab.
+ */
+ void slotTabMoved(int from, int to);
+
private:
DolphinMainWindow(int id);
void init();