Add my copyright to files I've modified.
[synfig.git] / synfig-studio / trunk / src / gtkmm / toolbox.cpp
index f29025d..3a9456e 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
@@ -131,8 +132,7 @@ save_selected_instance()
                return;
        }
 
-       if(!studio::App::get_selected_instance()->save())
-               App::dialog_error_blocking("Save - Error","Unable to save file");
+       studio::App::get_selected_instance()->save();
 }
 
 void
@@ -218,6 +218,8 @@ Toolbox::Toolbox():
        dock_dialogs->items().push_back(Gtk::Menu_Helpers::MenuElem("Canvases, History",sigc::ptr_fun(_create_stock_dialog1)));
        dock_dialogs->items().push_back(Gtk::Menu_Helpers::MenuElem("Layers, Children, Params",sigc::ptr_fun(_create_stock_dialog2)));
        dock_dialogs->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
+       dock_dialogs->items().push_back(Gtk::Menu_Helpers::MenuElem("Reset Windows to Original Layout",sigc::ptr_fun(App::reset_initial_window_configuration)));
+       dock_dialogs->items().push_back(Gtk::Menu_Helpers::SeparatorElem());
 
 
        filemenu->items().push_back(Gtk::Menu_Helpers::StockMenuElem(Gtk::Stock::NEW,
@@ -557,19 +559,27 @@ Toolbox::on_recent_files_changed()
                recent_files_menu->remove(**recent_files_menu->get_children().begin());
 
        list<string>::const_iterator iter;
-       // Check to see if the file is already on the list.
-       // If it is, then remove it from the list
        for(iter=App::get_recent_files().begin();iter!=App::get_recent_files().end();iter++)
-               recent_files_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(basename(*iter),
+       {
+               string raw = basename(*iter), quoted;
+               size_t pos = 0, last_pos = 0;
+
+               // replace _ in filenames by __ or it won't show up in the menu
+               for (pos = last_pos = 0; (pos = raw.find('_', pos)) != string::npos; last_pos = pos)
+                       quoted += raw.substr(last_pos, ++pos - last_pos) + '_';
+               quoted += raw.substr(last_pos);
+
+               recent_files_menu->items().push_back(Gtk::Menu_Helpers::MenuElem(quoted,
                        sigc::hide_return(sigc::bind(sigc::ptr_fun(&App::open),*iter))
                ));
+       }
 
        // HACK
        show();
 }
 
 void
-Toolbox::on_drop_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, const Gtk::SelectionData& selection_data_, guint info, guint time)
+Toolbox::on_drop_drag_data_received(const Glib::RefPtr<Gdk::DragContext>& context, int /*x*/, int /*y*/, const Gtk::SelectionData& selection_data_, guint /*info*/, guint time)
 {
        // We will make this true once we have a solid drop
        bool success(false);