All of lore.kernel.org
 help / color / mirror / Atom feed
* [matchbox-desktop-2][PATCH 0/2] More Gtk+3 fixes
@ 2016-05-03 13:32 Jussi Kukkonen
  2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 1/2] TakuCategoryBar: Avoid deprecated API Jussi Kukkonen
  2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 2/2] TakuIconTile: Avoid deprecated icon API Jussi Kukkonen
  0 siblings, 2 replies; 3+ messages in thread
From: Jussi Kukkonen @ 2016-05-03 13:32 UTC (permalink / raw)
  To: yocto

Two patches more on top of the 16 patch set earlier: these fix the
last deprecation warnings (with GTK 3.20).

I've pushed these into the same branch and have nothing more planned for
matchbox-desktop-2.

Jussi

The following changes since commit 606344f8b1652bcc3d369911990cf5bc46a16ab6:

  Don't set the desktop fullscreen if MODE_DESKTOP (2016-04-28 10:49:55 +0300)

are available in the git repository at:

  git://github.com/jku/matchbox-desktop-2 gtk3
  https://github.com/jku/matchbox-desktop-2/tree/gtk3

Jussi Kukkonen (2):
  TakuCategoryBar: Avoid deprecated API
  TakuIconTile: Avoid deprecated icon API

 libtaku/taku-icon-tile.c     | 24 +++++++++++++++++++-----
 libtaku/taku-launcher-tile.c | 32 +++++++++++++++++---------------
 libtaku/taku-menu-desktop.c  |  8 ++------
 libtaku/taku-menu.h          |  3 +--
 src/desktop.c                |  4 ----
 src/taku-category-bar.c      | 27 ++++++---------------------
 6 files changed, 45 insertions(+), 53 deletions(-)

-- 
2.8.1



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

* [matchbox-desktop-2][PATCH 1/2] TakuCategoryBar: Avoid deprecated API
  2016-05-03 13:32 [matchbox-desktop-2][PATCH 0/2] More Gtk+3 fixes Jussi Kukkonen
