# HG changeset patch # User koda # Date 1282859958 -7200 # Node ID 79338661006877a79f3ae20b5f6f6058f4a08eb5 # Parent 6009d83784228ee8a0fc232de54ed5efb51c403b rename two rendering methods and performe some interface tricks about fullscreen diff -r 6009d8378422 -r 793386610068 QTfrontend/pages.cpp --- a/QTfrontend/pages.cpp Wed Aug 18 20:29:41 2010 +0200 +++ b/QTfrontend/pages.cpp Thu Aug 26 23:59:18 2010 +0200 @@ -609,6 +609,7 @@ CBFullscreen = new QCheckBox(AGGroupBox); CBFullscreen->setText(QCheckBox::tr("Fullscreen")); GBAlayout->addWidget(CBFullscreen); + connect(CBFullscreen, SIGNAL(stateChanged(int)), this, SLOT(setFullscreen(void))); QLabel * quality = new QLabel(AGGroupBox); quality->setText(QLabel::tr("Quality")); @@ -634,9 +635,10 @@ CBStereoMode->addItem(QComboBox::tr("Blue/Red")); CBStereoMode->addItem(QComboBox::tr("Red/Green")); CBStereoMode->addItem(QComboBox::tr("Green/Red")); - CBStereoMode->addItem(QComboBox::tr("Side-by-side (horizontal)")); - CBStereoMode->addItem(QComboBox::tr("Side-by-side (vertical)")); - CBStereoMode->addItem(QComboBox::tr("Alternate frame rendering")); + CBStereoMode->addItem(QComboBox::tr("Side-by-side")); + CBStereoMode->addItem(QComboBox::tr("Top-Bottom")); + CBStereoMode->addItem(QComboBox::tr("Frame Alternate")); + connect(CBStereoMode, SIGNAL(currentIndexChanged(int)), this, SLOT(forceFullscreen(int))); GBAstereolayout->addWidget(CBStereoMode); GBAlayout->addLayout(GBAstereolayout); @@ -689,7 +691,7 @@ hr->setFixedHeight(10); GBAlayout->addWidget(hr); - QLabel *restartNote = new QLabel(this); + QLabel *restartNote = new QLabel(this); restartNote->setText(QString("* ") + QLabel::tr("Restart game to apply")); restartNote->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); GBAlayout->addWidget(restartNote); @@ -706,6 +708,23 @@ BtnBack->setStyleSheet("QPushButton{margin: 22px 0 9px 2px;}"); } +void PageOptions::forceFullscreen(int index) +{ + if (index != 0) { + previousFullscreenValue = this->CBFullscreen->isChecked(); + this->CBFullscreen->setChecked(true); + this->CBFullscreen->setEnabled(false); + } else { + this->CBFullscreen->setChecked(previousFullscreenValue); + this->CBFullscreen->setEnabled(true); + } +} + +void PageOptions::setFullscreen(void) +{ + this->CBResolution->setEnabled(!this->CBFullscreen->isChecked()); +} + PageNet::PageNet(QWidget* parent) : AbstractPage(parent) { QFont * font14 = new QFont("MS Shell Dlg", 14); diff -r 6009d8378422 -r 793386610068 QTfrontend/pages.h --- a/QTfrontend/pages.h Wed Aug 18 20:29:41 2010 +0200 +++ b/QTfrontend/pages.h Thu Aug 26 23:59:18 2010 +0200 @@ -241,6 +241,11 @@ QLineEdit *editNetNick; QSlider *SLQuality; QCheckBox *CBFrontendEffects; + bool previousFullscreenValue; + +private slots: + void forceFullscreen(int index); + void setFullscreen(void); }; class PageNet : public AbstractPage