summaryrefslogtreecommitdiff
path: root/desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch')
-rw-r--r--desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch b/desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch
new file mode 100644
index 0000000000..ac1f843223
--- /dev/null
+++ b/desktop/gmrun/patches/gmrun-0.9.2-mousewheel.patch
@@ -0,0 +1,68 @@
+diff -ur gmrun-0.9.2/src/gtkcompletionline.cc gmrun-0.9.2.new/src/gtkcompletionline.cc
+--- gmrun-0.9.2/src/gtkcompletionline.cc 2010-01-11 12:20:16.076644635 +0200
++++ gmrun-0.9.2.new/src/gtkcompletionline.cc 2010-01-11 12:21:11.815581518 +0200
+@@ -75,6 +75,8 @@
+
+ static gboolean
+ on_key_press(GtkCompletionLine *cl, GdkEventKey *event, gpointer data);
++static gboolean
++on_scroll(GtkCompletionLine *cl, GdkEventScroll *event, gpointer data);
+
+ /* get_type */
+ guint gtk_completion_line_get_type(void)
+@@ -204,6 +206,8 @@
+ GTK_SIGNAL_FUNC(on_key_press), NULL);
+ gtk_signal_connect(GTK_OBJECT(object), "key_release_event",
+ GTK_SIGNAL_FUNC(on_key_press), NULL);
++ gtk_signal_connect(GTK_OBJECT(object), "scroll-event",
++ GTK_SIGNAL_FUNC(on_scroll), NULL);
+
+ object->hist = new HistoryFile();
+
+@@ -954,6 +958,45 @@
+ }
+
+ static gboolean
++on_scroll(GtkCompletionLine *cl, GdkEventScroll *event, gpointer data)
++{
++ if (event->direction == GDK_SCROLL_UP) {
++ if (cl->win_compl != NULL) {
++ int &item = cl->list_compl_items_where;
++ item--;
++ if (item < 0) {
++ item = 0;
++ } else {
++ complete_from_list(cl);
++ }
++ } else {
++ up_history(cl);
++ }
++ if (MODE_SRC) {
++ search_off(cl);
++ }
++ return TRUE;
++ } else if (event->direction == GDK_SCROLL_DOWN) {
++ if (cl->win_compl != NULL) {
++ int &item = cl->list_compl_items_where;
++ item++;
++ if (item >= cl->list_compl_nr_rows) {
++ item = cl->list_compl_nr_rows - 1;
++ } else {
++ complete_from_list(cl);
++ }
++ } else {
++ down_history(cl);
++ }
++ if (MODE_SRC) {
++ search_off(cl);
++ }
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static gboolean
+ on_key_press(GtkCompletionLine *cl, GdkEventKey *event, gpointer data)
+ {
+ static gint tt_id = -1;
+Only in gmrun-0.9.2.new/src: gtkcompletionline.cc.orig