Enable/disable the style-menu, shading-menu and color-picker buttons w.r.t
2005-08-15 Veerapuram Varadhan <vvaradhan@novell.com> * gnome-wp-capplet.c (gnome_wp_props_wp_set): (gnome_wp_color[12]_changed, gnome_wp_options_changed): (gnome_wp_shading_changed, wallpaper_properties_init): Enable/disable the style-menu, shading-menu and color-picker buttons w.r.t gconf-keys. (gnome_wp_set_sensitivities): Utility function to take care of enabling/disabling widgets w.r.t gconf-keys. (gnome_wp_props_wp_set): Don't set the sensitivity of the remove and style buttons here. Just call the new method to do it instead
This commit is contained in:
parent
722667de1e
commit
8456c322c0
2 changed files with 66 additions and 4 deletions
|
@ -1,3 +1,15 @@
|
|||
2005-08-15 Veerapuram Varadhan <vvaradhan@novell.com>
|
||||
|
||||
* gnome-wp-capplet.c (gnome_wp_props_wp_set):
|
||||
(gnome_wp_color[12]_changed, gnome_wp_options_changed):
|
||||
(gnome_wp_shading_changed, wallpaper_properties_init):
|
||||
Enable/disable the style-menu, shading-menu and color-picker
|
||||
buttons w.r.t gconf-keys.
|
||||
(gnome_wp_set_sensitivities): Utility function to take care of
|
||||
enabling/disabling widgets w.r.t gconf-keys.
|
||||
(gnome_wp_props_wp_set): Don't set the sensitivity of the remove and
|
||||
style buttons here. Just call the new method to do it instead
|
||||
|
||||
2005-07-25 Sebastien Bacher <seb128@debian.org>
|
||||
|
||||
* gnome-wp-capplet.c (gnome_wp_{scale,shade}_type_changed):
|
||||
|
|
|
@ -39,6 +39,8 @@ static void wp_props_load_wallpaper (gchar * key,
|
|||
GnomeWPItem * item,
|
||||
GnomeWPCapplet * capplet);
|
||||
|
||||
static void gnome_wp_set_sensitivities (GnomeWPCapplet* capplet);
|
||||
|
||||
static void wp_properties_error_dialog (GtkWindow * parent, char const * msg,
|
||||
GError * err) {
|
||||
if (err != NULL) {
|
||||
|
@ -284,13 +286,11 @@ static gboolean gnome_wp_props_wp_set (GnomeWPCapplet * capplet) {
|
|||
|
||||
cs = gconf_change_set_new ();
|
||||
|
||||
gnome_wp_set_sensitivities (capplet);
|
||||
|
||||
if (!strcmp (item->filename, "(none)")) {
|
||||
gconf_change_set_set_string (cs, WP_OPTIONS_KEY, "none");
|
||||
gtk_widget_set_sensitive (capplet->wp_opts, FALSE);
|
||||
gtk_widget_set_sensitive (capplet->rm_button, FALSE);
|
||||
} else {
|
||||
gtk_widget_set_sensitive (capplet->wp_opts, TRUE);
|
||||
gtk_widget_set_sensitive (capplet->rm_button, TRUE);
|
||||
gconf_change_set_set_string (cs, WP_FILE_KEY, item->filename);
|
||||
gconf_change_set_set_string (cs, WP_OPTIONS_KEY, item->options);
|
||||
gnome_wp_option_menu_set (capplet, item->options, FALSE);
|
||||
|
@ -732,6 +732,8 @@ static void gnome_wp_shading_changed (GConfClient * client, guint id,
|
|||
GnomeWPItem * item;
|
||||
gchar * wpfile;
|
||||
|
||||
gnome_wp_set_sensitivities (capplet);
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (capplet->treeview));
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
|
||||
gtk_tree_model_get (model, &iter, 2, &wpfile, -1);
|
||||
|
@ -768,6 +770,8 @@ static void gnome_wp_color2_changed (GConfClient * client, guint id,
|
|||
GdkColor color;
|
||||
const gchar * colorhex;
|
||||
|
||||
gnome_wp_set_sensitivities (capplet);
|
||||
|
||||
colorhex = gconf_value_get_string (entry->value);
|
||||
|
||||
gdk_color_parse (colorhex, &color);
|
||||
|
@ -1240,6 +1244,8 @@ static void wallpaper_properties_init (poptContext ctx) {
|
|||
g_signal_connect (G_OBJECT (selection), "changed",
|
||||
G_CALLBACK (gnome_wp_props_wp_selected), capplet);
|
||||
|
||||
gnome_wp_set_sensitivities (capplet);
|
||||
|
||||
/* Create the file chooser dialog stuff here */
|
||||
capplet->filesel = gtk_file_chooser_dialog_new_with_backend (_("Add Wallpaper"),
|
||||
GTK_WINDOW (capplet->window),
|
||||
|
@ -1267,6 +1273,50 @@ static void wallpaper_properties_init (poptContext ctx) {
|
|||
G_CALLBACK (gnome_wp_update_preview), capplet);
|
||||
}
|
||||
|
||||
static void gnome_wp_set_sensitivities (GnomeWPCapplet* capplet) {
|
||||
GtkTreeIter iter;
|
||||
GtkTreeModel * model;
|
||||
GtkTreeSelection * selection;
|
||||
GnomeWPItem * item;
|
||||
gchar * wpfile;
|
||||
gchar * filename = NULL;
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (capplet->treeview));
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
|
||||
gtk_tree_model_get (model, &iter, 2, &wpfile, -1);
|
||||
|
||||
item = g_hash_table_lookup (capplet->wphash, wpfile);
|
||||
filename = item->filename;
|
||||
g_free (wpfile);
|
||||
}
|
||||
|
||||
if (!gconf_client_key_is_writable (capplet->client, WP_OPTIONS_KEY, NULL)
|
||||
|| (filename && !strcmp (filename, "(none)")))
|
||||
gtk_widget_set_sensitive (capplet->wp_opts, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (capplet->wp_opts, TRUE);
|
||||
|
||||
if (!gconf_client_key_is_writable (capplet->client, WP_SHADING_KEY, NULL))
|
||||
gtk_widget_set_sensitive (capplet->color_opt, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (capplet->color_opt, TRUE);
|
||||
|
||||
if (!gconf_client_key_is_writable (capplet->client, WP_PCOLOR_KEY, NULL))
|
||||
gtk_widget_set_sensitive (capplet->pc_picker, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (capplet->pc_picker, TRUE);
|
||||
|
||||
if (!gconf_client_key_is_writable (capplet->client, WP_SCOLOR_KEY, NULL))
|
||||
gtk_widget_set_sensitive (capplet->sc_picker, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (capplet->sc_picker, TRUE);
|
||||
|
||||
if (!filename || !strcmp (filename, "(none)"))
|
||||
gtk_widget_set_sensitive (capplet->rm_button, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (capplet->rm_button, TRUE);
|
||||
}
|
||||
|
||||
gint main (gint argc, gchar *argv[]) {
|
||||
GnomeProgram * program;
|
||||
GValue context = { 0 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue