diff --git src/verbs.cpp src/verbs.cpp index 44d0377..8394f45 100644 --- src/verbs.cpp +++ src/verbs.cpp @@ -1301,6 +1301,19 @@ LayerVerb::perform(SPAction *action, void *data, void */*pdata*/) } 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; @@ -2439,6 +2452,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 src/verbs.h src/verbs.h index 8fd289c..f52dc5d 100644 --- src/verbs.h +++ src/verbs.h @@ -133,6 +133,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,