SF.net SVN: geany:[5751] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Sat Apr 30 16:24:54 UTC 2011


Revision: 5751
          http://geany.svn.sourceforge.net/geany/?rev=5751&view=rev
Author:   ntrel
Date:     2011-04-30 16:24:53 +0000 (Sat, 30 Apr 2011)

Log Message:
-----------
Read color scheme name and description for menu item label and
tooltip (based on patch by Matthew Brush, thanks).

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/data/colorschemes/alt.conf
    trunk/doc/geany.html
    trunk/doc/geany.txt
    trunk/src/highlighting.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2011-04-30 15:25:09 UTC (rev 5750)
+++ trunk/ChangeLog	2011-04-30 16:24:53 UTC (rev 5751)
@@ -5,6 +5,10 @@
    agree on whether e.g. Java is a compiled language).
  * doc/geany.txt, doc/geany.html:
    Add section 'Filetype group membership'.
+ * src/highlighting.c, doc/geany.txt, doc/geany.html,
+   data/colorschemes/alt.conf:
+   Read color scheme name and description for menu item label and
+   tooltip (based on patch by Matthew Brush, thanks).
 
 
 2011-04-29  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/data/colorschemes/alt.conf
===================================================================
--- trunk/data/colorschemes/alt.conf	2011-04-30 15:25:09 UTC (rev 5750)
+++ trunk/data/colorschemes/alt.conf	2011-04-30 16:24:53 UTC (rev 5751)
@@ -1,4 +1,6 @@
-# Set of styles like the Geany <= 0.19 Python/script defaults with gray comments.
+[theme_info]
+name=Alternate
+description=Alternate Geany color scheme with styles like the Geany <= 0.19 Python/script defaults with gray comments.
 
 [named_styles]
 # see filetypes.common for details

Modified: trunk/doc/geany.html
===================================================================
--- trunk/doc/geany.html	2011-04-30 15:25:09 UTC (rev 5750)
+++ trunk/doc/geany.html	2011-04-30 16:24:53 UTC (rev 5751)
@@ -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="2011-04-26" />
+<meta name="date" content="2011-04-30" />
 <style type="text/css">
 
 /*
@@ -139,7 +139,7 @@
 <br />Nick Treleaven
 <br />Frank Lanitz</td></tr>
 <tr><th class="docinfo-name">Date:</th>
-<td>2011-04-26</td></tr>
+<td>2011-04-30</td></tr>
 <tr><th class="docinfo-name">Version:</th>
 <td>0.21</td></tr>
 </tbody>
@@ -1891,13 +1891,17 @@
 on what color scheme files Geany found at startup.</p>
 <p>Color scheme files are read from the <a class="reference" href="#configuration-file-paths">Configuration file paths</a> under
 the <tt class="docutils literal"><span class="pre">colorschemes</span></tt> subdirectory. They should have the extension
-<tt class="docutils literal"><span class="pre">.conf</span></tt> and currently only contain a <a class="reference" href="#named-styles-section">[named_styles] section</a>. The
-default color scheme is read from <tt class="docutils literal"><span class="pre">filetypes.common</span></tt>.</p>
+<tt class="docutils literal"><span class="pre">.conf</span></tt>. The default color scheme
+is read from <tt class="docutils literal"><span class="pre">filetypes.common</span></tt>.</p>
+<p>The <a class="reference" href="#named-styles-section">[named_styles] section</a> is the same as for <tt class="docutils literal"><span class="pre">filetypes.common</span></tt>.</p>
 <div class="note">
 <p class="first admonition-title">Note</p>
 <p class="last">Some filetypes do not yet support named styles so will ignore
 any chosen color scheme.</p>
 </div>
+<p>The <tt class="docutils literal"><span class="pre">[theme_info]</span></tt> section can contain information about the
+theme. The <tt class="docutils literal"><span class="pre">name</span></tt> and <tt class="docutils literal"><span class="pre">description</span></tt> keys are read to set the
+menu item text and tooltip, respectively.</p>
 </div>
 </div>
 <div class="section">
@@ -6556,7 +6560,7 @@
 <div class="footer">
 <hr class="footer" />
 <a class="reference" href="geany.txt">View document source</a>.
-Generated on: 2011-04-30 15:22 UTC.
+Generated on: 2011-04-30 16:23 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	2011-04-30 15:25:09 UTC (rev 5750)
+++ trunk/doc/geany.txt	2011-04-30 16:24:53 UTC (rev 5751)
@@ -1478,13 +1478,19 @@
 
 Color scheme files are read from the `Configuration file paths`_ under
 the ``colorschemes`` subdirectory. They should have the extension
-``.conf`` and currently only contain a `[named_styles] section`_. The
-default color scheme is read from ``filetypes.common``.
+``.conf``. The default color scheme
+is read from ``filetypes.common``.
 
+The `[named_styles] section`_ is the same as for ``filetypes.common``.
+
 .. note::
     Some filetypes do not yet support named styles so will ignore
     any chosen color scheme.
 
+The ``[theme_info]`` section can contain information about the
+theme. The ``name`` and ``description`` keys are read to set the
+menu item text and tooltip, respectively.
+
 Tags
 ----
 

Modified: trunk/src/highlighting.c
===================================================================
--- trunk/src/highlighting.c	2011-04-30 15:25:09 UTC (rev 5750)
+++ trunk/src/highlighting.c	2011-04-30 16:24:53 UTC (rev 5751)
@@ -3600,7 +3600,7 @@
 		filetypes_reload();
 		return;
 	}
-	fname = ui_menu_item_get_text(menuitem);
+	fname = g_strdup(g_object_get_data(G_OBJECT(menuitem), "colorscheme_file"));
 	setptr(fname, utils_get_locale_from_utf8(fname));
 
 	/* fname is just the basename from the menu item, so prepend the custom files path */
