diff options
Diffstat (limited to 'src/custom.c')
-rw-r--r-- | src/custom.c | 112 |
1 files changed, 49 insertions, 63 deletions
diff --git a/src/custom.c b/src/custom.c index 1f75978..bb84410 100644 --- a/src/custom.c +++ b/src/custom.c @@ -251,14 +251,61 @@ custom_load_conf (struct conf *conf, int background) wins_doupdate (); (void)keys_getch (win[STA].p); } - var = CUSTOM_CONF_NOVARIABLE; pthread_mutex_lock (&nbar.mutex); for (;;) { if (fgets (buf, sizeof buf, data_file) == NULL) + break; + io_extract_data (e_conf, buf, sizeof buf); + + if (strncmp (e_conf, "auto_save=", 10) == 0) + var = CUSTOM_CONF_AUTOSAVE; + else if (strncmp (e_conf, "periodic_save=", 14) == 0) + var = CUSTOM_CONF_PERIODICSAVE; + else if (strncmp (e_conf, "confirm_quit=", 13) == 0) + var = CUSTOM_CONF_CONFIRMQUIT; + else if (strncmp (e_conf, "confirm_delete=", 15) == 0) + var = CUSTOM_CONF_CONFIRMDELETE; + else if (strncmp (e_conf, "skip_system_dialogs=", 20) == 0) + var = CUSTOM_CONF_SKIPSYSTEMDIALOGS; + else if (strncmp (e_conf, "skip_progress_bar=", 18) == 0) + var = CUSTOM_CONF_SKIPPROGRESSBAR; + else if (strncmp (e_conf, "calendar_default_view=", 22) == 0) + var = CUSTOM_CONF_CALENDAR_DEFAULTVIEW; + else if (strncmp (e_conf, "week_begins_on_monday=", 22) == 0) + var = CUSTOM_CONF_WEEKBEGINSONMONDAY; + else if (strncmp (e_conf, "color-theme=", 12) == 0) + var = CUSTOM_CONF_COLORTHEME; + else if (strncmp (e_conf, "layout=", 7) == 0) + var = CUSTOM_CONF_LAYOUT; + else if (strncmp (e_conf, "side-bar_width=", 15) == 0) + var = CUSTOM_CONF_SBAR_WIDTH; + else if (strncmp (e_conf, "notify-bar_show=", 16) == 0) + var = CUSTOM_CONF_NOTIFYBARSHOW; + else if (strncmp (e_conf, "notify-bar_date=", 16) == 0) + var = CUSTOM_CONF_NOTIFYBARDATE; + else if (strncmp (e_conf, "notify-bar_clock=", 17) == 0) + var = CUSTOM_CONF_NOTIFYBARCLOCK; + else if (strncmp (e_conf, "notify-bar_warning=", 19) == 0) + var = CUSTOM_CONF_NOTIFYBARWARNING; + else if (strncmp (e_conf, "notify-bar_command=", 19) == 0) + var = CUSTOM_CONF_NOTIFYBARCOMMAND; + else if (strncmp (e_conf, "output_datefmt=", 15) == 0) + var = CUSTOM_CONF_OUTPUTDATEFMT; + else if (strncmp (e_conf, "input_datefmt=", 14) == 0) + var = CUSTOM_CONF_INPUTDATEFMT; + else if (strncmp (e_conf, "notify-daemon_enable=", 21) == 0) + var = CUSTOM_CONF_DMON_ENABLE; + else if (strncmp (e_conf, "notify-daemon_log=", 18) == 0) + var = CUSTOM_CONF_DMON_LOG; + else { - break; + var = CUSTOM_CONF_NOVARIABLE; + continue; } + + if (fgets (buf, sizeof buf, data_file) == NULL) + break; io_extract_data (e_conf, buf, sizeof buf); switch (var) @@ -267,138 +314,77 @@ custom_load_conf (struct conf *conf, int background) break; case CUSTOM_CONF_AUTOSAVE: conf->auto_save = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_PERIODICSAVE: if (atoi (e_conf) < 0) conf->periodic_save = 0; else conf->periodic_save = atoi (e_conf); - var = 0; break; case CUSTOM_CONF_CONFIRMQUIT: conf->confirm_quit = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_CONFIRMDELETE: conf->confirm_delete = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_SKIPSYSTEMDIALOGS: conf->skip_system_dialogs = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_SKIPPROGRESSBAR: conf->skip_progress_bar = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_CALENDAR_DEFAULTVIEW: calendar_set_view (atoi (e_conf)); - var = 0; break; case CUSTOM_CONF_WEEKBEGINSONMONDAY: if (fill_config_var (e_conf)) calendar_set_first_day_of_week (MONDAY); else calendar_set_first_day_of_week (SUNDAY); - var = 0; break; case CUSTOM_CONF_COLORTHEME: custom_load_color (e_conf, background); - var = 0; break; case CUSTOM_CONF_LAYOUT: wins_set_layout (atoi (e_conf)); - var = 0; break; case CUSTOM_CONF_SBAR_WIDTH: wins_set_sbar_width (atoi (e_conf)); - var = 0; break; case CUSTOM_CONF_NOTIFYBARSHOW: nbar.show = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_NOTIFYBARDATE: (void)strncpy (nbar.datefmt, e_conf, strlen (e_conf) + 1); - var = 0; break; case CUSTOM_CONF_NOTIFYBARCLOCK: (void)strncpy (nbar.timefmt, e_conf, strlen (e_conf) + 1); - var = 0; break; case CUSTOM_CONF_NOTIFYBARWARNING: nbar.cntdwn = atoi (e_conf); - var = 0; break; case CUSTOM_CONF_NOTIFYBARCOMMAND: (void)strncpy (nbar.cmd, e_conf, strlen (e_conf) + 1); - var = 0; break; case CUSTOM_CONF_OUTPUTDATEFMT: if (e_conf[0] != '\0') (void)strncpy (conf->output_datefmt, e_conf, strlen (e_conf) + 1); - var = 0; break; case CUSTOM_CONF_INPUTDATEFMT: conf->input_datefmt = atoi (e_conf); if (conf->input_datefmt <= 0 || conf->input_datefmt >= DATE_FORMATS) conf->input_datefmt = 1; - var = 0; break; case CUSTOM_CONF_DMON_ENABLE: dmon.enable = fill_config_var (e_conf); - var = 0; break; case CUSTOM_CONF_DMON_LOG: dmon.log = fill_config_var (e_conf); - var = 0; break; default: EXIT (_("configuration variable unknown")); /* NOTREACHED */ } - - if (strncmp (e_conf, "auto_save=", 10) == 0) - var = CUSTOM_CONF_AUTOSAVE; - else if (strncmp (e_conf, "periodic_save=", 14) == 0) - var = CUSTOM_CONF_PERIODICSAVE; - else if (strncmp (e_conf, "confirm_quit=", 13) == 0) - var = CUSTOM_CONF_CONFIRMQUIT; - else if (strncmp (e_conf, "confirm_delete=", 15) == 0) - var = CUSTOM_CONF_CONFIRMDELETE; - else if (strncmp (e_conf, "skip_system_dialogs=", 20) == 0) - var = CUSTOM_CONF_SKIPSYSTEMDIALOGS; - else if (strncmp (e_conf, "skip_progress_bar=", 18) == 0) - var = CUSTOM_CONF_SKIPPROGRESSBAR; - else if (strncmp (e_conf, "calendar_default_view=", 22) == 0) - var = CUSTOM_CONF_CALENDAR_DEFAULTVIEW; - else if (strncmp (e_conf, "week_begins_on_monday=", 22) == 0) - var = CUSTOM_CONF_WEEKBEGINSONMONDAY; - else if (strncmp (e_conf, "color-theme=", 12) == 0) - var = CUSTOM_CONF_COLORTHEME; - else if (strncmp (e_conf, "layout=", 7) == 0) - var = CUSTOM_CONF_LAYOUT; - else if (strncmp (e_conf, "side-bar_width=", 15) == 0) - var = CUSTOM_CONF_SBAR_WIDTH; - else if (strncmp (e_conf, "notify-bar_show=", 16) == 0) - var = CUSTOM_CONF_NOTIFYBARSHOW; - else if (strncmp (e_conf, "notify-bar_date=", 16) == 0) - var = CUSTOM_CONF_NOTIFYBARDATE; - else if (strncmp (e_conf, "notify-bar_clock=", 17) == 0) - var = CUSTOM_CONF_NOTIFYBARCLOCK; - else if (strncmp (e_conf, "notify-bar_warning=", 19) == 0) - var = CUSTOM_CONF_NOTIFYBARWARNING; - else if (strncmp (e_conf, "notify-bar_command=", 19) == 0) - var = CUSTOM_CONF_NOTIFYBARCOMMAND; - else if (strncmp (e_conf, "output_datefmt=", 15) == 0) - var = CUSTOM_CONF_OUTPUTDATEFMT; - else if (strncmp (e_conf, "input_datefmt=", 14) == 0) - var = CUSTOM_CONF_INPUTDATEFMT; - else if (strncmp (e_conf, "notify-daemon_enable=", 21) == 0) - var = CUSTOM_CONF_DMON_ENABLE; - else if (strncmp (e_conf, "notify-daemon_log=", 18) == 0) - var = CUSTOM_CONF_DMON_LOG; } file_close (data_file, __FILE_POS__); pthread_mutex_unlock (&nbar.mutex); |