From 7b622c55dcac64a3899b96de76c09cdb0a969d71 Mon Sep 17 00:00:00 2001 From: genete Date: Wed, 10 Sep 2008 21:59:27 +0000 Subject: [PATCH] Add a text entry in the Document tab of the Setup Dialog to store the preferred filename prefix for new documents git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2042 1f10aa63-cdf2-0310-b900-c93c546f37ac --- synfig-studio/trunk/src/gtkmm/app.cpp | 17 +++++++++++++++-- synfig-studio/trunk/src/gtkmm/app.h | 1 + synfig-studio/trunk/src/gtkmm/dialog_setup.cpp | 23 +++++++++++++++++------ synfig-studio/trunk/src/gtkmm/dialog_setup.h | 1 + synfig-studio/trunk/src/gtkmm/instance.cpp | 2 +- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/app.cpp b/synfig-studio/trunk/src/gtkmm/app.cpp index 09a2875..8cd64ff 100644 --- a/synfig-studio/trunk/src/gtkmm/app.cpp +++ b/synfig-studio/trunk/src/gtkmm/app.cpp @@ -274,6 +274,7 @@ bool studio::App::use_colorspace_gamma=true; bool studio::App::single_threaded=false; #endif bool studio::App::restrict_radius_ducks=false; +String studio::App::custom_filename_prefix(DEFAULT_FILENAME_PREFIX); int studio::App::preferred_x_size=480; int studio::App::preferred_y_size=270; #ifdef USE_OPEN_FOR_URLS @@ -513,6 +514,11 @@ public: value=App::browser_command; return true; } + if(key=="custom_filename_prefix") + { + value=App::custom_filename_prefix; + return true; + } if(key=="preferred_x_size") { value=strprintf("%i",App::preferred_x_size); @@ -591,6 +597,11 @@ public: App::browser_command=value; return true; } + if(key=="custom_filename_prefix") + { + App::custom_filename_prefix=value; + return true; + } if(key=="preferred_x_size") { int i(atoi(value.c_str())); @@ -620,6 +631,7 @@ public: ret.push_back("auto_recover_backup_interval"); ret.push_back("restrict_radius_ducks"); ret.push_back("browser_command"); + ret.push_back("custom_filename_prefix"); ret.push_back("preferred_x_size"); ret.push_back("preferred_y_size"); return ret; @@ -1703,6 +1715,7 @@ App::reset_initial_window_configuration() 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.custom_filename_prefix",DEFAULT_FILENAME_PREFIX); 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"); @@ -2326,7 +2339,7 @@ App::open_as(std::string filename,std::string as) if(!canvas) throw (String)strprintf(_("Unable to open file \"%s\""),filename.c_str()); - if (as.find(DEFAULT_FILENAME_PREFIX) != 0) + if (as.find(custom_filename_prefix.c_str()) != 0) add_recent_file(as); handle instance(Instance::create(canvas)); @@ -2362,7 +2375,7 @@ App::new_instance() { handle canvas=synfig::Canvas::create(); - String file_name(strprintf("%s%d", DEFAULT_FILENAME_PREFIX, Instance::get_count()+1)); + String file_name(strprintf("%s%d", App::custom_filename_prefix.c_str(), Instance::get_count()+1)); canvas->set_name(file_name); file_name += ".sifz"; diff --git a/synfig-studio/trunk/src/gtkmm/app.h b/synfig-studio/trunk/src/gtkmm/app.h index 5dc1fef..e6fa884 100644 --- a/synfig-studio/trunk/src/gtkmm/app.h +++ b/synfig-studio/trunk/src/gtkmm/app.h @@ -198,6 +198,7 @@ public: static bool restrict_radius_ducks; static synfig::String browser_command; + static synfig::String custom_filename_prefix; static int preferred_x_size; static int preferred_y_size; /* diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp index 62ab267..113a899 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.cpp @@ -217,16 +217,21 @@ Dialog_Setup::Dialog_Setup(): Gtk::Table *document_table=manage(new Gtk::Table(2,2,false)); notebook->append_page(*document_table,_("Document")); + // Document - Preferred file name prefix + attach_label(document_table, _("New Document filename prefix"), 0, xpadding, ypadding); + document_table->attach(textbox_custom_filename_prefix, 1, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); + tooltips_.set_tip(textbox_custom_filename_prefix,_("File name prefix for the new created document")); + // Document - New Document X size Gtk::SpinButton* pref_x_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_x_size,1,0))); - attach_label(document_table,_("New Document X size"),0, xpadding, ypadding); - document_table->attach(*pref_x_size_spinbutton, 1, 2, 0, 1,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); + attach_label(document_table,_("New Document X size"),1, xpadding, ypadding); + document_table->attach(*pref_x_size_spinbutton, 1, 2, 1, 2,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); tooltips_.set_tip(*pref_x_size_spinbutton,_("Width in pixels of the new created document")); // Document - New Document Y size Gtk::SpinButton* pref_y_size_spinbutton(manage(new Gtk::SpinButton(adj_pref_y_size,1,0))); - attach_label(document_table,_("New Document Y size"),1, xpadding, ypadding); - document_table->attach(*pref_y_size_spinbutton, 1, 2, 1, 2,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); + attach_label(document_table,_("New Document Y size"),2, xpadding, ypadding); + document_table->attach(*pref_y_size_spinbutton, 1, 2, 2, 3,Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, xpadding, ypadding); tooltips_.set_tip(*pref_y_size_spinbutton,_("High in pixels of the new created document")); show_all_children(); @@ -272,10 +277,13 @@ Dialog_Setup::on_apply_pressed() // Set the browser_command textbox App::browser_command=textbox_browser_command.get_text(); - // Set the preferred new Document x dimension + // Set the preferred file name prefix + App::custom_filename_prefix=textbox_custom_filename_prefix.get_text(); + + // Set the preferred new Document X dimension App::preferred_x_size=int(adj_pref_x_size.get_value()); - // Set the preferred new Document y dimension + // Set the preferred new Document Y dimension App::preferred_y_size=int(adj_pref_y_size.get_value()); App::save_settings(); @@ -365,6 +373,9 @@ Dialog_Setup::refresh() // Refresh the browser_command textbox textbox_browser_command.set_text(App::browser_command); + // Refresh the preferred filename prefix + textbox_custom_filename_prefix.set_text(App::custom_filename_prefix); + // Refresh the preferred new Document X dimension adj_pref_x_size.set_value(App::preferred_x_size); diff --git a/synfig-studio/trunk/src/gtkmm/dialog_setup.h b/synfig-studio/trunk/src/gtkmm/dialog_setup.h index 58e27c9..2c14868 100644 --- a/synfig-studio/trunk/src/gtkmm/dialog_setup.h +++ b/synfig-studio/trunk/src/gtkmm/dialog_setup.h @@ -179,6 +179,7 @@ class Dialog_Setup : public Gtk::Dialog Gtk::CheckButton toggle_restrict_radius_ducks; Gtk::Entry textbox_browser_command; + Gtk::Entry textbox_custom_filename_prefix; Gtk::Adjustment adj_pref_x_size; Gtk::Adjustment adj_pref_y_size; Gtk::Tooltips tooltips_; diff --git a/synfig-studio/trunk/src/gtkmm/instance.cpp b/synfig-studio/trunk/src/gtkmm/instance.cpp index 65c63d8..42afa17 100644 --- a/synfig-studio/trunk/src/gtkmm/instance.cpp +++ b/synfig-studio/trunk/src/gtkmm/instance.cpp @@ -240,7 +240,7 @@ studio::Instance::save() bool studio::Instance::has_real_filename() { - return get_file_name().find(DEFAULT_FILENAME_PREFIX) != 0; + return get_file_name().find(App::custom_filename_prefix.c_str()) != 0; } bool -- 2.7.4