summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-05-18 01:57:27 +0300
committerAndrei Karas <akaras@inbox.ru>2012-05-19 00:31:16 +0300
commit804154afbee8843dde358837ec18ab7bfb785088 (patch)
treed0b58bea9b13e37dc44c7bf9487d3cde2a7991f6 /src/gui
parentf35d6cd35d92ad16a55bf49f61f19153949497c0 (diff)
downloadmanaplus-804154afbee8843dde358837ec18ab7bfb785088.tar.gz
manaplus-804154afbee8843dde358837ec18ab7bfb785088.tar.bz2
manaplus-804154afbee8843dde358837ec18ab7bfb785088.tar.xz
manaplus-804154afbee8843dde358837ec18ab7bfb785088.zip
Add button "detect best video mode" in video settings (windows only).
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/setup_video.cpp45
-rw-r--r--src/gui/setup_video.h2
2 files changed, 26 insertions, 21 deletions
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index a416b2027..466c04e6c 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -25,6 +25,11 @@
#include "configuration.h"
#include "game.h"
#include "graphics.h"
+
+#ifdef WIN32
+#include "graphicsmanager.h"
+#endif
+
#include "localplayer.h"
#include "logger.h"
#include "main.h"
@@ -33,6 +38,7 @@
#include "gui/okdialog.h"
#include "gui/textdialog.h"
+#include "gui/widgets/button.h"
#include "gui/widgets/checkbox.h"
#include "gui/widgets/label.h"
#include "gui/widgets/layouthelper.h"
@@ -51,6 +57,8 @@
#include <guichan/key.hpp>
#include <guichan/listmodel.hpp>
+#include <guichan/widgets/button.hpp>
+
#include <SDL.h>
#include <algorithm>
@@ -232,6 +240,11 @@ Setup_Video::Setup_Video():
mFpsLabel(new Label),
mAltFpsSlider(new Slider(2, 160)),
mAltFpsLabel(new Label(_("Alt FPS limit: "))),
+#ifdef WIN32
+ mDetectButton(new Button(_("Dettect best mode"), "detect", this)),
+#else
+ mDetectButton(nullptr),
+#endif
mDialog(nullptr)
{
setName(_("Video"));
@@ -298,14 +311,6 @@ Setup_Video::Setup_Video():
place(1, 2, mEnableResizeCheckBox, 2);
place(1, 3, mNoFrameCheckBox, 2);
-
-// place(1, 5, mPickupNotifyLabel, 4);
-// place(1, 6, mPickupChatCheckBox, 1);
-// place(2, 6, mPickupParticleCheckBox, 2);
-
-// place(0, 7, mAlphaSlider);
-// place(1, 7, alphaLabel, 3);
-
place(0, 6, mFpsSlider);
place(1, 6, mFpsCheckBox).setPadding(3);
place(2, 6, mFpsLabel).setPadding(1);
@@ -313,19 +318,9 @@ Setup_Video::Setup_Video():
place(0, 7, mAltFpsSlider);
place(1, 7, mAltFpsLabel).setPadding(3);
-// place(0, 11, mSpeechSlider);
-// place(1, 11, speechLabel);
-// place(2, 11, mSpeechLabel, 3).setPadding(2);
-
-// place(0, 12, mOverlayDetailSlider);
-// place(1, 12, overlayDetailLabel);
-// place(2, 12, mOverlayDetailField, 3).setPadding(2);
-
-// place(0, 13, mParticleEffectsCheckBox, 5);
-
-// place(0, 14, mParticleDetailSlider);
-// place(1, 14, particleDetailLabel);
-// place(2, 14, mParticleDetailField, 3).setPadding(2);
+#ifdef WIN32
+ place(0, 8, mDetectButton);
+#endif
int width = 600;
@@ -560,6 +555,14 @@ void Setup_Video::action(const gcn::ActionEvent &event)
{
config.setValue("noframe", mNoFrameCheckBox->isSelected());
}
+#ifdef WIN32
+ else if (id == "detect")
+ {
+ int val = graphicsManager.startDetection();
+ if (val >= 0 && val <= 2)
+ mOpenGLDropDown->setSelected(val);
+ }
+#endif
}
void Setup_Video::externalUpdated()
diff --git a/src/gui/setup_video.h b/src/gui/setup_video.h
index 7443087f7..84b1084c7 100644
--- a/src/gui/setup_video.h
+++ b/src/gui/setup_video.h
@@ -36,6 +36,7 @@ class TextDialog;
namespace gcn
{
+ class Button;
class CheckBox;
class DropDown;
class Label;
@@ -86,6 +87,7 @@ class Setup_Video : public SetupTab, public gcn::KeyListener
gcn::Slider *mAltFpsSlider;
gcn::Label *mAltFpsLabel;
+ gcn::Button *mDetectButton;
TextDialog *mDialog;
};