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
56 return dynamic_cast<Menu*>(qApp->getWindow()->menuBar());56 return dynamic_cast<Menu*>(qApp->getWindow()->menuBar());
57}57}
58 58
59const char* exclusionGroupKey = "exclusionGroup";
60
59Menu::Menu() {61Menu::Menu() {
60 auto dialogsManager = DependencyManager::get<DialogsManager>();62 auto dialogsManager = DependencyManager::get<DialogsManager>();
61 auto accountManager = DependencyManager::get<AccountManager>();63 auto accountManager = DependencyManager::get<AccountManager>();
@@ -222,32 +224,42 @@ Menu::Menu() { · 160 unmodified lines
222 cameraModeGroup->setExclusive(true);224 cameraModeGroup->setExclusive(true);
223 225
224 // View > First Person226 // View > First Person
225 cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(227 auto firstPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
226 viewMenu, MenuOption::FirstPerson, Qt::CTRL | Qt::Key_F,228 viewMenu, MenuOption::FirstPerson, Qt::CTRL | Qt::Key_F,
227 true, qApp, SLOT(cameraMenuChanged())));229 true, qApp, SLOT(cameraMenuChanged())));
228 230
231 firstPersonAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
232
229 // View > Third Person233 // View > Third Person
230 cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(234 auto thirdPersonAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
231 viewMenu, MenuOption::ThirdPerson, Qt::CTRL | Qt::Key_G,235 viewMenu, MenuOption::ThirdPerson, Qt::CTRL | Qt::Key_G,
232 false, qApp, SLOT(cameraMenuChanged())));236 false, qApp, SLOT(cameraMenuChanged())));
233 237
238 thirdPersonAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
239
234 // View > Mirror240 // View > Mirror
235 cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(241 auto viewMirrorAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(
236 viewMenu, MenuOption::FullscreenMirror, Qt::CTRL | Qt::Key_H,242 viewMenu, MenuOption::FullscreenMirror, Qt::CTRL | Qt::Key_H,
237 false, qApp, SLOT(cameraMenuChanged())));243 false, qApp, SLOT(cameraMenuChanged())));
238 244
245 viewMirrorAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
246
239 // View > Independent [advanced]247 // View > Independent [advanced]
240 cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,248 auto viewIndependentAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
241 MenuOption::IndependentMode, 0,249 MenuOption::IndependentMode, 0,
242 false, qApp, SLOT(cameraMenuChanged()),250 false, qApp, SLOT(cameraMenuChanged()),
243 UNSPECIFIED_POSITION, "Advanced"));251 UNSPECIFIED_POSITION, "Advanced"));
244 252
253 viewIndependentAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
254
245 // View > Entity Camera [advanced]255 // View > Entity Camera [advanced]
246 cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,256 auto viewEntityCameraAction = cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
247 MenuOption::CameraEntityMode, 0,257 MenuOption::CameraEntityMode, 0,
248 false, qApp, SLOT(cameraMenuChanged()),258 false, qApp, SLOT(cameraMenuChanged()),
249 UNSPECIFIED_POSITION, "Advanced"));259 UNSPECIFIED_POSITION, "Advanced"));
250 260
261 viewEntityCameraAction->setProperty(exclusionGroupKey, QVariant::fromValue(cameraModeGroup));
262
251 viewMenu->addSeparator();263 viewMenu->addSeparator();
252 264
253 // View > Center Player In View265 // View > Center Player In View