[Synfig-devl] Carlos Lopez : Add preferred and predefined FPS options in the Setup Dialog
Module: synfig Branch: genete_setup_dialog Commit: 01ac0bd92a2342a4cdc10ad5e8300a1bf79a0f4b URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=01ac0bd92a2342a4cdc10ad5e8300a1bf79a0f4b Author: Carlos Lopez car...@pcnuevo.(none) Date: Thu Jun 18 00:32:38 2009 +0200 Add preferred and predefined FPS options in the Setup Dialog --- synfig-studio/trunk/src/gtkmm/app.cpp | 30 ++- synfig-studio/trunk/src/gtkmm/app.h|2 + synfig-studio/trunk/src/gtkmm/dialog_setup.cpp | 50 +++- synfig-studio/trunk/src/gtkmm/dialog_setup.h |7 +++ 4 files changed, 87 insertions(+), 2 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index ffca6fd..ee4cfde 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -280,6 +280,8 @@ String studio::App::custom_filename_prefix(DEFAULT_FILENAME_PREFIX); 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 @@ -542,6 +544,16 @@ public: 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); } @@ -639,6 +651,18 @@ public: 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); } @@ -661,6 +685,8 @@ public: 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; } }; @@ -1739,6 +1765,8 @@ App::reset_initial_window_configuration() 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); } @@ -2409,7 +2437,7 @@ App::new_instance() 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)); diff --git a/synfig-studio/trunk/src/gtkmm/app.h b/synfig-studio/trunk/src/gtkmm/app.h index 507bc75..89cd528 100644 --- a/synfig-studio/trunk/src/gtkmm/app.h +++ b/synfig-studio/trunk/src/gtkmm/app.h @@ -204,6 +204,8 @@ public: static int preferred_x_size; static int preferred_y_size; static synfig::String predefined_size; + static synfig::String predefined_fps; + static float preferred_fps; /* -- ** -- S I G N A L S --- */ diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 9f849b0..7406566 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -84,7 +84,8 @@ Dialog_Setup::Dialog_Setup(): toggle_restrict_radius_ducks(_(Restrict Real-Valued Ducks to Top Right Quadrant)), toggle_resize_imported_images(_(Scale New Imported Images to Fit Canvas)), adj_pref_x_size(480,1,1,1,10,0), - adj_pref_y_size(270,1,1,1,10,0) + adj_pref_y_size(270,1,1,1,10,0), + adj_pref_fps(24.0,1.0,100,0.1,1,0) { // Setup the buttons @@ -262,6 +263,29 @@ Dialog_Setup::Dialog_Setup():
[Synfig-devl] Carlos Lopez : Disable fps spin button when combo box selection is a predefined one.
Module: synfig Branch: genete_setup_dialog Commit: f6d225414c538a10ee0f5e8f94d15bb3554da249 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=f6d225414c538a10ee0f5e8f94d15bb3554da249 Author: Carlos Lopez car...@pcnuevo.(none) Date: Thu Jun 18 00:54:50 2009 +0200 Disable fps spin button when combo box selection is a predefined one. Enable in other case. --- synfig-studio/trunk/src/gtkmm/dialog_setup.cpp |5 +++-- synfig-studio/trunk/src/gtkmm/dialog_setup.h |2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 7406566..175ab36 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -37,7 +37,6 @@ #include gtkmm/table.h #include gtkmm/frame.h #include gtkmm/notebook.h -#include gtkmm/spinbutton.h #include widget_enum.h #include autorecover.h @@ -281,7 +280,7 @@ Dialog_Setup::Dialog_Setup(): fps_template_combo-prepend_text(DEFAULT_PREDEFINED_FPS); // Document - New Document FPS - Gtk::SpinButton* pref_fps_spinbutton(manage(new Gtk::SpinButton(adj_pref_fps,1,3))); + pref_fps_spinbutton=Gtk::manage(new Gtk::SpinButton(adj_pref_fps,1,3)); attach_label(document_table,_(New Document FPS),4, xpadding, ypadding); document_table-attach(*pref_fps_spinbutton, 1, 2, 4, 5,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); tooltips_.set_tip(*pref_fps_spinbutton,_(Frames per second of the new created document)); @@ -418,9 +417,11 @@ Dialog_Setup::on_fps_template_combo_change() String selection(fps_template_combo-get_active_text()); if(selection==DEFAULT_PREDEFINED_FPS) { + pref_fps_spinbutton-set_sensitive(true); return; } adj_pref_fps.set_value(atof(selection.c_str())); + pref_fps_spinbutton-set_sensitive(false); return; } diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.h b/synfig-studio/trunk/src/gtkmm/dialog_setup.h index b9c8c98..36342ae 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.h +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.h @@ -40,6 +40,7 @@ #include gtkmm/widget_time.h #include gtkmm/tooltips.h #include gtkmm/comboboxtext.h +#include gtkmm/spinbutton.h #include synfig/gamma.h #include synfig/time.h @@ -197,6 +198,7 @@ class Dialog_Setup : public Gtk::Dialog Gtk::Adjustment adj_pref_x_size; Gtk::Adjustment adj_pref_y_size; Gtk::Adjustment adj_pref_fps; + Gtk::SpinButton* pref_fps_spinbutton; Gtk::Tooltips tooltips_; public: -- Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects ___ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl
[Synfig-devl] Carlos Lopez : Assure to call Gtk::manage instead of any other version.
Module: synfig Branch: genete_setup_dialog Commit: ed01e07e5df0c7a99b97b16e3e892e8f2cc98a9e URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=ed01e07e5df0c7a99b97b16e3e892e8f2cc98a9e Author: Carlos Lopez car...@pcnuevo.(none) Date: Thu Jun 18 00:58:43 2009 +0200 Assure to call Gtk::manage instead of any other version. --- synfig-studio/trunk/src/gtkmm/dialog_setup.cpp |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 175ab36..3931dd3 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -228,13 +228,13 @@ Dialog_Setup::Dialog_Setup(): tooltips_.set_tip(textbox_custom_filename_prefix,_(File name prefix for the new created document)); // Document - New Document X size - Gtk::SpinButton* pref_x_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_x_size,1,0))); + Gtk::SpinButton* pref_x_size_spinbutton(Gtk::manage(new Gtk::SpinButton(adj_pref_x_size,1,0))); attach_label(document_table,_(New Document X size),1, xpadding, ypadding); document_table-attach(*pref_x_size_spinbutton, 1, 2, 1, 2,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); tooltips_.set_tip(*pref_x_size_spinbutton,_(Width in pixels of the new created document)); // Document - New Document Y size - Gtk::SpinButton* pref_y_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_y_size,1,0))); + Gtk::SpinButton* pref_y_size_spinbutton(Gtk::manage(new Gtk::SpinButton(adj_pref_y_size,1,0))); attach_label(document_table,_(New Document Y size),2, xpadding, ypadding); document_table-attach(*pref_y_size_spinbutton, 1, 2, 2, 3,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); tooltips_.set_tip(*pref_y_size_spinbutton,_(High in pixels of the new created document)); -- Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects ___ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl