Load the metatheme thumbnails in the order they are in the list.
2007-06-27 Denis Washington <denisw@svn.gnome.org> * appearance-themes.c: (theme_list_sort_func, themes_init): Load the metatheme thumbnails in the order they are in the list. svn path=/trunk/; revision=7787
This commit is contained in:
parent
edd29cffe6
commit
c59e3c2811
2 changed files with 21 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2007-06-27 Denis Washington <denisw@svn.gnome.org>
|
||||||
|
|
||||||
|
* appearance-themes.c: (theme_list_sort_func, themes_init):
|
||||||
|
Load the metatheme thumbnails in the order they are in the list.
|
||||||
|
|
||||||
2007-06-27 Denis Washington <denisw@svn.gnome.org>
|
2007-06-27 Denis Washington <denisw@svn.gnome.org>
|
||||||
|
|
||||||
* appearance.h:
|
* appearance.h:
|
||||||
|
|
|
@ -455,7 +455,14 @@ theme_postinit (GtkIconView *icon_view, AppearanceData *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
theme_list_sort_func (GtkTreeModel *model,
|
theme_list_sort_func (GnomeThemeMetaInfo *a,
|
||||||
|
GnomeThemeMetaInfo *b)
|
||||||
|
{
|
||||||
|
return strcmp (a->readable_name, b->readable_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
static gint
|
||||||
|
theme_store_sort_func (GtkTreeModel *model,
|
||||||
GtkTreeIter *a,
|
GtkTreeIter *a,
|
||||||
GtkTreeIter *b,
|
GtkTreeIter *b,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
|
@ -512,12 +519,9 @@ themes_init (AppearanceData *data)
|
||||||
COL_THUMBNAIL, data->theme_icon,
|
COL_THUMBNAIL, data->theme_icon,
|
||||||
-1);
|
-1);
|
||||||
|
|
||||||
theme_thumbnail_generate (info, data);
|
|
||||||
|
|
||||||
if (!meta_theme && theme_is_equal (data->theme_custom, info))
|
if (!meta_theme && theme_is_equal (data->theme_custom, info))
|
||||||
meta_theme = info;
|
meta_theme = info;
|
||||||
}
|
}
|
||||||
g_list_free (theme_list);
|
|
||||||
|
|
||||||
if (!meta_theme) {
|
if (!meta_theme) {
|
||||||
/* add custom theme */
|
/* add custom theme */
|
||||||
|
@ -532,11 +536,18 @@ themes_init (AppearanceData *data)
|
||||||
theme_thumbnail_generate (meta_theme, data);
|
theme_thumbnail_generate (meta_theme, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
theme_list = g_list_sort (theme_list, (GCompareFunc) theme_list_sort_func);
|
||||||
|
|
||||||
|
for (l = theme_list; l; l = l->next)
|
||||||
|
theme_thumbnail_generate ((GnomeThemeMetaInfo *) l->data, data);
|
||||||
|
|
||||||
|
g_list_free (theme_list);
|
||||||
|
|
||||||
w = glade_xml_get_widget (data->xml, "theme_list");
|
w = glade_xml_get_widget (data->xml, "theme_list");
|
||||||
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (w), GTK_SELECTION_BROWSE);
|
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (w), GTK_SELECTION_BROWSE);
|
||||||
sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (theme_store));
|
sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (theme_store));
|
||||||
gtk_icon_view_set_model (GTK_ICON_VIEW (w), GTK_TREE_MODEL (sort_model));
|
gtk_icon_view_set_model (GTK_ICON_VIEW (w), GTK_TREE_MODEL (sort_model));
|
||||||
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort_model), COL_LABEL, theme_list_sort_func, NULL, NULL);
|
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort_model), COL_LABEL, theme_store_sort_func, NULL, NULL);
|
||||||
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model), COL_LABEL, GTK_SORT_ASCENDING);
|
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (sort_model), COL_LABEL, GTK_SORT_ASCENDING);
|
||||||
g_signal_connect (w, "selection-changed", (GCallback) theme_selection_changed_cb, data);
|
g_signal_connect (w, "selection-changed", (GCallback) theme_selection_changed_cb, data);
|
||||||
g_signal_connect_after (w, "realize", (GCallback) theme_select_name, meta_theme->name);
|
g_signal_connect_after (w, "realize", (GCallback) theme_select_name, meta_theme->name);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue