Author: Carlos Lopez <genet...@gmail.com> Date: Sun Feb 17 13:41:38 2013 +0100
Add option at Setup dialog to choose Cairo render on Navigator --- synfig-studio/src/gui/app.cpp | 15 +++++++++++++++ synfig-studio/src/gui/app.h | 1 + synfig-studio/src/gui/dialogs/dialog_setup.cpp | 8 ++++++++ synfig-studio/src/gui/dialogs/dialog_setup.h | 1 + 4 files changed, 25 insertions(+), 0 deletions(-) diff --git a/synfig-studio/src/gui/app.cpp b/synfig-studio/src/gui/app.cpp index 4de6c99..27a94dc 100644 --- a/synfig-studio/src/gui/app.cpp +++ b/synfig-studio/src/gui/app.cpp @@ -291,6 +291,7 @@ String studio::App::browser_command("open"); // MacOS only String studio::App::browser_command("xdg-open"); // Linux XDG standard #endif String studio::App::sequence_separator("."); +bool studio::App::navigator_uses_cairo(false); static int max_recent_files_=25; int studio::App::get_max_recent_files() { return max_recent_files_; } @@ -594,6 +595,11 @@ public: value=App::sequence_separator; return true; } + if(key=="navigator_uses_cairo") + { + value=App::navigator_uses_cairo; + return true; + } } catch(...) { @@ -712,6 +718,13 @@ public: if(key=="sequence_separator") { App::sequence_separator=value; + return true; + } + if(key=="navigator_uses_cairo") + { + int i(atoi(value.c_str())); + App::navigator_uses_cairo=i; + return true; } } catch(...) @@ -743,6 +756,7 @@ public: ret.push_back("preferred_fps"); ret.push_back("predefined_fps"); ret.push_back("sequence_separator"); + ret.push_back("navigator_uses_cairo"); return ret; } }; @@ -1861,6 +1875,7 @@ App::reset_initial_preferences() 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("sequence_separator", "."); + synfigapp::Main::settings().set_value("navigator_uses_cairo", "0"); } bool diff --git a/synfig-studio/src/gui/app.h b/synfig-studio/src/gui/app.h index 8261808..a41dd1f 100644 --- a/synfig-studio/src/gui/app.h +++ b/synfig-studio/src/gui/app.h @@ -207,6 +207,7 @@ public: static synfig::String predefined_fps; static float preferred_fps; static synfig::String sequence_separator; + static bool navigator_uses_cairo; /* -- ** -- S I G N A L S ------------------------------------------------------- */ diff --git a/synfig-studio/src/gui/dialogs/dialog_setup.cpp b/synfig-studio/src/gui/dialogs/dialog_setup.cpp index c3f346a..5be5a6c 100644 --- a/synfig-studio/src/gui/dialogs/dialog_setup.cpp +++ b/synfig-studio/src/gui/dialogs/dialog_setup.cpp @@ -298,6 +298,8 @@ Dialog_Setup::Dialog_Setup(): // Render - Image sequence separator attach_label(render_table, _("Image Sequence Separator String"), 0, xpadding, ypadding); render_table->attach(image_sequence_separator, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); + attach_label(render_table, _("Use Cairo render on NAvigator"), 1, xpadding, ypadding); + render_table->attach(toggle_navigator_uses_cairo, 1, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); show_all_children(); } @@ -366,6 +368,9 @@ Dialog_Setup::on_apply_pressed() // Set the preferred image sequence separator App::sequence_separator=image_sequence_separator.get_text(); + // Set the navigator uses cairo flag + App::navigator_uses_cairo=toggle_navigator_uses_cairo.get_active(); + App::save_settings(); App::setup_changed(); @@ -516,6 +521,9 @@ Dialog_Setup::refresh() //Refresh the sequence separator image_sequence_separator.set_text(App::sequence_separator); + + // Refresh the status of the navigator_uses_cairo flag + toggle_navigator_uses_cairo.set_active(App::navigator_uses_cairo); } GammaPattern::GammaPattern(): diff --git a/synfig-studio/src/gui/dialogs/dialog_setup.h b/synfig-studio/src/gui/dialogs/dialog_setup.h index 519ec38..b4af059 100644 --- a/synfig-studio/src/gui/dialogs/dialog_setup.h +++ b/synfig-studio/src/gui/dialogs/dialog_setup.h @@ -203,6 +203,7 @@ class Dialog_Setup : public Gtk::Dialog Gtk::SpinButton* pref_x_size_spinbutton; Gtk::Entry image_sequence_separator; + Gtk::CheckButton toggle_navigator_uses_cairo; public: void set_time_format(synfig::Time::Format time_format); ------------------------------------------------------------------------------ The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials, tech docs, whitepapers, evaluation guides, and opinion stories. Check out the most recent posts - join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl