[Xfce4-commits] r27252 - in xfce4-settings/trunk: . dialogs/appearance-settings

Nick Schermer nick at xfce.org
Thu Jul 10 17:55:22 CEST 2008


Author: nick
Date: 2008-07-10 15:55:22 +0000 (Thu, 10 Jul 2008)
New Revision: 27252

Added:
   xfce4-settings/trunk/dialogs/appearance-settings/images.h
Modified:
   xfce4-settings/trunk/ChangeLog
   xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am
   xfce4-settings/trunk/dialogs/appearance-settings/main.c
Log:
	* dialogs/appearance-settings/images.h,
	  dialogs/appearance-settings/main.c,
	  dialogs/appearance-settings/Makefile.am: Add rgba images
	  to the combobox, like in 4.4.

Modified: xfce4-settings/trunk/ChangeLog
===================================================================
--- xfce4-settings/trunk/ChangeLog	2008-07-10 10:14:50 UTC (rev 27251)
+++ xfce4-settings/trunk/ChangeLog	2008-07-10 15:55:22 UTC (rev 27252)
@@ -1,3 +1,10 @@
+2008-07-10	Nick Schermer <nick at xfce.org>
+
+	* dialogs/appearance-settings/images.h,
+	  dialogs/appearance-settings/main.c,
+	  dialogs/appearance-settings/Makefile.am: Add rgba images
+	  to the combobox, like in 4.4.
+
 2008-07-10	Jannis Pohlmann <jannis at xfce.org>
 
 	* dialogs/keyboard-settings/keyboard-dialog.glade,

Modified: xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am	2008-07-10 10:14:50 UTC (rev 27251)
+++ xfce4-settings/trunk/dialogs/appearance-settings/Makefile.am	2008-07-10 15:55:22 UTC (rev 27252)
@@ -2,6 +2,7 @@
 
 xfce4_appearance_settings_SOURCES = \
 	main.c \
+	images.h \
 	appearance-dialog_glade.h
 
 xfce4_appearance_settings_CFLAGS = \

Added: xfce4-settings/trunk/dialogs/appearance-settings/images.h
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/images.h	                        (rev 0)
+++ xfce4-settings/trunk/dialogs/appearance-settings/images.h	2008-07-10 15:55:22 UTC (rev 27252)
@@ -0,0 +1,138 @@
+/*
+ *  Copyright (c) 2008 Nick Schermer <nick at xfce.org>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+static const gchar *rgba_image_none_xpm[] = 
+{
+    "18 15 1 1",
+    " 	c None",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  ",
+    "                  "
+};
+
+static const gchar *rgba_image_rgb_xpm[] = 
+{
+    "18 15 4 1",
+    " 	c None",
+    ".	c #FF0000",
+    "+	c #00FF00",
+    "@	c #0000FF",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   "
+};
+
+static const gchar *rgba_image_bgr_xpm[] = 
+{
+    "18 15 4 1",
+    " 	c None",
+    ".	c #0000FF",
+    "+	c #00FF00",
+    "@	c #FF0000",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   ",
+    ".....+++++@@@@@   "
+};
+
+static const gchar *rgba_image_vrgb_xpm[] = 
+{
+    "18 15 4 1",
+    " 	c None",
+    ".	c #FF0000",
+    "+	c #00FF00",
+    "@	c #0000FF",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   "
+};
+
+static const gchar *rgba_image_vbgr_xpm[] = 
+{
+    "18 15 4 1",
+    " 	c None",
+    ".	c #0000FF",
+    "+	c #00FF00",
+    "@	c #FF0000",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "...............   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "+++++++++++++++   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   ",
+    "@@@@@@@@@@@@@@@   "
+};

Modified: xfce4-settings/trunk/dialogs/appearance-settings/main.c
===================================================================
--- xfce4-settings/trunk/dialogs/appearance-settings/main.c	2008-07-10 10:14:50 UTC (rev 27251)
+++ xfce4-settings/trunk/dialogs/appearance-settings/main.c	2008-07-10 15:55:22 UTC (rev 27252)
@@ -40,18 +40,26 @@
 #include <xfconf/xfconf.h>
 
 #include "appearance-dialog_glade.h"
+#include "images.h"
 
 /* Increase this number if new gtk settings have been added */
 #define INITIALIZE_UINT (1)
 
 enum
 {
-    COLUMN_NAME,
-    COLUMN_DISPLAY_NAME,
-    COLUMN_COMMENT,
-    N_COLUMNS
+    COLUMN_THEME_NAME,
+    COLUMN_THEME_DISPLAY_NAME,
+    COLUMN_THEME_COMMENT,
+    N_THEME_COLUMNS
 };
 
+enum
+{
+    COLUMN_RGBA_PIXBUF,
+    COLUMN_RGBA_NAME,
+    N_RGBA_COLUMNS
+};
+
 /* String arrays with the settings in combo boxes */
 static const gchar* toolbar_styles_array[] =
 {
@@ -93,7 +101,7 @@
     if (G_LIKELY (has_selection))
     {
         /* Get the theme name */
-        gtk_tree_model_get (model, &iter, COLUMN_NAME, &name, -1);
+        gtk_tree_model_get (model, &iter, COLUMN_THEME_NAME, &name, -1);
 
         /* Store the new theme */
         xfconf_channel_set_string (xsettings_channel, property, name);
@@ -249,9 +257,9 @@
                     /* Append icon theme to the list store */
                     gtk_list_store_append (list_store, &iter);
                     gtk_list_store_set (list_store, &iter,
-                                        COLUMN_NAME, file,
-                                        COLUMN_DISPLAY_NAME, theme_name,
-                                        COLUMN_COMMENT, theme_comment, -1);
+                                        COLUMN_THEME_NAME, file,
+                                        COLUMN_THEME_DISPLAY_NAME, theme_name,
+                                        COLUMN_THEME_COMMENT, theme_comment, -1);
 
                     /* Check if this is the active theme, if so, select it */
                     if (G_UNLIKELY (g_utf8_collate (theme_name, active_theme_name) == 0))
@@ -362,9 +370,9 @@
                 /* Append ui theme to the list store */
                 gtk_list_store_append (list_store, &iter);
                 gtk_list_store_set (list_store, &iter,
-                                    COLUMN_NAME, file,
-                                    COLUMN_DISPLAY_NAME, theme_name,
-                                    COLUMN_COMMENT, theme_comment, -1);
+                                    COLUMN_THEME_NAME, file,
+                                    COLUMN_THEME_DISPLAY_NAME, theme_name,
+                                    COLUMN_THEME_COMMENT, theme_comment, -1);
 
                 /* Check if this is the active theme, if so, select it */
                 if (G_UNLIKELY (g_utf8_collate (theme_name, active_theme_name) == 0))
@@ -483,6 +491,7 @@
     GtkTreeSelection *icon_selection, *ui_selection;
     gchar            *string;
     guint             i;
+    GdkPixbuf        *pixbuf;
 
     /* check if we need to restore settings from GtkSettings */
     if (xfconf_channel_get_uint (xsettings_channel, "/Initialized", 0) < INITIALIZE_UINT)
@@ -497,15 +506,15 @@
     /* Icon themes list */
     GtkWidget *icon_theme_treeview = glade_xml_get_widget (gxml, "icon_theme_treeview");
 
-    list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-    gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_DISPLAY_NAME, GTK_SORT_ASCENDING);
+    list_store = gtk_list_store_new (N_THEME_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+    gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_THEME_DISPLAY_NAME, GTK_SORT_ASCENDING);
     gtk_tree_view_set_model (GTK_TREE_VIEW (icon_theme_treeview), GTK_TREE_MODEL (list_store));
 #if GTK_CHECK_VERSION (2, 12, 0)
-    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (icon_theme_treeview), COLUMN_COMMENT);
+    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (icon_theme_treeview), COLUMN_THEME_COMMENT);
 #endif
 
     renderer = gtk_cell_renderer_text_new ();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (icon_theme_treeview), 0, "", renderer, "text", COLUMN_DISPLAY_NAME, NULL);
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (icon_theme_treeview), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
 
     check_icon_themes (list_store, GTK_TREE_VIEW (icon_theme_treeview));
 
