From 14b7d88851378ac5ee85198634a984a665668237 Mon Sep 17 00:00:00 2001 From: Darrell Anderson Date: Tue, 13 Mar 2012 11:19:54 -0500 Subject: Add check box option to control taskbar window cycling with mouse wheel. This closes bug report 251. --- kicker/taskbar/taskbar.cpp | 26 +++++++++++++++++--------- kicker/taskbar/taskbar.h | 1 + kicker/taskbar/taskbar.kcfg | 5 +++++ 3 files changed, 23 insertions(+), 9 deletions(-) (limited to 'kicker/taskbar') diff --git a/kicker/taskbar/taskbar.cpp b/kicker/taskbar/taskbar.cpp index 1a156930d..ac8753caa 100644 --- a/kicker/taskbar/taskbar.cpp +++ b/kicker/taskbar/taskbar.cpp @@ -56,6 +56,7 @@ TaskBar::TaskBar( TQWidget *parent, const char *name ) m_currentScreen(-1), m_showOnlyCurrentScreen(false), m_sortByDesktop(false), + m_cycleWheel(false), m_showIcon(false), m_showOnlyIconified(false), m_textShadowEngine(0), @@ -233,6 +234,7 @@ void TaskBar::configure() { bool wasShowWindows = m_showAllWindows; bool wasSortByDesktop = m_sortByDesktop; + bool wasCycleWheel = m_cycleWheel; bool wasShowIcon = m_showIcon; bool wasShowOnlyIconified = m_showOnlyIconified; @@ -240,6 +242,7 @@ void TaskBar::configure() m_sortByDesktop = m_showAllWindows && TaskBarSettings::sortByDesktop(); m_showIcon = TaskBarSettings::showIcon(); m_showOnlyIconified = TaskBarSettings::showOnlyIconified(); + m_cycleWheel = TaskBarSettings::cycleWheel(); m_currentScreen = -1; // Show all screens or re-get our screen m_showOnlyCurrentScreen = (TaskBarSettings::showCurrentScreenOnly() && @@ -262,6 +265,7 @@ void TaskBar::configure() if (wasShowWindows != m_showAllWindows || wasSortByDesktop != m_sortByDesktop || wasShowIcon != m_showIcon || + wasCycleWheel != m_cycleWheel || wasShowOnlyIconified != m_showOnlyIconified) { // relevant settings changed, update our task containers @@ -1127,15 +1131,19 @@ void TaskBar::activateNextTask(bool forward) void TaskBar::wheelEvent(TQWheelEvent* e) { - if (e->delta() > 0) - { - // scroll away from user, previous task - activateNextTask(false); - } - else - { - // scroll towards user, next task - activateNextTask(true); + + if(TaskBarSettings::cycleWheel()) { + + if (e->delta() > 0) + { + // scroll away from user, previous task + activateNextTask(false); + } + else + { + // scroll towards user, next task + activateNextTask(true); + } } } diff --git a/kicker/taskbar/taskbar.h b/kicker/taskbar/taskbar.h index 9f56565e3..bb4167166 100644 --- a/kicker/taskbar/taskbar.h +++ b/kicker/taskbar/taskbar.h @@ -110,6 +110,7 @@ private: bool blocklayout; bool m_showAllWindows; + bool m_cycleWheel; // The screen to show, -1 for all screens int m_currentScreen; bool m_showOnlyCurrentScreen; diff --git a/kicker/taskbar/taskbar.kcfg b/kicker/taskbar/taskbar.kcfg index 173e5b8ec..0d11b4a60 100644 --- a/kicker/taskbar/taskbar.kcfg +++ b/kicker/taskbar/taskbar.kcfg @@ -11,6 +11,11 @@ Turning this option off will cause the taskbar to display only the windows on the current desktop. \n\nBy default, this option is selected and all windows are shown. + + true + + Enabling this option causes the taskbar to cycle through the current list of windows when using the mouse wheel + false -- cgit v1.2.3