X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgui%2Fstates%2Fstate_polygon.cpp;h=4f48e3353801c375f90cf3de644a677bbf66d042;hb=477fd4ea9c6133e098572554a9eadbf503e27fab;hp=7c11c05002b0557cb2d57cbea5bbdb6453ff8003;hpb=45dc3b3e85f218337b52ec3a9b027678f6c6397a;p=synfig.git diff --git a/synfig-studio/src/gui/states/state_polygon.cpp b/synfig-studio/src/gui/states/state_polygon.cpp index 7c11c05..4f48e33 100644 --- a/synfig-studio/src/gui/states/state_polygon.cpp +++ b/synfig-studio/src/gui/states/state_polygon.cpp @@ -47,7 +47,7 @@ #include "event_mouse.h" #include "event_layerclick.h" #include "toolbox.h" -#include "dialog_tooloptions.h" +#include "docks/dialog_tooloptions.h" #include #include "general.h" @@ -199,67 +199,83 @@ StatePolygon::~StatePolygon() void StatePolygon_Context::load_settings() { - String value; - - if(settings.get_value("polygon.id",value)) - set_id(value); - else - set_id("Polygon"); - - if(settings.get_value("polygon.invert",value) && value != "0") - set_invert(true); - else - set_invert(false); - - if(settings.get_value("polygon.layer_polygon",value) && value=="0") - set_layer_polygon_flag(false); - else - set_layer_polygon_flag(true); - - if(settings.get_value("polygon.layer_region",value) && value=="1") - set_layer_region_flag(true); - else - set_layer_region_flag(false); - - if(settings.get_value("polygon.layer_outline",value) && value=="1") - set_layer_outline_flag(true); - else - set_layer_outline_flag(false); - - if(settings.get_value("polygon.layer_curve_gradient",value) && value=="1") - set_layer_curve_gradient_flag(true); - else - set_layer_curve_gradient_flag(false); - - if(settings.get_value("polygon.layer_plant",value) && value=="1") - set_layer_plant_flag(true); - else - set_layer_plant_flag(false); - - if(settings.get_value("polygon.layer_link_origins",value) && value=="0") - set_layer_link_origins_flag(false); - else - set_layer_link_origins_flag(true); - - if(settings.get_value("polygon.feather",value)) + try + { + synfig::ChangeLocale change_locale(LC_NUMERIC, "C"); + String value; + + if(settings.get_value("polygon.id",value)) + set_id(value); + else + set_id("Polygon"); + + if(settings.get_value("polygon.invert",value) && value != "0") + set_invert(true); + else + set_invert(false); + + if(settings.get_value("polygon.layer_polygon",value) && value=="0") + set_layer_polygon_flag(false); + else + set_layer_polygon_flag(true); + + if(settings.get_value("polygon.layer_region",value) && value=="1") + set_layer_region_flag(true); + else + set_layer_region_flag(false); + + if(settings.get_value("polygon.layer_outline",value) && value=="1") + set_layer_outline_flag(true); + else + set_layer_outline_flag(false); + + if(settings.get_value("polygon.layer_curve_gradient",value) && value=="1") + set_layer_curve_gradient_flag(true); + else + set_layer_curve_gradient_flag(false); + + if(settings.get_value("polygon.layer_plant",value) && value=="1") + set_layer_plant_flag(true); + else + set_layer_plant_flag(false); + + if(settings.get_value("polygon.layer_link_origins",value) && value=="0") + set_layer_link_origins_flag(false); + else + set_layer_link_origins_flag(true); + + if(settings.get_value("polygon.feather",value)) + { + Real n = atof(value.c_str()); + set_feather(n); + } + } + catch(...) { - Real n = atof(value.c_str()); - set_feather(n); + synfig::warning("State Polygon: Caught exception when attempting to load settings."); } } void StatePolygon_Context::save_settings() { - settings.set_value("polygon.id",get_id().c_str()); - settings.set_value("polygon.invert",get_invert()?"1":"0"); - settings.set_value("polygon.layer_polygon",get_layer_polygon_flag()?"1":"0"); - settings.set_value("polygon.layer_outline",get_layer_outline_flag()?"1":"0"); - settings.set_value("polygon.layer_region",get_layer_region_flag()?"1":"0"); - settings.set_value("polygon.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); - settings.set_value("polygon.layer_plant",get_layer_plant_flag()?"1":"0"); - settings.set_value("polygon.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); - settings.set_value("polygon.feather",strprintf("%f",get_feather())); + try + { + synfig::ChangeLocale change_locale(LC_NUMERIC, "C"); + settings.set_value("polygon.id",get_id().c_str()); + settings.set_value("polygon.invert",get_invert()?"1":"0"); + settings.set_value("polygon.layer_polygon",get_layer_polygon_flag()?"1":"0"); + settings.set_value("polygon.layer_outline",get_layer_outline_flag()?"1":"0"); + settings.set_value("polygon.layer_region",get_layer_region_flag()?"1":"0"); + settings.set_value("polygon.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); + settings.set_value("polygon.layer_plant",get_layer_plant_flag()?"1":"0"); + settings.set_value("polygon.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); + settings.set_value("polygon.feather",strprintf("%f",get_feather())); + } + catch(...) + { + synfig::warning("State Polygon: Caught exception when attempting to save settings."); + } } void