diff options
Diffstat (limited to 'src/io.c')
-rw-r--r-- | src/io.c | 84 |
1 files changed, 44 insertions, 40 deletions
@@ -136,7 +136,6 @@ static char *ical_recur_type[RECUR_TYPES] = static void progress_bar (progress_bar_t type, int progress) { -#define SLEEPTIME 125000 #define NBFILES 4 #define NBEXPORTED 3 #define LABELENGTH 15 @@ -194,8 +193,6 @@ progress_bar (progress_bar_t type, int progress) custom_remove_attr (win[STA].p, ATTR_HIGHEST); wmove (win[STA].p, 0, 0); wins_wrefresh (win[STA].p); - (void)usleep (SLEEPTIME); -#undef SLEEPTIME #undef NBFILES #undef NBEXPORTED #undef LABELENGTH @@ -809,9 +806,10 @@ io_extract_data (char *dst_data, const char *org, int len) { int i; + for (; *org == ' ' || *org == '\t'; org++); for (i = 0; i < len - 1; i++) { - if (*org == '\n' || *org == '\0') + if (*org == '\n' || *org == '\0' || *org == '#') break; *dst_data++ = *org++; } @@ -849,8 +847,9 @@ io_save_conf (struct conf *conf) "# options are usually set from within Calcurse. A line beginning with \n" "# a space or tab is considered to be a continuation of the previous " "line.\n" - "# For a variable to be unset its value must be blank.\n" - "# To set a variable to the empty string its value should be \"\".\n" + "# For a variable to be unset its value must be blank, followed by an\n" + "# empty line. To set a variable to the empty string its value should be " + "\"\".\n" "# Lines beginning with \"#\" are comments, and ignored by Calcurse.\n"; char theme_name[BUFSIZ]; FILE *fp; @@ -864,56 +863,56 @@ io_save_conf (struct conf *conf) (void)fprintf (fp, "# If this option is set to yes, " "automatic save is done when quitting\n"); - (void)fprintf (fp, "auto_save=\n"); + (void)fprintf (fp, "auto_save="); (void)fprintf (fp, "%s\n", (conf->auto_save) ? "yes" : "no"); (void)fprintf (fp, "\n# If not null, perform automatic saves every " "'periodic_save' minutes\n"); - (void)fprintf (fp, "periodic_save=\n"); + (void)fprintf (fp, "periodic_save="); (void)fprintf (fp, "%d\n", conf->periodic_save); (void)fprintf (fp, "\n# If this option is set to yes, " "confirmation is required before quitting\n"); - (void)fprintf (fp, "confirm_quit=\n"); + (void)fprintf (fp, "confirm_quit="); (void)fprintf (fp, "%s\n", (conf->confirm_quit) ? "yes" : "no"); (void)fprintf (fp, "\n# If this option is set to yes, " "confirmation is required before deleting an event\n"); - (void)fprintf (fp, "confirm_delete=\n"); + (void)fprintf (fp, "confirm_delete="); (void)fprintf (fp, "%s\n", (conf->confirm_delete) ? "yes" : "no"); (void)fprintf (fp, "\n# If this option is set to yes, " "messages about loaded and saved data will not be displayed\n"); - (void)fprintf (fp, "skip_system_dialogs=\n"); + (void)fprintf (fp, "skip_system_dialogs="); (void)fprintf (fp, "%s\n", (conf->skip_system_dialogs) ? "yes" : "no"); (void)fprintf (fp, "\n# If this option is set to yes, progress bar appearing " "when saving data will not be displayed\n"); - (void)fprintf (fp, "skip_progress_bar=\n"); + (void)fprintf (fp, "skip_progress_bar="); (void)fprintf (fp, "%s\n", (conf->skip_progress_bar) ? "yes" : "no"); (void)fprintf (fp, "\n# Default calendar view (0)monthly (1)weekly:\n"); - (void)fprintf (fp, "calendar_default_view=\n"); + (void)fprintf (fp, "calendar_default_view="); (void)fprintf (fp, "%d\n", calendar_get_view ()); (void)fprintf (fp, "\n# If this option is set to yes, " "monday is the first day of the week, else it is sunday\n"); - (void)fprintf (fp, "week_begins_on_monday=\n"); + (void)fprintf (fp, "week_begins_on_monday="); (void)fprintf (fp, "%s\n", (calendar_week_begins_on_monday ())? "yes" : "no"); (void)fprintf (fp, "\n# This is the color theme used for menus :\n"); - (void)fprintf (fp, "color-theme=\n"); + (void)fprintf (fp, "color-theme="); (void)fprintf (fp, "%s\n", theme_name); (void)fprintf (fp, "\n# This is the layout of the calendar :\n"); - (void)fprintf (fp, "layout=\n"); + (void)fprintf (fp, "layout="); (void)fprintf (fp, "%d\n", wins_layout ()); (void)fprintf (fp, "\n# Width (in percentage, 0 being minimun width) " "of the side bar :\n"); - (void)fprintf (fp, "side-bar_width=\n"); + (void)fprintf (fp, "side-bar_width="); (void)fprintf (fp, "%d\n", wins_sbar_wperc ()); if (ui_mode == UI_CURSES) @@ -921,39 +920,43 @@ io_save_conf (struct conf *conf) (void)fprintf (fp, "\n# If this option is set to yes, " "notify-bar will be displayed :\n"); - (void)fprintf (fp, "notify-bar_show=\n"); + (void)fprintf (fp, "notify-bar_show="); (void)fprintf (fp, "%s\n", (nbar.show) ? "yes" : "no"); (void)fprintf (fp, "\n# Format of the date to be displayed inside notify-bar :\n"); - (void)fprintf (fp, "notify-bar_date=\n"); + (void)fprintf (fp, "notify-bar_date="); (void)fprintf (fp, "%s\n", nbar.datefmt); (void)fprintf (fp, "\n# Format of the time to be displayed inside notify-bar :\n"); - (void)fprintf (fp, "notify-bar_clock=\n"); + (void)fprintf (fp, "notify-bar_clock="); (void)fprintf (fp, "%s\n", nbar.timefmt); (void)fprintf (fp, "\n# Warn user if he has an appointment within next " "'notify-bar_warning' seconds :\n"); - (void)fprintf (fp, "notify-bar_warning=\n"); + (void)fprintf (fp, "notify-bar_warning="); (void)fprintf (fp, "%d\n", nbar.cntdwn); (void)fprintf (fp, "\n# Command used to notify user of " "an upcoming appointment :\n"); - (void)fprintf (fp, "notify-bar_command=\n"); + (void)fprintf (fp, "notify-bar_command="); (void)fprintf (fp, "%s\n", nbar.cmd); + (void)fprintf (fp, "\n# Notify all appointments instead of flagged ones only\n"); + (void)fprintf (fp, "notify-all="); + (void)fprintf (fp, "%s\n", (nbar.notify_all) ? "yes" : "no"); + (void)fprintf (fp, "\n# Format of the date to be displayed " "in non-interactive mode :\n"); - (void)fprintf (fp, "output_datefmt=\n"); + (void)fprintf (fp, "output_datefmt="); (void)fprintf (fp, "%s\n", conf->output_datefmt); (void)fprintf (fp, "\n# Format to be used when entering a date " "(1)mm/dd/yyyy (2)dd/mm/yyyy (3)yyyy/mm/dd) " "(4)yyyy-mm-dd:\n"); - (void)fprintf (fp, "input_datefmt=\n"); + (void)fprintf (fp, "input_datefmt="); (void)fprintf (fp, "%d\n", conf->input_datefmt); if (ui_mode == UI_CURSES) @@ -962,12 +965,12 @@ io_save_conf (struct conf *conf) (void)fprintf (fp, "\n# If this option is set to yes, " "calcurse will run in background to get notifications " "after exiting\n"); - (void)fprintf (fp, "notify-daemon_enable=\n"); + (void)fprintf (fp, "notify-daemon_enable="); (void)fprintf (fp, "%s\n", dmon.enable ? "yes" : "no"); (void)fprintf (fp, "\n# If this option is set to yes, " "activity will be logged when running in background\n"); - (void)fprintf (fp, "notify-daemon_log=\n"); + (void)fprintf (fp, "notify-daemon_log="); (void)fprintf (fp, "%s\n", dmon.log ? "yes" : "no"); file_close (fp, __FILE_POS__); @@ -1024,10 +1027,7 @@ io_save_todo (void) LLIST_FOREACH (&todolist, i) { struct todo *todo = LLIST_TS_GET_DATA (i); - if (todo->note) - (void)fprintf (fp, "[%d]>%s %s\n", todo->id, todo->note, todo->mesg); - else - (void)fprintf (fp, "[%d] %s\n", todo->id, todo->mesg); + todo_write (todo, fp); } file_close (fp, __FILE_POS__); @@ -2758,10 +2758,7 @@ io_import_data (enum import_type type, struct conf *conf, char *stream_name) const struct string vevent = STRING_BUILD ("BEGIN:VEVENT"); const struct string vtodo = STRING_BUILD ("BEGIN:VTODO"); char *proc_report = _("Import process report: %04d lines read "); - char *lines_stats = - _("%d apps / %d events / %d todos / %d skipped "); - char *lines_stats_interactive = - _("%d apps / %d events / %d todos / %d skipped ([ENTER] to continue)"); + char stats_str[4][BUFSIZ]; char buf[BUFSIZ]; FILE *stream = NULL; struct io_file *log; @@ -2823,23 +2820,30 @@ io_import_data (enum import_type type, struct conf *conf, char *stream_name) if (stream != stdin) file_close (stream, __FILE_POS__); + snprintf (stats_str[0], BUFSIZ, + ngettext ("%d app", "%d apps", stats.apoints), stats.apoints); + snprintf (stats_str[1], BUFSIZ, + ngettext ("%d event", "%d events", stats.events), stats.events); + snprintf (stats_str[2], BUFSIZ, + ngettext ("%d todo", "%d todos", stats.todos), stats.todos); + snprintf (stats_str[3], BUFSIZ, _("%d skipped"), stats.skipped); + if (ui_mode == UI_CURSES && !conf->skip_system_dialogs) { char read[BUFSIZ], stat[BUFSIZ]; (void)snprintf (read, BUFSIZ, proc_report, stats.lines); - (void)snprintf (stat, BUFSIZ, lines_stats_interactive, stats.apoints, - stats.events, stats.todos, stats.skipped); + (void)snprintf (stat, BUFSIZ, "%s / %s / %s / %s (%s)", stats_str[0], + stats_str[1], stats_str[2], stats_str[3], + _("Press [ENTER] to continue")); status_mesg (read, stat); (void)wgetch (win[STA].p); } else if (ui_mode == UI_CMDLINE) { printf (proc_report, stats.lines); - printf ("\n"); - printf (lines_stats, stats.apoints, stats.events, stats.todos, - stats.skipped); - printf ("\n"); + printf ("\n%s / %s / %s / %s\n", stats_str[0], stats_str[1], + stats_str[2], stats_str[3]); } /* User has the choice to look at the log file if some items could not be |