X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetCollapsable.cpp;h=6c880cd514c53c4eeff51d38c114d34a2640516b;hb=3588f2f69675df8dbf829800b0ed6e4a455c68b4;hp=4fb0b2cc8ca20165c0be29389583d123491e5ef9;hpb=4439f6144f53f2d9beaa2ceffda861838fd39e86;p=lyx.git diff --git a/src/insets/InsetCollapsable.cpp b/src/insets/InsetCollapsable.cpp index 4fb0b2cc8c..6c880cd514 100644 --- a/src/insets/InsetCollapsable.cpp +++ b/src/insets/InsetCollapsable.cpp @@ -583,9 +583,9 @@ void InsetCollapsable::setLabel(docstring const & l) docstring const InsetCollapsable::buttonLabel(BufferView const & bv) const { - docstring const label = labelstring_.empty() ? - translateIfPossible(getLayout().labelstring()) : labelstring_; InsetLayout const & il = getLayout(); + docstring const label = labelstring_.empty() ? + translateIfPossible(il.labelstring()) : labelstring_; if (!il.contentaslabel() || geometry(bv) != ButtonOnly) return label; return getNewLabel(label); @@ -618,20 +618,35 @@ InsetLayout::InsetDecoration InsetCollapsable::decoration() const } -docstring InsetCollapsable::contextMenu(BufferView const & bv, int x, +string InsetCollapsable::contextMenu(BufferView const & bv, int x, int y) const { + string context_menu = contextMenuName(); + string const it_context_menu = InsetText::contextMenuName(); if (decoration() == InsetLayout::CONGLOMERATE) - return from_ascii("context-conglomerate"); + return context_menu + ";" + it_context_menu; + + string const ic_context_menu = InsetCollapsable::contextMenuName(); + if (ic_context_menu != context_menu) + context_menu += ";" + ic_context_menu; if (geometry(bv) == NoButton) - return from_ascii("context-collapsable"); + return context_menu + ";" + it_context_menu; Dimension dim = dimensionCollapsed(bv); if (x < xo(bv) + dim.wid && y < yo(bv) + dim.des) - return from_ascii("context-collapsable"); + return context_menu; + + return it_context_menu; +} + - return InsetText::contextMenu(bv, x, y); +string InsetCollapsable::contextMenuName() const +{ + if (decoration() == InsetLayout::CONGLOMERATE) + return "context-conglomerate"; + else + return "context-collapsable"; } } // namespace lyx