┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dolphinmainwindow.cpp15
-rw-r--r--src/dolphinmainwindow.h8
2 files changed, 23 insertions, 0 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 70c287869..077005c0f 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -266,6 +266,18 @@ void DolphinMainWindow::slotSelectionChanged(const KFileItemList& selection)
emit selectionChanged(selection);
}
+void DolphinMainWindow::slotWheelMoved(int wheeldelta)
+{
+ if (wheeldelta > 0)
+ {
+ //Non-negative, wheel is going forwards, so the tab goes backwards (focuses left)
+ activatePrevTab();
+ } else
+ {
+ activateNextTab();
+ }
+}
+
void DolphinMainWindow::slotRequestItemInfo(const KFileItem& item)
{
emit requestItemInfo(item);
@@ -896,6 +908,9 @@ void DolphinMainWindow::init()
this, SLOT(openNewTab()));
connect(m_tabBar, SIGNAL(testCanDecode(const QDragMoveEvent*, bool&)),
this, SLOT(slotTestCanDecode(const QDragMoveEvent*, bool&)));
+ connect(m_tabBar, SIGNAL(wheelDelta(int)),
+ this, SLOT(slotWheelMoved(int)));
+
m_tabBar->blockSignals(true); // signals get unblocked after at least 2 tabs are open
QWidget* centralWidget = new QWidget(this);
diff --git a/src/dolphinmainwindow.h b/src/dolphinmainwindow.h
index d65a7acff..f9eb5cced 100644
--- a/src/dolphinmainwindow.h
+++ b/src/dolphinmainwindow.h
@@ -282,6 +282,13 @@ private slots:
*/
void slotSelectionChanged(const KFileItemList& selection);
+ /**
+ * Wheel event, receives it's degree of movement (int).
+ * we look to see if it's negative (backwards) or positive (forwards).
+ * Enables changing of tabs via mouse wheel.
+ */
+ void slotWheelMoved(int wheeldelta);
+
/** Emits the signal requestItemInfo(). */
void slotRequestItemInfo(const KFileItem&);
@@ -342,6 +349,7 @@ private slots:
*/
void closeTab(int index);
+
/**
* Opens a context menu for the tab with the index \a index
* on the position \a pos.