Show some debugging output on stdout when deciding which 'auto' target to use.
[synfig.git] / synfig-studio / trunk / src / gtkmm / render.cpp
index 5e397d1..43ea5b6 100644 (file)
@@ -190,12 +190,7 @@ 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('.'));
+       String filename(filename_sans_extension(canvas_interface_->get_canvas()->get_file_name()));
 
        // if this isn't the root canvas, append (<canvasname>) to the filename
        etl::handle<synfig::Canvas> canvas = canvas_interface_->get_canvas();
@@ -255,11 +250,19 @@ 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 '.'
+                       synfig::info("render target filename: '%s'; extension: '%s'", filename.c_str(), ext.c_str());
                        if(Target::ext_book().count(ext))
+                       {
                                target_name=Target::ext_book()[ext];
+                               synfig::info("'%s' is a known extension - using target '%s'", ext.c_str(), target_name.c_str());
+                       }
                        else
+                       {
                                target_name=ext;
+                               synfig::info("unknown extension");
+                       }
                }
                catch(std::runtime_error x)
                {