History

6788: You can deselect your current view mode

beholder committed 9 years ago

Commit cbbe03c1 parent bb49bcd4 files · +120 −15Browse files

Showing the changes to interface/src/Menu.cpp (1 of 4 files). Show all

Unified · Split

interface/src/Menu.cpp+17−5
@@ -56,6 +56,8 @@ Menu* Menu::getInstance() { · 55 unmodified lines
5656 return dynamic_cast<Menu*>(qApp->getWindow()->menuBar());
5757 }
5858
59+const char* exclusionGroupKey = "exclusionGroup";
60+
5961 Menu::Menu() {
6062 auto dialogsManager = DependencyManager::get<DialogsManager>();
6163 auto accountManager = DependencyManager::get<AccountManager>();
@@ -222,32 +224,42 @@ Menu::Menu() { · 160 unmodified lines
222224 cameraModeGroup->setExclusive(true);
223225
224226 // View > First Person
225− cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
227+ auto firstPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
226228 viewMenu, MenuOption::FirstPerson, Qt::CTRL | Qt::Key_F,
227229 true, qApp, SLOT(cameraMenuChanged())));
228230
231+ firstPersonAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
232+
229233 // View > Third Person
230− cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
234+ auto thirdPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
231235 viewMenu, MenuOption::ThirdPerson, Qt::CTRL | Qt::Key_G,
232236 false, qApp, SLOT(cameraMenuChanged())));
233237
238+ thirdPersonAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
239+
234240 // View > Mirror
235− cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
241+ auto viewMirrorAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
236242 viewMenu, MenuOption::FullscreenMirror, Qt::CTRL | Qt::Key_H,
237243 false, qApp, SLOT(cameraMenuChanged())));
238244
245+ viewMirrorAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
246+
239247 // View > Independent [advanced]
240− cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
248+ auto viewIndependentAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
241249 MenuOption::IndependentMode, 0,
242250 false, qApp, SLOT(cameraMenuChanged()),
243251 UNSPECIFIED_POSITION, "Advanced"));
244252
253+ viewIndependentAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
254+
245255 // View > Entity Camera [advanced]
246− cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
256+ auto viewEntityCameraAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
247257 MenuOption::CameraEntityMode, 0,
248258 false, qApp, SLOT(cameraMenuChanged()),
249259 UNSPECIFIED_POSITION, "Advanced"));
250260
261+ viewEntityCameraAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
262+
251263 viewMenu->addSeparator();
252264
253265 // View > Center Player In View