Add a text entry in the Document tab of the Setup Dialog to store the preferred filen...
authorgenete <genete@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Wed, 10 Sep 2008 21:59:27 +0000 (21:59 +0000)
committergenete <genete@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Wed, 10 Sep 2008 21:59:27 +0000 (21:59 +0000)
git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2042 1f10aa63-cdf2-0310-b900-c93c546f37ac

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
synfig-studio/trunk/src/gtkmm/instance.cpp

index 09a2875..8cd64ff 100644 (file)
@@ -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(Instance::create(canvas));
@@ -2362,7 +2375,7 @@ App::new_instance()
 {
        handle<synfig::Canvas> 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";
 
index 5dc1fef..e6fa884 100644 (file)
@@ -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;
        /*
index 62ab267..113a899 100644 (file)
@@ -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);
        
index 58e27c9..2c14868 100644 (file)
@@ -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_;
index 65c63d8..42afa17 100644 (file)
@@ -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