qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes
@ 2014-03-17 20:06 Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 1/5] configure: Document --with-gtkabi Cole Robinson
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

First patch documents a configure option.
Next 3 patches fix deprecation warnings on gtk 3.10.
Last patch changes the 'quit' shortcut use the ctrl+alt convention.

v3:
    Fix last patch building against old gtk2

Cole Robinson (5):
  configure: Document --with-gtkabi
  gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic
  gtk: Don't use deprecated vte_terminal_get_adjustment
  gtk: Remove use of deprecated stock items
  gtk: Use ctrl+alt+q for quit accelerator

 configure |  1 +
 ui/gtk.c  | 25 ++++++++++++++-----------
 2 files changed, 15 insertions(+), 11 deletions(-)

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v3 1/5] configure: Document --with-gtkabi
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
@ 2014-03-17 20:06 ` Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 2/5] gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic Cole Robinson
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 configure | 1 +
 1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index 2bc6b77..d13aecf 100755
--- a/configure
+++ b/configure
@@ -1219,6 +1219,7 @@ Advanced options (experts only):
   --with-sdlabi            select preferred SDL ABI 1.2 or 2.0
   --disable-gtk            disable gtk UI
   --enable-gtk             enable gtk UI
+  --with-gtkabi            select preferred GTK ABI 2.0 or 3.0
   --disable-virtfs         disable VirtFS
   --enable-virtfs          enable VirtFS
   --disable-vnc            disable VNC
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v3 2/5] gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 1/5] configure: Document --with-gtkabi Cole Robinson
@ 2014-03-17 20:06 ` Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 3/5] gtk: Don't use deprecated vte_terminal_get_adjustment Cole Robinson
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

In these cases we weren't using an image in the menu item anyways, so
just do as the suggestion says. Should be fine for all qemu supported
gtk versions.

ui/gtk.c: In function ‘gd_create_menu_machine’:
ui/gtk.c:1284:5: error: ‘gtk_image_menu_item_new_with_mnemonic’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkimagemenuitem.h:76): Use 'gtk_menu_item_new_with_mnemonic' instead [-Werror=deprecated-declarations]
     s->reset_item = gtk_image_menu_item_new_with_mnemonic(_("_Reset"));
     ^
ui/gtk.c:1287:5: error: ‘gtk_image_menu_item_new_with_mnemonic’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkimagemenuitem.h:76): Use 'gtk_menu_item_new_with_mnemonic' instead [-Werror=deprecated-declarations]
     s->powerdown_item = gtk_image_menu_item_new_with_mnemonic(_("Power _Down"));

Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 ui/gtk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index baabf86..8d2873a 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1312,10 +1312,10 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s, GtkAccelGroup *acce
     separator = gtk_separator_menu_item_new();
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), separator);
 
-    s->reset_item = gtk_image_menu_item_new_with_mnemonic(_("_Reset"));
+    s->reset_item = gtk_menu_item_new_with_mnemonic(_("_Reset"));
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->reset_item);
 
-    s->powerdown_item = gtk_image_menu_item_new_with_mnemonic(_("Power _Down"));
+    s->powerdown_item = gtk_menu_item_new_with_mnemonic(_("Power _Down"));
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->powerdown_item);
 
     separator = gtk_separator_menu_item_new();
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v3 3/5] gtk: Don't use deprecated vte_terminal_get_adjustment
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 1/5] configure: Document --with-gtkabi Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 2/5] gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic Cole Robinson
@ 2014-03-17 20:06 ` Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 4/5] gtk: Remove use of deprecated stock items Cole Robinson
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

Guard this with a VTE version check, since I'm not sure if this is backwards
compatible.

ui/gtk.c: In function ‘gd_vc_init’:
ui/gtk.c:1176:5: error: ‘vte_terminal_get_adjustment’ is deprecated (declared at /usr/include/vte-2.90/vte/vtedeprecated.h:101) [-Werror=deprecated-declarations]

Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 ui/gtk.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ui/gtk.c b/ui/gtk.c
index 8d2873a..a048956 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1202,7 +1202,11 @@ static GSList *gd_vc_init(GtkDisplayState *s, VirtualConsole *vc, int index, GSL
 
     vte_terminal_set_scrollback_lines(VTE_TERMINAL(vc->terminal), -1);
 
+#if VTE_CHECK_VERSION(0, 28, 0) && GTK_CHECK_VERSION(3, 0, 0)
+    vadjustment = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(vc->terminal));
+#else
     vadjustment = vte_terminal_get_adjustment(VTE_TERMINAL(vc->terminal));
+#endif
 
     scrolled_window = gtk_scrolled_window_new(NULL, vadjustment);
     gtk_container_add(GTK_CONTAINER(scrolled_window), vc->terminal);
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v3 4/5] gtk: Remove use of deprecated stock items
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
                   ` (2 preceding siblings ...)
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 3/5] gtk: Don't use deprecated vte_terminal_get_adjustment Cole Robinson
@ 2014-03-17 20:06 ` Cole Robinson
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 5/5] gtk: Use ctrl+alt+q for quit accelerator Cole Robinson
  2014-03-18  7:28 ` [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Gerd Hoffmann
  5 siblings, 0 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

Stock items are deprecated. As are ImageMenuItems. Convert everything to
text only MenuItems, with the same text content as mentioned in the
conversion guide:

https://docs.google.com/spreadsheet/pub?key=0AsPAM3pPwxagdGF4THNMMUpjUW5xMXZfdUNzMXhEa2c&output=html

gtk2 users lose their menu icons as well, but I don't think that's enough
of a problem to warrant keeping around back compat code.

Example error:

ui/gtk.c:1328:5: error: ‘GtkStock’ is deprecated [-Werror=deprecated-declarations]
ui/gtk.c:1335:5: error: ‘gtk_image_menu_item_new_from_stock’ is deprecated (declared at /usr/include/gtk-3.0/gtk/deprecated/gtkimagemenuitem.h:78): Use 'gtk_menu_item_new' instead [-Werror=deprecated-declarations]
     s->zoom_out_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_OUT, NULL);

Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 ui/gtk.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index a048956..9670567 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1305,7 +1305,6 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s, GtkAccelGroup *acce
 {
     GtkWidget *machine_menu;
     GtkWidget *separator;
-    GtkStockItem item;
 
     machine_menu = gtk_menu_new();
     gtk_menu_set_accel_group(GTK_MENU(machine_menu), accel_group);
@@ -1325,11 +1324,11 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s, GtkAccelGroup *acce
     separator = gtk_separator_menu_item_new();
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), separator);
 
-    s->quit_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
-    gtk_stock_lookup(GTK_STOCK_QUIT, &item);
+    s->quit_item = gtk_menu_item_new_with_mnemonic(_("_Quit"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->quit_item),
                                  "<QEMU>/Machine/Quit");
-    gtk_accel_map_add_entry("<QEMU>/Machine/Quit", item.keyval, item.modifier);
+    gtk_accel_map_add_entry("<QEMU>/Machine/Quit",
+                            GDK_KEY_q, GDK_CONTROL_MASK);
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->quit_item);
 
     return machine_menu;
@@ -1345,8 +1344,7 @@ static GtkWidget *gd_create_menu_view(GtkDisplayState *s, GtkAccelGroup *accel_g
     view_menu = gtk_menu_new();
     gtk_menu_set_accel_group(GTK_MENU(view_menu), accel_group);
 
-    s->full_screen_item =
-        gtk_image_menu_item_new_from_stock(GTK_STOCK_FULLSCREEN, NULL);
+    s->full_screen_item = gtk_menu_item_new_with_mnemonic(_("_Fullscreen"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->full_screen_item),
                                  "<QEMU>/View/Full Screen");
     gtk_accel_map_add_entry("<QEMU>/View/Full Screen", GDK_KEY_f,
@@ -1356,21 +1354,21 @@ static GtkWidget *gd_create_menu_view(GtkDisplayState *s, GtkAccelGroup *accel_g
     separator = gtk_separator_menu_item_new();
     gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), separator);
 
-    s->zoom_in_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_IN, NULL);
+    s->zoom_in_item = gtk_menu_item_new_with_mnemonic(_("Zoom _In"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->zoom_in_item),
                                  "<QEMU>/View/Zoom In");
     gtk_accel_map_add_entry("<QEMU>/View/Zoom In", GDK_KEY_plus,
                             HOTKEY_MODIFIERS);
     gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->zoom_in_item);
 
