Fix 1830670: Use the 'C' locale when loading and saving sketches.
[synfig.git] / synfig-studio / trunk / src / gtkmm / instance.cpp
index f6d11b0..61dbabc 100644 (file)
@@ -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
 #include <synfig/valuenode_composite.h>
 #include "widget_waypointmodel.h"
 #include <gtkmm/actiongroup.h>
-#include "iconcontroler.h"
+#include "iconcontroller.h"
 #include <sys/stat.h>
 #include <errno.h>
 
+#include "general.h"
+
 #endif
 
 using namespace std;
@@ -263,18 +266,15 @@ studio::Instance::dialog_save_as()
                if(find(filename.begin(),filename.end(),'*')!=filename.end())
                        continue;
 
-               std::string base = basename(filename);
-               if(find(base.begin(),base.end(),'.')==base.end())
+               if (filename_extension(filename) == "")
                        filename+=".sifz";
 
                try
                {
-                       String ext(String(filename.begin()+filename.find_last_of('.')+1,filename.end()));
-                       if(ext!="sif" && ext!="sifz" && !App::dialog_yes_no(_("Unknown extension"),
-                               _("You have given the file name an extension\nwhich I do not recognise. Are you sure this is what you want?")))
-                       {
+                       String ext(filename_extension(filename));
+                       if(ext!=".sif" && ext!=".sifz" && !App::dialog_yes_no(_("Unknown extension"),
+                               _("You have given the file name an extension\nwhich I do not recognize. Are you sure this is what you want?")))
                                continue;
-                       }
                }
                catch(...)
                {
@@ -482,7 +482,7 @@ Instance::dialog_cvs_commit()
        }
        catch(...)
        {
-               App::dialog_error_blocking(_("Error"),_("An error has occured when trying to COMMIT"));
+               App::dialog_error_blocking(_("Error"),_("An error has occurred when trying to COMMIT"));
        }
        update_all_titles();
 }
@@ -507,7 +507,7 @@ Instance::dialog_cvs_add()
        }
        catch(...)
        {
-               App::dialog_error_blocking(_("Error"),_("An error has occured when trying to ADD"));
+               App::dialog_error_blocking(_("Error"),_("An error has occurred when trying to ADD"));
        }
        update_all_titles();
 }
@@ -548,7 +548,7 @@ Instance::dialog_cvs_update()
        }
        catch(...)
        {
-               App::dialog_error_blocking(_("Error"),_("An error has occured when trying to UPDATE"));
+               App::dialog_error_blocking(_("Error"),_("An error has occurred when trying to UPDATE"));
        }
        //update_all_titles();
 }
@@ -584,7 +584,7 @@ Instance::dialog_cvs_revert()
        }
        catch(...)
        {
-               App::dialog_error_blocking(_("Error"),_("An error has occured when trying to UPDATE"));
+               App::dialog_error_blocking(_("Error"),_("An error has occurred when trying to UPDATE"));
        }
        //update_all_titles();
 }
@@ -809,7 +809,7 @@ Instance::add_actions_to_menu(Gtk::Menu *menu, const synfigapp::Action::ParamLis
        if(candidate_list2.empty())
                synfig::warning("%s:%d Action CandidateList2 is empty!", __FILE__, __LINE__);
 
-       // Seperate out the candidate lists so that there are no conflicts
+       // Separate out the candidate lists so that there are no conflicts
        for(iter=candidate_list.begin();iter!=candidate_list.end();++iter)
        {
                synfigapp::Action::CandidateList::iterator iter2(candidate_list2.find(iter->name));