reduce the number if XCURSOR ifdefs and get rid of the special treatment
2007-10-27 Jens Granseuer <jensgr@gmx.net> * appearance-style.c: (cursor_size_scale_value_changed_cb), (update_cursor_size_scale), (cursor_theme_changed), (prepare_list): * appearance-themes.c: (theme_load_from_gconf): * theme-util.h: reduce the number if XCURSOR ifdefs and get rid of the special treatment for the default cursor theme 2007-10-27 Jens Granseuer <jensgr@gmx.net> * gnome-theme-info.c: (look_for_cursor_theme), (read_cursor_fonts), (gnome_theme_init): ensure we always have the "default" cursor theme in the list svn path=/trunk/; revision=8214
This commit is contained in:
parent
298d6fbf4f
commit
dbd00f0edd
6 changed files with 53 additions and 50 deletions
|
@ -1,3 +1,11 @@
|
|||
2007-10-27 Jens Granseuer <jensgr@gmx.net>
|
||||
|
||||
* appearance-style.c: (cursor_size_scale_value_changed_cb),
|
||||
(update_cursor_size_scale), (cursor_theme_changed), (prepare_list):
|
||||
* appearance-themes.c: (theme_load_from_gconf):
|
||||
* theme-util.h: reduce the number if XCURSOR ifdefs and get rid of the
|
||||
special treatment for the default cursor theme
|
||||
|
||||
2007-10-27 Jens Granseuer <jensgr@gmx.net>
|
||||
|
||||
If the cursor theme changes, and the currently set size is not
|
||||
|
|
|
@ -370,10 +370,33 @@ cursor_size_changed_cb (int size, AppearanceData *data)
|
|||
gconf_client_set_int (data->client, CURSOR_SIZE_KEY, size, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
cursor_size_scale_value_changed_cb (GtkRange *range, AppearanceData *data)
|
||||
{
|
||||
GnomeThemeCursorInfo *theme;
|
||||
gchar *name;
|
||||
|
||||
name = gconf_client_get_string (data->client, CURSOR_THEME_KEY, NULL);
|
||||
if (name == NULL)
|
||||
return;
|
||||
|
||||
theme = gnome_theme_cursor_info_find (name);
|
||||
g_free (name);
|
||||
|
||||
if (theme) {
|
||||
gint size;
|
||||
|
||||
size = g_array_index (theme->sizes, gint, (int) gtk_range_get_value (range));
|
||||
cursor_size_changed_cb (size, data);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
update_cursor_size_scale (GnomeThemeCursorInfo *theme,
|
||||
AppearanceData *data)
|
||||
{
|
||||
#ifdef HAVE_XCURSOR
|
||||
GtkWidget *cursor_size_scale;
|
||||
GtkWidget *cursor_size_label;
|
||||
GtkWidget *cursor_size_small_label;
|
||||
|
@ -441,8 +464,8 @@ update_cursor_size_scale (GnomeThemeCursorInfo *theme,
|
|||
|
||||
if (size != gconf_size)
|
||||
cursor_size_changed_cb (size, data);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
cursor_theme_changed (GConfPropertyEditor *peditor,
|
||||
|
@ -456,9 +479,7 @@ cursor_theme_changed (GConfPropertyEditor *peditor,
|
|||
if (value && (name = gconf_value_get_string (value)))
|
||||
theme = gnome_theme_cursor_info_find (name);
|
||||
|
||||
#ifdef HAVE_XCURSOR
|
||||
update_cursor_size_scale (theme, data);
|
||||
#endif
|
||||
|
||||
gtk_widget_set_sensitive (glade_xml_get_widget (data->xml, "cursor_themes_delete"),
|
||||
theme_is_writable (theme, THEME_TYPE_CURSOR));
|
||||
|
@ -526,29 +547,6 @@ cursor_theme_delete_cb (GtkWidget *button, AppearanceData *data)
|
|||
generic_theme_delete ("cursor_themes_list", THEME_TYPE_CURSOR, data);
|
||||
}
|
||||
|
||||
#ifdef HAVE_XCURSOR
|
||||
static void
|
||||
cursor_size_scale_value_changed_cb (GtkRange *range, AppearanceData *data)
|
||||
{
|
||||
GnomeThemeCursorInfo *theme;
|
||||
gchar *name;
|
||||
|
||||
name = gconf_client_get_string (data->client, CURSOR_THEME_KEY, NULL);
|
||||
if (name == NULL)
|
||||
return;
|
||||
|
||||
theme = gnome_theme_cursor_info_find (name);
|
||||
g_free (name);
|
||||
|
||||
if (theme) {
|
||||
gint size;
|
||||
|
||||
size = g_array_index (theme->sizes, gint, (int) gtk_range_get_value (range));
|
||||
cursor_size_changed_cb (size, data);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
add_to_treeview (const gchar *tv_name,
|
||||
const gchar *theme_name,
|
||||
|
@ -762,11 +760,7 @@ prepare_list (AppearanceData *data, GtkWidget *list, ThemeType type, GCallback c
|
|||
case THEME_TYPE_CURSOR:
|
||||
themes = gnome_theme_cursor_info_find_all ();
|
||||
thumbnail = NULL;
|
||||
#ifdef HAVE_XCURSOR
|
||||
key = CURSOR_THEME_KEY;
|
||||
#else
|
||||
key = CURSOR_FONT_KEY;
|
||||
#endif
|
||||
generator = NULL;
|
||||
thumb_cb = NULL;
|
||||
break;
|
||||
|
@ -816,17 +810,6 @@ prepare_list (AppearanceData *data, GtkWidget *list, ThemeType type, GCallback c
|
|||
}
|
||||
g_list_free (themes);
|
||||
|
||||
#ifdef HAVE_XCURSOR
|
||||
if (type == THEME_TYPE_CURSOR && !gnome_theme_cursor_info_find ("default")) {
|
||||
GtkTreeIter i;
|
||||
gtk_list_store_insert_with_values (store, &i, 0,
|
||||
COL_LABEL, _("Default Pointer"),
|
||||
COL_NAME, "default",
|
||||
COL_THUMBNAIL, NULL,
|
||||
-1);
|
||||
}
|
||||
#endif
|
||||
|
||||
sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (store));
|
||||
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model),
|
||||
COL_LABEL, GTK_SORT_ASCENDING);
|
||||
|
|
|
@ -245,11 +245,9 @@ theme_load_from_gconf (GConfClient *client)
|
|||
if (theme->icon_theme_name == NULL)
|
||||
theme->icon_theme_name = g_strdup ("gnome");
|
||||
|
||||
#ifdef HAVE_XCURSOR
|
||||
theme->cursor_theme_name = gconf_client_get_string (client, CURSOR_THEME_KEY, NULL);
|
||||
#ifdef HAVE_XCURSOR
|
||||
theme->cursor_size = gconf_client_get_int (client, CURSOR_SIZE_KEY, NULL);
|
||||
#else
|
||||
theme->cursor_theme_name = gconf_client_get_string (client, CURSOR_FONT_KEY, NULL);
|
||||
#endif
|
||||
if (theme->cursor_theme_name == NULL)
|
||||
theme->cursor_theme_name = g_strdup ("default");
|
||||
|
|
|
@ -22,15 +22,19 @@
|
|||
#define METACITY_THEME_KEY "/apps/metacity/general/theme"
|
||||
#define ICON_THEME_KEY "/desktop/gnome/interface/icon_theme"
|
||||
#define COLOR_SCHEME_KEY "/desktop/gnome/interface/gtk_color_scheme"
|
||||
#define CURSOR_FONT_KEY "/desktop/gnome/peripherals/mouse/cursor_font"
|
||||
#define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_theme"
|
||||
#define CURSOR_SIZE_KEY "/desktop/gnome/peripherals/mouse/cursor_size"
|
||||
#define LOCKDOWN_KEY "/desktop/gnome/lockdown/disable_theme_settings"
|
||||
#define BACKGROUND_KEY "/desktop/gnome/background/picture_filename"
|
||||
#define APPLICATION_FONT_KEY "/desktop/gnome/interface/font_name"
|
||||
#define DESKTOP_FONT_KEY "/apps/nautilus/preferences/desktop_font"
|
||||
#define MONOSPACE_FONT_KEY "/desktop/gnome/interface/monospace_font_name"
|
||||
|
||||
#ifdef HAVE_XCURSOR
|
||||
# define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_theme"
|
||||
# define CURSOR_SIZE_KEY "/desktop/gnome/peripherals/mouse/cursor_size"
|
||||
#else
|
||||
# define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_font"
|
||||
#endif
|
||||
|
||||
enum {
|
||||
COL_THUMBNAIL,
|
||||
COL_LABEL,
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2007-10-27 Jens Granseuer <jensgr@gmx.net>
|
||||
|
||||
* gnome-theme-info.c: (look_for_cursor_theme), (read_cursor_fonts),
|
||||
(gnome_theme_init): ensure we always have the "default" cursor theme in
|
||||
the list
|
||||
|
||||
2007-10-27 Jens Granseuer <jensgr@gmx.net>
|
||||
|
||||
* gnome-theme-info.c (gnome_theme_is_writable):
|
||||
|
|
|
@ -1085,7 +1085,7 @@ look_for_cursor_theme (const gchar *theme_dir)
|
|||
{
|
||||
gchar *cursors_dir = g_build_filename (theme_dir, "cursors", NULL);
|
||||
|
||||
if (g_file_test (cursors_dir, G_FILE_TEST_IS_DIR) || g_str_has_suffix (theme_dir, "default"))
|
||||
if (g_file_test (cursors_dir, G_FILE_TEST_IS_DIR))
|
||||
read_cursor_theme (theme_dir);
|
||||
|
||||
g_free (cursors_dir);
|
||||
|
@ -1801,7 +1801,7 @@ read_cursor_fonts (void)
|
|||
|
||||
theme_info = gnome_theme_cursor_info_new ();
|
||||
|
||||
filename = g_build_filename (GNOMECC_DATA_DIR "/pixmaps", builtins[i][3], NULL);
|
||||
filename = g_build_filename (GNOMECC_DATA_DIR, "pixmaps", builtins[i][3], NULL);
|
||||
theme_info->thumbnail = gdk_pixbuf_new_from_file (filename, NULL);
|
||||
g_free (filename);
|
||||
|
||||
|
@ -1980,7 +1980,11 @@ gnome_theme_init (gboolean *monitor_not_added)
|
|||
result = add_top_icon_theme_dir_monitor (top_theme_dir_uri, &real_monitor_not_added, 0, NULL);
|
||||
gnome_vfs_uri_unref (top_theme_dir_uri);
|
||||
|
||||
#ifndef HAVE_XCURSOR
|
||||
#ifdef HAVE_XCURSOR
|
||||
/* make sure we have the default theme */
|
||||
if (!gnome_theme_cursor_info_find ("default"))
|
||||
read_cursor_theme ("default");
|
||||
#else
|
||||
/* If we don't have Xcursor, use the built-in cursor fonts instead */
|
||||
read_cursor_fonts ();
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue