2002-12-30  Jody Goldberg <jody@gnome.org>

	Apply
	http://bugzilla.gnome.org/show_bug.cgi?id=101752

	* gnome-theme-details.c : Merge in Frederic's patch.
	* gnome-theme-details.c : ditto.
This commit is contained in:
Jody Goldberg 2002-12-30 19:24:05 +00:00 committed by Jody Goldberg
parent fed2321c9a
commit 08b08ef542
5 changed files with 54 additions and 23 deletions

View file

@ -1,3 +1,7 @@
2002-12-30 Jody Goldberg <jody@gnome.org>
* README : http://bugzilla.gnome.org/show_bug.cgi?id=100916
2002-12-18 Jody Goldberg <jody@gnome.org>
* configure.in : post release version bump

View file

@ -1,3 +1,11 @@
2002-12-30 Jody Goldberg <jody@gnome.org>
Apply
http://bugzilla.gnome.org/show_bug.cgi?id=101752
* gnome-theme-details.c : Merge in Frederic's patch.
* gnome-theme-details.c : ditto.
2002-12-28 Seth Nickell <snickell@stanford.edu>
* gnome-theme-details.c: (path_to_theme_id), (load_theme_names),

View file

@ -285,7 +285,7 @@ gnome_theme_details_init (void)
widget = WID ("icon_install_button");
g_signal_connect_swapped (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run), parent);
widget = WID ("icon_manage_button");
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_show_manage_themes), dialog);
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_icon_show_manage_themes), dialog);
g_signal_connect (G_OBJECT (parent), "response", G_CALLBACK (cb_dialog_response), NULL);
@ -522,7 +522,8 @@ gnome_theme_details_update_from_gconf (void)
tree_view = WID ("window_theme_treeview");
wm_settings.flags = GNOME_WM_SETTING_THEME;
gnome_window_manager_get_settings (window_manager, &wm_settings);
if (window_manager)
gnome_window_manager_get_settings (window_manager, &wm_settings);
update_list_something (tree_view, wm_settings.theme);
tree_view = WID ("icon_theme_treeview");

View file

@ -337,7 +337,8 @@ meta_theme_set (GnomeThemeMetaInfo *meta_theme_info)
/* Set the wm key */
wm_settings.flags = GNOME_WM_SETTING_THEME;
wm_settings.theme = meta_theme_info->metacity_theme_name;
gnome_window_manager_change_settings (window_manager, &wm_settings);
if (window_manager)
gnome_window_manager_change_settings (window_manager, &wm_settings);
/* set the icon theme */
old_key = gconf_client_get_string (client, ICON_THEME_KEY, NULL);
@ -418,7 +419,7 @@ update_themes_from_disk (GladeXML *dialog)
gnome_window_manager_get_settings (window_manager, &wm_settings);
current_window_theme = g_strdup (wm_settings.theme);
} else {
current_window_theme = NULL;
current_window_theme = g_strdup ("");
}
/* FIXME: What do we really do when there is no theme? Ask Havoc here. */
@ -595,8 +596,12 @@ update_settings_from_gconf (void)
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;
gnome_window_manager_get_settings (window_manager, &wm_settings);
current_window_theme = g_strdup (wm_settings.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 ("");
custom_theme_found = TRUE;
/* Walk the tree looking for the current one. */
@ -809,28 +814,16 @@ setup_dialog (GladeXML *dialog)
(GConfClientNotifyFunc) &icon_key_changed,
dialog, NULL, NULL);
g_signal_connect (G_OBJECT (window_manager), "settings_changed", (GCallback) window_settings_changed, dialog);
if (window_manager)
g_signal_connect (G_OBJECT (window_manager),
"settings_changed",
(GCallback) window_settings_changed, dialog);
update_themes_from_disk (dialog);
gtk_widget_grab_focus (WID ("meta_theme_treeview"));
gnome_theme_info_register_theme_change (theme_changed_func, dialog);
/* gtk themes */
widget = WID ("control_install_button");
g_signal_connect_swapped (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run), parent);
widget = WID ("control_manage_button");
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_show_manage_themes), dialog);
/* window manager themes */
widget = WID ("window_install_button");
g_signal_connect_swapped (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run), parent);
widget = WID ("window_manage_button");
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_window_show_manage_themes), dialog);
/* icon themes */
widget = WID ("icon_install_button");
g_signal_connect_swapped (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run), parent);
widget = WID ("icon_manage_button");
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_show_manage_themes), dialog);
widget = WID ("meta_theme_save_button");
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_save_clicked), NULL);
@ -930,6 +923,29 @@ gnome_theme_manager_show_manage_themes (GtkWidget *button, gpointer data)
g_free (command);
}
/* Starts nautilus on the icon themes directory*/
void
gnome_theme_manager_icon_show_manage_themes (GtkWidget *button, gpointer data)
{
gchar *path, *command;
GnomeVFSURI *uri;
path = g_strdup_printf ("%s/.icons", g_get_home_dir ());
uri = gnome_vfs_uri_new (path);
if (!gnome_vfs_uri_exists (uri)) {
/* Create the directory */
gnome_vfs_make_directory_for_uri (uri, 0775);
}
gnome_vfs_uri_unref (uri);
command = g_strdup_printf ("nautilus --no-desktop %s", path);
g_free (path);
g_spawn_command_line_async (command, NULL);
g_free (command);
}
/* Show the nautilus themes window */
void
gnome_theme_manager_window_show_manage_themes (GtkWidget *button, gpointer data)

View file

@ -51,6 +51,8 @@ gint gnome_theme_manager_tree_sort_func (GtkTreeModel *model
gpointer user_data);
void gnome_theme_manager_show_manage_themes (GtkWidget *button,
gpointer data);
void gnome_theme_manager_icon_show_manage_themes (GtkWidget *button,
gpointer data);
void gnome_theme_manager_window_show_manage_themes (GtkWidget *button,
gpointer data);
gboolean gnome_theme_manager_drag_motion_cb (GtkWidget *widget,