[SCM] calf/master: Add a menu option to display the plugin manual.
js at users.alioth.debian.org
js at users.alioth.debian.org
Tue May 7 15:41:03 UTC 2013
The following commit has been merged in the master branch:
commit 12ef2d9f441be360538f2cba1a1dcf96e4abf77d
Author: Krzysztof Foltman <wdev at foltman.com>
Date: Sun Mar 11 19:43:10 2012 +0000
Add a menu option to display the plugin manual.
diff --git a/configure.ac b/configure.ac
index 530ed77..fbcbaee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -194,6 +194,7 @@ fi
############################################################################################
# Other defines
AC_DEFINE_UNQUOTED(PKGLIBDIR,"$prefix/share/calf/",[Calf shared data directory (bitmaps, GUI XML etc.)])
+AC_DEFINE_UNQUOTED(PKGDOCDIR,"$prefix/share/doc/calf/",[Calf documentation directory])
############################################################################################
# Output files for configure step
diff --git a/src/plugin_gui_window.cpp b/src/plugin_gui_window.cpp
index c2e23a6..cce6ec6 100644
--- a/src/plugin_gui_window.cpp
+++ b/src/plugin_gui_window.cpp
@@ -60,6 +60,23 @@ void activate_preset(GtkAction *action, activate_preset_params *params)
params->preset_access->activate_preset(params->preset, params->builtin);
}
+void help_action(GtkAction *action, plugin_gui_window *gui_win)
+{
+ string uri = "file://" PKGDOCDIR "/" + string(gui_win->gui->plugin->get_metadata_iface()->get_label()) + ".html";
+ GError *error = NULL;
+ if (!gtk_show_uri(gtk_window_get_screen(gui_win->toplevel), uri.c_str(), time(NULL), &error))
+ {
+ GtkMessageDialog *dlg = GTK_MESSAGE_DIALOG(gtk_message_dialog_new(gui_win->toplevel, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_OTHER, GTK_BUTTONS_OK, "%s", error->message));
+ if (!dlg)
+ return;
+
+ gtk_dialog_run(GTK_DIALOG(dlg));
+ gtk_widget_destroy(GTK_WIDGET(dlg));
+
+ g_error_free(error);
+ }
+}
+
void about_action(GtkAction *action, plugin_gui_window *gui_win)
{
GtkAboutDialog *dlg = GTK_ABOUT_DIALOG(gtk_about_dialog_new());
@@ -146,6 +163,7 @@ static const GtkActionEntry actions[] = {
{ "HelpMenuAction", NULL, "_Help", NULL, "Help-related commands", NULL },
{ "store-preset", "gtk-save-as", "Store preset", NULL, "Store a current setting as preset", (GCallback)store_preset_action },
{ "about", "gtk-about", "_About...", NULL, "About this plugin", (GCallback)about_action },
+ { "HelpMenuItemAction", "gtk-help", "_Help", NULL, "Show manual page for this plugin", (GCallback)help_action },
{ "tips-tricks", NULL, "_Tips and tricks...", NULL, "Show a list of tips and tricks", (GCallback)tips_tricks_action },
};
@@ -163,6 +181,7 @@ static const char *ui_xml =
" </menu>\n"
" <placeholder name=\"commands\"/>\n"
" <menu action=\"HelpMenuAction\">\n"
+" <menuitem action=\"HelpMenuItemAction\"/>\n"
" <menuitem action=\"tips-tricks\"/>\n"
" <separator/>\n"
" <menuitem action=\"about\"/>\n"
--
calf audio plugins packaging
More information about the pkg-multimedia-commits
mailing list