X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Frender.cpp;h=1ee95c34f10aa92515ceee6a17e47d3159cbf37e;hb=99b75ef1bb279e2314516f922f05696263d5bd27;hp=b39ee429f3e48138992cc05cd06c76db14e1561c;hpb=837b63e9fb829d66d43f4f169861f8979f76820d;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/render.cpp b/synfig-studio/trunk/src/gtkmm/render.cpp index b39ee42..1ee95c3 100644 --- a/synfig-studio/trunk/src/gtkmm/render.cpp +++ b/synfig-studio/trunk/src/gtkmm/render.cpp @@ -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 @@ -177,22 +178,39 @@ RenderSettings::RenderSettings(Gtk::Window& parent,handleshow_all(); +} + +RenderSettings::~RenderSettings() +{ +} + +void +RenderSettings::set_entry_filename() +{ + String filename(filename_sans_extension(canvas_interface_->get_canvas()->get_file_name())); + + // 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 +229,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); } @@ -232,7 +250,8 @@ RenderSettings::on_render_pressed() { try { - String ext=String(find(filename.begin(),filename.end(),'.')+1,filename.end()); + String ext(filename_extension(filename)); + if (ext.size()) ext=ext.substr(1); // skip initial '.' if(Target::ext_book().count(ext)) target_name=Target::ext_book()[ext]; else @@ -294,7 +313,7 @@ RenderSettings::on_render_pressed() } // Success! - canvas_interface_->get_ui_interface()->task(filename+_(" rendered sucessfuly")); + canvas_interface_->get_ui_interface()->task(filename+_(" rendered successfully")); canvas_interface_->get_ui_interface()->amount_complete(0,10000); */ return; @@ -303,7 +322,7 @@ RenderSettings::on_render_pressed() void RenderSettings::on_finished() { - canvas_interface_->get_ui_interface()->task(_("File rendered sucessfuly")); + canvas_interface_->get_ui_interface()->task(_("File rendered successfully")); canvas_interface_->get_ui_interface()->amount_complete(0,10000); }