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