call correctly in all the right places.
Wed Jan 15 20:16:21 2003 Jonathan Blandford <jrb@redhat.com> * gnome-theme-info.c (remove_data_from_hash_by_name): call correctly in all the right places. * gnome-theme-manager.c (gnome_theme_manager_tree_sort_func): remove this unneeded sort func. * gnome-theme-details.c (setup_tree_view): use the right sort function.
This commit is contained in:
parent
ff051fce67
commit
7d8899ba2e
6 changed files with 60 additions and 61 deletions
|
@ -1,3 +1,8 @@
|
|||
Wed Jan 15 20:16:21 2003 Jonathan Blandford <jrb@redhat.com>
|
||||
|
||||
* gnome-theme-info.c (remove_data_from_hash_by_name): call
|
||||
correctly in all the right places.
|
||||
|
||||
Mon Jan 13 15:04:47 2003 Jonathan Blandford <jrb@redhat.com>
|
||||
|
||||
* gnome-theme-info.c: rewrote to handle fam more correctly. Still
|
||||
|
|
|
@ -538,6 +538,12 @@ update_theme_index (GnomeVFSURI *index_uri,
|
|||
theme_info->has_metacity = theme_exists;
|
||||
}
|
||||
|
||||
if (!theme_info->has_metacity && !theme_info->has_keybinding && !theme_info->has_gtk)
|
||||
{
|
||||
g_hash_table_remove (theme_hash_by_uri, common_theme_dir);
|
||||
remove_data_from_hash_by_name (theme_hash_by_name, theme_info->name, theme_info);
|
||||
}
|
||||
|
||||
if (theme_exists && theme_used_to_exist)
|
||||
{
|
||||
handle_change_signal (GNOME_THEME_TYPE_REGULAR, theme_info, GNOME_THEME_CHANGE_CHANGED, key_element);
|
||||
|
@ -553,8 +559,6 @@ update_theme_index (GnomeVFSURI *index_uri,
|
|||
|
||||
if (!theme_info->has_metacity && !theme_info->has_keybinding && !theme_info->has_gtk)
|
||||
{
|
||||
g_hash_table_remove (theme_hash_by_uri, common_theme_dir);
|
||||
remove_data_from_hash_by_name (theme_hash_by_name, theme_info->name, theme_info);
|
||||
gnome_theme_info_free (theme_info);
|
||||
}
|
||||
}
|
||||
|
@ -710,7 +714,7 @@ update_common_theme_dir_index (GnomeVFSURI *theme_index_uri,
|
|||
name = ((GnomeThemeMetaInfo *)old_theme_info)->name;
|
||||
|
||||
g_hash_table_remove (hash_by_uri, common_theme_dir);
|
||||
remove_data_from_hash_by_name (hash_by_name, name, common_theme_dir);
|
||||
remove_data_from_hash_by_name (hash_by_name, name, old_theme_info);
|
||||
handle_change_signal (icon_theme?GNOME_THEME_TYPE_ICON:GNOME_THEME_TYPE_METATHEME,
|
||||
old_theme_info, GNOME_THEME_CHANGE_DELETED, 0);
|
||||
if (icon_theme)
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
Wed Jan 15 20:15:31 2003 Jonathan Blandford <jrb@redhat.com>
|
||||
|
||||
* gnome-theme-manager.c (gnome_theme_manager_tree_sort_func):
|
||||
remove this unneeded sort func.
|
||||
|
||||
* gnome-theme-details.c (setup_tree_view): use the right sort
|
||||
function.
|
||||
|
||||
2003-01-14 Jody Goldberg <jody@gnome.org>
|
||||
|
||||
* gnome-theme-manager.c (load_meta_themes) : yet another place to
|
||||
|
|
|
@ -65,6 +65,35 @@ cb_dialog_response (GtkDialog *dialog, gint response_id)
|
|||
gtk_widget_hide (GTK_WIDGET (dialog));
|
||||
}
|
||||
|
||||
static gint
|
||||
details_tree_sort_func (GtkTreeModel *model,
|
||||
GtkTreeIter *a,
|
||||
GtkTreeIter *b,
|
||||
gpointer user_data)
|
||||
{
|
||||
gchar *a_name = NULL;
|
||||
gchar *b_name = NULL;
|
||||
guint a_flag = FALSE;
|
||||
guint b_flag = FALSE;
|
||||
gint retval;
|
||||
|
||||
gtk_tree_model_get (model, a,
|
||||
THEME_NAME_COLUMN, &a_name,
|
||||
THEME_FLAG_COLUMN, &a_flag,
|
||||
-1);
|
||||
gtk_tree_model_get (model, b,
|
||||
THEME_NAME_COLUMN, &b_name,
|
||||
THEME_FLAG_COLUMN, &b_flag,
|
||||
-1);
|
||||
|
||||
retval = gnome_theme_manager_sort_func (a_name, b_name, a_flag, b_flag);
|
||||
|
||||
g_free (a_name);
|
||||
g_free (b_name);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void
|
||||
setup_tree_view (GtkTreeView *tree_view,
|
||||
GCallback changed_callback,
|
||||
|
@ -75,7 +104,7 @@ setup_tree_view (GtkTreeView *tree_view,
|
|||
GtkCellRenderer *renderer;
|
||||
|
||||
model = (GtkTreeModel *) gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
|
||||
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (model), 0, gnome_theme_manager_tree_sort_func, NULL, NULL);
|
||||
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (model), 0, details_tree_sort_func, NULL, NULL);
|
||||
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), 0, GTK_SORT_ASCENDING);
|
||||
gtk_tree_view_set_model (tree_view, model);
|
||||
selection = gtk_tree_view_get_selection (tree_view);
|
||||
|
@ -86,9 +115,8 @@ setup_tree_view (GtkTreeView *tree_view,
|
|||
gtk_tree_view_insert_column_with_attributes (tree_view,
|
||||
-1, NULL,
|
||||
renderer,
|
||||
"markup", THEME_NAME_COLUMN,
|
||||
"text", THEME_NAME_COLUMN,
|
||||
NULL);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -285,11 +285,15 @@ load_meta_themes (GtkTreeView *tree_view,
|
|||
current_icon_theme = gconf_client_get_string (client, ICON_THEME_KEY, NULL);
|
||||
window_manager = gnome_wm_manager_get_current (gdk_display_get_default_screen (gdk_display_get_default ()));
|
||||
wm_settings.flags = GNOME_WM_SETTING_THEME;
|
||||
if (window_manager) {
|
||||
gnome_window_manager_get_settings (window_manager, &wm_settings);
|
||||
current_window_theme = g_strdup (wm_settings.theme);
|
||||
} else
|
||||
current_window_theme = g_strdup ("");
|
||||
if (window_manager)
|
||||
{
|
||||
gnome_window_manager_get_settings (window_manager, &wm_settings);
|
||||
current_window_theme = g_strdup (wm_settings.theme);
|
||||
}
|
||||
else
|
||||
{
|
||||
current_window_theme = g_strdup ("");
|
||||
}
|
||||
|
||||
/* FIXME: What do we really do when there is no theme? */
|
||||
if (current_icon_theme == NULL)
|
||||
|
@ -297,7 +301,6 @@ load_meta_themes (GtkTreeView *tree_view,
|
|||
if (current_gtk_theme == NULL)
|
||||
current_gtk_theme = g_strdup ("Default");
|
||||
|
||||
|
||||
/* handle first time */
|
||||
if (first_time)
|
||||
{
|
||||
|
@ -443,7 +446,6 @@ load_meta_themes (GtkTreeView *tree_view,
|
|||
{
|
||||
/* It's a dead item. */
|
||||
GtkTreeIter iter_to_remove;
|
||||
|
||||
iter_to_remove = iter;
|
||||
valid = gtk_tree_model_iter_next (model, &iter);
|
||||
gtk_list_store_remove (GTK_LIST_STORE (model), &iter_to_remove);
|
||||
|
@ -1050,8 +1052,6 @@ setup_meta_tree_view (GtkTreeView *tree_view,
|
|||
G_TYPE_STRING, /* META_THEME_ID_COLUMN */
|
||||
G_TYPE_UINT, /* META_THEME_FLAG_COLUMN */
|
||||
GDK_TYPE_PIXBUF); /* META_THEME_PIXBUF_COLUMN */
|
||||
// gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (model), 0, gnome_theme_manager_tree_sort_func, NULL, NULL);
|
||||
// gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), 0, GTK_SORT_ASCENDING);
|
||||
gtk_tree_view_set_model (tree_view, model);
|
||||
selection = gtk_tree_view_get_selection (tree_view);
|
||||
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
|
||||
|
@ -1220,48 +1220,6 @@ gnome_theme_manager_sort_func (const gchar *a_str,
|
|||
return retval;
|
||||
}
|
||||
|
||||
gint
|
||||
gnome_theme_manager_tree_sort_func (GtkTreeModel *model,
|
||||
GtkTreeIter *a,
|
||||
GtkTreeIter *b,
|
||||
gpointer user_data)
|
||||
{
|
||||
GnomeThemeMetaInfo *a_meta_info;
|
||||
GnomeThemeMetaInfo *b_meta_info;
|
||||
gchar *a_id = NULL;
|
||||
gchar *b_id = NULL;
|
||||
guint a_flag = FALSE;
|
||||
guint b_flag = FALSE;
|
||||
gint retval;
|
||||
|
||||
gtk_tree_model_get (model, a,
|
||||
META_THEME_ID_COLUMN, &a_id,
|
||||
META_THEME_FLAG_COLUMN, &a_flag,
|
||||
-1);
|
||||
gtk_tree_model_get (model, b,
|
||||
META_THEME_ID_COLUMN, &b_id,
|
||||
META_THEME_FLAG_COLUMN, &b_flag,
|
||||
-1);
|
||||
|
||||
if (a_id)
|
||||
a_meta_info = gnome_theme_meta_info_find (a_id);
|
||||
else
|
||||
a_meta_info = &custom_meta_theme_info;
|
||||
if (b_id)
|
||||
b_meta_info = gnome_theme_meta_info_find (b_id);
|
||||
else
|
||||
b_meta_info = &custom_meta_theme_info;
|
||||
|
||||
retval = gnome_theme_manager_sort_func (a_meta_info?a_meta_info->readable_name:"",
|
||||
b_meta_info?b_meta_info->readable_name:"",
|
||||
a_flag, b_flag);
|
||||
|
||||
g_free (a_id);
|
||||
g_free (b_id);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
/* Starts nautilus on the themes directory*/
|
||||
void
|
||||
gnome_theme_manager_show_manage_themes (GtkWidget *button, gpointer data)
|
||||
|
|
|
@ -52,10 +52,6 @@ gint gnome_theme_manager_sort_func (const gchar *a_str
|
|||
const gchar *b_str,
|
||||
guint a_flag,
|
||||
guint b_flag);
|
||||
gint gnome_theme_manager_tree_sort_func (GtkTreeModel *model,
|
||||
GtkTreeIter *a,
|
||||
GtkTreeIter *b,
|
||||
gpointer user_data);
|
||||
void gnome_theme_manager_show_manage_themes (GtkWidget *button,
|
||||
gpointer data);
|
||||
void gnome_theme_manager_icon_show_manage_themes (GtkWidget *button,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue