Showing the changes to interface/src/Menu.cpp (1 of 6 files). Show all
Unified · Split
| @@ -373,7 +373,23 @@ Menu::Menu() : · 372 unmodified lines | |||
| 373 | shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::SimpleShadows, 0, false)); | 373 | shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::SimpleShadows, 0, false)); |
| 374 | shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::CascadedShadows, 0, false)); | 374 | shadowGroup->addAction(addCheckableActionToQMenuAndActionHash(shadowMenu, MenuOption::CascadedShadows, 0, false)); |
| 375 | 375 | ||
| 376 | addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::RenderUnleashFramerate, 0, false, this, SLOT(toggleUnleashFramerate())); | 376 | { |
| 377 | QMenu* framerateMenu = renderOptionsMenu->addMenu(MenuOption::RenderTargetFramerate); | ||
| 378 | QActionGroup* framerateGroup = new QActionGroup(framerateMenu); | ||
| 379 | |||
| 380 | framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerateUnlimited, 0, true)); | ||
| 381 | framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate60, 0, false)); | ||
| 382 | framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate50, 0, false)); | ||
| 383 | framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate40, 0, false)); | ||
| 384 | framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate30, 0, false)); | ||
| 385 | connect(framerateMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderTargetFramerate(QAction*))); | ||
| 386 | |||
| 387 | #if defined(Q_OS_MAC) | ||
| 388 | #else | ||
| 389 | QAction* vsyncAction = addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::RenderTargetFramerateVSyncOn, 0, true, this, SLOT(changeVSync())); | ||
| 390 | #endif | ||
| 391 | } | ||
| 392 | |||
| 377 | 393 | ||
| 378 | QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution); | 394 | QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution); |
| 379 | QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu); | 395 | QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu); |
| @@ -1237,11 +1253,30 @@ void Menu::muteEnvironment() { · 857 unmodified lines | |||
| 1237 | free(packet); | 1253 | free(packet); |
| 1238 | } | 1254 | } |
| 1239 | 1255 | ||
| 1240 | void Menu::toggleUnleashFramerate() { | 1256 | void Menu::changeVSync() { |
| 1241 | if (isOptionChecked(MenuOption::RenderUnleashFramerate)) { | 1257 | Application::getInstance()->setRenderTargetFramerate( |
| 1242 | Application::getInstance()->setRenderTargetFramerate(0); | 1258 | Application::getInstance()->getRenderTargetFramerate(), |
| 1243 | } else { | 1259 | isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn)); |
| 1244 | Application::getInstance()->setRenderTargetFramerate(-1); | 1260 | } |
| 1261 | void Menu::changeRenderTargetFramerate(QAction* action) { | ||
| 1262 | bool vsynOn = Application::getInstance()->isVSyncOn(); | ||
| 1263 | unsigned int framerate = Application::getInstance()->getRenderTargetFramerate(); | ||
| 1264 | |||
| 1265 | QString text = action->text(); | ||
| 1266 | if (text == MenuOption::RenderTargetFramerateUnlimited) { | ||
| 1267 | Application::getInstance()->setRenderTargetFramerate(0, vsynOn); | ||
| 1268 | } | ||
| 1269 | else if (text == MenuOption::RenderTargetFramerate60) { | ||
| 1270 | Application::getInstance()->setRenderTargetFramerate(60, vsynOn); | ||
| 1271 | } | ||
| 1272 | else if (text == MenuOption::RenderTargetFramerate50) { | ||
| 1273 | Application::getInstance()->setRenderTargetFramerate(50, vsynOn); | ||
| 1274 | } | ||
| 1275 | else if (text == MenuOption::RenderTargetFramerate40) { | ||
| 1276 | Application::getInstance()->setRenderTargetFramerate(40, vsynOn); | ||
| 1277 | } | ||
| 1278 | else if (text == MenuOption::RenderTargetFramerate30) { | ||
| 1279 | Application::getInstance()->setRenderTargetFramerate(30, vsynOn); | ||
| 1245 | } | 1280 | } |
| 1246 | } | 1281 | } |
| 1247 | 1282 | ||