[gnome-latex: 120/205] Reopen files on startup: option in prefs
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-latex: 120/205] Reopen files on startup: option in prefs
- Date: Fri, 14 Dec 2018 10:56:58 +0000 (UTC)
commit 1d2adb3e9bb0a7ecd678e4a58bbd6ad61adb73e7
Author: Sébastien Wilmet <sebastien wilmet gmail com>
Date: Tue Nov 17 18:40:28 2009 +0100
Reopen files on startup: option in prefs
TODO | 4 ++--
src/main.c | 5 +++--
src/main.h | 1 +
src/prefs.c | 31 +++++++++++++++++++++++++++++++
4 files changed, 37 insertions(+), 4 deletions(-)
---
diff --git a/TODO b/TODO
index 9d51d65..7937217 100644
--- a/TODO
+++ b/TODO
@@ -20,9 +20,9 @@ TODO LaTeXila
[-] delete auxiliaries files on exit (*.aux, *.log, *.out, *.toc, ...)
-[-] remember the files opened at exit and reopen them at starting
+[x] remember the files opened at exit and reopen them on startup
x do the main work
- - add an option in the preferences
+ x add an option in the preferences
[-] Documents menu
- close all
diff --git a/src/main.c b/src/main.c
index 03c8be1..0f2338d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -312,8 +312,9 @@ main (int argc, char *argv[])
if (! latexila.prefs.show_edit_toolbar)
gtk_widget_hide (latexila.edit_toolbar);
- /* open documents opened the last time */
- for (int i = 0 ; i < latexila.prefs.nb_opened_docs ; i++)
+ /* reopen files on startup */
+ for (int i = 0 ; i < latexila.prefs.nb_opened_docs
+ && latexila.prefs.reopen_files_on_startup ; i++)
{
gchar *path = latexila.prefs.list_opened_docs[i];
gchar *uri = g_filename_to_uri (path, NULL, &error);
diff --git a/src/main.h b/src/main.h
index 9669049..015c5d5 100644
--- a/src/main.h
+++ b/src/main.h
@@ -93,6 +93,7 @@ typedef struct
gchar *file_browser_dir;
gchar **list_opened_docs;
guint nb_opened_docs;
+ gboolean reopen_files_on_startup;
} preferences_t;
typedef struct
diff --git a/src/prefs.c b/src/prefs.c
index d59e20d..b581d3e 100644
--- a/src/prefs.c
+++ b/src/prefs.c
@@ -62,6 +62,7 @@ static gchar *command_latex_ = COMMAND_LATEX;
static gchar *command_pdflatex_ = COMMAND_PDFLATEX;
static gchar *command_dvipdf_ = COMMAND_DVIPDF;
static gchar *command_dvips_ = COMMAND_DVIPS;
+static gboolean reopen_files_on_startup_ = TRUE;
void
load_preferences (preferences_t *prefs)
@@ -284,6 +285,16 @@ load_preferences (preferences_t *prefs)
else
prefs->nb_opened_docs = (guint) nb_opened_docs;
+ prefs->reopen_files_on_startup = g_key_file_get_boolean (key_file,
+ PROGRAM_NAME, "reopen_files_on_startup", &error);
+ if (error != NULL)
+ {
+ print_warning ("%s", error->message);
+ prefs->reopen_files_on_startup = reopen_files_on_startup_;
+ g_error_free (error);
+ error = NULL;
+ }
+
print_info ("load user preferences: OK");
g_key_file_free (key_file);
}
@@ -318,6 +329,8 @@ save_preferences (preferences_t *prefs)
prefs->file_browser_dir);
g_key_file_set_string_list (key_file, PROGRAM_NAME, "list_opened_documents",
(const gchar **) prefs->list_opened_docs, prefs->nb_opened_docs);
+ g_key_file_set_boolean (key_file, PROGRAM_NAME, "reopen_files_on_startup",
+ prefs->reopen_files_on_startup);
/* set the keys that must be taken from the widgets */
GdkWindowState flag = gdk_window_get_state (gtk_widget_get_window (
@@ -409,6 +422,7 @@ load_default_preferences (preferences_t *prefs)
prefs->file_browser_dir = g_strdup (g_get_home_dir ());
prefs->list_opened_docs = NULL;
prefs->nb_opened_docs = 0;
+ prefs->reopen_files_on_startup = reopen_files_on_startup_;
set_current_font_prefs (prefs);
}
@@ -519,6 +533,13 @@ cb_pref_command_dvips (GtkEditable *editable, gpointer user_data)
latexila.prefs.command_dvips = g_strdup (new_command);
}
+static void
+cb_reopen_files_on_startup (GtkToggleButton *toggle_button, gpointer user_data)
+{
+ latexila.prefs.reopen_files_on_startup = gtk_toggle_button_get_active (toggle_button);
+}
+
+
static void
create_preferences (void)
{
@@ -614,6 +635,16 @@ create_preferences (void)
gtk_box_pack_start (GTK_BOX (content_area), table, TRUE, TRUE, 5);
+ /* reopen files on startup */
+ GtkWidget *reopen = gtk_check_button_new_with_label (
+ _("Reopen files on startup"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (reopen),
+ latexila.prefs.reopen_files_on_startup);
+ g_signal_connect (G_OBJECT (reopen), "toggled",
+ G_CALLBACK (cb_reopen_files_on_startup), NULL);
+ gtk_box_pack_start (GTK_BOX (content_area), reopen, FALSE, FALSE, 5);
+
+
gtk_widget_show_all (content_area);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]