@@ -3632,16 +3632,37 @@
 	static GSList *group = NULL;
 	GtkWidget *item;
 
-	if (fname)
+	if (!fname)
 	{
-		gchar *label = utils_get_utf8_from_locale(fname);
-
-		item = gtk_radio_menu_item_new_with_label(group, label);
-		g_free(label);
+		item = gtk_radio_menu_item_new_with_mnemonic(group, _("_Default"));
 	}
 	else
-		item = gtk_radio_menu_item_new_with_mnemonic(group, _("_Default"));
+	{
+		GKeyFile *hkeyfile, *skeyfile;
+		gchar *path, *theme_name, *tooltip;
+		gchar *theme_fn = utils_get_utf8_from_locale(fname);
 
+		path = utils_build_path(app->configdir, GEANY_COLORSCHEMES_SUBDIR, fname, NULL);
+		hkeyfile = utils_key_file_new(path);
+		setptr(path, utils_build_path(app->datadir, GEANY_COLORSCHEMES_SUBDIR, fname, NULL));
+		skeyfile = utils_key_file_new(path);
+
+		theme_name = utils_get_setting(string, hkeyfile, skeyfile, "theme_info", "name", theme_fn);
+		item = gtk_radio_menu_item_new_with_label(group, theme_name);
+		g_object_set_data_full(G_OBJECT(item), "colorscheme_file", theme_fn, g_free);
+
+		tooltip = utils_get_setting(string, hkeyfile, skeyfile, "theme_info", "description", NULL);
+		if (tooltip != NULL)
+		{
+			ui_widget_set_tooltip_text(item, tooltip);
+			g_free(tooltip);
+		}
+		g_free(path);
+		g_free(theme_name);
+		g_key_file_free(hkeyfile);
+		g_key_file_free(skeyfile);
+	}
+
 	group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(item));
 	if (utils_str_equal(editor_prefs.color_scheme, fname))
 		gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE);


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