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.