X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Frender.cpp;h=4a5a4b64686f9ad3e6000804e2bec88df7c01988;hb=587ff98fbfd1248c1dd2c440ff59aa9a40b90277;hp=d648d387c6e01d1c4f2bf8e3be137c3a93ac44af;hpb=8409f0ca72de5e095c627f15cea02b872f1911d8;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/render.cpp b/synfig-studio/trunk/src/gtkmm/render.cpp index d648d38..4a5a4b6 100644 --- a/synfig-studio/trunk/src/gtkmm/render.cpp +++ b/synfig-studio/trunk/src/gtkmm/render.cpp @@ -177,22 +177,44 @@ RenderSettings::RenderSettings(Gtk::Window& parent,handleshow_all(); +} + +RenderSettings::~RenderSettings() +{ +} + +void +RenderSettings::set_entry_filename() +{ + String filename(canvas_interface_->get_canvas()->get_file_name()); + + // if the basename of the filename has an extension, remove it + String base = basename(filename); + if(find(base.begin(),base.end(),'.')!=base.end()) + filename = String(filename.begin(), filename.begin()+filename.find_last_of('.')); + + // if this isn't the root canvas, append () to the filename + etl::handle canvas = canvas_interface_->get_canvas(); + if (!canvas->is_root()) + if(canvas->get_name().empty()) + filename+=" ("+canvas->get_id()+')'; + else + filename+=" ("+canvas->get_name()+')'; + + filename += ".png"; try { - entry_filename.set_text(Glib::build_filename(Glib::get_home_dir(),Glib::ustring("Desktop")+ETL_DIRECTORY_SEPERATOR+Glib::ustring("output.png"))); + entry_filename.set_text((filename)); } catch(...) { synfig::warning("Averted crash!"); entry_filename.set_text("output.png"); } - - get_vbox()->show_all(); -} - -RenderSettings::~RenderSettings() -{ } void @@ -211,7 +233,7 @@ void RenderSettings::on_choose_pressed() { String filename=entry_filename.get_text(); - if(App::dialog_saveas_file("Save Render As",filename)) + if(App::dialog_save_file("Save Render As",filename)) entry_filename.set_text(filename); }