Author: Carlos Lopez <[email protected]>
Date:   Thu Jun 30 20:29:09 2011 +0200

Spread the changes made on the Setup Dialog to existing instances updating the 
rulers, time format and time bar. Fixes Bug 1890020

---

 synfig-studio/src/gui/app.cpp                  |   15 +++++++++++++++
 synfig-studio/src/gui/app.h                    |    4 ++++
 synfig-studio/src/gui/dialogs/dialog_setup.cpp |    5 +++++
 3 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/synfig-studio/src/gui/app.cpp b/synfig-studio/src/gui/app.cpp
index 901ae09..41a558a 100644
--- a/synfig-studio/src/gui/app.cpp
+++ b/synfig-studio/src/gui/app.cpp
@@ -2609,3 +2609,18 @@ studio::App::get_base_path()
 {
        return app_base_path_;
 }
+
+void
+studio::App::setup_changed()
+{
+       std::list<etl::handle<Instance> >::iterator iter;
+       for(iter=instance_list.begin();iter!=instance_list.end();++iter)
+       {
+               std::list< etl::handle<synfigapp::CanvasInterface> >::iterator 
citer;
+               std::list< etl::handle<synfigapp::CanvasInterface> >& 
cilist((*iter)->canvas_interface_list());
+               for(citer=cilist.begin();citer!=cilist.end();++citer)
+                       {
+                               (*citer)->signal_rend_desc_changed()();
+                       }
+       }
+}
diff --git a/synfig-studio/src/gui/app.h b/synfig-studio/src/gui/app.h
index 06b60d3..8891fe5 100644
--- a/synfig-studio/src/gui/app.h
+++ b/synfig-studio/src/gui/app.h
@@ -353,6 +353,10 @@ public:
 
        static synfig::String get_user_app_directory();
        static synfig::String get_config_file(const synfig::String& file);
+       // This will spread the changes made in preferences.
+       // (By now it updates the System Units or Time Format for all the 
canvases).
+       // This fixes bug 1890020
+       static void setup_changed();
 }; // END of class App
 
        void delete_widget(Gtk::Widget *widget);
diff --git a/synfig-studio/src/gui/dialogs/dialog_setup.cpp 
b/synfig-studio/src/gui/dialogs/dialog_setup.cpp
index e2b0ef2..12c4a61 100644
--- a/synfig-studio/src/gui/dialogs/dialog_setup.cpp
+++ b/synfig-studio/src/gui/dialogs/dialog_setup.cpp
@@ -44,6 +44,8 @@
 #include <ETL/misc>
 #include "general.h"
 
+#include <synfigapp/canvasinterface.h>
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -354,6 +356,9 @@ Dialog_Setup::on_apply_pressed()
        App::preferred_fps=Real(adj_pref_fps.get_value());
 
        App::save_settings();
+
+       App::setup_changed();
+
 }
 
 void


------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to