-    s->zoom_out_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_OUT, NULL);
+    s->zoom_out_item = gtk_menu_item_new_with_mnemonic(_("Zoom _Out"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->zoom_out_item),
                                  "<QEMU>/View/Zoom Out");
     gtk_accel_map_add_entry("<QEMU>/View/Zoom Out", GDK_KEY_minus,
                             HOTKEY_MODIFIERS);
     gtk_menu_shell_append(GTK_MENU_SHELL(view_menu), s->zoom_out_item);
 
-    s->zoom_fixed_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ZOOM_100, NULL);
+    s->zoom_fixed_item = gtk_menu_item_new_with_mnemonic(_("Best _Fit"));
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->zoom_fixed_item),
                                  "<QEMU>/View/Zoom Fixed");
     gtk_accel_map_add_entry("<QEMU>/View/Zoom Fixed", GDK_KEY_0,
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH v3 5/5] gtk: Use ctrl+alt+q for quit accelerator
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
                   ` (3 preceding siblings ...)
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 4/5] gtk: Remove use of deprecated stock items Cole Robinson
@ 2014-03-17 20:06 ` Cole Robinson
  2014-03-18  7:28 ` [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Gerd Hoffmann
  5 siblings, 0 replies; 7+ messages in thread
From: Cole Robinson @ 2014-03-17 20:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, Anthony Liguori, Cole Robinson

Using the standard ctrl+q makes it too easy to kill the whole VM. Using
ctrl+alt+FOO is consistent with our other accelerators.

https://bugzilla.redhat.com/show_bug.cgi?id=1062393
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
v3:
    Fix building with old gtk2

 ui/gtk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 9670567..ab08fe0 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -88,6 +88,7 @@ static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
 #define GDK_KEY_2 GDK_2
 #define GDK_KEY_f GDK_f
 #define GDK_KEY_g GDK_g
+#define GDK_KEY_q GDK_q
 #define GDK_KEY_plus GDK_plus
 #define GDK_KEY_minus GDK_minus
 #endif
@@ -1328,7 +1329,7 @@ static GtkWidget *gd_create_menu_machine(GtkDisplayState *s, GtkAccelGroup *acce
     gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->quit_item),
                                  "<QEMU>/Machine/Quit");
     gtk_accel_map_add_entry("<QEMU>/Machine/Quit",
-                            GDK_KEY_q, GDK_CONTROL_MASK);
+                            GDK_KEY_q, HOTKEY_MODIFIERS);
     gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->quit_item);
 
     return machine_menu;
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes
  2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
                   ` (4 preceding siblings ...)
  2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 5/5] gtk: Use ctrl+alt+q for quit accelerator Cole Robinson
@ 2014-03-18  7:28 ` Gerd Hoffmann
  5 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2014-03-18  7:28 UTC (permalink / raw)
  To: Cole Robinson; +Cc: qemu-devel, Anthony Liguori

On Mo, 2014-03-17 at 16:06 -0400, Cole Robinson wrote:
> First patch documents a configure option.
> Next 3 patches fix deprecation warnings on gtk 3.10.
> Last patch changes the 'quit' shortcut use the ctrl+alt convention.

Queued for 2.1 devel cycle.

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-03-18  7:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-17 20:06 [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Cole Robinson
2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 1/5] configure: Document --with-gtkabi Cole Robinson
2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 2/5] gtk: Don't use deprecated gtk_image_menu_item_new_with_mnemonic Cole Robinson
2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 3/5] gtk: Don't use deprecated vte_terminal_get_adjustment Cole Robinson
2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 4/5] gtk: Remove use of deprecated stock items Cole Robinson
2014-03-17 20:06 ` [Qemu-devel] [PATCH v3 5/5] gtk: Use ctrl+alt+q for quit accelerator Cole Robinson
2014-03-18  7:28 ` [Qemu-devel] [PATCH v3 0/5] gtk: Fix deprecation warnings, misc bug fixes Gerd Hoffmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).