Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 49543 Details for
Bug 79548
gqview sane arrows ebuild
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
The patch to make the arrow keys sane
gqview-1.5.3.sanearrows.patch (text/plain), 4.86 KB, created by
Starling
on 2005-01-26 00:41:12 UTC
(
hide
)
Description:
The patch to make the arrow keys sane
Filename:
MIME Type:
Creator:
Starling
Created:
2005-01-26 00:41:12 UTC
Size:
4.86 KB
patch
obsolete
>diff -Naur gqview-1.5.3/src/img-view.c gqview-1.5.3-new/src/img-view.c >--- gqview-1.5.3/src/img-view.c 2004-09-18 08:47:05.000000000 -0800 >+++ gqview-1.5.3-new/src/img-view.c 2005-01-25 23:19:39.059512000 -0800 >@@ -317,6 +317,10 @@ > popup_menu_position_clamp(menu, x, y, 0); > } > >+/* For some reason keyboard_scroll_calc always at least doubles x & y */ >+#define MYSTERIOUSFACTORH 2 >+#define MYSTERIOUSFACTORW 2 >+ > static gint view_window_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) > { > ViewWindow *vw = data; >@@ -325,6 +329,11 @@ > GtkWidget *menu; > gint x = 0; > gint y = 0; >+ gint width, height; >+ >+ gdk_window_get_size(widget->window, &width, &height); >+ height = height / MYSTERIOUSFACTORH; >+ width = width / MYSTERIOUSFACTORW; > > imd = view_window_active_image(vw); > >@@ -332,19 +341,19 @@ > switch (event->keyval) > { > case GDK_Left: case GDK_KP_Left: >- x -= 1; >+ x -= width; > stop_signal = TRUE; > break; > case GDK_Right: case GDK_KP_Right: >- x += 1; >+ x += width; > stop_signal = TRUE; > break; > case GDK_Up: case GDK_KP_Up: >- y -= 1; >+ y -= height; > stop_signal = TRUE; > break; > case GDK_Down: case GDK_KP_Down: >- y += 1; >+ y += height; > stop_signal = TRUE; > break; > case GDK_Page_Up: case GDK_KP_Page_Up: >@@ -535,9 +544,10 @@ > break; > default: > break; >- } >- x *= 3; >- y *= 3; >+ }; >+ >+ if(x) x = x > 0 ? 3 : -3; >+ if(y) y = y > 0 ? 3 : -3; > } > > if (x != 0 || y!= 0) >diff -Naur gqview-1.5.3/src/layout_image.c gqview-1.5.3-new/src/layout_image.c >--- gqview-1.5.3/src/layout_image.c 2004-09-17 10:29:34.000000000 -0800 >+++ gqview-1.5.3-new/src/layout_image.c 2005-01-25 23:19:39.068511000 -0800 >@@ -59,6 +59,10 @@ > gtk_menu_popup(GTK_MENU(menu), NULL, NULL, layout_image_fullscreen_menu_pos_cb, lw, 0, GDK_CURRENT_TIME); > } > >+/* For some reason keyboard_scroll_calc always at least doubles x & y */ >+#define MYSTERIOUSFACTORH 2 >+#define MYSTERIOUSFACTORW 2 >+ > static gint layout_image_full_screen_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) > { > LayoutWindow *lw = data; >@@ -66,23 +70,28 @@ > gint x = 0; > gint y = 0; > >+ gint width, height; >+ gdk_window_get_size(widget->window, &width, &height); >+ height = height / MYSTERIOUSFACTORH; >+ width = width / MYSTERIOUSFACTORW; >+ > if ( !(event->state & GDK_CONTROL_MASK) ) > switch (event->keyval) > { > case GDK_Left: case GDK_KP_Left: >- x -= 1; >+ x -= width; > stop_signal = TRUE; > break; > case GDK_Right: case GDK_KP_Right: >- x += 1; >+ x += width; > stop_signal = TRUE; > break; > case GDK_Up: case GDK_KP_Up: >- y -= 1; >+ y -= height; > stop_signal = TRUE; > break; > case GDK_Down: case GDK_KP_Down: >- y += 1; >+ y += height; > stop_signal = TRUE; > break; > case '+': case '=': case GDK_KP_Add: >@@ -262,10 +271,16 @@ > y *= 3; > } > >+ if (event->state & GDK_SHIFT_MASK) >+ { >+ if(x) x = x > 0 ? 3 : -3; >+ if(y) y = y > 0 ? 3 : -3; >+ } >+ > if (x != 0 || y!= 0) > { >- keyboard_scroll_calc(&x, &y, event); >- layout_image_scroll(lw, x, y); >+ keyboard_scroll_calc(&x, &y, event); >+ layout_image_scroll(lw, x, y); > } > > return stop_signal; >diff -Naur gqview-1.5.3/src/layout_util.c gqview-1.5.3-new/src/layout_util.c >--- gqview-1.5.3/src/layout_util.c 2004-09-18 08:53:55.000000000 -0800 >+++ gqview-1.5.3-new/src/layout_util.c 2005-01-25 23:19:39.077509000 -0800 >@@ -70,13 +70,22 @@ > return FALSE; > } > >+/* For some reason keyboard_scroll_calc always at least doubles x & y */ >+#define MYSTERIOUSFACTORH 2 >+#define MYSTERIOUSFACTORW 2 >+ > static gint layout_key_press_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) > { > LayoutWindow *lw = data; > gint stop_signal = FALSE; > gint x = 0; > gint y = 0; >+ gint width, height; > >+ gdk_window_get_size(widget->window, &width, &height); >+ height = height / MYSTERIOUSFACTORH; >+ width = width / MYSTERIOUSFACTORW; >+ > if (lw->path_entry && GTK_WIDGET_HAS_FOCUS(lw->path_entry)) > { > if (event->keyval == GDK_Escape && lw->path) >@@ -109,19 +118,19 @@ > switch (event->keyval) > { > case GDK_Left: case GDK_KP_Left: >- x -= 1; >+ x -= width; > stop_signal = TRUE; > break; > case GDK_Right: case GDK_KP_Right: >- x += 1; >+ x += width; > stop_signal = TRUE; > break; > case GDK_Up: case GDK_KP_Up: >- y -= 1; >+ y -= height; > stop_signal = TRUE; > break; > case GDK_Down: case GDK_KP_Down: >- y += 1; >+ y += height; > stop_signal = TRUE; > break; > case GDK_BackSpace: >@@ -231,14 +240,14 @@ > > if (event->state & GDK_SHIFT_MASK) > { >- x *= 3; >- y *= 3; >+ if(x) x = x > 0 ? 3 : -3; >+ if(y) y = y > 0 ? 3 : -3; > } > >- if (x != 0 || y!= 0) >+ if (x != 0 || y != 0) > { >- keyboard_scroll_calc(&x, &y, event); >- layout_image_scroll(lw, x, y); >+ keyboard_scroll_calc(&x, &y, event); >+ layout_image_scroll(lw, x, y); > } > > if (stop_signal) g_signal_stop_emission_by_name(G_OBJECT(widget), "key_press_event");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 79548
:
49542
| 49543