Prevent a warning "Gtk-CRITICAL **: gtk_action_set_action_group: assertion `action_gr...
[synfig.git] / synfig-studio / trunk / src / gtkmm / instance.cpp
index e148787..2d4ecdb 100644 (file)
@@ -6,7 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**     Copyright (c) 2007 Chris Moore
+**     Copyright (c) 2007, 2008 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
@@ -42,6 +42,7 @@
 #include <sigc++/adaptors/hide.h>
 #include "toolbox.h"
 #include "onemoment.h"
+#include <synfig/savecanvas.h>
 
 #include "autorecover.h"
 #include <sigc++/retype_return.h>
@@ -204,6 +205,12 @@ studio::Instance::save_as(const synfig::String &file_name)
        return false;
 }
 
+void
+studio::Instance::open()
+{
+       App::dialog_open(get_file_name());
+}
+
 Instance::Status
 studio::Instance::save()
 {
@@ -312,7 +319,10 @@ studio::Instance::dialog_save_as()
                }
 
                if(save_as(filename))
+               {
+                       synfig::set_file_version(ReleaseVersion(RELEASE_VERSION_END-1));
                        return true;
+               }
 
                App::dialog_error_blocking("SaveAs - Error","Unable to save to '" + filename + "'");
        }
@@ -375,7 +385,6 @@ Instance::close()
                studio::App::instance_list.front()->canvas_view_list().front()->present();
 }
 
-
 void
 Instance::insert_canvas(Gtk::TreeRow row, synfig::Canvas::Handle canvas)
 {
@@ -427,7 +436,6 @@ Instance::insert_canvas(Gtk::TreeRow row, synfig::Canvas::Handle canvas)
        */
 }
 
-
 /*
 void
 Instance::insert_value_node(Gtk::TreeRow row,Canvas::Handle canvas,etl::handle<synfig::ValueNode> value_node)
@@ -691,7 +699,6 @@ Instance::safe_close()
        return true;
 }
 
-
 void
 Instance::add_actions_to_group(const Glib::RefPtr<Gtk::ActionGroup>& action_group, synfig::String& ui_info,   const synfigapp::Action::ParamList &param_list, synfigapp::Action::Category category)const
 {
@@ -1009,7 +1016,6 @@ Instance::make_param_menu(Gtk::Menu *menu,synfig::Canvas::Handle canvas, synfiga
                param_list2.add("origin",location);
        }
 
-
        // Populate the convert menu by looping through
        // the ValueNode book and find the ones that are
        // relevant.
@@ -1075,10 +1081,7 @@ Instance::make_param_menu(Gtk::Menu *menu,synfig::Canvas::Handle canvas, synfiga
                                sigc::bind(
                                        sigc::bind(
                                                sigc::bind(
-                                                       sigc::bind(
-                                                               sigc::mem_fun(*find_canvas_view(canvas),&studio::CanvasView::on_waypoint_clicked_canvasview),
-                                                               synfig::Waypoint::SIDE_UNSPECIFIED
-                                                       ),
+                                                       sigc::mem_fun(*find_canvas_view(canvas),&studio::CanvasView::on_waypoint_clicked_canvasview),
                                                        -1
                                                ),
                                                waypoint_set
@@ -1109,7 +1112,6 @@ edit_several_waypoints(etl::handle<CanvasView> canvas_view, std::list<synfigapp:
 
        dialog.get_vbox()->pack_start(widget_waypoint_model);
 
-
        dialog.add_button(Gtk::StockID("gtk-apply"),1);
        dialog.add_button(Gtk::StockID("gtk-cancel"),0);
        dialog.show();
@@ -1159,7 +1161,6 @@ edit_several_waypoints(etl::handle<CanvasView> canvas_view, std::list<synfigapp:
                        action->set_param("canvas",canvas_view->get_canvas());
                        action->set_param("canvas_interface",canvas_interface);
 
-
                        if(!canvas_interface->get_instance()->perform_action(action))
                        {
                                canvas_view->get_ui_interface()->error(_("Unable to convert to animated waypoint"));
@@ -1173,10 +1174,8 @@ edit_several_waypoints(etl::handle<CanvasView> canvas_view, std::list<synfigapp:
                                value_node=ValueNode_Animated::Handle::cast_dynamic(value_desc.get_value_node());
                }
 
-
                if(value_node)
                {
-
                        synfigapp::Action::Handle action(synfigapp::Action::create("waypoint_set_smart"));
 
                        if(!action)
@@ -1186,7 +1185,6 @@ edit_several_waypoints(etl::handle<CanvasView> canvas_view, std::list<synfigapp:
                                return;
                        }
 
-
                        action->set_param("canvas",canvas_view->get_canvas());
                        action->set_param("canvas_interface",canvas_interface);
                        action->set_param("value_node",ValueNode::Handle(value_node));