mirror of
https://github.com/lubosz/overte.git
synced 2025-04-23 19:34:02 +02:00
Merge pull request #4663 from ctrlaltdavid/menu-tidying
Move visibility methods into DiscoverabilityManager
This commit is contained in:
commit
464c69dbaf
4 changed files with 37 additions and 36 deletions
|
@ -18,6 +18,7 @@
|
|||
#include <UUID.h>
|
||||
|
||||
#include "DiscoverabilityManager.h"
|
||||
#include "Menu.h"
|
||||
|
||||
const Discoverability::Mode DEFAULT_DISCOVERABILITY_MODE = Discoverability::All;
|
||||
|
||||
|
@ -96,4 +97,32 @@ void DiscoverabilityManager::setDiscoverabilityMode(Discoverability::Mode discov
|
|||
|
||||
emit discoverabilityModeChanged(discoverabilityMode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DiscoverabilityManager::setVisibility() {
|
||||
Menu* menu = Menu::getInstance();
|
||||
|
||||
if (menu->isOptionChecked(MenuOption::VisibleToEveryone)) {
|
||||
this->setDiscoverabilityMode(Discoverability::All);
|
||||
} else if (menu->isOptionChecked(MenuOption::VisibleToFriends)) {
|
||||
this->setDiscoverabilityMode(Discoverability::Friends);
|
||||
} else if (menu->isOptionChecked(MenuOption::VisibleToNoOne)) {
|
||||
this->setDiscoverabilityMode(Discoverability::None);
|
||||
} else {
|
||||
qDebug() << "ERROR DiscoverabilityManager::setVisibility() called with unrecognized value.";
|
||||
}
|
||||
}
|
||||
|
||||
void DiscoverabilityManager::visibilityChanged(Discoverability::Mode discoverabilityMode) {
|
||||
Menu* menu = Menu::getInstance();
|
||||
|
||||
if (discoverabilityMode == Discoverability::All) {
|
||||
menu->setIsOptionChecked(MenuOption::VisibleToEveryone, true);
|
||||
} else if (discoverabilityMode == Discoverability::Friends) {
|
||||
menu->setIsOptionChecked(MenuOption::VisibleToFriends, true);
|
||||
} else if (discoverabilityMode == Discoverability::None) {
|
||||
menu->setIsOptionChecked(MenuOption::VisibleToNoOne, true);
|
||||
} else {
|
||||
qDebug() << "ERROR DiscoverabilityManager::visibilityChanged() called with unrecognized value.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,9 @@ public slots:
|
|||
Discoverability::Mode getDiscoverabilityMode() { return static_cast<Discoverability::Mode>(_mode.get()); }
|
||||
void setDiscoverabilityMode(Discoverability::Mode discoverabilityMode);
|
||||
|
||||
void setVisibility();
|
||||
void visibilityChanged(Discoverability::Mode discoverabilityMode);
|
||||
|
||||
signals:
|
||||
void discoverabilityModeChanged(Discoverability::Mode discoverabilityMode);
|
||||
|
||||
|
|
|
@ -163,21 +163,21 @@ Menu::Menu() {
|
|||
|
||||
QAction* visibleToEveryone = addCheckableActionToQMenuAndActionHash(visibilityMenu, MenuOption::VisibleToEveryone,
|
||||
0, discoverabilityManager->getDiscoverabilityMode() == Discoverability::All,
|
||||
this, SLOT(setVisibility()));
|
||||
discoverabilityManager.data(), SLOT(setVisibility()));
|
||||
visibilityGroup->addAction(visibleToEveryone);
|
||||
|
||||
QAction* visibleToFriends = addCheckableActionToQMenuAndActionHash(visibilityMenu, MenuOption::VisibleToFriends,
|
||||
0, discoverabilityManager->getDiscoverabilityMode() == Discoverability::Friends,
|
||||
this, SLOT(setVisibility()));
|
||||
discoverabilityManager.data(), SLOT(setVisibility()));
|
||||
visibilityGroup->addAction(visibleToFriends);
|
||||
|
||||
QAction* visibleToNoOne = addCheckableActionToQMenuAndActionHash(visibilityMenu, MenuOption::VisibleToNoOne,
|
||||
0, discoverabilityManager->getDiscoverabilityMode() == Discoverability::None,
|
||||
this, SLOT(setVisibility()));
|
||||
discoverabilityManager.data(), SLOT(setVisibility()));
|
||||
visibilityGroup->addAction(visibleToNoOne);
|
||||
|
||||
connect(discoverabilityManager.data(), &DiscoverabilityManager::discoverabilityModeChanged,
|
||||
this, &Menu::visibilityChanged);
|
||||
discoverabilityManager.data(), &DiscoverabilityManager::visibilityChanged);
|
||||
}
|
||||
|
||||
addActionToQMenuAndActionHash(toolsMenu,
|
||||
|
@ -963,29 +963,3 @@ bool Menu::menuItemExists(const QString& menu, const QString& menuitem) {
|
|||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
void Menu::setVisibility() {
|
||||
auto discoverabilityManager = DependencyManager::get<DiscoverabilityManager>();
|
||||
|
||||
if (Menu::getInstance()->isOptionChecked(MenuOption::VisibleToEveryone)) {
|
||||
discoverabilityManager->setDiscoverabilityMode(Discoverability::All);
|
||||
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VisibleToFriends)) {
|
||||
discoverabilityManager->setDiscoverabilityMode(Discoverability::Friends);
|
||||
} else if (Menu::getInstance()->isOptionChecked(MenuOption::VisibleToNoOne)) {
|
||||
discoverabilityManager->setDiscoverabilityMode(Discoverability::None);
|
||||
} else {
|
||||
qCDebug(interfaceapp) << "ERROR Menu::setVisibility() called with unrecognized value.";
|
||||
}
|
||||
}
|
||||
|
||||
void Menu::visibilityChanged(Discoverability::Mode discoverabilityMode) {
|
||||
if (discoverabilityMode == Discoverability::All) {
|
||||
setIsOptionChecked(MenuOption::VisibleToEveryone, true);
|
||||
} else if (discoverabilityMode == Discoverability::Friends) {
|
||||
setIsOptionChecked(MenuOption::VisibleToFriends, true);
|
||||
} else if (discoverabilityMode == Discoverability::None) {
|
||||
setIsOptionChecked(MenuOption::VisibleToNoOne, true);
|
||||
} else {
|
||||
qCDebug(interfaceapp) << "ERROR Menu::visibilityChanged() called with unrecognized value.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,9 +66,6 @@ public slots:
|
|||
bool isOptionChecked(const QString& menuOption) const;
|
||||
void setIsOptionChecked(const QString& menuOption, bool isChecked);
|
||||
|
||||
private slots:
|
||||
void setVisibility();
|
||||
|
||||
private:
|
||||
static Menu* _instance;
|
||||
Menu();
|
||||
|
@ -99,8 +96,6 @@ private:
|
|||
int findPositionOfMenuItem(QMenu* menu, const QString& searchMenuItem);
|
||||
int positionBeforeSeparatorIfNeeded(QMenu* menu, int requestedPosition);
|
||||
|
||||
void visibilityChanged(Discoverability::Mode discoverabilityMode);
|
||||
|
||||
QHash<QString, QAction*> _actionHash;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue