[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