X-Git-Url: https://git.pterodactylus.net/?p=synfig.git;a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgui%2Fstates%2Fstate_circle.cpp;h=ff9e2caf37d41a5c52da3b1ae8919ea46d8b9ad1;hp=af8378478eb6d8ae8a95d48b81c7633b17a5c527;hb=87cee9053c40cf19f3b1473beed8af05a512ba95;hpb=961d8b11ca07964cb96baf5a32870cef5d8f62fe diff --git a/synfig-studio/src/gui/states/state_circle.cpp b/synfig-studio/src/gui/states/state_circle.cpp index af83784..ff9e2ca 100644 --- a/synfig-studio/src/gui/states/state_circle.cpp +++ b/synfig-studio/src/gui/states/state_circle.cpp @@ -239,101 +239,119 @@ StateCircle::~StateCircle() void StateCircle_Context::load_settings() { - String value; + try + { + SETTINGS_LOCALE_SAFE_AND_BACKUP + String value; - //parse the arguments yargh! - if(settings.get_value("circle.id",value)) - set_id(value); - else - set_id("Circle"); + //parse the arguments yargh! + if(settings.get_value("circle.id",value)) + set_id(value); + else + set_id("Circle"); - if(settings.get_value("circle.fallofftype",value) && value != "") - set_falloff(atoi(value.c_str())); - else - set_falloff(2); + if(settings.get_value("circle.fallofftype",value) && value != "") + set_falloff(atoi(value.c_str())); + else + set_falloff(2); -#ifdef BLEND_METHOD_IN_TOOL_OPTIONS - if(settings.get_value("circle.blend",value) && value != "") - set_blend(atoi(value.c_str())); - else - set_blend(0);//(int)Color::BLEND_COMPOSITE); //0 should be blend composites value -#endif // BLEND_METHOD_IN_TOOL_OPTIONS + #ifdef BLEND_METHOD_IN_TOOL_OPTIONS + if(settings.get_value("circle.blend",value) && value != "") + set_blend(atoi(value.c_str())); + else + set_blend(0);//(int)Color::BLEND_COMPOSITE); //0 should be blend composites value + #endif // BLEND_METHOD_IN_TOOL_OPTIONS - if(settings.get_value("circle.feather",value)) - set_feather(atof(value.c_str())); - else - set_feather(0); + if(settings.get_value("circle.feather",value)) + set_feather(atof(value.c_str())); + else + set_feather(0); - if(settings.get_value("circle.number_of_bline_points",value)) - set_number_of_bline_points(atof(value.c_str())); - else - set_number_of_bline_points(4); + if(settings.get_value("circle.number_of_bline_points",value)) + set_number_of_bline_points(atof(value.c_str())); + else + set_number_of_bline_points(4); - if(settings.get_value("circle.bline_point_angle_offset",value)) - set_bline_point_angle_offset(atof(value.c_str())); - else - set_bline_point_angle_offset(0); + if(settings.get_value("circle.bline_point_angle_offset",value)) + set_bline_point_angle_offset(atof(value.c_str())); + else + set_bline_point_angle_offset(0); - if(settings.get_value("circle.invert",value) && value != "0") - set_invert(true); - else - set_invert(false); + if(settings.get_value("circle.invert",value) && value != "0") + set_invert(true); + else + set_invert(false); - if(settings.get_value("circle.layer_circle",value) && value=="0") - set_layer_circle_flag(false); - else - set_layer_circle_flag(true); + if(settings.get_value("circle.layer_circle",value) && value=="0") + set_layer_circle_flag(false); + else + set_layer_circle_flag(true); - if(settings.get_value("circle.layer_region",value) && value=="1") - set_layer_region_flag(true); - else - set_layer_region_flag(false); + if(settings.get_value("circle.layer_region",value) && value=="1") + set_layer_region_flag(true); + else + set_layer_region_flag(false); - if(settings.get_value("circle.layer_outline",value) && value=="1") - set_layer_outline_flag(true); - else - set_layer_outline_flag(false); + if(settings.get_value("circle.layer_outline",value) && value=="1") + set_layer_outline_flag(true); + else + set_layer_outline_flag(false); - if(settings.get_value("circle.layer_curve_gradient",value) && value=="1") - set_layer_curve_gradient_flag(true); - else - set_layer_curve_gradient_flag(false); + if(settings.get_value("circle.layer_curve_gradient",value) && value=="1") + set_layer_curve_gradient_flag(true); + else + set_layer_curve_gradient_flag(false); - if(settings.get_value("circle.layer_plant",value) && value=="1") - set_layer_plant_flag(true); - else - set_layer_plant_flag(false); + if(settings.get_value("circle.layer_plant",value) && value=="1") + set_layer_plant_flag(true); + else + set_layer_plant_flag(false); - if(settings.get_value("circle.layer_link_origins",value) && value=="0") - set_layer_link_origins_flag(false); - else - set_layer_link_origins_flag(true); + if(settings.get_value("circle.layer_link_origins",value) && value=="0") + set_layer_link_origins_flag(false); + else + set_layer_link_origins_flag(true); - if(settings.get_value("circle.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("circle.layer_origins_at_center",value) && value=="0") + set_layer_origins_at_center_flag(false); + else + set_layer_origins_at_center_flag(true); + SETTINGS_LOCALE_RESTORE + } + catch(...) + { + synfig::warning("State Circle: Caught exception when attempting to load settings."); + } } void StateCircle_Context::save_settings() { - settings.set_value("circle.id",get_id()); - settings.set_value("circle.fallofftype",strprintf("%d",get_falloff())); -#ifdef BLEND_METHOD_IN_TOOL_OPTIONS - settings.set_value("circle.blend",strprintf("%d",get_blend())); -#endif // BLEND_METHOD_IN_TOOL_OPTIONS - settings.set_value("circle.feather",strprintf("%f",(float)get_feather())); - settings.set_value("circle.number_of_bline_points",strprintf("%d",(int)(get_number_of_bline_points() + 0.5))); - settings.set_value("circle.bline_point_angle_offset",strprintf("%f",(float)get_bline_point_angle_offset())); - settings.set_value("circle.invert",get_invert()?"1":"0"); - settings.set_value("circle.layer_circle",get_layer_circle_flag()?"1":"0"); - settings.set_value("circle.layer_outline",get_layer_outline_flag()?"1":"0"); - settings.set_value("circle.layer_region",get_layer_region_flag()?"1":"0"); - settings.set_value("circle.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); - settings.set_value("circle.layer_plant",get_layer_plant_flag()?"1":"0"); - settings.set_value("circle.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); - settings.set_value("circle.layer_origins_at_center",get_layer_origins_at_center_flag()?"1":"0"); + try + { + SETTINGS_LOCALE_SAFE_AND_BACKUP + settings.set_value("circle.id",get_id()); + settings.set_value("circle.fallofftype",strprintf("%d",get_falloff())); + #ifdef BLEND_METHOD_IN_TOOL_OPTIONS + settings.set_value("circle.blend",strprintf("%d",get_blend())); + #endif // BLEND_METHOD_IN_TOOL_OPTIONS + settings.set_value("circle.feather",strprintf("%f",(float)get_feather())); + settings.set_value("circle.number_of_bline_points",strprintf("%d",(int)(get_number_of_bline_points() + 0.5))); + settings.set_value("circle.bline_point_angle_offset",strprintf("%f",(float)get_bline_point_angle_offset())); + settings.set_value("circle.invert",get_invert()?"1":"0"); + settings.set_value("circle.layer_circle",get_layer_circle_flag()?"1":"0"); + settings.set_value("circle.layer_outline",get_layer_outline_flag()?"1":"0"); + settings.set_value("circle.layer_region",get_layer_region_flag()?"1":"0"); + settings.set_value("circle.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); + settings.set_value("circle.layer_plant",get_layer_plant_flag()?"1":"0"); + settings.set_value("circle.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); + settings.set_value("circle.layer_origins_at_center",get_layer_origins_at_center_flag()?"1":"0"); + SETTINGS_LOCALE_RESTORE + } + catch(...) + { + synfig::warning("State Circle: Caught exception when attempting to save settings."); + } } void