aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2010-05-31 16:36:08 +0000
committerGravatar Fabio Bas2010-05-31 16:36:08 +0000
commiteea83b31b85cc1cd0ca35c8b55c1b346f7e227f3 (patch)
treefd930fa62ee481a39db35a672ab49c22df6ddbfb /src
parentfixed compilation without KDE (diff)
downloadKVIrc-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.cpp3
-rw-r--r--src/kvirc/kernel/kvi_options.h3
-rw-r--r--src/kvirc/ui/kvi_windowlist_tree.cpp19
-rw-r--r--src/modules/options/optw_windowlist.cpp3
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);
}