Use event->state instead of manually retrieving the state
This commit is contained in:
parent
819dfd8d77
commit
c634ff7395
1 changed files with 10 additions and 18 deletions
|
@ -675,15 +675,12 @@ gtk_widget_button_press_event_cb (WebKitWebView* web_view,
|
||||||
GdkEventButton* event,
|
GdkEventButton* event,
|
||||||
MidoriView* view)
|
MidoriView* view)
|
||||||
{
|
{
|
||||||
GdkModifierType state;
|
|
||||||
gint x, y;
|
|
||||||
GtkClipboard* clipboard;
|
GtkClipboard* clipboard;
|
||||||
gchar* uri;
|
gchar* uri;
|
||||||
gchar* new_uri;
|
gchar* new_uri;
|
||||||
const gchar* link_uri;
|
const gchar* link_uri;
|
||||||
gboolean background;
|
gboolean background;
|
||||||
|
|
||||||
gdk_window_get_pointer (NULL, &x, &y, &state);
|
|
||||||
link_uri = midori_view_get_link_uri (MIDORI_VIEW (view));
|
link_uri = midori_view_get_link_uri (MIDORI_VIEW (view));
|
||||||
|
|
||||||
switch (event->button)
|
switch (event->button)
|
||||||
|
@ -695,27 +692,27 @@ gtk_widget_button_press_event_cb (WebKitWebView* web_view,
|
||||||
/* FIXME: Test for Command key */
|
/* FIXME: Test for Command key */
|
||||||
if (0)
|
if (0)
|
||||||
#else
|
#else
|
||||||
if (state & GDK_CONTROL_MASK)
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
/* Open link in new tab */
|
/* Open link in new tab */
|
||||||
background = view->open_tabs_in_the_background;
|
background = view->open_tabs_in_the_background;
|
||||||
if (state & GDK_SHIFT_MASK)
|
if (event->state & GDK_SHIFT_MASK)
|
||||||
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
||||||
else g_signal_emit_by_name (view, "new-tab", link_uri, !background);
|
else g_signal_emit_by_name (view, "new-tab", link_uri, !background);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (state & GDK_SHIFT_MASK)
|
else if (event->state & GDK_SHIFT_MASK)
|
||||||
{
|
{
|
||||||
/* Open link in new window */
|
/* Open link in new window */
|
||||||
g_signal_emit_by_name (view, "new-window", link_uri);
|
g_signal_emit_by_name (view, "new-window", link_uri);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (state & GDK_MOD1_MASK)
|
else if (event->state & GDK_MOD1_MASK)
|
||||||
{
|
{
|
||||||
/* Open link in new tab */
|
/* Open link in new tab */
|
||||||
background = view->open_tabs_in_the_background;
|
background = view->open_tabs_in_the_background;
|
||||||
if (state & GDK_CONTROL_MASK)
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
background = !background;
|
background = !background;
|
||||||
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -726,19 +723,18 @@ gtk_widget_button_press_event_cb (WebKitWebView* web_view,
|
||||||
{
|
{
|
||||||
/* Open link in new tab */
|
/* Open link in new tab */
|
||||||
background = view->open_tabs_in_the_background;
|
background = view->open_tabs_in_the_background;
|
||||||
if (state & GDK_CONTROL_MASK)
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
background = !background;
|
background = !background;
|
||||||
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
g_signal_emit_by_name (view, "new-tab", link_uri, background);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (state & GDK_CONTROL_MASK)
|
else if (event->state & GDK_CONTROL_MASK)
|
||||||
{
|
{
|
||||||
midori_view_set_zoom_level (MIDORI_VIEW (view), 1.0);
|
midori_view_set_zoom_level (MIDORI_VIEW (view), 1.0);
|
||||||
return FALSE; /* Allow Ctrl + Middle click */
|
return FALSE; /* Allow Ctrl + Middle click */
|
||||||
}
|
}
|
||||||
else if (view->middle_click_opens_selection)
|
else if (view->middle_click_opens_selection)
|
||||||
{
|
{
|
||||||
state = (GdkModifierType) event->state;
|
|
||||||
clipboard = gtk_clipboard_get_for_display (
|
clipboard = gtk_clipboard_get_for_display (
|
||||||
gtk_widget_get_display (GTK_WIDGET (view)),
|
gtk_widget_get_display (GTK_WIDGET (view)),
|
||||||
GDK_SELECTION_PRIMARY);
|
GDK_SELECTION_PRIMARY);
|
||||||
|
@ -746,10 +742,10 @@ gtk_widget_button_press_event_cb (WebKitWebView* web_view,
|
||||||
if (uri && strchr (uri, '.') && !strchr (uri, ' '))
|
if (uri && strchr (uri, '.') && !strchr (uri, ' '))
|
||||||
{
|
{
|
||||||
new_uri = sokoke_magic_uri (uri, NULL);
|
new_uri = sokoke_magic_uri (uri, NULL);
|
||||||
if (state & GDK_CONTROL_MASK)
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
{
|
{
|
||||||
background = view->open_tabs_in_the_background;
|
background = view->open_tabs_in_the_background;
|
||||||
if (state & GDK_CONTROL_MASK)
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
background = !background;
|
background = !background;
|
||||||
g_signal_emit_by_name (view, "new-tab", new_uri, background);
|
g_signal_emit_by_name (view, "new-tab", new_uri, background);
|
||||||
}
|
}
|
||||||
|
@ -774,11 +770,7 @@ gtk_widget_scroll_event_cb (WebKitWebView* web_view,
|
||||||
GdkEventScroll* event,
|
GdkEventScroll* event,
|
||||||
MidoriView* view)
|
MidoriView* view)
|
||||||
{
|
{
|
||||||
GdkModifierType state = (GdkModifierType)0;
|
if (event->state & GDK_CONTROL_MASK)
|
||||||
gint x, y;
|
|
||||||
|
|
||||||
gdk_window_get_pointer (NULL, &x, &y, &state);
|
|
||||||
if (state & GDK_CONTROL_MASK)
|
|
||||||
{
|
{
|
||||||
if (event->direction == GDK_SCROLL_DOWN)
|
if (event->direction == GDK_SCROLL_DOWN)
|
||||||
webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (web_view));
|
webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (web_view));
|
||||||
|
|
Loading…
Reference in a new issue