[PATCH] kconfig: set gconf's save-widget's sensitivity according to .config's changed state
Clean up a little. Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3b354c557c
commit
0a0c502c94
@ -38,8 +38,6 @@ static gboolean show_all = FALSE;
|
|||||||
static gboolean show_debug = FALSE;
|
static gboolean show_debug = FALSE;
|
||||||
static gboolean resizeable = FALSE;
|
static gboolean resizeable = FALSE;
|
||||||
|
|
||||||
static gboolean config_changed = FALSE;
|
|
||||||
|
|
||||||
static char nohelp_text[] =
|
static char nohelp_text[] =
|
||||||
N_("Sorry, no help available for this option yet.\n");
|
N_("Sorry, no help available for this option yet.\n");
|
||||||
|
|
||||||
@ -50,6 +48,8 @@ GtkWidget *text_w = NULL;
|
|||||||
GtkWidget *hpaned = NULL;
|
GtkWidget *hpaned = NULL;
|
||||||
GtkWidget *vpaned = NULL;
|
GtkWidget *vpaned = NULL;
|
||||||
GtkWidget *back_btn = NULL;
|
GtkWidget *back_btn = NULL;
|
||||||
|
GtkWidget *save_btn = NULL;
|
||||||
|
GtkWidget *save_menu_item = NULL;
|
||||||
|
|
||||||
GtkTextTag *tag1, *tag2;
|
GtkTextTag *tag1, *tag2;
|
||||||
GdkColor color;
|
GdkColor color;
|
||||||
@ -75,7 +75,7 @@ static void display_tree_part(void);
|
|||||||
static void update_tree(struct menu *src, GtkTreeIter * dst);
|
static void update_tree(struct menu *src, GtkTreeIter * dst);
|
||||||
static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row);
|
static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row);
|
||||||
static gchar **fill_row(struct menu *menu);
|
static gchar **fill_row(struct menu *menu);
|
||||||
|
static void conf_changed(void);
|
||||||
|
|
||||||
/* Helping/Debugging Functions */
|
/* Helping/Debugging Functions */
|
||||||
|
|
||||||
@ -224,6 +224,10 @@ void init_main_window(const gchar * glade_file)
|
|||||||
gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
|
gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
|
||||||
show_value);
|
show_value);
|
||||||
|
|
||||||
|
save_btn = glade_xml_get_widget(xml, "button3");
|
||||||
|
save_menu_item = glade_xml_get_widget(xml, "save1");
|
||||||
|
conf_set_changed_callback(conf_changed);
|
||||||
|
|
||||||
style = gtk_widget_get_style(main_wnd);
|
style = gtk_widget_get_style(main_wnd);
|
||||||
widget = glade_xml_get_widget(xml, "toolbar1");
|
widget = glade_xml_get_widget(xml, "toolbar1");
|
||||||
|
|
||||||
@ -512,14 +516,14 @@ static void text_insert_msg(const char *title, const char *message)
|
|||||||
|
|
||||||
/* Main Windows Callbacks */
|
/* Main Windows Callbacks */
|
||||||
|
|
||||||
void on_save1_activate(GtkMenuItem * menuitem, gpointer user_data);
|
void on_save_activate(GtkMenuItem * menuitem, gpointer user_data);
|
||||||
gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
|
gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog, *label;
|
GtkWidget *dialog, *label;
|
||||||
gint result;
|
gint result;
|
||||||
|
|
||||||
if (config_changed == FALSE)
|
if (!conf_get_changed())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
dialog = gtk_dialog_new_with_buttons(_("Warning !"),
|
dialog = gtk_dialog_new_with_buttons(_("Warning !"),
|
||||||
@ -543,7 +547,7 @@ gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
|
|||||||
result = gtk_dialog_run(GTK_DIALOG(dialog));
|
result = gtk_dialog_run(GTK_DIALOG(dialog));
|
||||||
switch (result) {
|
switch (result) {
|
||||||
case GTK_RESPONSE_YES:
|
case GTK_RESPONSE_YES:
|
||||||
on_save1_activate(NULL, NULL);
|
on_save_activate(NULL, NULL);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
case GTK_RESPONSE_NO:
|
case GTK_RESPONSE_NO:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -621,12 +625,10 @@ void on_load1_activate(GtkMenuItem * menuitem, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void on_save1_activate(GtkMenuItem * menuitem, gpointer user_data)
|
void on_save_activate(GtkMenuItem * menuitem, gpointer user_data)
|
||||||
{
|
{
|
||||||
if (conf_write(NULL))
|
if (conf_write(NULL))
|
||||||
text_insert_msg(_("Error"), _("Unable to save configuration !"));
|
text_insert_msg(_("Error"), _("Unable to save configuration !"));
|
||||||
|
|
||||||
config_changed = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -819,12 +821,6 @@ void on_load_clicked(GtkButton * button, gpointer user_data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void on_save_clicked(GtkButton * button, gpointer user_data)
|
|
||||||
{
|
|
||||||
on_save1_activate(NULL, user_data);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void on_single_clicked(GtkButton * button, gpointer user_data)
|
void on_single_clicked(GtkButton * button, gpointer user_data)
|
||||||
{
|
{
|
||||||
view_mode = SINGLE_VIEW;
|
view_mode = SINGLE_VIEW;
|
||||||
@ -899,7 +895,6 @@ static void renderer_edited(GtkCellRendererText * cell,
|
|||||||
|
|
||||||
sym_set_string_value(sym, new_def);
|
sym_set_string_value(sym, new_def);
|
||||||
|
|
||||||
config_changed = TRUE;
|
|
||||||
update_tree(&rootmenu, NULL);
|
update_tree(&rootmenu, NULL);
|
||||||
|
|
||||||
gtk_tree_path_free(path);
|
gtk_tree_path_free(path);
|
||||||
@ -930,7 +925,6 @@ static void change_sym_value(struct menu *menu, gint col)
|
|||||||
if (!sym_tristate_within_range(sym, newval))
|
if (!sym_tristate_within_range(sym, newval))
|
||||||
newval = yes;
|
newval = yes;
|
||||||
sym_set_tristate_value(sym, newval);
|
sym_set_tristate_value(sym, newval);
|
||||||
config_changed = TRUE;
|
|
||||||
if (view_mode == FULL_VIEW)
|
if (view_mode == FULL_VIEW)
|
||||||
update_tree(&rootmenu, NULL);
|
update_tree(&rootmenu, NULL);
|
||||||
else if (view_mode == SPLIT_VIEW) {
|
else if (view_mode == SPLIT_VIEW) {
|
||||||
@ -1633,3 +1627,10 @@ int main(int ac, char *av[])
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void conf_changed(void)
|
||||||
|
{
|
||||||
|
bool changed = conf_get_changed();
|
||||||
|
gtk_widget_set_sensitive(save_btn, changed);
|
||||||
|
gtk_widget_set_sensitive(save_menu_item, changed);
|
||||||
|
}
|
||||||
|
@ -70,7 +70,7 @@
|
|||||||
<property name="tooltip" translatable="yes">Save the config in .config</property>
|
<property name="tooltip" translatable="yes">Save the config in .config</property>
|
||||||
<property name="label" translatable="yes">_Save</property>
|
<property name="label" translatable="yes">_Save</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="on_save1_activate"/>
|
<signal name="activate" handler="on_save_activate"/>
|
||||||
<accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
<accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||||
|
|
||||||
<child internal-child="image">
|
<child internal-child="image">
|
||||||
@ -380,7 +380,7 @@
|
|||||||
<property name="visible_horizontal">True</property>
|
<property name="visible_horizontal">True</property>
|
||||||
<property name="visible_vertical">True</property>
|
<property name="visible_vertical">True</property>
|
||||||
<property name="is_important">False</property>
|
<property name="is_important">False</property>
|
||||||
<signal name="clicked" handler="on_save_clicked"/>
|
<signal name="clicked" handler="on_save_activate"/>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
|
Loading…
Reference in New Issue
Block a user