@@ -518,15 +527,15 @@
     /* Gtk (UI) themes */
     GtkWidget *ui_theme_treeview = glade_xml_get_widget (gxml, "gtk_theme_treeview");
 
-    list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
-    gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_DISPLAY_NAME, GTK_SORT_ASCENDING);
+    list_store = gtk_list_store_new (N_THEME_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+    gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (list_store), COLUMN_THEME_DISPLAY_NAME, GTK_SORT_ASCENDING);
     gtk_tree_view_set_model (GTK_TREE_VIEW (ui_theme_treeview), GTK_TREE_MODEL (list_store));
 #if GTK_CHECK_VERSION (2, 12, 0)
-    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (ui_theme_treeview), COLUMN_COMMENT);
+    gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (ui_theme_treeview), COLUMN_THEME_COMMENT);
 #endif
 
     renderer = gtk_cell_renderer_text_new();
-    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (ui_theme_treeview), 0, "", renderer, "text", COLUMN_DISPLAY_NAME, NULL);
+    gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (ui_theme_treeview), 0, "", renderer, "text", COLUMN_THEME_DISPLAY_NAME, NULL);
 
     check_ui_themes (list_store, GTK_TREE_VIEW (ui_theme_treeview));
 
@@ -539,16 +548,36 @@
     /* Subpixel (rgba) hinting Combo */
     GtkWidget *rgba_combo_box = glade_xml_get_widget (gxml, "xft_rgba_combo_box");
 
-    list_store = gtk_list_store_new (1, G_TYPE_STRING);
-    gtk_list_store_insert_with_values (list_store, NULL, 0, 0, N_("None"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 1, 0, N_("RGB"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 2, 0, N_("BGR"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 3, 0, N_("VRGB"), -1);
-    gtk_list_store_insert_with_values (list_store, NULL, 4, 0, N_("VBGR"), -1);
+    list_store = gtk_list_store_new (N_RGBA_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING);
+    
+    pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_none_xpm);
+    gtk_list_store_insert_with_values (list_store, NULL, 0, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("None"), -1);
+    g_object_unref (G_OBJECT (pixbuf));
 
+    pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_rgb_xpm);
+    gtk_list_store_insert_with_values (list_store, NULL, 1, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("RGB"), -1);
+    g_object_unref (G_OBJECT (pixbuf));
+
+    pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_bgr_xpm);
+    gtk_list_store_insert_with_values (list_store, NULL, 2, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("BGR"), -1);
+    g_object_unref (G_OBJECT (pixbuf));
+
+    pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_vrgb_xpm);
+    gtk_list_store_insert_with_values (list_store, NULL, 3, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("VRGB"), -1);
+    g_object_unref (G_OBJECT (pixbuf));
+
+    pixbuf = gdk_pixbuf_new_from_xpm_data (rgba_image_vbgr_xpm);
+    gtk_list_store_insert_with_values (list_store, NULL, 4, COLUMN_RGBA_PIXBUF, pixbuf, COLUMN_RGBA_NAME, _("VBGR"), -1);
+    g_object_unref (G_OBJECT (pixbuf));
+
+    renderer = gtk_cell_renderer_pixbuf_new ();
+    gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (rgba_combo_box), renderer, FALSE);
+    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (rgba_combo_box), renderer, "pixbuf", COLUMN_RGBA_PIXBUF);
+
     renderer = gtk_cell_renderer_text_new ();
     gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (rgba_combo_box), renderer, TRUE);
-    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (rgba_combo_box), renderer, "text", 0);
+    gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (rgba_combo_box), renderer, "text", COLUMN_RGBA_NAME);
+
     gtk_combo_box_set_model (GTK_COMBO_BOX (rgba_combo_box), GTK_TREE_MODEL (list_store));
     g_object_unref (G_OBJECT (list_store));
 



More information about the Xfce4-commits mailing list