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
377377 {
378378 QMenu* framerateMenu = renderOptionsMenu->addMenu(MenuOption::RenderTargetFramerate);
379379 QActionGroup* framerateGroup = new QActionGroup(framerateMenu);
380−
380+ framerateGroup->setExclusive(true);
381381 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerateUnlimited, 0, true));
382382 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate60, 0, false));
383383 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate50, 0, false));
384384 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate40, 0, false));
385385 framerateGroup->addAction(addCheckableActionToQMenuAndActionHash(framerateMenu, MenuOption::RenderTargetFramerate30, 0, false));
386− connect(framerateMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderTargetFramerate(QAction*)));
387386
388387 #if defined(Q_OS_MAC)
389388 #else
@@ -394,12 +393,12 @@ Menu::Menu() : · 4 unmodified lines
394393
395394 QMenu* resolutionMenu = renderOptionsMenu->addMenu(MenuOption::RenderResolution);
396395 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));
398398 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionTwoThird, 0, false));
399399 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));
401401 resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false));
402− connect(resolutionMenu, SIGNAL(triggered(QAction*)), this, SLOT(changeRenderResolution(QAction*)));
403402
404403 addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, Qt::Key_Asterisk, true);
405404 addCheckableActionToQMenuAndActionHash(renderOptionsMenu,
@@ -1261,46 +1260,7 @@ void Menu::muteEnvironment() { · 855 unmodified lines
12611260 }
12621261
12631262 void Menu::changeVSync() {
1264− Application::getInstance()->setRenderTargetFramerate(
1265− Application::getInstance()->getRenderTargetFramerate(),
1266− isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
1267−}
1268−void 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−
1289−void 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− }
1263+ Application::getInstance()->setVSyncEnabled(isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
13041264 }
13051265
13061266 void 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