QTfrontend/ui/page/pageoptions.h
changeset 8387 f9d1191476ce
parent 8350 14b938faec69
child 8902 a94c074fd483
--- a/QTfrontend/ui/page/pageoptions.h	Mon Jan 14 21:37:04 2013 +0400
+++ b/QTfrontend/ui/page/pageoptions.h	Mon Jan 14 14:10:37 2013 -0500
@@ -19,13 +19,32 @@
 #ifndef PAGE_OPTIONS_H
 #define PAGE_OPTIONS_H
 
+#include "igbox.h"
 #include "AbstractPage.h"
 
+#include <QString>
+
 class GameUIConfig;
 class FPSEdit;
-class IconedGroupBox;
 class QSignalMapper;
 class KeyBinder;
+class QGridLayout;
+
+// Let's stay D-R-Y
+class OptionGroupBox : public IconedGroupBox
+{
+    Q_OBJECT
+
+    public:
+        OptionGroupBox(const QString & iconName,
+                       const QString & title,
+                       QWidget * parent = 0);
+        QGridLayout * layout();
+        void addDivider();
+
+    private:
+        QGridLayout * m_layout;
+};
 
 class PageOptions : public AbstractPage
 {
@@ -78,7 +97,8 @@
 
         FPSEdit *fpsedit;
         QLabel *labelNN;
-        QSpinBox * volumeBox;
+        QSlider *SLVolume;
+        QLabel *lblVolumeLevel;
         QLineEdit *editNetNick;
         QLineEdit *editNetPassword;
         QSlider *SLQuality;
@@ -122,6 +142,7 @@
         QLayout * footerLayoutDefinition();
         void connectSignals();
         int resetBindToDefault(int bindID);
+        void setupTabPage(QWidget * tabpage, QVBoxLayout ** leftColumn, QVBoxLayout ** rightColumn);
 
         bool previousFullscreenValue;
         int previousResolutionIndex;
@@ -142,6 +163,10 @@
         int currentTab;
         int binderTab;
 
+        QLabel * lblFullScreenRes;
+        QLabel * lblWinScreenRes;
+        QWidget * winResContainer;
+
     private slots:
         void forceFullscreen(int index);
         void setFullscreen(int state);
@@ -161,6 +186,7 @@
         void tabIndexChanged(int);
         void bindUpdated(int bindID);
         void resetAllBinds();
+        void setVolume(int);
 
     public slots:
         void setDefaultOptions();