int studio::App::preferred_x_size=480;
int studio::App::preferred_y_size=270;
String studio::App::predefined_size(DEFAULT_PREDEFINED_SIZE);
+String studio::App::predefined_fps(DEFAULT_PREDEFINED_FPS);
+float studio::App::preferred_fps=24.0;
#ifdef USE_OPEN_FOR_URLS
String studio::App::browser_command("open"); // MacOS only
#else
{
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(
value=strprintf("%s",App::predefined_size.c_str());
return true;
}
+ if(key=="preferred_fps")
+ {
+ value=strprintf("%f",App::preferred_fps);
+ return true;
+ }
+ if(key=="predefined_fps")
+ {
+ value=strprintf("%s",App::predefined_fps.c_str());
+ return true;
+ }
return synfigapp::Settings::get_value(key,value);
}
App::predefined_size=value;
return true;
}
+ if(key=="preferred_fps")
+ {
+ float i(atof(value.c_str()));
+ App::preferred_fps=i;
+ return true;
+ }
+ if(key=="predefined_fps")
+ {
+ App::predefined_fps=value;
+ return true;
+ }
+
return synfigapp::Settings::set_value(key,value);
}
ret.push_back("preferred_x_size");
ret.push_back("preferred_y_size");
ret.push_back("predefined_size");
+ ret.push_back("preferred_fps");
+ ret.push_back("predefined_fps");
return ret;
}
};
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))
synfigapp::Main::settings().set_value("pref.preferred_x_size","480");
synfigapp::Main::settings().set_value("pref.preferred_y_size","270");
synfigapp::Main::settings().set_value("pref.predefined_size",DEFAULT_PREDEFINED_SIZE);
+ synfigapp::Main::settings().set_value("pref.preferred_fps","24.0");
+ synfigapp::Main::settings().set_value("pref.predefined_fps",DEFAULT_PREDEFINED_FPS);
synfigapp::Main::settings().set_value("window.toolbox.pos","4 4");
}
canvas->set_name(file_name);
file_name += ".sifz";
- canvas->rend_desc().set_frame_rate(24.0);
+ canvas->rend_desc().set_frame_rate(preferred_fps);
canvas->rend_desc().set_time_start(0.0);
canvas->rend_desc().set_time_end(5.0);
canvas->rend_desc().set_x_res(DPI2DPM(72.0f));