@ 2016-05-03 13:32 ` Jussi Kukkonen
  2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 2/2] TakuIconTile: Avoid deprecated icon API Jussi Kukkonen
  1 sibling, 0 replies; 3+ messages in thread
From: Jussi Kukkonen @ 2016-05-03 13:32 UTC (permalink / raw)
  To: yocto

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
 src/taku-category-bar.c | 27 ++++++---------------------
 1 file changed, 6 insertions(+), 21 deletions(-)

diff --git a/src/taku-category-bar.c b/src/taku-category-bar.c
index 93bda61..5900d54 100644
--- a/src/taku-category-bar.c
+++ b/src/taku-category-bar.c
@@ -192,7 +192,6 @@ popup_menu (GtkWidget *button, GdkEventButton *event, gpointer user_data)
 
     label = gtk_label_new (category->name);
     make_bold (GTK_LABEL (label));
-    gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.0);
     gtk_widget_show (label);
     gtk_container_add (GTK_CONTAINER (menu_item), label);
   }
@@ -216,16 +215,14 @@ static void
 taku_category_bar_init (TakuCategoryBar *bar)
 {
   TakuCategoryBarPrivate *priv;
-  GtkWidget *button, *arrow;
-  GtkSizeGroup *size_group;
+  GtkWidget *button;
 
   priv = GET_PRIVATE (bar);
 
-  size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
-
   /* Previous button */
 
-  priv->prev_button = button = gtk_button_new ();
+  priv->prev_button = button = gtk_button_new_from_icon_name ("go-previous-symbolic",
+                                                              GTK_ICON_SIZE_BUTTON);
   gtk_widget_set_name (button, "MatchboxDesktopPrevButton");
   atk_object_set_name (gtk_widget_get_accessible (button), "GroupPrevious");
   gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE);
@@ -233,11 +230,6 @@ taku_category_bar_init (TakuCategoryBar *bar)
   gtk_widget_show (button);
   gtk_box_pack_start (GTK_BOX (bar), button, FALSE, TRUE, 0);
 
-  arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE);
-  gtk_widget_show (arrow);
-  gtk_container_add (GTK_CONTAINER (button), arrow);
-  gtk_size_group_add_widget (size_group, arrow);
-
   /* Category name button */
   
   priv->popup_button = button = gtk_toggle_button_new ();
@@ -252,11 +244,11 @@ taku_category_bar_init (TakuCategoryBar *bar)
   make_bold (GTK_LABEL (priv->switcher_label));
   gtk_widget_show (GTK_WIDGET (priv->switcher_label));
   gtk_container_add (GTK_CONTAINER (button), GTK_WIDGET (priv->switcher_label));
-  gtk_size_group_add_widget (size_group, GTK_WIDGET (priv->switcher_label));
 
   /* Next button */
 
-  priv->next_button = button = gtk_button_new ();
+  priv->next_button = button = gtk_button_new_from_icon_name ("go-next-symbolic",
+                                                              GTK_ICON_SIZE_BUTTON);
   gtk_widget_set_name (button, "MatchboxDesktopNextButton");
   atk_object_set_name (gtk_widget_get_accessible (button), "GroupNext");
 
@@ -264,13 +256,6 @@ taku_category_bar_init (TakuCategoryBar *bar)
   g_signal_connect_swapped (button, "clicked", G_CALLBACK (next_category), bar);
   gtk_widget_show (button);
   gtk_box_pack_end (GTK_BOX (bar), button, FALSE, TRUE, 0);
-
-  arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_NONE);
-  gtk_widget_show (arrow);
-  gtk_container_add (GTK_CONTAINER (button), arrow);
-  gtk_size_group_add_widget (size_group, arrow);
-  
-  g_object_unref (size_group);
 }
 
 
@@ -324,7 +309,7 @@ taku_category_bar_get_current (TakuCategoryBar *bar)
 {
   TakuCategoryBarPrivate *priv;
 
-  g_return_if_fail (TAKU_IS_CATEGORY_BAR (bar));
+  g_return_val_if_fail (TAKU_IS_CATEGORY_BAR (bar), NULL);
   priv = GET_PRIVATE (bar);
 
   return (TakuLauncherCategory*)priv->current_category->data;
-- 
2.8.1



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

* [matchbox-desktop-2][PATCH 2/2] TakuIconTile: Avoid deprecated icon API
  2016-05-03 13:32 [matchbox-desktop-2][PATCH 0/2] More Gtk+3 fixes Jussi Kukkonen
  2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 1/2] TakuCategoryBar: Avoid deprecated API Jussi Kukkonen
@ 2016-05-03 13:32 ` Jussi Kukkonen
  1 sibling, 0 replies; 3+ messages in thread
From: Jussi Kukkonen @ 2016-05-03 13:32 UTC (permalink / raw)
  To: yocto

Don't use a named icon size: that is no longer supported.

Instead add style property "taku-icon-size" to TakuIconTile
and use that.
---
 libtaku/taku-icon-tile.c     | 24 +++++++++++++++++++-----
 libtaku/taku-launcher-tile.c | 32 +++++++++++++++++---------------
 libtaku/taku-menu-desktop.c  |  8 ++------
 libtaku/taku-menu.h          |  3 +--
 src/desktop.c                |  4 ----
 5 files changed, 39 insertions(+), 32 deletions(-)

diff --git a/libtaku/taku-icon-tile.c b/libtaku/taku-icon-tile.c
index 2e562aa..110db6b 100644
--- a/libtaku/taku-icon-tile.c
+++ b/libtaku/taku-icon-tile.c
@@ -63,14 +63,14 @@ tile_arrange (TakuIconTile *tile)
     
     switch (orientation) {
     case GTK_ORIENTATION_VERTICAL :
-      gtk_misc_set_alignment (GTK_MISC (tile->priv->primary), 0.5, 0.5);
-      gtk_misc_set_alignment (GTK_MISC (tile->priv->secondary), 0.5, 0.5);
+      gtk_label_set_xalign (GTK_LABEL (tile->priv->primary), 0.5);
+      gtk_label_set_xalign (GTK_LABEL (tile->priv->secondary), 0.5);
       box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
       break;
     default:
     case GTK_ORIENTATION_HORIZONTAL :
-      gtk_misc_set_alignment (GTK_MISC (tile->priv->primary), 0.0, 0.5);
-      gtk_misc_set_alignment (GTK_MISC (tile->priv->secondary), 0.0, 0.5);
+      gtk_label_set_xalign (GTK_LABEL (tile->priv->primary), 0.0);
+      gtk_label_set_xalign (GTK_LABEL (tile->priv->secondary), 0.0);
       box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
       break;
     }
