summary refs log tree commit diff stats
path: root/src/fe-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-gtk')
-rw-r--r--src/fe-gtk/chanview-tabs.c20
-rw-r--r--src/fe-gtk/chanview-tree.c16
-rw-r--r--src/fe-gtk/chanview.c4
-rw-r--r--src/fe-gtk/fe-gtk.vcxproj2
-rw-r--r--src/fe-gtk/fe-gtk.vcxproj.filters6
-rw-r--r--src/fe-gtk/setup.c1
6 files changed, 27 insertions, 22 deletions
diff --git a/src/fe-gtk/chanview-tabs.c b/src/fe-gtk/chanview-tabs.c
index e2e421da..dd1d16b7 100644
--- a/src/fe-gtk/chanview-tabs.c
+++ b/src/fe-gtk/chanview-tabs.c
@@ -233,11 +233,21 @@ tab_scroll_right_down_clicked (GtkWidget *widget, chanview *cv)
 static gboolean
 tab_scroll_cb (GtkWidget *widget, GdkEventScroll *event, gpointer cv)
 {
-	/* mouse wheel scrolling */
-	if (event->direction == GDK_SCROLL_UP)
-		tab_scroll_left_up_clicked (widget, cv);
-	else if (event->direction == GDK_SCROLL_DOWN)
-		tab_scroll_right_down_clicked (widget, cv);
+	if (prefs.hex_gui_tab_scrollchans)
+	{
+		if (event->direction == GDK_SCROLL_DOWN)
+			mg_switch_page (1, 1);
+		else if (event->direction == GDK_SCROLL_UP)
+			mg_switch_page (1, -1);
+	}
+	else
+	{
+		/* mouse wheel scrolling */
+		if (event->direction == GDK_SCROLL_UP)
+			tab_scroll_left_up_clicked (widget, cv);
+		else if (event->direction == GDK_SCROLL_DOWN)
+			tab_scroll_right_down_clicked (widget, cv);
+	}
 
 	return FALSE;
 }
diff --git a/src/fe-gtk/chanview-tree.c b/src/fe-gtk/chanview-tree.c
index e1e53dcf..ca70214e 100644
--- a/src/fe-gtk/chanview-tree.c
+++ b/src/fe-gtk/chanview-tree.c
@@ -25,11 +25,6 @@ typedef struct
 	GtkWidget *scrollw;	/* scrolledWindow */
 } treeview;
 
-#include "../common/hexchat.h"
-#include "../common/hexchatc.h"
-#include "fe-gtk.h"
-#include "maingui.h"
-
 #include <gdk/gdk.h>
 
 static void 	/* row-activated, when a row is double clicked */
@@ -91,10 +86,13 @@ cv_tree_click_cb (GtkTreeView *tree, GdkEventButton *event, chanview *cv)
 static void
 cv_tree_scroll_event_cb (GtkWidget *widget, GdkEventScroll *event)
 {
-	if (event->direction == GDK_SCROLL_DOWN)
-		mg_switch_page (1, 1);
-	else if (event->direction == GDK_SCROLL_UP)
-		mg_switch_page (1, -1);
+	if (prefs.hex_gui_tab_scrollchans)
+	{
+		if (event->direction == GDK_SCROLL_DOWN)
+			mg_switch_page (1, 1);
+		else if (event->direction == GDK_SCROLL_UP)
+			mg_switch_page (1, -1);
+	}
 }
 
 static void
diff --git a/src/fe-gtk/chanview.c b/src/fe-gtk/chanview.c
index 500ed1e5..4c50d922 100644
--- a/src/fe-gtk/chanview.c
+++ b/src/fe-gtk/chanview.c
@@ -22,6 +22,10 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include "../common/hexchat.h"
+#include "../common/hexchatc.h"
+#include "fe-gtk.h"
+#include "maingui.h"
 #include "gtkutil.h"
 #include "chanview.h"
 
diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj
index 1143dac7..73526766 100644
--- a/src/fe-gtk/fe-gtk.vcxproj
+++ b/src/fe-gtk/fe-gtk.vcxproj
@@ -134,8 +134,6 @@
     <ClCompile Include="ascii.c" />

     <ClCompile Include="banlist.c" />

     <ClCompile Include="chanlist.c" />

-    <ClCompile Include="chanview-tabs.c" />

-    <ClCompile Include="chanview-tree.c" />

     <ClCompile Include="chanview.c" />

     <ClCompile Include="custom-list.c" />

     <ClCompile Include="dccgui.c" />

diff --git a/src/fe-gtk/fe-gtk.vcxproj.filters b/src/fe-gtk/fe-gtk.vcxproj.filters
index e70cde9f..eb6e2281 100644
--- a/src/fe-gtk/fe-gtk.vcxproj.filters
+++ b/src/fe-gtk/fe-gtk.vcxproj.filters
@@ -188,12 +188,6 @@
     <ClCompile Include="resources.c">

       <Filter>Source Files</Filter>

     </ClCompile>

-    <ClCompile Include="chanview-tabs.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

-    <ClCompile Include="chanview-tree.c">

-      <Filter>Source Files</Filter>

-    </ClCompile>

   </ItemGroup>

   <ItemGroup>

     <Manifest Include="hexchat.exe.manifest">

diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c
index 72c3bb35..7c45971f 100644
--- a/src/fe-gtk/setup.c
+++ b/src/fe-gtk/setup.c
@@ -318,6 +318,7 @@ static const setting tabs_settings[] =
 	{ST_TOGGLE, N_("Sort tabs in alphabetical order"), P_OFFINTNL(hex_gui_tab_sort), 0, 0, 0},
 	{ST_TOGGLE, N_("Show icons in the channel tree"), P_OFFINTNL(hex_gui_tab_icons), 0, 0, 0},
 	{ST_TOGGLE, N_("Show dotted lines in the channel tree"), P_OFFINTNL(hex_gui_tab_dots), 0, 0, 0},
+	{ST_TOGGLE, N_("Scroll mouse-wheel to change tabs"), P_OFFINTNL (hex_gui_tab_scrollchans), 0, 0, 0},
 	{ST_TOGGLE, N_("Smaller text"), P_OFFINTNL(hex_gui_tab_small), 0, 0, 0},
 	{ST_MENU,	N_("Focus new tabs:"), P_OFFINTNL(hex_gui_tab_newtofront), 0, focusnewtabsmenu, 0},
 	{ST_MENU,	N_("Placement of notices:"), P_OFFINTNL(hex_irc_notice_pos), 0, noticeposmenu, 0},