~ubuntu-branches/ubuntu/saucy/remmina/saucy-proposed

« back to all changes in this revision

Viewing changes to debian/patches/scroll_smooth.patch

  • Committer: Package Import Robot
  • Author(s): Jean-Louis Dupond
  • Date: 2012-04-22 23:10:05 UTC
  • Revision ID: package-import@ubuntu.com-20120422231005-7wz1utk5ez0bevub
Tags: 1.0.0-1ubuntu6
debian/patches/scroll_smooth.patch: fix scrolling with GDK_SCROLL_SMOOTH
(LP: #952964).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: fix scrolling in vnc & rdp plugin
 
2
 
 
3
 remmina (1.0.0-1ubuntu6) precise-proposed; urgency=low
 
4
 .
 
5
   * debian/patches/scroll_smooth.patch: fix scrolling with GDK_SCROLL_SMOOTH
 
6
     (LP: #952964).
 
7
Author: Jean-Louis Dupond <jean-louis@dupond.be>
 
8
Bug-Ubuntu: https://bugs.launchpad.net/bugs/952964
 
9
 
 
10
--- remmina-1.0.0.orig/remmina-plugins/rdp/rdp_event.c
 
11
+++ remmina-1.0.0/remmina-plugins/rdp/rdp_event.c
 
12
@@ -377,6 +377,15 @@ static gboolean remmina_rdp_event_on_scr
 
13
                case GDK_SCROLL_DOWN:
 
14
                        flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
 
15
                        break;
 
16
+               
 
17
+               case GDK_SCROLL_SMOOTH:
 
18
+                       if (event->delta_y < 0)
 
19
+                               flag = PTR_FLAGS_WHEEL | 0x0078;
 
20
+                       if (event->delta_y > 0)
 
21
+                               flag = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
 
22
+                       if (!flag)
 
23
+                               return FALSE;
 
24
+                       break;
 
25
 
 
26
                default:
 
27
                        return FALSE;
 
28
@@ -468,7 +477,7 @@ void remmina_rdp_event_init(RemminaProto
 
29
        gtk_container_add(GTK_CONTAINER(gp), rfi->drawing_area);
 
30
 
 
31
        gtk_widget_add_events(rfi->drawing_area, GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK
 
32
-               | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
 
33
+               | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_SCROLL_MASK);
 
34
        gtk_widget_set_can_focus(rfi->drawing_area, TRUE);
 
35
 
 
36
        remmina_plugin_service->protocol_plugin_register_hostkey(gp, rfi->drawing_area);
 
37
--- remmina-1.0.0.orig/remmina-plugins/vnc/vnc_plugin.c
 
38
+++ remmina-1.0.0/remmina-plugins/vnc/vnc_plugin.c
 
39
@@ -1426,6 +1426,18 @@ static gboolean remmina_plugin_vnc_on_sc
 
40
                case GDK_SCROLL_RIGHT:
 
41
                        mask = (1 << 6);
 
42
                        break;
 
43
+               case GDK_SCROLL_SMOOTH:
 
44
+                       if (event->delta_y < 0)
 
45
+                               mask = (1 << 3);
 
46
+                       if (event->delta_y > 0)
 
47
+                               mask = (1 << 4);
 
48
+                       if (event->delta_x < 0)
 
49
+                               mask = (1 << 5);
 
50
+                       if (event->delta_x > 0)
 
51
+                               mask = (1 << 6);
 
52
+                       if (!mask)
 
53
+                               return FALSE;
 
54
+                       break;
 
55
                default:
 
56
                        return FALSE;
 
57
        }
 
58
@@ -1847,7 +1859,7 @@ static void remmina_plugin_vnc_init(Remm
 
59
        gtk_widget_add_events(
 
60
                        gpdata->drawing_area,
 
61
                        GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK
 
62
-                                       | GDK_KEY_RELEASE_MASK);
 
63
+                                       | GDK_KEY_RELEASE_MASK | GDK_SCROLL_MASK);
 
64
        gtk_widget_set_can_focus(gpdata->drawing_area, TRUE);
 
65
 
 
66
 #if GTK_VERSION == 3
 
67
--- remmina-1.0.0.orig/remmina/src/remmina_connection_window.c
 
68
+++ remmina-1.0.0/remmina/src/remmina_connection_window.c
 
69
@@ -1477,6 +1477,20 @@ static gboolean remmina_connection_holde
 
70
                                return TRUE;
 
71
                        }
 
72
                        break;
 
73
+               case GDK_SCROLL_SMOOTH:
 
74
+                       if (event->delta_y < 0 && opacity > 0)
 
75
+                        {
 
76
+                                remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity - 1);
 
77
+                                remmina_connection_holder_update_toolbar_opacity(cnnhld);
 
78
+                                return TRUE;
 
79
+                        }
 
80
+                       if (event->delta_y > 0 && opacity < TOOLBAR_OPACITY_LEVEL)
 
81
+                        {
 
82
+                                remmina_file_set_int(cnnobj->remmina_file, "toolbar_opacity", opacity + 1);
 
83
+                                remmina_connection_holder_update_toolbar_opacity(cnnhld);
 
84
+                                return TRUE;
 
85
+                        }
 
86
+                        break;
 
87
                default:
 
88
                        break;
 
89
        }