@@ -243,6 +243,15 @@ taku_icon_tile_class_init (TakuIconTileClass *klass)
                                                               GTK_TYPE_ORIENTATION,
                                                               GTK_ORIENTATION_HORIZONTAL,
                                                               G_PARAM_READABLE));
+  gtk_widget_class_install_style_property (widget_class,
+                                           g_param_spec_uint ("taku-icon-size",
+                                                              "Taku icon size",
+                                                              "Icon size used by all Taku Icons",
+                                                              0,
+                                                              256,
+                                                              64,
+                                                              G_PARAM_READABLE));
+
 }
 
 static void
@@ -311,10 +320,15 @@ taku_icon_tile_set_pixbuf (TakuIconTile *tile, GdkPixbuf *pixbuf)
 void
 taku_icon_tile_set_icon_name (TakuIconTile *tile, const char *name)
 {
+  uint size;
   g_return_if_fail (TAKU_IS_ICON_TILE (tile));
 
+  gtk_widget_style_get (GTK_WIDGET (tile),
+                        "taku-icon-size", &size,
+                        NULL);
+
   gtk_image_set_from_icon_name (GTK_IMAGE (tile->priv->icon),
-                                name, gtk_icon_size_from_name ("taku-icon"));
+                                name, size);
 }
 
 void
diff --git a/libtaku/taku-launcher-tile.c b/libtaku/taku-launcher-tile.c
index b453eac..e7f58f3 100644
--- a/libtaku/taku-launcher-tile.c
+++ b/libtaku/taku-launcher-tile.c
@@ -38,8 +38,6 @@ struct _TakuLauncherTilePrivate
   gboolean loading_icon; /* If the icon is queued to be loaded */
 };
 
-/* Icon size ID for the TakuIcon size */
-static GtkIconSize icon_size;
 /* Queue of tiles with pending icons to load */
 static GQueue queue = G_QUEUE_INIT;
 
@@ -50,6 +48,7 @@ load_icon (gpointer data)
   TakuLauncherTile *tile;
   GdkPixbuf *pixbuf;
   int i;
