Add Save/Delete dialogs for colour schemes.
2007-01-08 Thomas Wood <thos@gnome.org> * gnome-theme-details.c: (color_select), (color_scheme_combobox_changed), (gnome_theme_details_init), (update_color_buttons_from_string), (gnome_theme_details_update_from_gconf): * theme-properties.glade: Add Save/Delete dialogs for colour schemes. svn path=/trunk/; revision=7106
This commit is contained in:
parent
49d96fa08c
commit
2c6c2daf8a
3 changed files with 91 additions and 7 deletions
|
@ -1,3 +1,13 @@
|
|||
2007-01-08 Thomas Wood <thos@gnome.org>
|
||||
|
||||
* gnome-theme-details.c: (color_select),
|
||||
(color_scheme_combobox_changed), (gnome_theme_details_init),
|
||||
(update_color_buttons_from_string),
|
||||
(gnome_theme_details_update_from_gconf):
|
||||
* theme-properties.glade:
|
||||
|
||||
Add Save/Delete dialogs for colour schemes.
|
||||
|
||||
2007-01-08 Thomas Wood <thos@gnome.org>
|
||||
|
||||
Patch by: Alberto Ruiz <aruiz@synaptia.net>
|
||||
|
|
|
@ -515,6 +515,8 @@ color_select (GtkWidget *colorbutton, GladeXML *dialog)
|
|||
GdkColor colors[6];
|
||||
gchar *bg, *fg, *text, *base, *selected_fg, *selected_bg;
|
||||
GtkWidget *widget;
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter tmp, iter;
|
||||
|
||||
widget = WID ("fg_colorbutton");
|
||||
gtk_color_button_get_color (GTK_COLOR_BUTTON (widget), &colors[0]);
|
||||
|
@ -549,10 +551,7 @@ color_select (GtkWidget *colorbutton, GladeXML *dialog)
|
|||
g_object_unref (G_OBJECT (client));
|
||||
free_all (fg, bg, text, base, selected_fg, selected_bg, new_scheme, NULL);
|
||||
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter tmp, iter;
|
||||
model = gtk_combo_box_get_model (GTK_COMBO_BOX (WID ("color_scheme_combobox")));
|
||||
|
||||
for (gtk_tree_model_get_iter_first(GTK_TREE_MODEL (model), &tmp);gtk_tree_model_iter_next(model, &tmp);)
|
||||
{
|
||||
iter = tmp;
|
||||
|
@ -597,6 +596,69 @@ theme_notebook_changed_page (GtkWidget *widget, GladeXML *dialog)
|
|||
update_color_scheme_tab ();
|
||||
}
|
||||
|
||||
void
|
||||
save_color_scheme (GtkWidget *widget, GtkWidget *parent)
|
||||
{
|
||||
GtkWidget *dialog, *hbox, *label, *entry;
|
||||
dialog = gtk_dialog_new_with_buttons (_("Save Color Scheme"),
|
||||
GTK_WINDOW (parent),
|
||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
|
||||
GTK_STOCK_CANCEL,
|
||||
GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_SAVE,
|
||||
GTK_RESPONSE_ACCEPT, NULL);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 6);
|
||||
label = gtk_label_new (_("Save color scheme as:"));
|
||||
entry = gtk_entry_new ();
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 6);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, TRUE, 6);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 12);
|
||||
gtk_widget_show_all (hbox);
|
||||
|
||||
gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
gtk_widget_hide (dialog);
|
||||
}
|
||||
|
||||
void
|
||||
delete_color_scheme (GtkWidget *widget, GtkWidget *parent)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
gchar *color_scheme_name;
|
||||
GtkWidget *query;
|
||||
dialog = gnome_theme_manager_get_theme_dialog ();
|
||||
|
||||
color_scheme_name = gtk_combo_box_get_active_text (GTK_COMBO_BOX (WID ("color_scheme_combobox")));
|
||||
query = gtk_message_dialog_new (GTK_WINDOW (parent),
|
||||
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
GTK_MESSAGE_QUESTION,
|
||||
GTK_BUTTONS_NONE,
|
||||
_("Are you sure you want to delete the \"%s\" color scheme?"),
|
||||
color_scheme_name);
|
||||
gtk_dialog_add_buttons (GTK_DIALOG (query), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||
GTK_STOCK_DELETE, GTK_RESPONSE_OK, NULL);
|
||||
gtk_dialog_run (GTK_DIALOG (query));
|
||||
gtk_widget_hide (query);
|
||||
}
|
||||
|
||||
void
|
||||
color_scheme_combobox_changed (GtkWidget *widget, GtkWidget *parent)
|
||||
{
|
||||
GladeXML *dialog;
|
||||
dialog = gnome_theme_manager_get_theme_dialog ();
|
||||
gchar *color_scheme_name;
|
||||
gboolean custom;
|
||||
|
||||
color_scheme_name = gtk_combo_box_get_active_text (GTK_COMBO_BOX (WID ("color_scheme_combobox")));
|
||||
|
||||
custom = (color_scheme_name != NULL && strcmp (color_scheme_name, _("Custom")) == 0);
|
||||
gtk_widget_set_sensitive (WID ("save_color_scheme_button"), custom);
|
||||
gtk_widget_set_sensitive (WID ("delete_color_scheme_button"), !custom);
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
gnome_theme_details_init (void)
|
||||
{
|
||||
|
@ -656,6 +718,15 @@ gnome_theme_details_init (void)
|
|||
widget = WID ("enable_custom_colors_checkbutton");
|
||||
g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (toggle_color_scheme_key), parent);
|
||||
|
||||
widget = WID ("save_color_scheme_button");
|
||||
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (save_color_scheme), parent);
|
||||
|
||||
widget = WID ("color_scheme_combobox");
|
||||
g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (color_scheme_combobox_changed), parent);
|
||||
|
||||
widget = WID ("delete_color_scheme_button");
|
||||
g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (delete_color_scheme), parent);
|
||||
|
||||
g_signal_connect (G_OBJECT (WID ("theme_notebook")), "switch-page", G_CALLBACK (theme_notebook_changed_page), dialog);
|
||||
|
||||
g_object_get (G_OBJECT (gtk_settings_get_default()), "gtk-color-scheme", &color_scheme, NULL);
|
||||
|
@ -1006,6 +1077,9 @@ gnome_theme_details_update_from_gconf (void)
|
|||
widget = WID ("enable_custom_colors_checkbutton");
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), use_custom_colors);
|
||||
|
||||
widget = WID ("saved_color_schemes_hbox");
|
||||
gtk_widget_set_sensitive (widget, use_custom_colors);
|
||||
|
||||
widget = WID ("color_scheme_table");
|
||||
gtk_widget_set_sensitive (widget, use_custom_colors);
|
||||
|
||||
|
|
|
@ -1208,7 +1208,7 @@
|
|||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHBox" id="hbox34">
|
||||
<widget class="GtkHBox" id="saved_color_schemes_hbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">6</property>
|
||||
|
@ -1241,7 +1241,7 @@
|
|||
<child>
|
||||
<widget class="GtkComboBox" id="color_scheme_combobox">
|
||||
<property name="visible">True</property>
|
||||
<property name="items" translatable="yes">Foo
|
||||
<property name="items" translatable="yes">
|
||||
Custom</property>
|
||||
<property name="add_tearoffs">False</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
|
@ -1254,7 +1254,7 @@ Custom</property>
|
|||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<widget class="GtkButton" id="save_color_scheme_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-save</property>
|
||||
|
@ -1270,7 +1270,7 @@ Custom</property>
|
|||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<widget class="GtkButton" id="delete_color_scheme_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-delete</property>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue