SF.net SVN: geany: [1926] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Tue Oct 2 15:43:20 UTC 2007


Revision: 1926
          http://geany.svn.sourceforge.net/geany/?rev=1926&view=rev
Author:   ntrel
Date:     2007-10-02 08:43:16 -0700 (Tue, 02 Oct 2007)

Log Message:
-----------
Don't overwrite hidden prefs when quitting unless they are missing.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/doc/geany.html
    trunk/doc/geany.txt
    trunk/src/keyfile.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2007-10-02 14:23:11 UTC (rev 1925)
+++ trunk/ChangeLog	2007-10-02 15:43:16 UTC (rev 1926)
@@ -2,6 +2,8 @@
 
  * src/notebook.c:
    Attempt to fix problem with tab close button size.
+ * src/keyfile.c, doc/geany.txt, doc/geany.html:
+   Don't overwrite hidden prefs when quitting unless they are missing.
 
 
 2007-10-01  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: trunk/doc/geany.html
===================================================================
--- trunk/doc/geany.html	2007-10-02 14:23:11 UTC (rev 1925)
+++ trunk/doc/geany.html	2007-10-02 15:43:16 UTC (rev 1926)
@@ -6,7 +6,7 @@
 <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
 <title>Geany</title>
 <meta name="authors" content="Enrico Tröger  Nick Treleaven  Frank Lanitz" />
-<meta name="date" content="2007-09-13" />
+<meta name="date" content="2007-09-28" />
 <style type="text/css">
 
 /*
@@ -133,7 +133,7 @@
 <br />Nick Treleaven
 <br />Frank Lanitz</td></tr>
 <tr><th class="docinfo-name">Date:</th>
-<td>2007-09-13</td></tr>
+<td>2007-09-28</td></tr>
 <tr><th class="docinfo-name">Version:</th>
 <td>0.12</td></tr>
 </tbody>
@@ -2513,16 +2513,10 @@
 <div class="section">
 <h1><a class="toc-backref" href="#id103" id="hidden-preferences" name="hidden-preferences">Hidden preferences</a></h1>
 <p>There are some uncommon preferences that are not shown in the
-Preferences dialog. These can be set in two ways:</p>
-<ol class="arabic simple">
-<li>By quitting all instances of Geany and using another editor to edit
-<tt class="docutils literal"><span class="pre">~/.geany/geany.conf</span></tt>.</li>
-<li>By using Geany to edit <tt class="docutils literal"><span class="pre">~/.geany/geany.conf</span></tt>, then after saving
-the file, start a second instance of Geany, and the new settings
-will be used. Make sure to then quit the first instance.</li>
-</ol>
-<p>Otherwise, the configuration file changes are overwritten when Geany
-is closed.</p>
+Preferences dialog. These can be set by editing <tt class="docutils literal"><span class="pre">~/.geany/geany.conf</span></tt>,
+then restarting Geany. Search for the key name, then edit the value. Example:</p>
+<blockquote>
+<tt class="docutils literal"><span class="pre">brace_match_ltgt=true</span></tt></blockquote>
 <p>The table below refers to the key names in the configuration file,
 under the <tt class="docutils literal"><span class="pre">[geany]</span></tt> group.</p>
 <table border="1" class="docutils">
@@ -3078,7 +3072,7 @@
 <div class="footer">
 <hr class="footer" />
 <a class="reference" href="geany.txt">View document source</a>.
-Generated on: 2007-09-28 15:47 UTC.
+Generated on: 2007-10-02 15:43 UTC.
 Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
 </div>

Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt	2007-10-02 14:23:11 UTC (rev 1925)
+++ trunk/doc/geany.txt	2007-10-02 15:43:16 UTC (rev 1926)
@@ -2278,22 +2278,16 @@
 ==================
 
 There are some uncommon preferences that are not shown in the
-Preferences dialog. These can be set in two ways:
+Preferences dialog. These can be set by editing ``~/.geany/geany.conf``,
+then restarting Geany. Search for the key name, then edit the value. Example:
 
-1. By quitting all instances of Geany and using another editor to edit
-   ``~/.geany/geany.conf``.
-2. By using Geany to edit ``~/.geany/geany.conf``, then after saving
-   the file, start a second instance of Geany, and the new settings
-   will be used. Make sure to then quit the first instance.
+	``brace_match_ltgt=true``
 
-Otherwise, the configuration file changes are overwritten when Geany
-is closed.
-
 The table below refers to the key names in the configuration file,
 under the ``[geany]`` group.
 
 ==============================  ============================================    ==================
-Option                          Description                                     Default
+Key                             Description                                     Default
 ==============================  ============================================    ==================
 brace_match_ltgt                Whether to highlight <, > angle brackets.       false
 show_editor_scrollbars          Whether to display scrollbars when the          true

Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c	2007-10-02 14:23:11 UTC (rev 1925)
+++ trunk/src/keyfile.c	2007-10-02 15:43:16 UTC (rev 1926)
@@ -175,7 +175,6 @@
 	g_key_file_set_boolean(config, PACKAGE, "show_line_endings", editor_prefs.show_line_endings);
 	g_key_file_set_boolean(config, PACKAGE, "show_markers_margin", editor_prefs.show_markers_margin);
 	g_key_file_set_boolean(config, PACKAGE, "show_linenumber_margin", editor_prefs.show_linenumber_margin);
-	g_key_file_set_boolean(config, PACKAGE, "show_editor_scrollbars", editor_prefs.show_scrollbars);
 	g_key_file_set_integer(config, PACKAGE, "long_line_type", editor_prefs.long_line_type);
 	g_key_file_set_integer(config, PACKAGE, "long_line_column", editor_prefs.long_line_column);
 	g_key_file_set_string(config, PACKAGE, "long_line_color", editor_prefs.long_line_color);
@@ -185,10 +184,8 @@
 	g_key_file_set_boolean(config, PACKAGE, "use_folding", editor_prefs.folding);
 	g_key_file_set_boolean(config, PACKAGE, "unfold_all_children", editor_prefs.unfold_all_children);
 	g_key_file_set_integer(config, PACKAGE, "indent_mode", editor_prefs.indent_mode);
-	g_key_file_set_boolean(config, PACKAGE, "use_tab_to_indent", editor_prefs.use_tab_to_indent);
 	g_key_file_set_boolean(config, PACKAGE, "use_indicators", editor_prefs.use_indicators);
 	g_key_file_set_boolean(config, PACKAGE, "line_breaking", editor_prefs.line_wrapping);
-	g_key_file_set_boolean(config, PACKAGE, "brace_match_ltgt", editor_prefs.brace_match_ltgt);
 	g_key_file_set_boolean(config, PACKAGE, "auto_close_xml_tags", editor_prefs.auto_close_xml_tags);
 	g_key_file_set_boolean(config, PACKAGE, "auto_complete_constructs", editor_prefs.auto_complete_constructs);
 	g_key_file_set_boolean(config, PACKAGE, "auto_complete_symbols", editor_prefs.auto_complete_symbols);
@@ -196,8 +193,6 @@
 	g_key_file_set_boolean(config, PACKAGE, "pref_editor_use_tabs", editor_prefs.use_tabs);
 	g_key_file_set_boolean(config, PACKAGE, "pref_editor_disable_dnd", editor_prefs.disable_dnd);
 	g_key_file_set_boolean(config, PACKAGE, "pref_editor_smart_home_key", editor_prefs.smart_home_key);
-	g_key_file_set_boolean(config, PACKAGE, "use_gtk_word_boundaries", editor_prefs.use_gtk_word_boundaries);
-	g_key_file_set_boolean(config, PACKAGE, "auto_complete_whilst_editing", editor_prefs.auto_complete_whilst_editing);
 
 	// files
 	g_key_file_set_string(config, PACKAGE, "pref_editor_default_new_encoding", encodings[prefs.default_new_encoding].charset);
@@ -320,6 +315,21 @@
 }
 
 
+// hidden prefs (don't overwrite them so users can edit them manually)
+#define write_hidden_pref_boolean(conf, pkg, key, val) \
+		if (! g_key_file_has_key((conf), (pkg), (key), NULL)) \
+			g_key_file_set_boolean((conf), (pkg), (key), (val));
+
+static void save_hidden_prefs(GKeyFile *config)
+{
+	write_hidden_pref_boolean(config, PACKAGE, "show_editor_scrollbars", editor_prefs.show_scrollbars);
+	write_hidden_pref_boolean(config, PACKAGE, "use_tab_to_indent", editor_prefs.use_tab_to_indent);
+	write_hidden_pref_boolean(config, PACKAGE, "brace_match_ltgt", editor_prefs.brace_match_ltgt);
+	write_hidden_pref_boolean(config, PACKAGE, "use_gtk_word_boundaries", editor_prefs.use_gtk_word_boundaries);
+	write_hidden_pref_boolean(config, PACKAGE, "auto_complete_whilst_editing", editor_prefs.auto_complete_whilst_editing);
+}
+
+
 void configuration_save()
 {
 	GKeyFile *config = g_key_file_new();
@@ -329,6 +339,7 @@
 	g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL);
 
 	save_dialog_prefs(config);
+	save_hidden_prefs(config);
 	save_ui_prefs(config);
 	project_save_prefs(config);	// save project filename, etc.
 	save_recent_files(config);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list