dialog.run();
}
-void
-App::dialog_help()
-{
- if (!open_url("http://www.synfig.org/Documentation"))
- {
- Gtk::MessageDialog dialog(_("Documentation"), false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_CLOSE, true);
- dialog.set_secondary_text(_("Documentation for Synfig Studio is available on the website:\n\nhttp://www.synfig.org/Documentation"));
- dialog.set_title(_("Help"));
- dialog.run();
- }
-}
-
-bool
-App::open_url(const std::string &url)
+static bool
+try_open_url(const std::string &url)
{
#ifdef WIN32
return ShellExecute(GetDesktopWindow(), "open", url.c_str(), NULL, NULL, SW_SHOW);
#else // WIN32
- gchar* argv[3] = {strdup(browser_command.c_str()), strdup(url.c_str()), NULL};
+ gchar* argv[3] = {strdup(App::browser_command.c_str()), strdup(url.c_str()), NULL};
GError* gerror = NULL;
gboolean retval;
#endif // WIN32
}
+void
+App::dialog_help()
+{
+ if (!try_open_url("http://synfig.org/Documentation"))
+ {
+ Gtk::MessageDialog dialog(_("Documentation"), false, Gtk::MESSAGE_INFO, Gtk::BUTTONS_CLOSE, true);
+ dialog.set_secondary_text(_("Documentation for Synfig Studio is available on the website:\n\nhttp://www.synfig.org/Documentation"));
+ dialog.set_title(_("Help"));
+ dialog.run();
+ }
+}
+
+void
+App::open_url(const std::string &url)
+{
+ try_open_url(url);
+}
+
bool
App::dialog_entry(const std::string &title, const std::string &message,std::string &text)
{
filemenu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID(Gtk::Stock::QUIT),
sigc::ptr_fun(studio::App::quit)));
+#define WIKI(title,page) \
+ helpmenu->items().push_back(Gtk::Menu_Helpers::MenuElem(title, \
+ sigc::bind(sigc::ptr_fun(&studio::App::open_url),String("http://synfig.org")+page)))
+
Gtk::Menu *helpmenu = manage(new class Gtk::Menu());
- helpmenu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::Stock::HELP,
- sigc::ptr_fun(studio::App::dialog_help)));
+ helpmenu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::Stock::HELP, sigc::ptr_fun(studio::App::dialog_help)));
+ helpmenu->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
+
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Synfig Wiki"), /* TRANSLATORS: a wiki page */ _("/Main_Page") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Tutorials"), /* TRANSLATORS: a wiki page */ _("/Tutorials") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Frequently Asked Questions"),/* TRANSLATORS: a wiki page */ _("/FAQ") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Get Support"), /* TRANSLATORS: a wiki page */ _("/Communication") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Keyboard Shortcuts"), /* TRANSLATORS: a wiki page */ _("/Keyboard_Shortcuts") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("Mouse Shortcuts"), /* TRANSLATORS: a wiki page */ _("/Mouse_Shortcuts") );
+ /* TRANSLATORS: Help menu entry */ WIKI(_("All Pages"), /* TRANSLATORS: a wiki page */ _("/Special:Allpages") );
+
helpmenu->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
helpmenu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::StockID("synfig-about"),
sigc::ptr_fun(studio::App::dialog_about)));