docstring InsetCollapsable::toolTip(BufferView const & bv, int x, int y) const
{
- Dimension dim = dimensionCollapsed(bv);
+ Dimension const dim = dimensionCollapsed(bv);
if (geometry(bv) == NoButton)
return translateIfPossible(getLayout().labelstring());
if (x > xo(bv) + dim.wid || y > yo(bv) + dim.des || isOpen(bv))
else if (cmd.argument() == "close")
setStatus(cur, Collapsed);
else if (cmd.argument() == "toggle" || cmd.argument().empty())
- if (status_ == Open) {
+ if (status_ == Open)
setStatus(cur, Collapsed);
- if (geometry(cur.bv()) == ButtonOnly)
- cur.top().forwardPos();
- } else
+ else
setStatus(cur, Open);
else // if assign or anything else
cur.undispatched();
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);
docstring InsetCollapsable::contextMenu(BufferView const & bv, int x,
int y) const
{
+ docstring context_menu = contextMenuName();
+ docstring const it_context_menu = InsetText::contextMenuName();
if (decoration() == InsetLayout::CONGLOMERATE)
- return from_ascii("context-conglomerate");
+ return context_menu + ";" + it_context_menu;
+
+ docstring 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 InsetText::contextMenu(bv, x, y);
+ return it_context_menu;
+}
+
+
+docstring InsetCollapsable::contextMenuName() const
+{
+ if (decoration() == InsetLayout::CONGLOMERATE)
+ return from_ascii("context-conglomerate");
+ else
+ return from_ascii("context-collapsable");
}
} // namespace lyx