Added ability to check if menu has no items.
This commit is contained in:
parent
ec988db6c7
commit
11a2b0f88d
6 changed files with 16 additions and 0 deletions
|
|
@ -72,6 +72,10 @@ const std::vector<not_null<QAction*>> &DropdownMenu::actions() const {
|
||||||
return _menu->actions();
|
return _menu->actions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DropdownMenu::empty() const {
|
||||||
|
return _menu->empty();
|
||||||
|
}
|
||||||
|
|
||||||
void DropdownMenu::handleActivated(const Menu::CallbackData &data) {
|
void DropdownMenu::handleActivated(const Menu::CallbackData &data) {
|
||||||
if (data.source == TriggeredSource::Mouse) {
|
if (data.source == TriggeredSource::Mouse) {
|
||||||
if (!popupSubmenuFromAction(data)) {
|
if (!popupSubmenuFromAction(data)) {
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<not_null<QAction*>> &actions() const;
|
const std::vector<not_null<QAction*>> &actions() const;
|
||||||
|
bool empty() const;
|
||||||
|
|
||||||
~DropdownMenu();
|
~DropdownMenu();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -159,6 +159,10 @@ void Menu::clearActions() {
|
||||||
void Menu::finishAnimating() {
|
void Menu::finishAnimating() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Menu::empty() const {
|
||||||
|
return _actionWidgets.empty();
|
||||||
|
}
|
||||||
|
|
||||||
void Menu::setShowSource(TriggeredSource source) {
|
void Menu::setShowSource(TriggeredSource source) {
|
||||||
_mouseSelection = (source == TriggeredSource::Mouse);
|
_mouseSelection = (source == TriggeredSource::Mouse);
|
||||||
setSelected((source == TriggeredSource::Mouse || _actions.empty()) ? -1 : 0);
|
setSelected((source == TriggeredSource::Mouse || _actions.empty()) ? -1 : 0);
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ public:
|
||||||
void clearActions();
|
void clearActions();
|
||||||
void finishAnimating();
|
void finishAnimating();
|
||||||
|
|
||||||
|
bool empty() const;
|
||||||
|
|
||||||
void clearSelection();
|
void clearSelection();
|
||||||
|
|
||||||
void setChildShown(bool shown) {
|
void setChildShown(bool shown) {
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,10 @@ const std::vector<not_null<QAction*>> &PopupMenu::actions() const {
|
||||||
return _menu->actions();
|
return _menu->actions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool PopupMenu::empty() const {
|
||||||
|
return _menu->empty();
|
||||||
|
}
|
||||||
|
|
||||||
void PopupMenu::paintEvent(QPaintEvent *e) {
|
void PopupMenu::paintEvent(QPaintEvent *e) {
|
||||||
QPainter p(this);
|
QPainter p(this);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ public:
|
||||||
void clearActions();
|
void clearActions();
|
||||||
|
|
||||||
const std::vector<not_null<QAction*>> &actions() const;
|
const std::vector<not_null<QAction*>> &actions() const;
|
||||||
|
bool empty() const;
|
||||||
|
|
||||||
void deleteOnHide(bool del);
|
void deleteOnHide(bool del);
|
||||||
void popup(const QPoint &p);
|
void popup(const QPoint &p);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue