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
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl