[Spice-devel] [PATCH spice-gtk v4 6/6] usb-device-widget: Migrate to GtkContainer from GtkBox

Pavel Grunt pgrunt at redhat.com
Tue Feb 14 18:05:18 UTC 2017


GtkVBox is deprecated since Gtk 3.2, GtkBox is going to be
deprecated. Just use the GtkContainer api.
---
Per the commit bc3d12efb20423d5b1ebd490658f687c4bd323fd the class is considered final,
so this shouldn't be an ABI break

If we consider it as the ABI break we can just use the GtkContainer api
---
 src/usb-device-widget.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/usb-device-widget.c b/src/usb-device-widget.c
index b394499..7e20b6b 100644
--- a/src/usb-device-widget.c
+++ b/src/usb-device-widget.c
@@ -40,14 +40,14 @@
 
 struct _SpiceUsbDeviceWidget
 {
-    GtkVBox parent;
+    GtkContainer parent;
 
     SpiceUsbDeviceWidgetPrivate *priv;
 };
 
 struct _SpiceUsbDeviceWidgetClass
 {
-    GtkVBoxClass parent_class;
+    GtkContainerClass parent_class;
 
     /* signals */
     void (*connect_failed) (SpiceUsbDeviceWidget *widget,
@@ -94,7 +94,7 @@ struct _SpiceUsbDeviceWidgetPrivate {
 
 static guint signals[LAST_SIGNAL] = { 0, };
 
-G_DEFINE_TYPE(SpiceUsbDeviceWidget, spice_usb_device_widget, GTK_TYPE_BOX);
+G_DEFINE_TYPE(SpiceUsbDeviceWidget, spice_usb_device_widget, GTK_TYPE_CONTAINER);
 
 static void spice_usb_device_widget_get_property(GObject     *gobject,
                                                  guint        prop_id,
@@ -163,20 +163,22 @@ spice_usb_device_widget_show_info_bar(SpiceUsbDeviceWidget *self,
     gtk_info_bar_set_message_type(GTK_INFO_BAR(info_bar), message_type);
 
     content_area = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_bar));
-    hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
+    hbox = gtk_grid_new();
+    gtk_grid_set_column_spacing(GTK_GRID(hbox), 12);
     gtk_container_add(GTK_CONTAINER(content_area), hbox);
 
     widget = gtk_image_new_from_icon_name(stock_icon_id,
                                           GTK_ICON_SIZE_SMALL_TOOLBAR);
-    gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(hbox), widget);
 
     widget = gtk_label_new(message);
-    gtk_box_pack_start(GTK_BOX(hbox), widget, TRUE, TRUE, 0);
+    g_object_set(G_OBJECT(widget), "expand", TRUE, NULL);
+    gtk_container_add(GTK_CONTAINER(hbox), widget);
 
     priv->info_bar = gtk_alignment_new(0.0, 0.0, 1.0, 0.0);
     gtk_alignment_set_padding(GTK_ALIGNMENT(priv->info_bar), 0, 0, 12, 0);
     gtk_container_add(GTK_CONTAINER(priv->info_bar), info_bar);
-    gtk_box_pack_start(GTK_BOX(self), priv->info_bar, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(self), priv->info_bar);
     gtk_widget_show_all(priv->info_bar);
 }
 
@@ -208,7 +210,7 @@ static GObject *spice_usb_device_widget_constructor(
     gtk_label_set_markup(GTK_LABEL (priv->label), str);
     g_free(str);
     gtk_misc_set_alignment(GTK_MISC(priv->label), 0.0, 0.5);
-    gtk_box_pack_start(GTK_BOX(self), priv->label, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(self), priv->label);
 
     priv->manager = spice_usb_device_manager_get(priv->session, &err);
     if (err) {
@@ -572,7 +574,7 @@ static void device_added_cb(SpiceUsbDeviceManager *manager,
     align = gtk_alignment_new(0, 0, 0, 0);
     gtk_alignment_set_padding(GTK_ALIGNMENT(align), 0, 0, 12, 0);
     gtk_container_add(GTK_CONTAINER(align), check);
-    gtk_box_pack_end(GTK_BOX(self), align, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(self), align);
     spice_usb_device_widget_update_status(self);
     gtk_widget_show_all(align);
 }
-- 
2.11.1



More information about the Spice-devel mailing list