X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgui%2Fstates%2Fstate_star.cpp;h=ec5ae50ba2ec9650f54a77974adb9a543ca42974;hb=477fd4ea9c6133e098572554a9eadbf503e27fab;hp=c5fb3ce2af39b2df032537d4f182445a0ce6d6bd;hpb=5fe12ee93aaca62d4d1e4007a5e94b97c1135d2c;p=synfig.git diff --git a/synfig-studio/src/gui/states/state_star.cpp b/synfig-studio/src/gui/states/state_star.cpp index c5fb3ce..ec5ae50 100644 --- a/synfig-studio/src/gui/states/state_star.cpp +++ b/synfig-studio/src/gui/states/state_star.cpp @@ -246,121 +246,137 @@ StateStar::~StateStar() void StateStar_Context::load_settings() { - String value; + try + { + synfig::ChangeLocale change_locale(LC_NUMERIC, "C"); + String value; - //parse the arguments yargh! - if(settings.get_value("star.id",value)) - set_id(value); - else - set_id("Star"); + //parse the arguments yargh! + if(settings.get_value("star.id",value)) + set_id(value); + else + set_id("Star"); - if(settings.get_value("star.feather",value)) - set_feather(atof(value.c_str())); - else - set_feather(0); + if(settings.get_value("star.feather",value)) + set_feather(atof(value.c_str())); + else + set_feather(0); - if(settings.get_value("star.number_of_points",value)) - set_number_of_points(atof(value.c_str())); - else - set_number_of_points(5); + if(settings.get_value("star.number_of_points",value)) + set_number_of_points(atof(value.c_str())); + else + set_number_of_points(5); - if(settings.get_value("star.inner_tangent",value)) - set_inner_tangent(atof(value.c_str())); - else - set_inner_tangent(0); + if(settings.get_value("star.inner_tangent",value)) + set_inner_tangent(atof(value.c_str())); + else + set_inner_tangent(0); - if(settings.get_value("star.outer_tangent",value)) - set_outer_tangent(atof(value.c_str())); - else - set_outer_tangent(0); + if(settings.get_value("star.outer_tangent",value)) + set_outer_tangent(atof(value.c_str())); + else + set_outer_tangent(0); - if(settings.get_value("star.inner_width",value)) - set_inner_width(atof(value.c_str())); - else - set_inner_width(1); + if(settings.get_value("star.inner_width",value)) + set_inner_width(atof(value.c_str())); + else + set_inner_width(1); - if(settings.get_value("star.outer_width",value)) - set_outer_width(atof(value.c_str())); - else - set_outer_width(1); + if(settings.get_value("star.outer_width",value)) + set_outer_width(atof(value.c_str())); + else + set_outer_width(1); - if(settings.get_value("star.radius_ratio",value)) - set_radius_ratio(atof(value.c_str())); - else - set_radius_ratio(0.5); + if(settings.get_value("star.radius_ratio",value)) + set_radius_ratio(atof(value.c_str())); + else + set_radius_ratio(0.5); - if(settings.get_value("star.angle_offset",value)) - set_angle_offset(atof(value.c_str())); - else - set_angle_offset(0); + if(settings.get_value("star.angle_offset",value)) + set_angle_offset(atof(value.c_str())); + else + set_angle_offset(0); - if(settings.get_value("star.invert",value) && value != "0") - set_invert(true); - else - set_invert(false); + if(settings.get_value("star.invert",value) && value != "0") + set_invert(true); + else + set_invert(false); - if(settings.get_value("star.regular_polygon",value) && value != "0") - set_regular_polygon(true); - else - set_regular_polygon(false); + if(settings.get_value("star.regular_polygon",value) && value != "0") + set_regular_polygon(true); + else + set_regular_polygon(false); - if(settings.get_value("star.layer_star",value) && value=="0") - set_layer_star_flag(false); - else - set_layer_star_flag(true); + if(settings.get_value("star.layer_star",value) && value=="0") + set_layer_star_flag(false); + else + set_layer_star_flag(true); - if(settings.get_value("star.layer_region",value) && value=="1") - set_layer_region_flag(true); - else - set_layer_region_flag(false); + if(settings.get_value("star.layer_region",value) && value=="1") + set_layer_region_flag(true); + else + set_layer_region_flag(false); - if(settings.get_value("star.layer_outline",value) && value=="1") - set_layer_outline_flag(true); - else - set_layer_outline_flag(false); + if(settings.get_value("star.layer_outline",value) && value=="1") + set_layer_outline_flag(true); + else + set_layer_outline_flag(false); - if(settings.get_value("star.layer_curve_gradient",value) && value=="1") - set_layer_curve_gradient_flag(true); - else - set_layer_curve_gradient_flag(false); + if(settings.get_value("star.layer_curve_gradient",value) && value=="1") + set_layer_curve_gradient_flag(true); + else + set_layer_curve_gradient_flag(false); - if(settings.get_value("star.layer_plant",value) && value=="1") - set_layer_plant_flag(true); - else - set_layer_plant_flag(false); + if(settings.get_value("star.layer_plant",value) && value=="1") + set_layer_plant_flag(true); + else + set_layer_plant_flag(false); - if(settings.get_value("star.layer_link_origins",value) && value=="0") - set_layer_link_origins_flag(false); - else - set_layer_link_origins_flag(true); + if(settings.get_value("star.layer_link_origins",value) && value=="0") + set_layer_link_origins_flag(false); + else + set_layer_link_origins_flag(true); - if(settings.get_value("star.layer_origins_at_center",value) && value=="0") - set_layer_origins_at_center_flag(false); - else - set_layer_origins_at_center_flag(true); + if(settings.get_value("star.layer_origins_at_center",value) && value=="0") + set_layer_origins_at_center_flag(false); + else + set_layer_origins_at_center_flag(true); + } + catch(...) + { + synfig::warning("State Star: Caught exception when attempting to load settings."); + } } void StateStar_Context::save_settings() { - settings.set_value("star.id",get_id()); - settings.set_value("star.feather",strprintf("%f",(float)get_feather())); - settings.set_value("star.number_of_points",strprintf("%d",(int)(get_number_of_points() + 0.5))); - settings.set_value("star.inner_tangent",strprintf("%f",(float)get_inner_tangent())); - settings.set_value("star.outer_tangent",strprintf("%f",(float)get_outer_tangent())); - settings.set_value("star.inner_width",strprintf("%f",(float)get_inner_width())); - settings.set_value("star.outer_width",strprintf("%f",(float)get_outer_width())); - settings.set_value("star.radius_ratio",strprintf("%f",(float)get_radius_ratio())); - settings.set_value("star.angle_offset",strprintf("%f",(float)get_angle_offset())); - settings.set_value("star.invert",get_invert()?"1":"0"); - settings.set_value("star.regular_polygon",get_regular_polygon()?"1":"0"); - settings.set_value("star.layer_star",get_layer_star_flag()?"1":"0"); - settings.set_value("star.layer_outline",get_layer_outline_flag()?"1":"0"); - settings.set_value("star.layer_region",get_layer_region_flag()?"1":"0"); - settings.set_value("star.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); - settings.set_value("star.layer_plant",get_layer_plant_flag()?"1":"0"); - settings.set_value("star.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); - settings.set_value("star.layer_origins_at_center",get_layer_origins_at_center_flag()?"1":"0"); + try + { + synfig::ChangeLocale change_locale(LC_NUMERIC, "C"); + settings.set_value("star.id",get_id()); + settings.set_value("star.feather",strprintf("%f",(float)get_feather())); + settings.set_value("star.number_of_points",strprintf("%d",(int)(get_number_of_points() + 0.5))); + settings.set_value("star.inner_tangent",strprintf("%f",(float)get_inner_tangent())); + settings.set_value("star.outer_tangent",strprintf("%f",(float)get_outer_tangent())); + settings.set_value("star.inner_width",strprintf("%f",(float)get_inner_width())); + settings.set_value("star.outer_width",strprintf("%f",(float)get_outer_width())); + settings.set_value("star.radius_ratio",strprintf("%f",(float)get_radius_ratio())); + settings.set_value("star.angle_offset",strprintf("%f",(float)get_angle_offset())); + settings.set_value("star.invert",get_invert()?"1":"0"); + settings.set_value("star.regular_polygon",get_regular_polygon()?"1":"0"); + settings.set_value("star.layer_star",get_layer_star_flag()?"1":"0"); + settings.set_value("star.layer_outline",get_layer_outline_flag()?"1":"0"); + settings.set_value("star.layer_region",get_layer_region_flag()?"1":"0"); + settings.set_value("star.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); + settings.set_value("star.layer_plant",get_layer_plant_flag()?"1":"0"); + settings.set_value("star.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); + settings.set_value("star.layer_origins_at_center",get_layer_origins_at_center_flag()?"1":"0"); + } + catch(...) + { + synfig::warning("State Star: Caught exception when attempting to save settings."); + } } void