Use a lock symbol to indicate when an inset is being edited externally.

Good idea from Scott.
This commit is contained in:
Richard Kimberly Heck 2020-12-05 21:16:17 -05:00
parent ad887798c9
commit 877a46f7b0
3 changed files with 11 additions and 9 deletions

View File

@ -648,11 +648,11 @@ bool InsetCollapsible::getStatus(Cursor & cur, FuncRequest const & cmd,
return true; return true;
case LFUN_INSET_EDIT: case LFUN_INSET_EDIT:
flag.setEnabled(getLayout().editExternally() && tempfile_ == 0); flag.setEnabled(getLayout().editExternally() && tempfile_ == nullptr);
return true; return true;
case LFUN_INSET_END_EDIT: case LFUN_INSET_END_EDIT:
flag.setEnabled(getLayout().editExternally() && tempfile_ != 0); flag.setEnabled(getLayout().editExternally() && tempfile_ != nullptr);
return true; return true;
default: default:
@ -681,11 +681,13 @@ docstring const InsetCollapsible::buttonLabel(BufferView const & bv) const
// ✎ U+270E LOWER RIGHT PENCIL // ✎ U+270E LOWER RIGHT PENCIL
docstring const indicator = (isChanged() && geometry(bv) == ButtonOnly) docstring const indicator = (isChanged() && geometry(bv) == ButtonOnly)
? docstring(1, 0x270E) : docstring(); ? docstring(1, 0x270E) : docstring();
// U+1F512 LOCK
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
InsetLayout const & il = getLayout(); InsetLayout const & il = getLayout();
docstring const label = getLabel(); docstring const label = getLabel();
if (!il.contentaslabel() || geometry(bv) != ButtonOnly) if (!il.contentaslabel() || geometry(bv) != ButtonOnly)
return indicator + label; return indicator + label;
return indicator + getNewLabel(label); return locked + indicator + getNewLabel(label);
} }

View File

@ -168,10 +168,10 @@ bool InsetERT::getStatus(Cursor & cur, FuncRequest const & cmd,
docstring const InsetERT::buttonLabel(BufferView const & bv) const docstring const InsetERT::buttonLabel(BufferView const & bv) const
{ {
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
if (decoration() == InsetLayout::CLASSIC) if (decoration() == InsetLayout::CLASSIC)
return isOpen(bv) ? _("ERT") : getNewLabel(_("ERT")); return locked + (isOpen(bv) ? _("ERT") : getNewLabel(_("ERT")));
else return locked + getNewLabel(_("ERT"));
return getNewLabel(_("ERT"));
} }

View File

@ -606,10 +606,10 @@ bool InsetListings::getStatus(Cursor & cur, FuncRequest const & cmd,
docstring const InsetListings::buttonLabel(BufferView const & bv) const docstring const InsetListings::buttonLabel(BufferView const & bv) const
{ {
// FIXME UNICODE // FIXME UNICODE
docstring const locked = tempfile_ ? docstring(1, 0x1F512) : docstring();
if (decoration() == InsetLayout::CLASSIC) if (decoration() == InsetLayout::CLASSIC)
return isOpen(bv) ? _("Listing") : getNewLabel(_("Listing")); return locked + (isOpen(bv) ? _("Listing") : getNewLabel(_("Listing")));
else return locked + getNewLabel(_("Listing"));
return getNewLabel(_("Listing"));
} }