+  guint size;
   
   /* Per iteration, load a few icons at once */
   for (i = 0; i < 5; i++) {
@@ -58,8 +57,11 @@ load_icon (gpointer data)
     if (tile == NULL) {
       return TRUE;
     }
-    
-    pixbuf = taku_menu_item_get_icon (tile->priv->item, (GtkWidget*)tile, icon_size);
+
+    gtk_widget_style_get (GTK_WIDGET (tile),
+                          "taku-icon-size", &size,
+                          NULL);
+    pixbuf = taku_menu_item_get_icon (tile->priv->item, size);
     
     if (pixbuf) {
       taku_icon_tile_set_pixbuf (TAKU_ICON_TILE (tile), pixbuf);
@@ -110,7 +112,7 @@ taku_launcher_tile_finalize (GObject *object)
 static gboolean
 reset_state (gpointer data)
 {
-  gtk_widget_set_state (GTK_WIDGET (data), GTK_STATE_NORMAL);
+  gtk_widget_unset_state_flags (GTK_WIDGET (data), GTK_STATE_FLAG_ACTIVE);
   return FALSE;
 }
 
@@ -119,7 +121,7 @@ taku_launcher_tile_activate (TakuLauncherTile *tile)
 {
   TakuLauncherTile *launcher = TAKU_LAUNCHER_TILE (tile);
 
-  gtk_widget_set_state (GTK_WIDGET (tile), GTK_STATE_ACTIVE);
+  gtk_widget_set_state_flags (GTK_WIDGET (tile), GTK_STATE_FLAG_ACTIVE, FALSE);
 
   g_timeout_add (500, reset_state, tile);
 
@@ -147,12 +149,6 @@ taku_launcher_tile_class_init (TakuLauncherTileClass *klass)
 
   object_class->finalize = taku_launcher_tile_finalize;
 
-  /* Lookup the icon size from the theme */
-  icon_size = gtk_icon_size_from_name ("taku-icon");
-  if (icon_size == GTK_ICON_SIZE_INVALID) {
-    g_warning ("taku-icon size not registered, falling back");
-    icon_size = GTK_ICON_SIZE_BUTTON;
-  }
   taku_idle_queue_add (&queue, load_icon, NULL);
 }
 
@@ -174,17 +170,23 @@ taku_launcher_tile_new_from_item (TakuMenuItem *item)
 {
   TakuLauncherTile *tile;
   GList *l;
+  uint size;
 
   tile = TAKU_LAUNCHER_TILE (taku_launcher_tile_new ());
   tile->priv->item = item;
-  
+
+ 
+  gtk_widget_style_get (GTK_WIDGET (tile),
+                        "taku-icon-size", &size,
+                        NULL);
+ 
   taku_icon_tile_set_primary (TAKU_ICON_TILE (tile), 
                               taku_menu_item_get_name (item));
   taku_icon_tile_set_secondary (TAKU_ICON_TILE (tile),
                                 taku_menu_item_get_description (item));
   taku_icon_tile_set_pixbuf (TAKU_ICON_TILE (tile),
-                             gtk_widget_render_icon (GTK_WIDGET (tile), GTK_STOCK_REFRESH, icon_size, NULL));
-                                                     
+                             get_icon ("view-refresh", size));
+
   /* Don't need to update the icon here, because we'll get a style-set signal
      when the widget is realised which will update the icon. */
 
diff --git a/libtaku/taku-menu-desktop.c b/libtaku/taku-menu-desktop.c
index 03801d6..93c8a56 100644
--- a/libtaku/taku-menu-desktop.c
+++ b/libtaku/taku-menu-desktop.c
@@ -122,15 +122,11 @@ taku_menu_item_get_description (TakuMenuItem *item)
 }
 
 GdkPixbuf*
-taku_menu_item_get_icon (TakuMenuItem *item, GtkWidget *widget, GtkIconSize size)
+taku_menu_item_get_icon (TakuMenuItem *item, int size)
 {
-  int width = 64;
-
   g_return_val_if_fail (item, NULL);
 
-  gtk_icon_size_lookup (size, &width, NULL);
-
-  return get_icon (item->icon_name, width);
+  return get_icon (item->icon_name, size);
 }
 
 GList*
diff --git a/libtaku/taku-menu.h b/libtaku/taku-menu.h
index 1452458..9f78064 100644
--- a/libtaku/taku-menu.h
+++ b/libtaku/taku-menu.h
@@ -103,8 +103,7 @@ taku_menu_item_get_description (TakuMenuItem *item);
 
 GdkPixbuf*
 taku_menu_item_get_icon (TakuMenuItem *item, 
-                         GtkWidget *widget, 
-                         GtkIconSize size);
+                         int           size);
 
 GList*
 taku_menu_item_get_categories (TakuMenuItem *item);
diff --git a/src/desktop.c b/src/desktop.c
index 8234e8c..a1943eb 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -194,10 +194,6 @@ create_desktop (DesktopMode mode)
   GdkScreen *screen;
   int width, height;
 
-  /* Register the magic taku-icon size so that it can be controlled from the
-     theme. */
-  gtk_icon_size_register ("taku-icon", 64, 64);
-
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_widget_set_name (window, "TakuWindow");
   gtk_window_set_title (GTK_WINDOW (window), _("Desktop"));
-- 
2.8.1



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

end of thread, other threads:[~2016-05-03 13:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-03 13:32 [matchbox-desktop-2][PATCH 0/2] More Gtk+3 fixes Jussi Kukkonen
2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 1/2] TakuCategoryBar: Avoid deprecated API Jussi Kukkonen
2016-05-03 13:32 ` [matchbox-desktop-2][PATCH 2/2] TakuIconTile: Avoid deprecated icon API Jussi Kukkonen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.