<property name="stock_id">gtk-clear</property>
<signal name="activate" handler="on_cleancache" swapped="no"/>
</object>
- <object class="GtkAction" id="contents">
- <property name="label">_Contents</property>
- <property name="short_label">Contents</property>
- <property name="tooltip">AWeather Reference Manual</property>
- <property name="stock_id">gtk-help</property>
- <signal name="activate" handler="on_contents" swapped="no"/>
- </object>
<object class="GtkToggleAction" id="fullscreen">
<property name="label">_Fullscreen</property>
<property name="stock_id">gtk-fullscreen</property>
<signal name="toggled" handler="on_fullscreen" swapped="no"/>
</object>
+ <object class="GtkAction" id="manpage">
+ <property name="label" translatable="yes">_Man Page</property>
+ <property name="short_label" translatable="yes">Man Page</property>
+ <property name="tooltip" translatable="yes">Unix Man Page</property>
+ <property name="stock_id">gtk-help</property>
+ <signal name="activate" handler="on_help" swapped="no"/>
+ </object>
<object class="GtkToggleAction" id="offline">
<property name="label">_Offline</property>
<property name="stock_id">gtk-disconnect</property>
<property name="stock_id">gtk-media-play</property>
<signal name="toggled" handler="on_update" swapped="no"/>
</object>
+ <object class="GtkAction" id="userguide">
+ <property name="label">_User Guide</property>
+ <property name="short_label">User Guide</property>
+ <property name="tooltip">AWeather User Guide</property>
+ <property name="stock_id">gtk-help</property>
+ <signal name="activate" handler="on_help" swapped="no"/>
+ </object>
<object class="GtkAction" id="zoomin">
<property name="label">Zoom _In</property>
<property name="stock_id">gtk-zoom-in</property>
<property name="type_hint">dialog</property>
<property name="program_name">AWeather</property>
<property name="version">@VERSION@</property>
- <property name="copyright" translatable="yes">Copyright ©2008-2011 Andy Spencer</property>
+ <property name="copyright" translatable="yes">Copyright ©2008-2012 Andy Spencer</property>
<property name="comments" translatable="yes">A weather monitoring program</property>
<property name="website">http://lug.rose-hulman.edu/proj/aweather</property>
<property name="license" translatable="yes"> GNU GENERAL PUBLIC LICENSE
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.
</property>
<property name="authors">Andy Spencer <andy753421@gmail.com></property>
+ <property name="documenters">Jason Holmes <Doppler5@aol.com></property>
<property name="logo">logo.svg</property>
<property name="wrap_license">True</property>
<signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
- <object class="GtkImageMenuItem" id="main_menu_help_contents">
+ <object class="GtkImageMenuItem" id="main_menu_help_userguide">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="related_action">userguide</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkImageMenuItem" id="main_menu_help_manpage">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="related_action">contents</property>
+ <property name="related_action">manpage</property>
<property name="use_underline">True</property>
<property name="use_stock">True</property>
</object>
cleancache_r(cache);
}
-G_MODULE_EXPORT void on_contents(GtkMenuItem *menu, AWeatherGui *self)
+G_MODULE_EXPORT void on_help(GtkMenuItem *menu, AWeatherGui *self)
{
GError *err = NULL;
- gchar *path = g_strdup(HTMLDIR "/aweather.html");
+ const gchar *name = gtk_buildable_get_name(GTK_BUILDABLE(menu));
+ gchar *page = g_str_has_suffix(name, "userguide") ? "userguide" :
+ g_str_has_suffix(name, "manpage") ? "aweather" : NULL;
+ if (page == NULL) {
+ g_warning("Unknown help page: %s", page);
+ return;
+ }
+ gchar *path = g_strdup_printf("%s/%s.html", HTMLDIR, page);
g_strdelimit(path, "/", G_DIR_SEPARATOR);
gchar *argv[] = {"xdg-open", path, NULL};
g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &err);