summaryrefslogtreecommitdiff
path: root/network/remmina/patches/20120422.patch
blob: d086da5ab325799c084f0bb6566dffb1e41ca3c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From fe1b698e4a6bba7783edcb3d0431e6acb24323f4 Mon Sep 17 00:00:00 2001
From: Jean-Louis Dupond <jean-louis@dupond.be>
Date: Sun, 22 Apr 2012 23:08:47 +0200
Subject: [PATCH] Also handle GDK_SCROLL_SMOOTH

---
 remmina-plugins/rdp/rdp_event.c         |    9 +++++++++
 remmina-plugins/vnc/vnc_plugin.c        |   12 ++++++++++++
 remmina/src/remmina_connection_window.c |   14 ++++++++++++++
 3 files changed, 35 insertions(+)

diff --git a/remmina-plugins/rdp/rdp_event.c b/remmina-plugins/rdp/rdp_event.c
index de8e01f..3d3e67a 100644
--- a/remmina-plugins/rdp/rdp_event.c
+++ b/remmina-plugins/rdp/rdp_event.c
@@ -377,6 +377,15 @@ static gboolean remmina_rdp_event_on_scroll(GtkWidget* widget, GdkEventScroll* e
 		case GDK_SCROLL_DOWN:
 			flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
 			break;
+		
+		case GDK_SCROLL_SMOOTH:
+			if (event->delta_y < 0)
+				flag = PTR_FLAGS_WHEEL | 0x0078;
+			if (event->delta_y > 0)
+				flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
+			if (!flag)
+				return FALSE;
+			break;
 
 		default:
 			return FALSE;
diff --git a/remmina-plugins/vnc/vnc_plugin.c b/remmina-plugins/vnc/vnc_plugin.c
index 0321057..f000ccb 100644
--- a/remmina-plugins/vnc/vnc_plugin.c
+++ b/remmina-plugins/vnc/vnc_plugin.c
@@ -1426,6 +1426,18 @@ static gboolean remmina_plugin_vnc_on_scroll(GtkWidget *widget, GdkEventScroll *
 		case GDK_SCROLL_RIGHT:
 			mask = (1 << 6);
 			break;
+		case GDK_SCROLL_SMOOTH:
+			if (event->delta_y < 0)
+				mask = (1 << 3);
+			if (event->delta_y > 0)
+				mask = (1 << 4);
+			if (event->delta_x < 0)
+				mask = (1 << 5);
+			if (event->delta_x > 0)
+				mask = (1 << 6);
+			if (!mask)
+				return FALSE;
+			break;
 		default:
 			return FALSE;
 	}
diff --git a/remmina/src/remmina_connection_window.c b/remmina/src/remmina_connection_window.c
index dfcc353..5487697 100644
--- a/remmina/src/remmina_connection_window.c
+++ b/remmina/src/remmina_connection_window.c
@@ -1477,6 +1477,20 @@ static gboolean remmina_connection_holder_toolbar_scroll(GtkWidget* widget, GdkE
 				return TRUE;
 			}
 			break;
+		case GDK_SCROLL_SMOOTH:
+			if (event->delta_y < 0 && opacity > 0)
+                        {
+                                remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity - 1);
+                                remmina_connection_holder_update_toolbar_opacity(cnnhld);
+                                return TRUE;
+                        }
+			if (event->delta_y > 0 && opacity < TOOLBAR_OPACITY_LEVEL)
+                        {
+                                remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity + 1);
+                                remmina_connection_holder_update_toolbar_opacity(cnnhld);
+                                return TRUE;
+                        }
+                        break;
 		default:
 			break;
 	}
-- 
1.7.10