summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/verbs.cpp17
-rw-r--r--src/verbs.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp
index 9b750e123..d7e5f6841 100644
--- a/src/verbs.cpp
+++ b/src/verbs.cpp
@@ -1320,6 +1320,19 @@ void LayerVerb::perform(SPAction *action, void *data)
}
break;
}
+ case SP_VERB_LAYER_TOGGLE_LOCK:
+ case SP_VERB_LAYER_TOGGLE_HIDE: {
+ if ( dt->currentLayer() == dt->currentRoot() ) {
+ dt->messageStack()->flash(Inkscape::ERROR_MESSAGE, _("No current layer."));
+ } else {
+ if ( verb == SP_VERB_LAYER_TOGGLE_HIDE ){
+ SP_ITEM(dt->currentLayer())->setHidden(!SP_ITEM(dt->currentLayer())->isHidden());
+ } else {
+ SP_ITEM(dt->currentLayer())->setLocked(!SP_ITEM(dt->currentLayer())->isLocked());
+ }
+
+ }
+ }
}
return;
@@ -2403,6 +2416,10 @@ Verb *Verb::_base_verbs[] = {
N_("Delete the current layer"), INKSCAPE_ICON("layer-delete")),
new LayerVerb(SP_VERB_LAYER_SOLO, "LayerSolo", N_("_Show/hide other layers"),
N_("Solo the current layer"), NULL),
+ new LayerVerb(SP_VERB_LAYER_TOGGLE_LOCK, "LayerToggleLock", N_("_Lock/Unlock Current Layer"),
+ N_("Toggle lock on current layer"), NULL),
+ new LayerVerb(SP_VERB_LAYER_TOGGLE_HIDE, "LayerToggleHide", N_("_Show/hide Current Layer"),
+ N_("Toggle visibility of current layer"), NULL),
// Object
new ObjectVerb(SP_VERB_OBJECT_ROTATE_90_CW, "ObjectRotate90", N_("Rotate _90° CW"),
diff --git a/src/verbs.h b/src/verbs.h
index 2c3d1d1da..979a578d5 100644
--- a/src/verbs.h
+++ b/src/verbs.h
@@ -141,6 +141,8 @@ enum {
SP_VERB_LAYER_DUPLICATE,
SP_VERB_LAYER_DELETE,
SP_VERB_LAYER_SOLO,
+ SP_VERB_LAYER_TOGGLE_LOCK,
+ SP_VERB_LAYER_TOGGLE_HIDE,
/* Object */
SP_VERB_OBJECT_ROTATE_90_CW,
SP_VERB_OBJECT_ROTATE_90_CCW,