diff options
| author | 2010-05-31 16:36:08 +0000 | |
|---|---|---|
| committer | 2010-05-31 16:36:08 +0000 | |
| commit | eea83b31b85cc1cd0ca35c8b55c1b346f7e227f3 (patch) | |
| tree | fd930fa62ee481a39db35a672ab49c22df6ddbfb /src | |
| parent | fixed compilation without KDE (diff) | |
| download | KVIrc-eea83b31b85cc1cd0ca35c8b55c1b346f7e227f3.tar.gz KVIrc-eea83b31b85cc1cd0ca35c8b55c1b346f7e227f3.tar.bz2 KVIrc-eea83b31b85cc1cd0ca35c8b55c1b346f7e227f3.zip | |
fixed windowlist scrolling using the mouse wheel;
Added an option to discriminate between the old kvirc3 behaviour (scroll the scrollbar) and the pre-kvirc4 behaviour (scroll next/previous channel).
The options defaults to the old kvirc3 behaviour.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4406 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/kvi_options.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_windowlist_tree.cpp | 19 | ||||
| -rw-r--r-- | src/modules/options/optw_windowlist.cpp | 3 |
4 files changed, 22 insertions, 6 deletions
diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 4ca27ad35..46db97c6f 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -325,7 +325,8 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= BOOL_OPTION("UseSaslIfAvailable",true,KviOption_sectFlagConnection), BOOL_OPTION("FrameIsMaximized",false,KviOption_sectFlagGeometry), BOOL_OPTION("PrependNickColorInfoToRealname",true,KviOption_sectFlagConnection), - BOOL_OPTION("DontShowNotifierIfActiveWindowIsFullScreen",false,KviOption_sectFlagFrame) + BOOL_OPTION("DontShowNotifierIfActiveWindowIsFullScreen",false,KviOption_sectFlagFrame), + BOOL_OPTION("WheelScrollsWindowsList",false,KviOption_sectFlagWindowList) }; #define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags) diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index 9d5efc058..50f51a90f 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -334,8 +334,9 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_boolFrameIsMaximized 240 /* internal */ #define KviOption_boolPrependNickColorInfoToRealname 241 #define KviOption_boolDontShowNotifierIfActiveWindowIsFullScreen 242 /* notifier */ +#define KviOption_boolWheelScrollsWindowsList 243 -#define KVI_NUM_BOOL_OPTIONS 243 +#define KVI_NUM_BOOL_OPTIONS 244 #define KVI_STRING_OPTIONS_PREFIX "string" diff --git a/src/kvirc/ui/kvi_windowlist_tree.cpp b/src/kvirc/ui/kvi_windowlist_tree.cpp index 8efbb6270..194ca6c20 100644 --- a/src/kvirc/ui/kvi_windowlist_tree.cpp +++ b/src/kvirc/ui/kvi_windowlist_tree.cpp @@ -190,16 +190,29 @@ void KviTreeWindowListTreeWidget::wheelEvent(QWheelEvent *e) QScrollBar * pBar = verticalScrollBar(); if(!pBar) + { + e->ignore(); // let our parent handle the event return; + } if(!pBar->isVisible()) + { + e->ignore(); // let our parent handle the event return; - if( + } + + if(KVI_OPTION_BOOL(KviOption_boolWheelScrollsWindowsList)) + { + if(e->delta() < 0) + ((KviTreeWindowList*)parent())->switchWindow(true, false); + else if(e->delta() > 0) + ((KviTreeWindowList*)parent())->switchWindow(false, false); + } else { + if( ((e->delta() < 0) && (pBar->value() < pBar->maximum())) || ((e->delta() > 0) && (pBar->value() > pBar->minimum())) ) QApplication::sendEvent(pBar,e); - else - e->accept(); // eat it + } } diff --git a/src/modules/options/optw_windowlist.cpp b/src/modules/options/optw_windowlist.cpp index 5b75a5ff6..7ae03205b 100644 --- a/src/modules/options/optw_windowlist.cpp +++ b/src/modules/options/optw_windowlist.cpp @@ -222,8 +222,9 @@ KviTreeWindowListFeaturesOptionsWidget::KviTreeWindowListFeaturesOptionsWidget(Q addUIntSelector(0,1,0,1,__tr2qs_ctx("Minimum width:","options"),KviOption_uintTreeWindowListMinimumWidth,24,1024,125); addUIntSelector(0,2,0,2,__tr2qs_ctx("Maximum width:","options"),KviOption_uintTreeWindowListMaximumWidth,24,9999,125); + addBoolSelector(0,3,0,3,__tr2qs_ctx("Mouse wheel changes the active window instead of scrolling the scrollbar","options"),KviOption_boolWheelScrollsWindowsList); - addRowSpacer(0,3,0,3); + addRowSpacer(0,4,0,4); } |
