[LyX/master] Fix status setting of DynamicMenuButton (#13332)
Juergen Spitzmueller
spitz at lyx.org
Thu Jun 18 14:21:23 UTC 2026
commit 8729529f0cb40f46feee83a04cece1d3c61b02d8
Author: Juergen Spitzmueller <spitz at lyx.org>
Date: Thu Jun 18 16:20:41 2026 +0200
Fix status setting of DynamicMenuButton (#13332)
---
src/frontends/qt/GuiToolbar.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/frontends/qt/GuiToolbar.cpp b/src/frontends/qt/GuiToolbar.cpp
index fddd49f48e..36357e840d 100644
--- a/src/frontends/qt/GuiToolbar.cpp
+++ b/src/frontends/qt/GuiToolbar.cpp
@@ -338,6 +338,8 @@ public:
DocumentClassConstPtr text_class_;
///
InsetText const * inset_;
+ ///
+ list<FuncRequest> func_requests_;
};
@@ -421,7 +423,8 @@ void DynamicMenuButton::updateTriggered()
// were other kinds of menus.
setEnabled(!bv->buffer().isReadonly()
&& !m->isEmpty()
- && inset->insetAllowed(FLEX_CODE));
+ && !d->func_requests_.empty()
+ && lyx::getStatus(d->func_requests_.front()).enabled());
} else if (menutype == "textstyle-apply") {
m->clear();
setPopupMode(QToolButton::MenuButtonPopup);
@@ -497,6 +500,7 @@ void DynamicMenuButton::loadFlexInsets()
{
QMenu * m = menu();
m->clear();
+ d->func_requests_.clear();
string const & menutype = tbitem_.name;
InsetLyXType ftype;
if (menutype == "dynamic-custom-insets")
@@ -523,6 +527,7 @@ void DynamicMenuButton::loadFlexInsets()
Action * act =
new Action(func, getIcon(func, false), loc_item, loc_item, this);
m->addAction(act);
+ d->func_requests_.push_back(func);
}
}
More information about the lyx-cvs
mailing list