diff options
Diffstat (limited to 'src/selection-chemistry.cpp')
| -rw-r--r-- | src/selection-chemistry.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/selection-chemistry.cpp b/src/selection-chemistry.cpp index 4cf34e2c5..381f45e0d 100644 --- a/src/selection-chemistry.cpp +++ b/src/selection-chemistry.cpp @@ -2441,13 +2441,17 @@ void sp_selection_to_marker(bool apply) _("Objects to marker")); } -static void sp_selection_to_guides_recursive(SPItem *item) { +static void sp_selection_to_guides_recursive(SPItem *item, bool deleteitem) { if (SP_IS_GROUP(item) && !SP_IS_BOX3D(item)) { for (GSList *i = sp_item_group_item_list (SP_GROUP(item)); i != NULL; i = i->next) { - sp_selection_to_guides_recursive(SP_ITEM(i->data)); + sp_selection_to_guides_recursive(SP_ITEM(i->data), deleteitem); } } else { sp_item_convert_item_to_guides(item); + + if (deleteitem) { + SP_OBJECT(item)->deleteObject(true); + } } } @@ -2467,8 +2471,10 @@ void sp_selection_to_guides() return; } + bool deleteitem = (prefs_get_int_attribute("tools", "cvg_keep_objects", 0) == 0); + for (GSList const *i = items; i != NULL; i = i->next) { - sp_selection_to_guides_recursive(SP_ITEM(i->data)); + sp_selection_to_guides_recursive(SP_ITEM(i->data), deleteitem); } sp_document_done (doc, SP_VERB_EDIT_SELECTION_2_GUIDES, _("Objects to guides")); |
