Space at the bottom of the page: Go to next page
This commit is contained in:
parent
32286215d6
commit
abe60b164b
1 changed files with 25 additions and 1 deletions
|
@ -1609,6 +1609,7 @@ midori_browser_key_press_event (GtkWidget* widget,
|
||||||
MidoriBrowser* browser = MIDORI_BROWSER (widget);
|
MidoriBrowser* browser = MIDORI_BROWSER (widget);
|
||||||
GtkWidgetClass* widget_class;
|
GtkWidgetClass* widget_class;
|
||||||
guint clean_state;
|
guint clean_state;
|
||||||
|
GtkWidget* focus;
|
||||||
|
|
||||||
/* Interpret Ctrl(+Shift)+Tab as tab switching for compatibility */
|
/* Interpret Ctrl(+Shift)+Tab as tab switching for compatibility */
|
||||||
if (midori_browser_get_nth_tab (browser, 1) != NULL
|
if (midori_browser_get_nth_tab (browser, 1) != NULL
|
||||||
|
@ -1639,8 +1640,31 @@ midori_browser_key_press_event (GtkWidget* widget,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gtk_window_get_focus (GTK_WINDOW (widget)) == NULL)
|
focus = gtk_window_get_focus (GTK_WINDOW (widget));
|
||||||
|
if (focus == NULL)
|
||||||
gtk_widget_grab_focus (midori_browser_get_current_tab (MIDORI_BROWSER (widget)));
|
gtk_widget_grab_focus (midori_browser_get_current_tab (MIDORI_BROWSER (widget)));
|
||||||
|
else if (G_OBJECT_TYPE (focus) == WEBKIT_TYPE_WEB_VIEW
|
||||||
|
&& event->keyval == GDK_space
|
||||||
|
&& !webkit_web_view_can_cut_clipboard (WEBKIT_WEB_VIEW (focus))
|
||||||
|
&& !webkit_web_view_can_paste_clipboard (WEBKIT_WEB_VIEW (focus)))
|
||||||
|
{
|
||||||
|
/* Space at the bottom of the page: Go to next page */
|
||||||
|
GtkScrolledWindow* scrolled = GTK_SCROLLED_WINDOW (gtk_widget_get_parent (focus));
|
||||||
|
MidoriView* view = MIDORI_VIEW (gtk_widget_get_parent (GTK_WIDGET (scrolled)));
|
||||||
|
GtkAdjustment* vadjust = gtk_scrolled_window_get_vadjustment (scrolled);
|
||||||
|
if (gtk_adjustment_get_value (vadjust)
|
||||||
|
== (gtk_adjustment_get_upper (vadjust) - gtk_adjustment_get_page_size (vadjust)))
|
||||||
|
{
|
||||||
|
/* Duplicate here because the URI pointer might change */
|
||||||
|
gchar* uri = g_strdup (midori_view_get_next_page (view));
|
||||||
|
if (uri != NULL)
|
||||||
|
{
|
||||||
|
midori_view_set_uri (view, uri);
|
||||||
|
g_free (uri);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK))
|
if (event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK))
|
||||||
if (sokoke_window_activate_key (window, event))
|
if (sokoke_window_activate_key (window, event))
|
||||||
|
|
Loading…
Reference in a new issue