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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
 
        * 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 <[EMAIL PROTECTED]>
+ *
+ *  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));
 

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to