diff --git a/ui/widgets/menu/menu_action.cpp b/ui/widgets/menu/menu_action.cpp index d448cbb..a37bfbe 100644 --- a/ui/widgets/menu/menu_action.cpp +++ b/ui/widgets/menu/menu_action.cpp @@ -83,6 +83,15 @@ bool Action::hasSubmenu() const { return _action->menu() != nullptr; } +void Action::paintText(Painter &p) { + _text.drawLeftElided( + p, + _st.itemPadding.left(), + _st.itemPadding.top(), + _textWidth, + width()); +} + void Action::paint(Painter &p) { const auto enabled = isEnabled(); const auto selected = isSelected(); @@ -97,7 +106,7 @@ void Action::paint(Painter &p) { icon->paint(p, _st.itemIconPosition, width()); } p.setPen(selected ? _st.itemFgOver : (enabled ? _st.itemFg : _st.itemFgDisabled)); - _text.drawLeftElided(p, _st.itemPadding.left(), _st.itemPadding.top(), _textWidth, width()); + paintText(p); if (hasSubmenu()) { const auto left = width() - _st.itemPadding.right() - _st.arrow.width(); const auto top = (_height - _st.arrow.height()) / 2; diff --git a/ui/widgets/menu/menu_action.h b/ui/widgets/menu/menu_action.h index 3149434..f1b852a 100644 --- a/ui/widgets/menu/menu_action.h +++ b/ui/widgets/menu/menu_action.h @@ -38,6 +38,8 @@ protected: int contentHeight() const override; + void paintText(Painter &p); + private: void processAction(); void paint(Painter &p);