summaryrefslogtreecommitdiffstats
path: root/src/sp-guide.cpp
diff options
context:
space:
mode:
authorFelipe Corr??a da Silva Sanches <juca@members.fsf.org>2011-06-22 21:40:59 +0000
committerFelipe C. da S. Sanches <juca@members.fsf.org>2011-06-22 21:40:59 +0000
commit1f189ac0c28ee85408431815dceefd0607b6465b (patch)
tree51ba4c4bff3e6a29652668325ee3bfb5d89d0a20 /src/sp-guide.cpp
parentTranslation. PO template and French translation update. (diff)
downloadinkscape-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.cpp20
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);