Add my copyright to files I've modified.
[synfig.git] / synfig-studio / trunk / src / gtkmm / app.cpp
index 238e339..673bfc4 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -757,7 +758,7 @@ init_ui_manager()
        DEFINE_ACTION("quality-09", _("Use Quality Level 9"));
        DEFINE_ACTION("quality-10", _("Use Quality Level 10"));
        DEFINE_ACTION("play", _("Play"));
-       DEFINE_ACTION("pause", _("Pause"));
+       // DEFINE_ACTION("pause", _("Pause"));
        DEFINE_ACTION("stop", _("Stop"));
        DEFINE_ACTION("toggle-grid-show", _("Toggle Grid Show"));
        DEFINE_ACTION("toggle-grid-snap", _("Toggle Grid Snap"));
@@ -885,7 +886,7 @@ init_ui_manager()
 "              </menu>"
 "              <separator name='bleh08'/>"
 "              <menuitem action='play'/>"
-"              <menuitem action='pause'/>"
+//"            <menuitem action='pause'/>"
 "              <menuitem action='stop'/>"
 "              <menuitem action='dialog-flipbook'/>"
 "              <separator name='bleh09'/>"
@@ -1040,6 +1041,7 @@ init_ui_manager()
        ACCEL2(Gtk::AccelKey('>',Gdk::CONTROL_MASK,"<Actions>//seek-next-second"));
        ACCEL2(Gtk::AccelKey('<',Gdk::CONTROL_MASK,"<Actions>//seek-prev-second"));
        ACCEL2(Gtk::AccelKey('o',Gdk::CONTROL_MASK,"<Actions>//toggle-onion-skin"));
+       ACCEL("<Actions>//play",              "<Control>p");
        ACCEL("<Actions>//seek-begin","Home");
        ACCEL("<Actions>//seek-end","End");
 
@@ -1518,19 +1520,7 @@ App::load_settings()
                        //if(!synfigapp::Main::settings().load_from_file(filename))
                        {
                                gamma.set_gamma(1.0/2.2);
-                               synfigapp::Main::settings().set_value("dock.dialog.1.comp_selector","1");
-                               synfigapp::Main::settings().set_value("dock.dialog.1.contents","navigator - info pal_edit pal_browse - tool_options history canvases - layers groups");
-                               synfigapp::Main::settings().set_value("dock.dialog.1.contents_size","225 167 207");
-                               synfigapp::Main::settings().set_value("dock.dialog.1.pos","1057 32");
-                               synfigapp::Main::settings().set_value("dock.dialog.1.size","208 1174");
-                               synfigapp::Main::settings().set_value("dock.dialog.2.comp_selector","0");
-                               synfigapp::Main::settings().set_value("dock.dialog.2.contents","params children keyframes | timetrack curves meta_data");
-                               synfigapp::Main::settings().set_value("dock.dialog.2.contents_size","263");
-                               synfigapp::Main::settings().set_value("dock.dialog.2.pos","0 973");
-                               synfigapp::Main::settings().set_value("dock.dialog.2.size","1045 235");
-                               synfigapp::Main::settings().set_value("pref.distance_system","pt");
-                               synfigapp::Main::settings().set_value("pref.use_colorspace_gamma","1");
-                               synfigapp::Main::settings().set_value("window.toolbox.pos","4 4");
+                               reset_initial_window_configuration();
                        }
                }
        setlocale(LC_NUMERIC,old_locale);
@@ -1541,6 +1531,24 @@ App::load_settings()
        }
 }
 
+void
+App::reset_initial_window_configuration()
+{
+       synfigapp::Main::settings().set_value("dock.dialog.1.comp_selector","1");
+       synfigapp::Main::settings().set_value("dock.dialog.1.contents","navigator - info pal_edit pal_browse - tool_options history canvases - layers groups");
+       synfigapp::Main::settings().set_value("dock.dialog.1.contents_size","225 167 207");
+       synfigapp::Main::settings().set_value("dock.dialog.1.pos","1057 32");
+       synfigapp::Main::settings().set_value("dock.dialog.1.size","208 1174");
+       synfigapp::Main::settings().set_value("dock.dialog.2.comp_selector","0");
+       synfigapp::Main::settings().set_value("dock.dialog.2.contents","params children keyframes | timetrack curves meta_data");
+       synfigapp::Main::settings().set_value("dock.dialog.2.contents_size","263");
+       synfigapp::Main::settings().set_value("dock.dialog.2.pos","0 973");
+       synfigapp::Main::settings().set_value("dock.dialog.2.size","1045 235");
+       synfigapp::Main::settings().set_value("pref.distance_system","pt");
+       synfigapp::Main::settings().set_value("pref.use_colorspace_gamma","1");
+       synfigapp::Main::settings().set_value("window.toolbox.pos","4 4");
+}
+
 bool
 App::shutdown_request(GdkEventAny*)
 {
@@ -1821,10 +1829,20 @@ App::dialog_save_file(const std::string &title, std::string &filename)
     dialog->add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
     dialog->add_button(Gtk::Stock::SAVE,   Gtk::RESPONSE_ACCEPT);
     if(!filename.empty())
+       {
+               std::string full_path;
                if (is_absolute_path(filename))
-                       dialog->set_filename(filename);
+                       full_path = filename;
                else
-                       dialog->set_filename(prev_path + ETL_DIRECTORY_SEPARATOR + filename);
+                       full_path = prev_path + ETL_DIRECTORY_SEPARATOR + filename;
+               // select the file if it exists
+               dialog->set_filename(full_path);
+
+               // if the file doesn't exist, put its name into the filename box
+               struct stat s;
+               if(stat(full_path.c_str(),&s) == -1 && errno == ENOENT)
+                       dialog->set_current_name(basename(filename));
+       }
     if(dialog->run()==GTK_RESPONSE_ACCEPT) {
         filename=dialog->get_filename();
         delete dialog;
@@ -1999,9 +2017,9 @@ void
 App::new_instance()
 {
        handle<synfig::Canvas> canvas=synfig::Canvas::create();
-       canvas->set_name(strprintf("Untitled%d",Instance::get_count()));
+       canvas->set_name(strprintf("%s%d", DEFAULT_FILENAME_PREFIX, Instance::get_count()+1));
 
-       String file_name(strprintf("untitled%d.sif",Instance::get_count()));
+       String file_name(strprintf("%s%d.sifz", DEFAULT_FILENAME_PREFIX, Instance::get_count()+1));
 
        canvas->rend_desc().set_frame_rate(24.0);
        canvas->rend_desc().set_time_start(0.0);