diff options
| author | Felipe Corr??a da Silva Sanches <juca@members.fsf.org> | 2011-06-22 21:40:59 +0000 |
|---|---|---|
| committer | Felipe C. da S. Sanches <juca@members.fsf.org> | 2011-06-22 21:40:59 +0000 |
| commit | 1f189ac0c28ee85408431815dceefd0607b6465b (patch) | |
| tree | 51ba4c4bff3e6a29652668325ee3bfb5d89d0a20 /src/sp-guide.cpp | |
| parent | Translation. PO template and French translation update. (diff) | |
| download | inkscape-1f189ac0c28ee85408431815dceefd0607b6465b.tar.gz inkscape-1f189ac0c28ee85408431815dceefd0607b6465b.zip | |
Adding a "Remove All Guides" option to the Edit menu.
(bzr r10343)
Diffstat (limited to 'src/sp-guide.cpp')
| -rw-r--r-- | src/sp-guide.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp index aa365eb99..f71bc1762 100644 --- a/src/sp-guide.cpp +++ b/src/sp-guide.cpp @@ -163,6 +163,9 @@ static void sp_guide_build(SPObject *object, SPDocument *document, Inkscape::XML object->readAttr( "inkscape:label" ); object->readAttr( "orientation" ); object->readAttr( "position" ); + + /* Register */ + document->addResource("guide", object); } static void sp_guide_release(SPObject *object) @@ -174,6 +177,11 @@ static void sp_guide_release(SPObject *object) guide->views = g_slist_remove(guide->views, guide->views->data); } + if (object->document) { + // Unregister ourselves + object->document->removeResource("guide", object); + } + if (((SPObjectClass *) parent_class)->release) { ((SPObjectClass *) parent_class)->release(object); } @@ -299,6 +307,18 @@ sp_guide_create_guides_around_page(SPDesktop *dt) { DocumentUndo::done(doc, SP_VERB_NONE, _("Create Guides Around the Page")); } +void +sp_guide_delete_all_guides(SPDesktop *dt) { + SPDocument *doc=sp_desktop_document(dt); + const GSList *current; + while ( (current = doc->getResourceList("guide")) ) { + SPGuide* guide = SP_GUIDE(current->data); + sp_guide_remove(guide); + } + + DocumentUndo::done(doc, SP_VERB_NONE, _("Delete All Guides")); +} + void SPGuide::showSPGuide(SPCanvasGroup *group, GCallback handler) { SPCanvasItem *item = sp_guideline_new(group, label, point_on_line, normal_to_line); |
