Do not save the configuration when applying it
This commit is contained in:
parent
7a2c2c6ebd
commit
546e13e9bf
|
@ -2354,6 +2354,29 @@ static void _on_preferences_response(GtkWidget * widget, gint response,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _on_preferences_response_apply(gpointer data)
|
static void _on_preferences_response_apply(gpointer data)
|
||||||
|
{
|
||||||
|
Desktop * desktop = data;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* XXX not very efficient */
|
||||||
|
desktop_reset(desktop);
|
||||||
|
/* icons */
|
||||||
|
desktop->prefs.icons = gtk_combo_box_get_active(
|
||||||
|
GTK_COMBO_BOX(desktop->pr_ilayout));
|
||||||
|
/* monitor */
|
||||||
|
i = gtk_combo_box_get_active(GTK_COMBO_BOX(desktop->pr_imonitor));
|
||||||
|
desktop->prefs.monitor = (i >= 0) ? i - 1 : i;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _on_preferences_response_cancel(gpointer data)
|
||||||
|
{
|
||||||
|
Desktop * desktop = data;
|
||||||
|
|
||||||
|
gtk_widget_hide(desktop->pr_window);
|
||||||
|
_preferences_set(desktop);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void _on_preferences_response_ok(gpointer data)
|
||||||
{
|
{
|
||||||
Desktop * desktop = data;
|
Desktop * desktop = data;
|
||||||
Config * config;
|
Config * config;
|
||||||
|
@ -2367,10 +2390,10 @@ static void _on_preferences_response_apply(gpointer data)
|
||||||
int i;
|
int i;
|
||||||
char buf[12];
|
char buf[12];
|
||||||
|
|
||||||
|
gtk_widget_hide(desktop->pr_window);
|
||||||
|
_on_preferences_response_apply(desktop);
|
||||||
if((config = _desktop_get_config(desktop)) == NULL)
|
if((config = _desktop_get_config(desktop)) == NULL)
|
||||||
return;
|
return;
|
||||||
/* XXX not very efficient */
|
|
||||||
desktop_reset(desktop);
|
|
||||||
/* background */
|
/* background */
|
||||||
p = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(
|
p = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(
|
||||||
desktop->pr_background));
|
desktop->pr_background));
|
||||||
|
@ -2397,9 +2420,10 @@ static void _on_preferences_response_apply(gpointer data)
|
||||||
config_set(config, "background", "extend", p);
|
config_set(config, "background", "extend", p);
|
||||||
/* icons */
|
/* icons */
|
||||||
i = gtk_combo_box_get_active(GTK_COMBO_BOX(desktop->pr_ilayout));
|
i = gtk_combo_box_get_active(GTK_COMBO_BOX(desktop->pr_ilayout));
|
||||||
if(i >= 0 && i < DESKTOP_ICONS_COUNT)
|
if(desktop->prefs.icons >= 0
|
||||||
config_set(config, "icons", "layout", _desktop_icons_config[i]);
|
&& desktop->prefs.icons < DESKTOP_ICONS_COUNT)
|
||||||
desktop->prefs.icons = i; /* applied by _new_idle() */
|
config_set(config, "icons", "layout",
|
||||||
|
_desktop_icons_config[desktop->prefs.icons]);
|
||||||
#if GTK_CHECK_VERSION(3, 4, 0)
|
#if GTK_CHECK_VERSION(3, 4, 0)
|
||||||
gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(desktop->pr_ibcolor),
|
gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(desktop->pr_ibcolor),
|
||||||
&color);
|
&color);
|
||||||
|
@ -2432,8 +2456,7 @@ static void _on_preferences_response_apply(gpointer data)
|
||||||
g_free(p);
|
g_free(p);
|
||||||
q = gtk_font_button_get_font_name(GTK_FONT_BUTTON(desktop->pr_ifont));
|
q = gtk_font_button_get_font_name(GTK_FONT_BUTTON(desktop->pr_ifont));
|
||||||
config_set(config, "icons", "font", q);
|
config_set(config, "icons", "font", q);
|
||||||
i = gtk_combo_box_get_active(GTK_COMBO_BOX(desktop->pr_imonitor));
|
/* monitor */
|
||||||
desktop->prefs.monitor = (i >= 0) ? i - 1 : i;
|
|
||||||
snprintf(buf, sizeof(buf), "%d", desktop->prefs.monitor);
|
snprintf(buf, sizeof(buf), "%d", desktop->prefs.monitor);
|
||||||
config_set(config, "icons", "monitor", buf);
|
config_set(config, "icons", "monitor", buf);
|
||||||
config_set(config, "icons", "show_hidden", desktop->show_hidden
|
config_set(config, "icons", "show_hidden", desktop->show_hidden
|
||||||
|
@ -2441,7 +2464,6 @@ static void _on_preferences_response_apply(gpointer data)
|
||||||
/* XXX code duplication */
|
/* XXX code duplication */
|
||||||
if((p = string_new_append(desktop->home, "/" DESKTOPRC, NULL)) != NULL)
|
if((p = string_new_append(desktop->home, "/" DESKTOPRC, NULL)) != NULL)
|
||||||
{
|
{
|
||||||
/* FIXME save configuration in _on_preferences_ok() instead */
|
|
||||||
if(config_save(config, p) != 0)
|
if(config_save(config, p) != 0)
|
||||||
error_print(PROGNAME_DESKTOP);
|
error_print(PROGNAME_DESKTOP);
|
||||||
string_delete(p);
|
string_delete(p);
|
||||||
|
@ -2449,22 +2471,6 @@ static void _on_preferences_response_apply(gpointer data)
|
||||||
config_delete(config);
|
config_delete(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _on_preferences_response_cancel(gpointer data)
|
|
||||||
{
|
|
||||||
Desktop * desktop = data;
|
|
||||||
|
|
||||||
gtk_widget_hide(desktop->pr_window);
|
|
||||||
_preferences_set(desktop);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _on_preferences_response_ok(gpointer data)
|
|
||||||
{
|
|
||||||
Desktop * desktop = data;
|
|
||||||
|
|
||||||
gtk_widget_hide(desktop->pr_window);
|
|
||||||
_on_preferences_response_apply(desktop);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _on_preferences_update_preview(gpointer data)
|
static void _on_preferences_update_preview(gpointer data)
|
||||||
{
|
{
|
||||||
Desktop * desktop = data;
|
Desktop * desktop = data;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user