X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Finstance.cpp;h=597eaec8e153ae9350eefeb3fa74c2701183f58c;hb=84589d82b412a2a35fcb68995148e2a01794227c;hp=c921c3f2bfb89bc5b8e82ed3d46702b0c5fed642;hpb=756c0d29ac1742f231e6615f9a577e574e35a4af;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/instance.cpp b/synfig-studio/trunk/src/gtkmm/instance.cpp index c921c3f..597eaec 100644 --- a/synfig-studio/trunk/src/gtkmm/instance.cpp +++ b/synfig-studio/trunk/src/gtkmm/instance.cpp @@ -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 value_node) @@ -695,7 +706,6 @@ Instance::safe_close() return true; } - void Instance::add_actions_to_group(const Glib::RefPtr& action_group, synfig::String& ui_info, const synfigapp::Action::ParamList ¶m_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 canvas_view, std::listpack_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 canvas_view, std::listset_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 canvas_view, std::list canvas_view, std::listset_param("canvas",canvas_view->get_canvas()); action->set_param("canvas_interface",canvas_interface); action->set_param("value_node",ValueNode::Handle(value_node));