History

Fix the problem of actual framerate target not beeing true to the value displayed in the menu, same for resolution scale. Removed the value in Application and relies exclusively on the menu state

Sam Gateau committed 12 years ago

Commit cecf79e1 parent b246af74 files · +82 −75Browse files

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

Unified · Split

interface/src/Menu.cpp+5−45
@@ -377,13 +377,12 @@ Menu::Menu() : · 376 unmodified lines
377 {377 {
378 QMenu* framerateMenu = renderOptionsMenu->addMenu(MenuOption::RenderTargetFramerate);378 QMenu* framerateMenu = renderOptionsMenu->addMenu(MenuOption::RenderTargetFramerate);
379 QActionGroup* framerateGroup = new QActionGroup(framerateMenu);379 QActionGroup* framerateGroup = new QActionGroup(framerateMenu);
380 380 framerateGroup->setExclusive(true);
381 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerateUnlimited, 0, true));381 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerateUnlimited, 0, true));
382 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate60, 0, false));382 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate60, 0, false));
383 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate50, 0, false));383 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate50, 0, false));
384 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate40, 0, false));384 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate40, 0, false));
385 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate30, 0, false));385 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate30, 0, false));
386 connect(framerateMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderTargetFramerate(QAction*)));
387 386
388#if defined(Q_OS_MAC)387#if defined(Q_OS_MAC)
389#else388#else
@@ -394,12 +393,12 @@ Menu::Menu() : · 4 unmodified lines
394 393
395 QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution);394 QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution);
396 QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu);395 QActionGroup* resolutionGroup = new QActionGroup(resolutionMenu);
397 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionOne, 0, false));396 resolutionGroup->setExclusive(true);
397 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionOne, 0, true));
398 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionTwoThird, 0, false));398 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionTwoThird, 0, false));
399 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionHalf, 0, false));399 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionHalf, 0, false));
400 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionThird, 0, true));400 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionThird, 0, false));
401 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false));401 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false));
402 connect(resolutionMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderResolution(QAction*)));
403 402
404 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, Qt::Key_Asterisk, true);403 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, Qt::Key_Asterisk, true);
405 addCheckableActionToQMenuAndActionHash(renderOptionsMenu,404 addCheckableActionToQMenuAndActionHash(renderOptionsMenu,
@@ -1261,46 +1260,7 @@ void Menu::muteEnvironment() { · 855 unmodified lines
1261}1260}
1262 1261
1263void Menu::changeVSync() {1262void Menu::changeVSync() {
1264 Application::getInstance()->setRenderTargetFramerate(1263 Application::getInstance()->setVSyncEnabled(isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
1265 Application::getInstance()->getRenderTargetFramerate(),
1266 isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
1267}
1268void Menu::changeRenderTargetFramerate(QAction* action) {
1269 bool vsynOn = Application::getInstance()->isVSyncOn();
1270
1271 QString text = action->text();
1272 if (text == MenuOption::RenderTargetFramerateUnlimited) {
1273 Application::getInstance()->setRenderTargetFramerate(0, vsynOn);
1274 }
1275 else if (text == MenuOption::RenderTargetFramerate60) {
1276 Application::getInstance()->setRenderTargetFramerate(60, vsynOn);
1277 }
1278 else if (text == MenuOption::RenderTargetFramerate50) {
1279 Application::getInstance()->setRenderTargetFramerate(50, vsynOn);
1280 }
1281 else if (text == MenuOption::RenderTargetFramerate40) {
1282 Application::getInstance()->setRenderTargetFramerate(40, vsynOn);
1283 }
1284 else if (text == MenuOption::RenderTargetFramerate30) {
1285 Application::getInstance()->setRenderTargetFramerate(30, vsynOn);
1286 }
1287}
1288
1289void Menu::changeRenderResolution(QAction* action) {
1290 QString text = action->text();
1291 if (text == MenuOption::RenderResolutionOne) {
1292 Application::getInstance()->setRenderResolutionScale(1.f);
1293 } else if (text == MenuOption::RenderResolutionTwoThird) {
1294 Application::getInstance()->setRenderResolutionScale(0.666f);
1295 } else if (text == MenuOption::RenderResolutionHalf) {
1296 Application::getInstance()->setRenderResolutionScale(0.5f);
1297 } else if (text == MenuOption::RenderResolutionThird) {
1298 Application::getInstance()->setRenderResolutionScale(0.333f);
1299 } else if (text == MenuOption::RenderResolutionQuarter) {
1300 Application::getInstance()->setRenderResolutionScale(0.25f);
1301 } else {
1302 Application::getInstance()->setRenderResolutionScale(1.f);
1303 }
1304}1264}
1305 1265
1306void Menu::displayNameLocationResponse(const QString& errorString) {1266void Menu::displayNameLocationResponse(const QString& errorString) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t