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>
|
2005-07-25 Sebastien Bacher <seb128@debian.org>
|
||||||
|
|
||||||
* gnome-wp-capplet.c (gnome_wp_{scale,shade}_type_changed):
|
* gnome-wp-capplet.c (gnome_wp_{scale,shade}_type_changed):
|
||||||
|
|
|
@ -39,6 +39,8 @@ static void wp_props_load_wallpaper (gchar * key,
|
||||||
GnomeWPItem * item,
|
GnomeWPItem * item,
|
||||||
GnomeWPCapplet * capplet);
|
GnomeWPCapplet * capplet);
|
||||||
|
|
||||||
|
static void gnome_wp_set_sensitivities (GnomeWPCapplet* capplet);
|
||||||
|
|
||||||
static void wp_properties_error_dialog (GtkWindow * parent, char const * msg,
|
static void wp_properties_error_dialog (GtkWindow * parent, char const * msg,
|
||||||
GError * err) {
|
GError * err) {
|
||||||
if (err != NULL) {
|
if (err != NULL) {
|
||||||
|
@ -284,13 +286,11 @@ static gboolean gnome_wp_props_wp_set (GnomeWPCapplet * capplet) {
|
||||||
|
|
||||||
cs = gconf_change_set_new ();
|
cs = gconf_change_set_new ();
|
||||||
|
|
||||||
|
gnome_wp_set_sensitivities (capplet);
|
||||||
|
|
||||||
if (!strcmp (item->filename, "(none)")) {
|
if (!strcmp (item->filename, "(none)")) {
|
||||||
gconf_change_set_set_string (cs, WP_OPTIONS_KEY, "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 {
|
} 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_FILE_KEY, item->filename);
|
||||||
gconf_change_set_set_string (cs, WP_OPTIONS_KEY, item->options);
|
gconf_change_set_set_string (cs, WP_OPTIONS_KEY, item->options);
|
||||||
gnome_wp_option_menu_set (capplet, item->options, FALSE);
|
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;
|
GnomeWPItem * item;
|
||||||
gchar * wpfile;
|
gchar * wpfile;
|
||||||
|
|
||||||
|
gnome_wp_set_sensitivities (capplet);
|
||||||
|
|
||||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (capplet->treeview));
|
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (capplet->treeview));
|
||||||
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
|
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
|
||||||
gtk_tree_model_get (model, &iter, 2, &wpfile, -1);
|
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;
|
GdkColor color;
|
||||||
const gchar * colorhex;
|
const gchar * colorhex;
|
||||||
|
|
||||||
|
gnome_wp_set_sensitivities (capplet);
|
||||||
|
|
||||||
colorhex = gconf_value_get_string (entry->value);
|
colorhex = gconf_value_get_string (entry->value);
|
||||||
|
|
||||||
gdk_color_parse (colorhex, &color);
|
gdk_color_parse (colorhex, &color);
|
||||||
|
@ -1240,6 +1244,8 @@ static void wallpaper_properties_init (poptContext ctx) {
|
||||||
g_signal_connect (G_OBJECT (selection), "changed",
|
g_signal_connect (G_OBJECT (selection), "changed",
|
||||||
G_CALLBACK (gnome_wp_props_wp_selected), capplet);
|
G_CALLBACK (gnome_wp_props_wp_selected), capplet);
|
||||||
|
|
||||||
|
gnome_wp_set_sensitivities (capplet);
|
||||||
|
|
||||||
/* Create the file chooser dialog stuff here */
|
/* Create the file chooser dialog stuff here */
|
||||||
capplet->filesel = gtk_file_chooser_dialog_new_with_backend (_("Add Wallpaper"),
|
capplet->filesel = gtk_file_chooser_dialog_new_with_backend (_("Add Wallpaper"),
|
||||||
GTK_WINDOW (capplet->window),
|
GTK_WINDOW (capplet->window),
|
||||||
|
@ -1267,6 +1273,50 @@ static void wallpaper_properties_init (poptContext ctx) {
|
||||||
G_CALLBACK (gnome_wp_update_preview), capplet);
|
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[]) {
|
gint main (gint argc, gchar *argv[]) {
|
||||||
GnomeProgram * program;
|
GnomeProgram * program;
|
||||||
GValue context = { 0 };
|
GValue context = { 0 };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue