Author: Carlos Lopez <[email protected]>
Date:   Sat Mar  9 08:22:13 2013 +0100

Add option to use Cairo render on Work Area

---

 synfig-studio/src/gui/app.cpp                  |   14 ++++++++++++++
 synfig-studio/src/gui/app.h                    |    1 +
 synfig-studio/src/gui/dialogs/dialog_setup.cpp |    9 +++++++++
 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 84ec05a..149f1d8 100644
--- a/synfig-studio/src/gui/app.cpp
+++ b/synfig-studio/src/gui/app.cpp
@@ -292,6 +292,7 @@ String studio::App::browser_command("xdg-open"); // Linux 
XDG standard
 #endif
 String studio::App::sequence_separator(".");
 bool studio::App::navigator_uses_cairo=false;
+bool studio::App::workarea_uses_cairo=false;
 
 static int max_recent_files_=25;
 int studio::App::get_max_recent_files() { return max_recent_files_; }
@@ -600,6 +601,11 @@ public:
                                
value=strprintf("%i",(int)App::navigator_uses_cairo);
                                return true;
                        }
+                       if(key=="workarea_uses_cairo")
+                       {
+                               
value=strprintf("%i",(int)App::workarea_uses_cairo);
+                               return true;
+                       }
                }
                catch(...)
                {
@@ -726,6 +732,12 @@ public:
                                App::navigator_uses_cairo=i;
                                return true;
                        }
+                       if(key=="workarea_uses_cairo")
+                       {
+                               int i(atoi(value.c_str()));
+                               App::workarea_uses_cairo=i;
+                               return true;
+                       }
                }
                catch(...)
                {
@@ -757,6 +769,7 @@ public:
                ret.push_back("predefined_fps");
                ret.push_back("sequence_separator");
                ret.push_back("navigator_uses_cairo");
+               ret.push_back("workarea_uses_cairo");
                return ret;
        }
 };
@@ -1876,6 +1889,7 @@ App::reset_initial_preferences()
        
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");
+       synfigapp::Main::settings().set_value("workarea_uses_cairo", "0");
 }
 
 bool
diff --git a/synfig-studio/src/gui/app.h b/synfig-studio/src/gui/app.h
index a41dd1f..67409cc 100644
--- a/synfig-studio/src/gui/app.h
+++ b/synfig-studio/src/gui/app.h
@@ -208,6 +208,7 @@ public:
        static float preferred_fps;
        static synfig::String sequence_separator;
        static bool navigator_uses_cairo;
+       static bool workarea_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 5e92e1a..998ecc1 100644
--- a/synfig-studio/src/gui/dialogs/dialog_setup.cpp
+++ b/synfig-studio/src/gui/dialogs/dialog_setup.cpp
@@ -301,6 +301,9 @@ Dialog_Setup::Dialog_Setup():
        // Render - Use Cairo on Navigator
        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);
+       // Render - Use Cairo on WorkArea
+       attach_label(render_table, _("Use Cairo render on WorkArea"), 2, 
xpadding, ypadding);
+       render_table->attach(toggle_workarea_uses_cairo, 1, 2, 2, 3, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
        show_all_children();
 }
@@ -372,6 +375,9 @@ Dialog_Setup::on_apply_pressed()
        // Set the navigator uses cairo flag
        App::navigator_uses_cairo=toggle_navigator_uses_cairo.get_active();
 
+       // Set the workarea uses cairo flag
+       App::workarea_uses_cairo=toggle_workarea_uses_cairo.get_active();
+
        App::save_settings();
 
        App::setup_changed();
@@ -525,6 +531,9 @@ Dialog_Setup::refresh()
 
        // Refresh the status of the navigator_uses_cairo flag
        toggle_navigator_uses_cairo.set_active(App::navigator_uses_cairo);
+
+       // Refresh the status of the workarea_uses_cairo flag
+       toggle_workarea_uses_cairo.set_active(App::workarea_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 b4af059..3bded00 100644
--- a/synfig-studio/src/gui/dialogs/dialog_setup.h
+++ b/synfig-studio/src/gui/dialogs/dialog_setup.h
@@ -204,6 +204,7 @@ class Dialog_Setup : public Gtk::Dialog
 
        Gtk::Entry image_sequence_separator;
        Gtk::CheckButton toggle_navigator_uses_cairo;
+       Gtk::CheckButton toggle_workarea_uses_cairo;
 public:
 
        void set_time_format(synfig::Time::Format time_format);


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to