summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2017-04-27 13:49:12 +0000
committerjabiertxof <info@marker.es>2017-04-27 13:49:12 +0000
commit7139c8a3275224df37c3e59628355f6b3e3398b4 (patch)
tree7de9c789f6fb2265fff298742ce0638e28a43e83 /src
parentAdd end of preferences GUI (diff)
downloadinkscape-7139c8a3275224df37c3e59628355f6b3e3398b4.tar.gz
inkscape-7139c8a3275224df37c3e59628355f6b3e3398b4.zip
Fixing remove prefs
(bzr r15620.1.7)
Diffstat (limited to 'src')
-rw-r--r--src/preferences-skeleton.h310
-rw-r--r--src/preferences.cpp29
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp2
3 files changed, 31 insertions, 310 deletions
diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h
index 44775988c..ed00092b2 100644
--- a/src/preferences-skeleton.h
+++ b/src/preferences-skeleton.h
@@ -72,316 +72,6 @@ static char const preferences_skeleton[] =
" inkscape:window-width=\"640\"\n"
" inkscape:window-height=\"480\" />\n"
" </group>\n"
-" <group id=\"live_effects\">\n"
-" <sodipodi:namedview\n"
-" id=\"measure_line\"\n"
-" unit=\"px\"\n"
-" fontbutton=\"Sans 10\"\n"
-" orientation=\"OM_PARALLEL\"\n"
-" precision=\"2\"\n"
-" position=\"5\"\n"
-" text_top_bottom=\"0\"\n"
-" text_right_left=\"0\"\n"
-" helpline_distance=\"0\"\n"
-" helpline_overlap=\"2.0\"\n"
-" scale=\"1.0\"\n"
-" format=\"{measure}{unit}\"\n"
-" arrows_outside=\"false\"\n"
-" flip_side=\"false\"\n"
-" scale_sensitive=\"true\"\n"
-" local_locale=\"true\"\n"
-" line_group_05=\"true\"\n"
-" rotate_anotation=\"true\"\n"
-" hide_back=\"true\"\n"
-" dimline_format=\"\"\n"
-" helperlines_format=\"\"\n"
-" anotation_format=\"\"\n"
-" arrows_format=\"\" />\n"
-" <sodipodi:namedview\n"
-" id=\"bend_path\"\n"
-" prop_scale=\"1.0\"\n"
-" scale_y_rel=\"false\"\n"
-" vertical_pattern=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"bounding_box\"\n"
-" visual_bounds=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"bspline\"\n"
-" steps=\"2\"\n"
-" helper_size=\"0\"\n"
-" apply_no_weight=\"true\"\n"
-" apply_with_weight=\"true\"\n"
-" only_selected=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"clone_original\"\n"
-" scale=\"100.0\"\n"
-" attributes=\"\"\n"
-" style_attributes=\"\"\n"
-" preserve_position=\"false\"\n"
-" inverse=\"false\"\n"
-" d=\"true\"\n"
-" transform=\"true\"\n"
-" fill=\"false\"\n"
-" stroke=\"false\"\n"
-" paintorder=\"false\"\n"
-" opacity=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"construct_grid\"\n"
-" nr_x=\"5\"\n"
-" nr_y=\"5\" />\n"
-" <sodipodi:namedview\n"
-" id=\"copy_rotate\"\n"
-" copies_to_360=\"true\"\n"
-" fuse_paths=\"false\"\n"
-" join_paths=\"false\"\n"
-" split_items=\"false\"\n"
-" starting_angle=\"0.0\"\n"
-" rotation_angle=\"60.0\"\n"
-" num_copies=\"6\"\n"
-" split_gap=\"-0.001\" />\n"
-" <sodipodi:namedview\n"
-" id=\"curvestitching\"\n"
-" nrofpaths=\"5\"\n"
-" startpoint_edge_variation=\"0\"\n"
-" startpoint_spacing_variation=\"0\"\n"
-" endpoint_edge_variation=\"0\"\n"
-" endpoint_spacing_variation=\"0.0\"\n"
-" prop_scale=\"1\"\n"
-" scale_y_rel=\"0\" />\n"
-" <sodipodi:namedview\n"
-" id=\"envelope\"\n"
-" yy=\"true\"\n"
-" xx=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"fill_between_many\"\n"
-" fuse=\"false\"\n"
-" allow_transforms=\"false\"\n"
-" join=\"true\"\n"
-" close=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"fill_between_strokes\"\n"
-" reverse_second=\"false\"\n"
-" fuse=\"false\"\n"
-" allow_transforms=\"false\"\n"
-" join=\"true\"\n"
-" close=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"fillet_chamfer\"\n"
-" method=\"FM_AUTO\"\n"
-" radius=\"0.0\"\n"
-" chamfer_steps=\"0\"\n"
-" helper_size=\"0\"\n"
-" flexible=\"false\"\n"
-" use_knot_distance=\"false\"\n"
-" ignore_radius_0=\"false\"\n"
-" only_selected=\"false\"\n"
-" hide_knots=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"gears\"\n"
-" teeth=\"10\"\n"
-" phi=\"5\"\n"
-" min_radius=\"5.0\" />\n"
-" <sodipodi:namedview\n"
-" id=\"interpolate\"\n"
-" equidistant_spacing=\"true\"\n"
-" number_of_steps=\"5\" />\n"
-" <sodipodi:namedview\n"
-" id=\"join_type\"\n"
-" linecap_type=\"butt_straight\"\n"
-" linejoin_type=\"JOIN_EXTRAPOLATE\"\n"
-" miter_limit=\"100.\"\n"
-" attempt_force_join=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"knot\"\n"
-" interruption_width=\"3.0\"\n"
-" prop_to_stroke_width=\"true\"\n"
-" add_stroke_width=\"true\"\n"
-" add_other_stroke_width=\"true\"\n"
-" switcher_size=\"15\" />\n"
-" <sodipodi:namedview\n"
-" id=\"lattice2\"\n"
-" horizontal_mirror=\"false\"\n"
-" vertical_mirror=\"false\"\n"
-" live_update=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"line_segment\"\n"
-" end_type=\"END_OPEN_BOTH\" />\n"
-" <sodipodi:namedview\n"
-" id=\"mirror_symmetry\"\n"
-" mode=\"MT_FREE\"\n"
-" split_gap=\"-0.001\"\n"
-" discard_orig_path=\"false\"\n"
-" fuse_paths=\"false\"\n"
-" oposite_fuse=\"false\"\n"
-" split_items=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"parallel\"\n"
-" length_left=\"150\"\n"
-" length_right=\"150\" />\n"
-" <sodipodi:namedview\n"
-" id=\"path_length\"\n"
-" scale=\"1.0\"\n"
-" info_text=\"\"\n"
-" unit=\"\"\n"
-" display_unit=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"skeletal\"\n"
-" copytype=\"PAPCT_SINGLE_STRETCHED\"\n"
-" prop_scale=\"1.0\"\n"
-" scale_y_rel=\"false\"\n"
-" spacing=\"0\"\n"
-" normal_offset=\"0\"\n"
-" tang_offset=\"0\"\n"
-" prop_units=\"false\"\n"
-" vertical_pattern=\"false\" \n"
-" fuse_tolerance=\"0\" />\n"
-" <sodipodi:namedview\n"
-" id=\"perp_bisector\"\n"
-" length_left=\"200\"\n"
-" length_right=\"200\" />\n"
-" <sodipodi:namedview\n"
-" id=\"perspective-envelope\"\n"
-" deform_type=\"DEFORMATION_PERSPECTIVE\"\n"
-" horizontal_mirror=\"false\"\n"
-" vertical_mirror=\"false\"\n"
-" overflow_perspective=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"perspective_path\"\n"
-" scalex=\"1.0\"\n"
-" scaley=\"1.0\"\n"
-" offsetx=\"0.0\"\n"
-" offsety=\"0.0\"\n"
-" uses_plane_xy=\"true\" />\n"
-" <sodipodi:namedview\n"
-" id=\"powerstroke\"\n"
-" sort_points=\"true\"\n"
-" interpolator_type=\"Geom::Interpolate::INTERP_CUBICBEZIER\"\n"
-" interpolator_beta=\"0.2\"\n"
-" start_linecap_type=\"LINECAP_BUTT\"\n"
-" linejoin_type=\"LINEJOIN_EXTRP_MITER_ARC\"\n"
-" miter_limit=\"4.0\"\n"
-" end_linecap_type=\"LINECAP_BUTT\" />\n"
-" <sodipodi:namedview\n"
-" id=\"recursive_skeleton\"\n"
-" iterations=\"2\" />\n"
-" <sodipodi:namedview\n"
-" id=\"roughen\"\n"
-" method=\"DM_SEGMENTS\"\n"
-" max_segment_size=\"10\"\n"
-" segments=\"2\"\n"
-" displace_x=\"10.0\"\n"
-" displace_y=\"10.0\"\n"
-" global_randomize=\"1.0\"\n"
-" handles=\"HM_ALONG_NODES\"\n"
-" shift_nodes=\"true\" \n"
-" fixed_displacement=\"false\"\n"
-" spray_tool_friendly=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"rough_hatches\"\n"
-" direction=\"Geom::Point(50,0)\"\n"
-" dist_rdm=\"75\"\n"
-" growth=\"1.0\"\n"
-" do_bend=\"true\"\n"
-" bender=\"Geom::Point(-5,0)\"\n"
-" top_edge_variation=\"0\"\n"
-" bot_edge_variation=\"0\"\n"
-" top_tgt_variation=\"0\"\n"
-" bot_tgt_variation=\"0\"\n"
-" scale_tf=\"1.0\"\n"
-" scale_tb=\"1.0\"\n"
-" scale_bf=\"1.0\"\n"
-" scale_bb=\"1.0\"\n"
-" top_smth_variation=\"0\"\n"
-" bot_smth_variation=\"0\"\n"
-" fat_output=\"true\"\n"
-" stroke_width_top=\"1.0\"\n"
-" stroke_width_bot=\"1.0\"\n"
-" front_thickness=\"1.0\"\n"
-" back_thickness=\"0.25\" />\n"
-" <sodipodi:namedview\n"
-" id=\"ruler\"\n"
-" unit=\"\"\n"
-" mark_distance=\"20.0\"\n"
-" mark_length=\"14\"\n"
-" minor_mark_length=\"7.0\"\n"
-" major_mark_steps=\"5\"\n"
-" shift=\"0\"\n"
-" offset=\"0.0\"\n"
-" mark_dir=\"MARKDIR_LEFT\" \n"
-" border_marks=\"BORDERMARK_BOTH\" />\n"
-" <sodipodi:namedview\n"
-" id=\"show_handles\"\n"
-" nodes=\"true\"\n"
-" handles=\"true\"\n"
-" original_path=\"true\"\n"
-" show_center_node=\"false\"\n"
-" scale_nodes_and_handles=\"10\" />\n"
-" <sodipodi:namedview\n"
-" id=\"simplify\"\n"
-" steps=\"1\"\n"
-" threshold=\"0.002\"\n"
-" smooth_angles=\"0.0\"\n"
-" helper_size=\"5\"\n"
-" simplify_individual_paths=\"false\"\n"
-" simplify_just_coalesce=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"sketch\"\n"
-" nbiter_approxstrokes=\"5\"\n"
-" strokelength=\"100\"\n"
-" strokelength_rdm=\"0.3\"\n"
-" strokeoverlap=\"0.3\"\n"
-" strokeoverlap_rdm=\"0.3\"\n"
-" ends_tolerance=\"0.1\"\n"
-" parallel_offset=\"5.0\"\n"
-" tremble_size=\"5.0\"\n"
-" tremble_frequency=\"1.0\"\n"
-" nbtangents=\"5\"\n"
-" tgt_places_rdmness=\"1.0\"\n"
-" tgtscale=\"10.0\"\n"
-" tgtlength=\"100.0\"\n"
-" tgtlength_rdm=\"0.3\"\n"
-" min_curvature=\"4.0\"\n"
-" max_curvature=\"1000.0\" />\n"
-" <sodipodi:namedview\n"
-" id=\"tangent_to_curve\"\n"
-" angle=\"0.0\"\n"
-" t_attach=\"0.5\"\n"
-" length_left=\"150\"\n"
-" length_right=\"150\" />\n"
-" <sodipodi:namedview\n"
-" id=\"taper_stroke\"\n"
-" attach_start=\"0.2\"\n"
-" attach_end=\"0.2\"\n"
-" smoothing=\"0.5\"\n"
-" join_type=\"JOIN_EXTRAPOLATE\"\n"
-" miter_limit=\"100.0\" />\n"
-" <sodipodi:namedview\n"
-" id=\"doeffectstacktest\"\n"
-" step=\"\"\n"
-" point=\"\" />\n"
-" <sodipodi:namedview\n"
-" id=\"transform_2pts\"\n"
-" first_knot=\"1\"\n"
-" last_knot=\"1\"\n"
-" helper_size=\"3\"\n"
-" stretch=\"1.0\"\n"
-" offset=\"0.0\"\n"
-" elastic=\"false\"\n"
-" from_original_width=\"false\"\n"
-" flip_vertical=\"false\"\n"
-" flip_horizontal=\"false\"\n"
-" lock_lenght=\"false\"\n"
-" lock_angle=\"false\" />\n"
-" <sodipodi:namedview\n"
-" id=\"vonkoch\"\n"
-" similar_only=\"false\"\n"
-" nb_generations=\"1\"\n"
-" drawall=\"true\"\n"
-" maxComplexity=\"1000\" />\n"
-" <sodipodi:namedview\n"
-" id=\"interpolate_points\"\n"
-" interpolator_type=\"Geom::Interpolate::INTERP_CENTRIPETAL_CATMULLROM\" />\n"
-" </group>\n"
"\n"
" <group id=\"tools\"\n"
" bounding_box=\"0\">\n"
diff --git a/src/preferences.cpp b/src/preferences.cpp
index 4d522a1d8..2849fe068 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -512,6 +512,35 @@ void Preferences::remove(Glib::ustring const &pref_path)
Inkscape::XML::Node *node = _getNode(pref_path, false);
if (node && node->parent()) {
node->parent()->removeChild(node);
+ } else { //Handle to remove also attributes in path not only the container node
+ // verify path
+ g_assert( pref_path.at(0) == '/' );
+ if (_prefs_doc == NULL){
+ return;
+ }
+ node = _prefs_doc->root();
+ Inkscape::XML::Node *child = NULL;
+ gchar **splits = g_strsplit(pref_path.c_str(), "/", 0);
+ if ( splits ) {
+ for (int part_i = 0; splits[part_i]; ++part_i) {
+ // skip empty path segments
+ if (!splits[part_i][0]) {
+ continue;
+ }
+ if (!node->firstChild()) {
+ node->setAttribute(splits[part_i], NULL);
+ g_strfreev(splits);
+ return;
+ }
+ for (child = node->firstChild(); child; child = child->next()) {
+ if (!strcmp(splits[part_i], child->attribute("id"))) {
+ break;
+ }
+ }
+ node = child;
+ }
+ }
+ g_strfreev(splits);
}
}
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 2f83a08e9..6e12104f0 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -907,6 +907,8 @@ InkscapePreferences::defaultLpeUpdater(Glib::ustring pref_path, Inkscape::UI::Wi
} else {
prefs->remove(pref_path);
+ prefs->remove((Glib::ustring)"/live_effects/gdsgddssdggdsgdsgdsgs");
+ prefs->remove((Glib::ustring)"/ddsdsdsgdsg");
}
}