diff --git a/apps/opencs/model/settings/usersettings.cpp b/apps/opencs/model/settings/usersettings.cpp index 64d69eab8..b3f17a4ff 100644 --- a/apps/opencs/model/settings/usersettings.cpp +++ b/apps/opencs/model/settings/usersettings.cpp @@ -371,21 +371,22 @@ void CSMSettings::UserSettings::loadSettings (const QString &fileName) QStringList CSMSettings::UserSettings::getOgreRenderers() { - QStringList result; + if(mOgreRenderers.empty()) + { + Ogre::RenderSystemList renderers = Ogre::Root::getSingleton().getAvailableRenderers(); + Ogre::RenderSystemList::iterator it = renderers.begin(); + for(; it != renderers.end(); ++it) + mOgreRenderers.append((*it)->getName().c_str()); + } - Ogre::RenderSystemList renderers = Ogre::Root::getSingleton().getAvailableRenderers(); - Ogre::RenderSystemList::iterator it = renderers.begin(); - for(; it != renderers.end(); ++it) - result.append((*it)->getName().c_str()); - - return result; + return mOgreRenderers; } QStringList CSMSettings::UserSettings::getOgreOptions(const QString &key, const QString &renderer) { QStringList result; - Ogre::RenderSystem *rend = Ogre::Root::getSingleton().getRenderSystem(); + Ogre::RenderSystem *rend = Ogre::Root::getSingleton().getRenderSystemByName(renderer.toStdString()); if(!rend) return result; diff --git a/apps/opencs/model/settings/usersettings.hpp b/apps/opencs/model/settings/usersettings.hpp index c957cd5b6..dfefb131a 100644 --- a/apps/opencs/model/settings/usersettings.hpp +++ b/apps/opencs/model/settings/usersettings.hpp @@ -35,6 +35,8 @@ namespace CSMSettings { QSettings *mSettingDefinitions; QSettings *mSettingCfgDefinitions; QList mSettings; + QStringList mOgreRenderers; + public: diff --git a/apps/opencs/view/settings/settingsdialog.cpp b/apps/opencs/view/settings/settingsdialog.cpp index bd39056c2..7d5e5bec5 100644 --- a/apps/opencs/view/settings/settingsdialog.cpp +++ b/apps/opencs/view/settings/settingsdialog.cpp @@ -154,7 +154,7 @@ CSVSettings::SettingsDialog::SettingsDialog(QTabWidget *parent) connect(cbOverride, SIGNAL(toggled(bool)), this, SLOT(slotOverrideToggled(bool))); connect(cmbRenderSys, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(slotRendererChanged(const QString&))); - connect(rbStdWinSize, SIGNAL(toggled(bool)), this, SLOT(slotStandardToggled(bool))); + //connect(rbStdWinSize, SIGNAL(toggled(bool)), this, SLOT(slotStandardToggled(bool))); // to update the checkbox on the view menu connect(cbStatusBar, SIGNAL(toggled(bool)), this, SIGNAL (toggleStatusBar(bool))); @@ -167,9 +167,9 @@ bool CSVSettings::SettingsDialog::eventFilter(QObject *target, QEvent *event) { if (!item->isEnabled() && (event->type() == QEvent::MouseButtonRelease)) { - rbCustWinSize->setChecked(false); - rbStdWinSize->setChecked(true); - slotStandardToggled(true); + //rbCustWinSize->setChecked(false); + //rbStdWinSize->setChecked(true); + //slotStandardToggled(true); return false; } @@ -178,9 +178,9 @@ bool CSVSettings::SettingsDialog::eventFilter(QObject *target, QEvent *event) { if (!item->isEnabled() && (event->type() == QEvent::MouseButtonPress)) { - rbStdWinSize->setChecked(false); - rbCustWinSize->setChecked(true); - slotStandardToggled(false); + //rbStdWinSize->setChecked(false); + //rbCustWinSize->setChecked(true); + //slotStandardToggled(false); return false; } @@ -307,7 +307,7 @@ void CSVSettings::SettingsDialog::setViewValues() if(index != -1) cmbStdWinSize->setCurrentIndex(index); - rbCustWinSize->setChecked(true); + //rbCustWinSize->setChecked(true); slotStandardToggled(false); } @@ -369,11 +369,11 @@ void CSVSettings::SettingsDialog::saveSettings() #endif // shader lang - mModel->setDefinitions("Shader/language", + mModel->setDefinitions("General/shader mode", QStringList(cmbShaderLang->currentText().toLower())); // window size - if(rbStdWinSize->isChecked()) + if(0) //rbStdWinSize->isChecked()) { QRegExp re("^(\\d+) x (\\d+)"); if(re.indexIn(cmbStdWinSize->currentText()) > -1) diff --git a/files/ui/settingstab.ui b/files/ui/settingstab.ui index c818e3c7d..f5b0e6a5b 100644 --- a/files/ui/settingstab.ui +++ b/files/ui/settingstab.ui @@ -14,7 +14,7 @@ User Settings - 0 + 1 @@ -76,18 +76,7 @@ - - - - GLSL - - - - - CG - - - + @@ -110,78 +99,6 @@ - - - - 20 - 188 - 351 - 51 - - - - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 186 - 16777215 - - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 180 - 0 - - - - - - - - Custom: - - - buttonGroup - - - - - - - - - - - - - - Standard: - - - true - - - buttonGroup - - - - - @@ -195,23 +112,22 @@ Render System - + - 10 - 170 + 9 + 169 371 - 81 + 101 - Window Size + Shader displayGroup_Render layoutWidget_Render - displayGroup_Window - layoutWidget_Window + groupBox @@ -229,7 +145,7 @@ Display Format - + 10 @@ -298,9 +214,9 @@ 9 - 140 + 160 371 - 111 + 101 @@ -311,7 +227,7 @@ 21 - 160 + 180 351 71 @@ -363,11 +279,56 @@ + + + + 10 + 100 + 191 + 51 + + + + Window Size + + + + + 10 + 20 + 171 + 22 + + + + + + + + 186 + 16777215 + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + - 20 - 110 + 240 + 120 102 17 @@ -376,16 +337,31 @@ Show Status Bar + displayGroup_Window + displayGroup_DisplayFormat + displayGroup_Subviews + layoutWidget2 + cbStatusBar Misc Settings + + + false + + + + 70 + 100 + 69 + 22 + + + - - -