X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fapp.cpp;h=24e2bcfa270fba797729f1222733132013d5a24a;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=ee4cfdef6a4c35e2ec98b7db72995525f7631f54;hpb=b0212b80e88492fb1fb98086dabb519ea901045e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index ee4cfde..24e2bcf 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -324,6 +324,34 @@ class GlobalUIInterface : public synfigapp::UIInterface { public: + virtual Response confirmation(const std::string &title, + const std::string &primaryText, + const std::string &secondaryText, + const std::string &confirmPhrase, + const std::string &cancelPhrase, + Response defaultResponse) + { + Gtk::MessageDialog dialog( + primaryText, // Message + false, // Markup + Gtk::MESSAGE_WARNING, // Type + Gtk::BUTTONS_NONE, // Buttons + true // Modal + ); + + if (! title.empty()) + dialog.set_title(title); + if (! secondaryText.empty()) + dialog.set_secondary_text(secondaryText); + + dialog.add_button(cancelPhrase, RESPONSE_CANCEL); + dialog.add_button(confirmPhrase, RESPONSE_OK); + dialog.set_default_response(defaultResponse); + + dialog.show_all(); + return (Response) dialog.run(); + } + virtual Response yes_no(const std::string &title, const std::string &message,Response dflt=RESPONSE_YES) { Gtk::Dialog dialog( @@ -713,7 +741,7 @@ init_ui_manager() menus_action_group->add( Gtk::Action::create("menu-layer-new", _("New Layer")) ); menus_action_group->add( Gtk::Action::create("menu-keyframe", _("Keyframe")) ); menus_action_group->add( Gtk::Action::create("menu-group", _("Group")) ); - menus_action_group->add( Gtk::Action::create("menu-state", _("State")) ); + menus_action_group->add( Gtk::Action::create("menu-state", _("Tool")) ); menus_action_group->add( Gtk::Action::create("menu-toolbox", _("Toolbox")) ); // Add the synfigapp actions... @@ -1316,12 +1344,13 @@ App::App(int *argc, char ***argv): if(auto_recover->recovery_needed()) { splash_screen.hide(); - if (get_ui_interface()->yes_no(_("Auto Recovery"), - _("Synfig Studio seems to have crashed\n" - "before you could save all your files.\n" - "Would you like to re-open those files\n" - "and recover your unsaved changes?")) == - synfigapp::UIInterface::RESPONSE_YES) + if (get_ui_interface()->confirmation("Crash Recovery", + _("Auto recovery file found"), + _("Synfig Studio seems to have crashed\n" + "before you could save all your files.\n" + "Recover unsaved changes?"), + _("Recover"), _("Ignore")) + == synfigapp::UIInterface::RESPONSE_OK) { int number_recovered; if(!auto_recover->recover(number_recovered))