QTfrontend/ui/page/pageoptions.cpp
changeset 6911 1cda333286e0
parent 6700 e04da46ee43c
child 6952 7f70f37bbf08
equal deleted inserted replaced
6910:ea058558c68b 6911:1cda333286e0
   185         groupMisc->setIcon(QIcon(":/res/miscicon.png"));
   185         groupMisc->setIcon(QIcon(":/res/miscicon.png"));
   186         //groupMisc->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
   186         //groupMisc->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
   187         groupMisc->setTitle(QGroupBox::tr("Misc"));
   187         groupMisc->setTitle(QGroupBox::tr("Misc"));
   188         QGridLayout * MiscLayout = new QGridLayout(groupMisc);
   188         QGridLayout * MiscLayout = new QGridLayout(groupMisc);
   189 
   189 
   190         labelNN = new QLabel(groupMisc);
   190         // Label for "Language"
   191         labelNN->setText(QLabel::tr("Net nick"));
       
   192         MiscLayout->addWidget(labelNN, 0, 0);
       
   193 
       
   194         editNetNick = new QLineEdit(groupMisc);
       
   195         editNetNick->setMaxLength(20);
       
   196         editNetNick->setText(QLineEdit::tr("unnamed"));
       
   197         connect(editNetNick, SIGNAL(editingFinished()), this, SLOT(trimNetNick()));
       
   198         MiscLayout->addWidget(editNetNick, 0, 1);
       
   199 
       
   200         labelNetPassword = new QLabel(groupMisc);
       
   201         labelNetPassword->setText(QLabel::tr("Password"));
       
   202         MiscLayout->addWidget(labelNetPassword, 1, 0);
       
   203 
       
   204         editNetPassword = new QLineEdit(groupMisc);
       
   205         editNetPassword->setEchoMode(QLineEdit::Password);
       
   206         MiscLayout->addWidget(editNetPassword, 1, 1);
       
   207 
       
   208         QLabel *labelLanguage = new QLabel(groupMisc);
   191         QLabel *labelLanguage = new QLabel(groupMisc);
   209         labelLanguage->setText(QLabel::tr("Locale") + " *");
   192         labelLanguage->setText(QLabel::tr("Locale") + " *");
   210         MiscLayout->addWidget(labelLanguage, 2, 0);
   193         MiscLayout->addWidget(labelLanguage, 0, 0);
   211 
   194 
       
   195         // List of installed languages
   212         CBLanguage = new QComboBox(groupMisc);
   196         CBLanguage = new QComboBox(groupMisc);
   213         QDir tmpdir;
   197         QDir tmpdir;
   214         tmpdir.cd(cfgdir->absolutePath());
   198         tmpdir.cd(cfgdir->absolutePath());
   215         tmpdir.cd("Data/Locale");
   199         tmpdir.cd("Data/Locale");
   216         tmpdir.setFilter(QDir::Files);
   200         tmpdir.setFilter(QDir::Files);
   231             if (locs.contains(tmplist[i])) continue;
   215             if (locs.contains(tmplist[i])) continue;
   232             QLocale loc(tmplist[i].replace(QRegExp("hedgewars_(.*)\\.qm"), "\\1"));
   216             QLocale loc(tmplist[i].replace(QRegExp("hedgewars_(.*)\\.qm"), "\\1"));
   233             CBLanguage->addItem(QLocale::languageToString(loc.language()) + " (" + QLocale::countryToString(loc.country()) + ")", loc.name());
   217             CBLanguage->addItem(QLocale::languageToString(loc.language()) + " (" + QLocale::countryToString(loc.country()) + ")", loc.name());
   234         }
   218         }
   235 
   219 
   236         MiscLayout->addWidget(CBLanguage, 2, 1);
   220         MiscLayout->addWidget(CBLanguage, 0, 1);
       
   221 
       
   222         // Label and field for net nick
       
   223         labelNN = new QLabel(groupMisc);
       
   224         labelNN->setText(QLabel::tr("Nickname"));
       
   225         MiscLayout->addWidget(labelNN, 1, 0);
       
   226 
       
   227         editNetNick = new QLineEdit(groupMisc);
       
   228         editNetNick->setMaxLength(20);
       
   229         editNetNick->setText(QLineEdit::tr("anonymous"));
       
   230         MiscLayout->addWidget(editNetNick, 1, 1);
       
   231 
       
   232         // Label and field for password
       
   233         labelNetPassword = new QLabel(groupMisc);
       
   234         labelNetPassword->setText(QLabel::tr("Password"));
       
   235         MiscLayout->addWidget(labelNetPassword, 2, 0);
       
   236 
       
   237         editNetPassword = new QLineEdit(groupMisc);
       
   238         editNetPassword->setEchoMode(QLineEdit::Password);
       
   239         MiscLayout->addWidget(editNetPassword, 2, 1);
       
   240 
       
   241         CBSavePassword = new QCheckBox(groupMisc);
       
   242         CBSavePassword->setText(QCheckBox::tr("Save password"));
       
   243         MiscLayout->addWidget(CBSavePassword, 3, 0, 1, 2);
   237 
   244 
   238         CBAltDamage = new QCheckBox(groupMisc);
   245         CBAltDamage = new QCheckBox(groupMisc);
   239         CBAltDamage->setText(QCheckBox::tr("Alternative damage show"));
   246         CBAltDamage->setText(QCheckBox::tr("Alternative damage show"));
   240         MiscLayout->addWidget(CBAltDamage, 3, 0, 1, 2);
   247         MiscLayout->addWidget(CBAltDamage, 4, 0, 1, 2);
   241 
   248 
   242         CBNameWithDate = new QCheckBox(groupMisc);
   249         CBNameWithDate = new QCheckBox(groupMisc);
   243         CBNameWithDate->setText(QCheckBox::tr("Append date and time to record file name"));
   250         CBNameWithDate->setText(QCheckBox::tr("Append date and time to record file name"));
   244         MiscLayout->addWidget(CBNameWithDate, 4, 0, 1, 2);
   251         MiscLayout->addWidget(CBNameWithDate, 5, 0, 1, 2);
   245 
   252 
   246         BtnAssociateFiles = new QPushButton(groupMisc);
   253         BtnAssociateFiles = new QPushButton(groupMisc);
   247         BtnAssociateFiles->setText(QPushButton::tr("Associate file extensions"));
   254         BtnAssociateFiles->setText(QPushButton::tr("Associate file extensions"));
   248         BtnAssociateFiles->setEnabled(!custom_data && !custom_config);
   255         BtnAssociateFiles->setEnabled(!custom_data && !custom_config);
   249         MiscLayout->addWidget(BtnAssociateFiles, 5, 0, 1, 2);
   256         MiscLayout->addWidget(BtnAssociateFiles, 6, 0, 1, 2);
   250 
   257 
   251 #ifdef __APPLE__
   258 #ifdef __APPLE__
   252 #ifdef SPARKLE_ENABLED
   259 #ifdef SPARKLE_ENABLED
   253         CBAutoUpdate = new QCheckBox(groupMisc);
   260         CBAutoUpdate = new QCheckBox(groupMisc);
   254         CBAutoUpdate->setText(QCheckBox::tr("Check for updates at startup"));
   261         CBAutoUpdate->setText(QCheckBox::tr("Check for updates at startup"));
   255         MiscLayout->addWidget(CBAutoUpdate, 6, 0, 1, 3);
   262         MiscLayout->addWidget(CBAutoUpdate, 7, 0, 1, 3);
   256 #endif
   263 #endif
   257 #endif
   264 #endif
   258         gbTBLayout->addWidget(groupMisc, 2, 0);
   265         gbTBLayout->addWidget(groupMisc, 2, 0);
   259     }
   266     }
   260 
   267 
   336         CBStereoMode->addItem(QComboBox::tr("Cyan/Red grayscale"));
   343         CBStereoMode->addItem(QComboBox::tr("Cyan/Red grayscale"));
   337         CBStereoMode->addItem(QComboBox::tr("Red/Blue grayscale"));
   344         CBStereoMode->addItem(QComboBox::tr("Red/Blue grayscale"));
   338         CBStereoMode->addItem(QComboBox::tr("Blue/Red grayscale"));
   345         CBStereoMode->addItem(QComboBox::tr("Blue/Red grayscale"));
   339         CBStereoMode->addItem(QComboBox::tr("Red/Green grayscale"));
   346         CBStereoMode->addItem(QComboBox::tr("Red/Green grayscale"));
   340         CBStereoMode->addItem(QComboBox::tr("Green/Red grayscale"));
   347         CBStereoMode->addItem(QComboBox::tr("Green/Red grayscale"));
   341         connect(CBStereoMode, SIGNAL(currentIndexChanged(int)), this, SLOT(forceFullscreen(int)));
       
   342 
   348 
   343         GBAstereolayout->addWidget(CBStereoMode);
   349         GBAstereolayout->addWidget(CBStereoMode);
   344         GBAlayout->addLayout(GBAstereolayout);
   350         GBAlayout->addLayout(GBAstereolayout);
   345 
   351 
   346         hr = new QFrame(AGGroupBox);
   352         hr = new QFrame(AGGroupBox);
   400     return NULL;
   406     return NULL;
   401 }
   407 }
   402 
   408 
   403 void PageOptions::connectSignals()
   409 void PageOptions::connectSignals()
   404 {
   410 {
       
   411     connect(SLQuality, SIGNAL(valueChanged(int)), this, SLOT(setQuality(int)));
   405     connect(CBResolution, SIGNAL(currentIndexChanged(int)), this, SLOT(setResolution(int)));
   412     connect(CBResolution, SIGNAL(currentIndexChanged(int)), this, SLOT(setResolution(int)));
   406     connect(CBFullscreen, SIGNAL(stateChanged(int)), this, SLOT(setFullscreen(int)));
   413     connect(CBFullscreen, SIGNAL(stateChanged(int)), this, SLOT(setFullscreen(int)));
   407     connect(SLQuality, SIGNAL(valueChanged(int)), this, SLOT(setQuality(int)));
   414     connect(CBStereoMode, SIGNAL(currentIndexChanged(int)), this, SLOT(forceFullscreen(int)));
       
   415     connect(editNetNick, SIGNAL(editingFinished()), this, SLOT(trimNetNick()));
       
   416     connect(CBSavePassword, SIGNAL(stateChanged(int)), this, SLOT(savePwdChanged(int)));
   408 }
   417 }
   409 
   418 
   410 PageOptions::PageOptions(QWidget* parent) : AbstractPage(parent)
   419 PageOptions::PageOptions(QWidget* parent) : AbstractPage(parent)
   411 {
   420 {
   412     initPage();
   421     initPage();
   464 void PageOptions::trimNetNick()
   473 void PageOptions::trimNetNick()
   465 {
   474 {
   466     editNetNick->setText(editNetNick->text().trimmed());
   475     editNetNick->setText(editNetNick->text().trimmed());
   467 }
   476 }
   468 
   477 
       
   478 void PageOptions::savePwdChanged(int state) {
       
   479     if (state == 0) {
       
   480         editNetPassword->setEnabled(false);
       
   481         editNetPassword->setText("");
       
   482     } else
       
   483         editNetPassword->setEnabled(true);
       
   484 }
       
   485 
   469 void PageOptions::requestEditSelectedTeam()
   486 void PageOptions::requestEditSelectedTeam()
   470 {
   487 {
   471     emit editTeamRequested(CBTeamName->currentText());
   488     emit editTeamRequested(CBTeamName->currentText());
   472 }
   489 }
   473 
   490