Revision: 2036
          http://synfig.svn.sourceforge.net/synfig/?rev=2036&view=rev
Author:   genete
Date:     2008-09-02 20:23:52 +0000 (Tue, 02 Sep 2008)

Log Message:
-----------
Apply [ 2087747 ] Save preferred X and Y canvas dimensions for new files

Modified Paths:
--------------
    synfig-studio/trunk/src/gtkmm/app.cpp
    synfig-studio/trunk/src/gtkmm/app.h
    synfig-studio/trunk/src/gtkmm/dialog_setup.cpp
    synfig-studio/trunk/src/gtkmm/dialog_setup.h

Modified: synfig-studio/trunk/src/gtkmm/app.cpp
===================================================================
--- synfig-studio/trunk/src/gtkmm/app.cpp       2008-08-30 13:49:49 UTC (rev 
2035)
+++ synfig-studio/trunk/src/gtkmm/app.cpp       2008-09-02 20:23:52 UTC (rev 
2036)
@@ -274,6 +274,8 @@
 bool studio::App::single_threaded=false;
 #endif
 bool studio::App::restrict_radius_ducks=false;
+int studio::App::preferred_x_size=480;
+int studio::App::preferred_y_size=270;
 #ifdef USE_OPEN_FOR_URLS
 String studio::App::browser_command("open"); // MacOS only
 #else
@@ -511,7 +513,16 @@
                        value=App::browser_command;
                        return true;
                }
-
+               if(key=="preferred_x_size")
+               {
+                       value=strprintf("%i",App::preferred_x_size);
+                       return true;
+               }
+               if(key=="preferred_y_size")
+               {
+                       value=strprintf("%i",App::preferred_y_size);
+                       return true;
+               }
                return synfigapp::Settings::get_value(key,value);
        }
 
@@ -580,7 +591,18 @@
                        App::browser_command=value;
                        return true;
                }
-
+               if(key=="preferred_x_size")
+               {
+                       int i(atoi(value.c_str()));
+                       App::preferred_x_size=i;
+                       return true;
+               }
+               if(key=="preferred_y_size")
+               {
+                       int i(atoi(value.c_str()));
+                       App::preferred_y_size=i;
+                       return true;
+               }
                return synfigapp::Settings::set_value(key,value);
        }
 
@@ -598,6 +620,8 @@
                ret.push_back("auto_recover_backup_interval");
                ret.push_back("restrict_radius_ducks");
                ret.push_back("browser_command");
+               ret.push_back("preferred_x_size");
+               ret.push_back("preferred_y_size");
                return ret;
        }
 };
@@ -1679,6 +1703,8 @@
        synfigapp::Main::settings().set_value("pref.single_threaded","0");
 #endif
        synfigapp::Main::settings().set_value("pref.restrict_radius_ducks","0");
+       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("window.toolbox.pos","4 4");
 }
 
@@ -2347,8 +2373,8 @@
        canvas->rend_desc().set_y_res(DPI2DPM(72.0f));
        canvas->rend_desc().set_tl(Vector(-4,2.25));
        canvas->rend_desc().set_br(Vector(4,-2.25));
-       canvas->rend_desc().set_w(480);
-       canvas->rend_desc().set_h(270);
+       canvas->rend_desc().set_w(preferred_x_size);
+       canvas->rend_desc().set_h(preferred_y_size);
        canvas->rend_desc().set_antialias(1);
        canvas->rend_desc().set_flags(RendDesc::PX_ASPECT|RendDesc::IM_SPAN);
        canvas->set_file_name(file_name);

Modified: synfig-studio/trunk/src/gtkmm/app.h
===================================================================
--- synfig-studio/trunk/src/gtkmm/app.h 2008-08-30 13:49:49 UTC (rev 2035)
+++ synfig-studio/trunk/src/gtkmm/app.h 2008-09-02 20:23:52 UTC (rev 2036)
@@ -198,7 +198,8 @@
        static bool restrict_radius_ducks;
 
        static synfig::String browser_command;
-
+       static int preferred_x_size;
+       static int preferred_y_size;
        /*
  -- ** -- S I G N A L S -------------------------------------------------------
        */

Modified: synfig-studio/trunk/src/gtkmm/dialog_setup.cpp
===================================================================
--- synfig-studio/trunk/src/gtkmm/dialog_setup.cpp      2008-08-30 13:49:49 UTC 
(rev 2035)
+++ synfig-studio/trunk/src/gtkmm/dialog_setup.cpp      2008-09-02 20:23:52 UTC 
(rev 2036)
@@ -80,8 +80,11 @@
 #ifdef SINGLE_THREADED
        toggle_single_threaded(_("Use Only a Single Thread")),
 #endif
-       toggle_restrict_radius_ducks(_("Restrict Real-Valued Ducks to Top Right 
Quadrant"))
-{
+       toggle_restrict_radius_ducks(_("Restrict Real-Valued Ducks to Top Right 
Quadrant")),
+       adj_pref_x_size(480,1,10000,1,10,10),
+       adj_pref_y_size(270,1,10000,1,10,10)
+       
+       {
        // Setup the buttons
 
        Gtk::Button *ok_button(manage(new class 
Gtk::Button(Gtk::StockID("gtk-ok"))));
@@ -192,11 +195,11 @@
        misc_table->attach(*recent_files_spinbutton, 1, 2, 2, 3, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
        // Misc - use_colorspace_gamma
-       misc_table->attach(toggle_use_colorspace_gamma, 0, 2, 5, 6, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
+       misc_table->attach(toggle_use_colorspace_gamma, 0, 2, 7, 8, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
 #ifdef SINGLE_THREADED
        // Misc - single_threaded
-       misc_table->attach(toggle_single_threaded, 0, 2, 7, 8, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
+       misc_table->attach(toggle_single_threaded, 0, 2, 9, 10, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 #endif
 
        // Misc - auto backup interval
@@ -204,12 +207,22 @@
        misc_table->attach(auto_backup_interval, 1, 2, 3, 4, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
        // Misc - restrict_radius_ducks
-       misc_table->attach(toggle_restrict_radius_ducks, 0, 2, 6, 7, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
+       misc_table->attach(toggle_restrict_radius_ducks, 0, 2, 8, 9, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
        // Misc - browser_command
        attach_label(misc_table, _("Browser Command"), 4, xpadding, ypadding);
        misc_table->attach(textbox_browser_command, 1, 2, 4, 5, 
Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding);
 
+       // Misc - Preferred x size
+       Gtk::SpinButton* pref_x_size_spinbutton(manage(new 
Gtk::SpinButton(adj_pref_x_size,1,0)));
+       attach_label(misc_table,_("Preferred Canvas X size"),5, xpadding, 
ypadding);
+       misc_table->attach(*pref_x_size_spinbutton, 1, 2, 5, 
6,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); 
+
+       // Misc - Preferred y size
+       Gtk::SpinButton* pref_y_size_spinbutton(manage(new 
Gtk::SpinButton(adj_pref_y_size,1,0)));
+       attach_label(misc_table,_("Preferred Canvas Y size"),6, xpadding, 
ypadding);
+       misc_table->attach(*pref_y_size_spinbutton, 1, 2, 6, 
7,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); 
+
        show_all_children();
 }
 
@@ -253,6 +266,12 @@
        // Set the browser_command textbox
        App::browser_command=textbox_browser_command.get_text();
 
+       // Set the preferred new canvas x dimension
+       App::preferred_x_size=int(adj_pref_x_size.get_value());
+
+       // Set the preferred new canvas y dimension
+       App::preferred_y_size=int(adj_pref_y_size.get_value());
+
        App::save_settings();
 }
 
@@ -339,6 +358,13 @@
 
        // Refresh the browser_command textbox
        textbox_browser_command.set_text(App::browser_command);
+
+       // Refresh the preferred new canvas y dimension
+       adj_pref_x_size.set_value(App::preferred_x_size);
+       
+       // Refresh the preferred new canvas y dimension
+       adj_pref_y_size.set_value(App::preferred_y_size);
+
 }
 
 GammaPattern::GammaPattern():

Modified: synfig-studio/trunk/src/gtkmm/dialog_setup.h
===================================================================
--- synfig-studio/trunk/src/gtkmm/dialog_setup.h        2008-08-30 13:49:49 UTC 
(rev 2035)
+++ synfig-studio/trunk/src/gtkmm/dialog_setup.h        2008-09-02 20:23:52 UTC 
(rev 2036)
@@ -178,6 +178,8 @@
        Gtk::CheckButton toggle_restrict_radius_ducks;
 
        Gtk::Entry textbox_browser_command;
+       Gtk::Adjustment adj_pref_x_size;
+       Gtk::Adjustment adj_pref_y_size;
 public:
 
        void set_time_format(synfig::Time::Format time_format);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to