qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 4/4] gtk: Add "Grab On Click" option


From: Takashi Iwai
Subject: [Qemu-devel] [PATCH 4/4] gtk: Add "Grab On Click" option
Date: Thu, 13 Feb 2014 12:15:39 +0100

I simply like it better, you don't? :)

Signed-off-by: Takashi Iwai <address@hidden>
---
 ui/gtk.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ui/gtk.c b/ui/gtk.c
index e04f0781ae6c..4942c8330505 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -133,6 +133,7 @@ typedef struct GtkDisplayState
     GtkWidget *zoom_fit_item;
     GtkWidget *grab_item;
     GtkWidget *grab_on_hover_item;
+    GtkWidget *grab_on_click_item;
     GtkWidget *vga_item;
 
     int nb_vcs;
@@ -181,6 +182,11 @@ static bool gd_grab_on_hover(GtkDisplayState *s)
     return 
gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(s->grab_on_hover_item));
 }
 
+static bool gd_grab_on_click(GtkDisplayState *s)
+{
+    return 
gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(s->grab_on_click_item));
+}
+
 static bool gd_on_vga(GtkDisplayState *s)
 {
     return gtk_notebook_get_current_page(GTK_NOTEBOOK(s->notebook)) == 0;
@@ -678,6 +684,12 @@ static gboolean gd_button_event(GtkWidget *widget, 
GdkEventButton *button,
     int dx, dy;
     int n;
 
+    if (button->button == 1 && button->type == GDK_BUTTON_PRESS &&
+       !gd_is_grab_active(s) && gd_grab_on_click(s) && button->button == 1) {
+        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(s->grab_item), 
TRUE);
+       return TRUE;
+    }
+
     if (button->button == 1) {
         n = 0x01;
     } else if (button->button == 2) {
@@ -1401,6 +1413,9 @@ static GtkWidget *gd_create_menu_view(GtkDisplayState *s, 
GtkAccelGroup *accel_g
     s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On 
_Hover"));
     gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->grab_on_hover_item);
 
+    s->grab_on_click_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On 
_Click"));
+    gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->grab_on_click_item);
+
     s->grab_item = gtk_check_menu_item_new_with_mnemonic(_("_Grab Input"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->grab_item),
                                  "<QEMU>/View/Grab Input");
-- 
1.8.5.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]