[zenity/jjardon/no_deprecated: 7/17] Rework zenity_util_set_window_icon* to not use stock images



commit fba4f05582d6c84030354ba3e1adc228543a3919
Author: Javier Jardón <jjardon gnome org>
Date:   Sun Mar 22 06:02:41 2015 +0000

    Rework zenity_util_set_window_icon* to not use stock images

 src/msg.c  |    8 +++---
 src/util.c |   65 +++++++++++++++++++++++++++--------------------------------
 src/util.h |    8 +++---
 3 files changed, 38 insertions(+), 43 deletions(-)
---
diff --git a/src/msg.c b/src/msg.c
index 73c4898..6892e73 100644
--- a/src/msg.c
+++ b/src/msg.c
@@ -120,20 +120,20 @@ zenity_msg (ZenityData *data, ZenityMsgData *msg_data)
 
   switch (msg_data->mode) {
     case ZENITY_MSG_WARNING:
-      zenity_util_set_window_icon_from_stock (dialog, data->window_icon, GTK_STOCK_DIALOG_WARNING);
+      zenity_util_set_window_icon_from_icon_name (dialog, data->window_icon, "dialog-warning");
       break;
 
     case ZENITY_MSG_QUESTION:
-      zenity_util_set_window_icon_from_stock (dialog, data->window_icon, GTK_STOCK_DIALOG_QUESTION);
+      zenity_util_set_window_icon_from_icon_name (dialog, data->window_icon, "dialog-question");
       zenity_msg_construct_question_dialog (dialog, msg_data, data);
       break;
       
     case ZENITY_MSG_ERROR:
-      zenity_util_set_window_icon_from_stock (dialog, data->window_icon, GTK_STOCK_DIALOG_ERROR);
+      zenity_util_set_window_icon_from_icon_name (dialog, data->window_icon, "dialog-error");
       break;
       
     case ZENITY_MSG_INFO:
-      zenity_util_set_window_icon_from_stock (dialog, data->window_icon, GTK_STOCK_DIALOG_INFO);
+      zenity_util_set_window_icon_from_icon_name (dialog, data->window_icon, "dialog-information");
       break;
   
     default:
diff --git a/src/util.c b/src/util.c
index d63aeca..29ef6da 100644
--- a/src/util.c
+++ b/src/util.c
@@ -178,66 +178,61 @@ zenity_util_fill_file_buffer (GtkTextBuffer *buffer, const gchar *filename)
 }
 
 const gchar *
-zenity_util_stock_from_filename (const gchar *filename)
+zenity_util_icon_name_from_filename (const gchar *filename)
 {
   if (!filename || !filename[0])
-    return GTK_STOCK_DIALOG_WARNING; /* default */
+    return "dialog-warning"; /* default */
 
   if (!g_ascii_strcasecmp (filename, "warning"))
-    return GTK_STOCK_DIALOG_WARNING;
+    return "dialog-warning";
   if (!g_ascii_strcasecmp (filename, "info"))
-    return GTK_STOCK_DIALOG_INFO;
+    return "dialog-information";
   if (!g_ascii_strcasecmp (filename, "question"))
-    return GTK_STOCK_DIALOG_QUESTION;
+    return "dialog-question";
   if (!g_ascii_strcasecmp (filename, "error"))
-    return GTK_STOCK_DIALOG_ERROR;
+    return "dialog-error";
   return NULL;
 }
 
-GdkPixbuf *
-zenity_util_pixbuf_new_from_file (GtkWidget *widget, const gchar *filename)
-{
-  const gchar *stock;
-
-  stock = zenity_util_stock_from_filename (filename);
-  if (stock)
-    return gtk_widget_render_icon (widget, stock, GTK_ICON_SIZE_BUTTON, NULL);
-
- return gdk_pixbuf_new_from_file (filename, NULL);
-}
-
 void
-zenity_util_set_window_icon (GtkWidget *widget, const gchar *filename, const gchar *default_file)
+zenity_util_set_window_icon_from_file (GtkWidget *widget, const gchar *filename)
 {
   GdkPixbuf *pixbuf;
+  const gchar *icon_name;
 
-  if (filename != NULL)
-    pixbuf = zenity_util_pixbuf_new_from_file (widget, (gchar *) filename);
-  else
-    pixbuf = gdk_pixbuf_new_from_file (default_file, NULL);  
-
-  if (pixbuf != NULL) {
+  icon_name = zenity_util_icon_name_from_filename (filename);
+  if (icon_name) {
+    gtk_window_set_icon_name (GTK_WINDOW (widget), icon_name);
+  } else {
+    pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
     gtk_window_set_icon (GTK_WINDOW (widget), pixbuf);
     g_object_unref (pixbuf);
   }
 }
 
-void 
-zenity_util_set_window_icon_from_stock (GtkWidget *widget, const gchar *filename, const gchar 
*default_stock_id)
+void
+zenity_util_set_window_icon (GtkWidget *widget, const gchar *filename, const gchar *default_file)
 {
   GdkPixbuf *pixbuf;
 
   if (filename != NULL) {
-    pixbuf = zenity_util_pixbuf_new_from_file (widget, (gchar *) filename);
-  }
-  else {
-    pixbuf = gtk_widget_render_icon (widget, default_stock_id, GTK_ICON_SIZE_BUTTON, NULL);
+    zenity_util_set_window_icon_from_file (widget, filename);
+  } else {
+    pixbuf = gdk_pixbuf_new_from_file (default_file, NULL);
+    if (pixbuf != NULL) {
+      gtk_window_set_icon (GTK_WINDOW (widget), pixbuf);
+      g_object_unref (pixbuf);
+    }
   }
+}
 
-  if (pixbuf != NULL) {
-    gtk_window_set_icon (GTK_WINDOW (widget), pixbuf);
-    g_object_unref (pixbuf);
-  }
+void
+zenity_util_set_window_icon_from_icon_name (GtkWidget *widget, const gchar *filename, const gchar 
*default_icon_name)
+{
+  if (filename != NULL)
+    zenity_util_set_window_icon_from_file (widget, filename);
+  else
+    gtk_window_set_icon_name (GTK_WINDOW (widget), default_icon_name);
 }
 
 void
diff --git a/src/util.h b/src/util.h
index f9db4be..0fd2fff 100644
--- a/src/util.h
+++ b/src/util.h
@@ -19,14 +19,14 @@ GtkBuilder*     zenity_util_load_ui_file                  (const gchar    *widge
 gchar *         zenity_util_strip_newline                 (gchar          *string);
 gboolean        zenity_util_fill_file_buffer              (GtkTextBuffer  *buffer, 
                                                            const gchar    *filename);
-const gchar *   zenity_util_stock_from_filename                  (const gchar    *filename);
+const gchar *   zenity_util_icon_name_from_filename      (const gchar    *filename);
 void           zenity_util_set_window_icon               (GtkWidget      *widget,
                                                           const gchar    *filename,
                                                           const gchar    *default_file);
-void            zenity_util_set_window_icon_from_stock    (GtkWidget      *widget,
+void            zenity_util_set_window_icon_from_icon_name(GtkWidget      *widget,
                                                           const gchar    *filename,
-                                                           const gchar    *default_stock_id);
-GdkPixbuf *    zenity_util_pixbuf_new_from_file          (GtkWidget      *widget,
+                                                           const gchar    *default_icon_name);
+void           zenity_util_set_window_icon_from_file     (GtkWidget      *widget,
                                                           const gchar    *filename);
 void           zenity_util_show_help                     (GError        **error);
 gint           zenity_util_return_exit_code              (ZenityExitCode value);                      


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