Draw in the complete outline of a selected polygon if it is 'looped'. This allows...
[synfig.git] / synfig-studio / trunk / src / gtkmm / instance.cpp
index c921c3f..597eaec 100644 (file)
@@ -205,13 +205,17 @@ 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()
 {
-       // the filename will be set to "Synfig Animation 1" or some such when first created
-       // and will be changed to an absolute path once it has been saved
-       // so if it still begins with "Synfig Animation " then we need to ask where to save it
-       if(get_file_name().find(DEFAULT_FILENAME_PREFIX)==0)
+       // if we don't have a real filename yet then we need to ask where to save it
+       if (!has_real_filename())
        {
                if (dialog_save_as())
                        return STATUS_OK;
@@ -226,6 +230,15 @@ studio::Instance::save()
        return STATUS_ERROR;
 }
 
+// the filename will be set to "Synfig Animation 1" or some such when first created
+// and will be changed to an absolute path once it has been saved
+// so if it still begins with "Synfig Animation " then we don't have a real filename yet
+bool
+studio::Instance::has_real_filename()
+{
+       return get_file_name().find(DEFAULT_FILENAME_PREFIX) != 0;
+}
+
 bool
 studio::Instance::dialog_save_as()
 {
@@ -258,7 +271,7 @@ studio::Instance::dialog_save_as()
                }
        }
 
-       if (get_file_name().find(DEFAULT_FILENAME_PREFIX) != 0)
+       if (has_real_filename())
                filename = absolute_path(filename);
 
        // show the canvas' name if it has one, else its ID
@@ -379,7 +392,6 @@ Instance::close()
                studio::App::instance_list.front()->canvas_view_list().front()->present();
 }
 
-
 void
 Instance::insert_canvas(Gtk::TreeRow row, synfig::Canvas::Handle canvas)
 {
@@ -431,7 +443,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)
@@ -695,7 +706,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
 {
@@ -1013,7 +1023,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.
@@ -1079,10 +1088,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
@@ -1113,7 +1119,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();
@@ -1163,7 +1168,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"));
@@ -1177,10 +1181,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)
@@ -1190,7 +1192,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));