From 30c3c3e245c8b19a18ce08df208d24e96594f480 Mon Sep 17 00:00:00 2001 From: pvdk Date: Thu, 17 Apr 2014 00:01:19 +0200 Subject: [PATCH] Working on importing content lists in the launcher --- apps/launcher/datafilespage.cpp | 126 ++++++------ apps/launcher/datafilespage.hpp | 5 +- apps/launcher/maindialog.cpp | 245 ++++++++++-------------- apps/launcher/settingspage.cpp | 95 ++++++++- apps/launcher/settingspage.hpp | 7 +- apps/launcher/utils/textinputdialog.cpp | 2 +- 6 files changed, 257 insertions(+), 223 deletions(-) diff --git a/apps/launcher/datafilespage.cpp b/apps/launcher/datafilespage.cpp index 72afe1c1db..21652a8f40 100644 --- a/apps/launcher/datafilespage.cpp +++ b/apps/launcher/datafilespage.cpp @@ -34,16 +34,68 @@ Launcher::DataFilesPage::DataFilesPage(Files::ConfigurationManager &cfg, Config: setupDataFiles(); } -void Launcher::DataFilesPage::loadSettings() +void Launcher::DataFilesPage::buildView() +{ + ui.verticalLayout->insertWidget (0, mSelector->uiWidget()); + + //tool buttons + ui.newProfileButton->setToolTip ("Create a new profile"); + ui.deleteProfileButton->setToolTip ("Delete an existing profile"); + + //combo box + ui.profilesComboBox->addItem ("Default"); + ui.profilesComboBox->setPlaceholderText (QString("Select a profile...")); + ui.profilesComboBox->setCurrentIndex(ui.profilesComboBox->findText(QLatin1String("Default"))); + + // Add the actions to the toolbuttons + ui.newProfileButton->setDefaultAction (ui.newProfileAction); + ui.deleteProfileButton->setDefaultAction (ui.deleteProfileAction); + + //establish connections + connect (ui.profilesComboBox, SIGNAL (currentIndexChanged(int)), + this, SLOT (slotProfileChanged(int))); + + connect (ui.profilesComboBox, SIGNAL (profileRenamed(QString, QString)), + this, SLOT (slotProfileRenamed(QString, QString))); + + connect (ui.profilesComboBox, SIGNAL (signalProfileChanged(QString, QString)), + this, SLOT (slotProfileChangedByUser(QString, QString))); +} + +void Launcher::DataFilesPage::setupDataFiles() +{ + QStringList paths = mGameSettings.getDataDirs(); + + foreach (const QString &path, paths) + mSelector->addFiles(path); + + mDataLocal = mGameSettings.getDataLocal(); + + if (!mDataLocal.isEmpty()) + mSelector->addFiles(mDataLocal); + + loadSettings(); +} + +bool Launcher::DataFilesPage::loadSettings() { QStringList paths = mGameSettings.getDataDirs(); paths.insert (0, mDataLocal); PathIterator pathIterator (paths); - QString profileName = ui.profilesComboBox->currentText(); + QStringList profiles = mLauncherSettings.subKeys(QString("Profiles/")); + QString currentProfile = mLauncherSettings.getSettings().value("Profiles/currentprofile"); - QStringList files = mLauncherSettings.values(QString("Profiles/") + profileName + QString("/content"), Qt::MatchExactly); + qDebug() << "current profile is: " << currentProfile; + foreach (const QString &item, profiles) + addProfile (item, false); + + // Hack: also add the current profile + if (!currentProfile.isEmpty()) + addProfile(currentProfile, true); + + QStringList files = mLauncherSettings.values(QString("Profiles/") + currentProfile + QString("/content"), Qt::MatchExactly); QStringList filepaths; foreach (const QString &file, files) @@ -55,6 +107,8 @@ void Launcher::DataFilesPage::loadSettings() } mSelector->setProfileContent (filepaths); + + return true; } void Launcher::DataFilesPage::saveSettings(const QString &profile) @@ -81,33 +135,6 @@ void Launcher::DataFilesPage::saveSettings(const QString &profile) } -void Launcher::DataFilesPage::buildView() -{ - ui.verticalLayout->insertWidget (0, mSelector->uiWidget()); - - //tool buttons - ui.newProfileButton->setToolTip ("Create a new profile"); - ui.deleteProfileButton->setToolTip ("Delete an existing profile"); - - //combo box - ui.profilesComboBox->addItem ("Default"); - ui.profilesComboBox->setPlaceholderText (QString("Select a profile...")); - - // Add the actions to the toolbuttons - ui.newProfileButton->setDefaultAction (ui.newProfileAction); - ui.deleteProfileButton->setDefaultAction (ui.deleteProfileAction); - - //establish connections - connect (ui.profilesComboBox, SIGNAL (currentIndexChanged(int)), - this, SLOT (slotProfileChanged(int))); - - connect (ui.profilesComboBox, SIGNAL (profileRenamed(QString, QString)), - this, SLOT (slotProfileRenamed(QString, QString))); - - connect (ui.profilesComboBox, SIGNAL (signalProfileChanged(QString, QString)), - this, SLOT (slotProfileChangedByUser(QString, QString))); -} - void Launcher::DataFilesPage::removeProfile(const QString &profile) { mLauncherSettings.remove(QString("Profiles/") + profile); @@ -140,6 +167,9 @@ void Launcher::DataFilesPage::setProfile (const QString &previous, const QString if (previous == current) return; + if (previous.isEmpty()) + return; + if (!previous.isEmpty() && savePrevious) saveSettings (previous); @@ -180,42 +210,6 @@ void Launcher::DataFilesPage::slotProfileChanged(int index) setProfile (index, true); } -void Launcher::DataFilesPage::setupDataFiles() -{ - QStringList paths = mGameSettings.getDataDirs(); - - foreach (const QString &path, paths) - mSelector->addFiles(path); - - mDataLocal = mGameSettings.getDataLocal(); - - if (!mDataLocal.isEmpty()) - mSelector->addFiles(mDataLocal); - - QStringList profiles = mLauncherSettings.subKeys(QString("Profiles/")); - QString currentProfile = mLauncherSettings.getSettings().value("Profiles/currentprofile"); - -// foreach (QString key, mLauncherSettings.getSettings().keys()) -// { -// if (key.contains("Profiles/")) -// { -// QString profile = key.mid (9); -// if (profile != "currentprofile") -// { -// if (!profiles.contains(profile)) -// profiles << profile; -// } -// } -// } - - foreach (const QString &item, profiles) - addProfile (item, false); - - setProfile (ui.profilesComboBox->findText(currentProfile), false); - - loadSettings(); -} - void Launcher::DataFilesPage::on_newProfileAction_triggered() { TextInputDialog newDialog (tr("New Profile"), tr("Profile name:"), this); diff --git a/apps/launcher/datafilespage.hpp b/apps/launcher/datafilespage.hpp index 642668cb74..06efdfca3b 100644 --- a/apps/launcher/datafilespage.hpp +++ b/apps/launcher/datafilespage.hpp @@ -39,7 +39,9 @@ namespace Launcher //void writeConfig(QString profile = QString()); void saveSettings(const QString &profile = ""); - void loadSettings(); + bool loadSettings(); + + void setupDataFiles(); signals: void signalProfileChanged (int index); @@ -70,7 +72,6 @@ namespace Launcher void setPluginsCheckstates(Qt::CheckState state); void buildView(); - void setupDataFiles(); void setupConfig(); void readConfig(); void setProfile (int index, bool savePrevious); diff --git a/apps/launcher/maindialog.cpp b/apps/launcher/maindialog.cpp index b8f9efd1af..9c6e33e1b1 100644 --- a/apps/launcher/maindialog.cpp +++ b/apps/launcher/maindialog.cpp @@ -137,7 +137,7 @@ void Launcher::MainDialog::createPages() mPlayPage = new PlayPage(this); mDataFilesPage = new DataFilesPage(mCfgMgr, mGameSettings, mLauncherSettings, this); mGraphicsPage = new GraphicsPage(mCfgMgr, mGraphicsSettings, this); - mSettingsPage = new SettingsPage(mGameSettings, mLauncherSettings, this); + mSettingsPage = new SettingsPage(mCfgMgr, mGameSettings, mLauncherSettings, this); // Set the combobox of the play page to imitate the combobox on the datafilespage mPlayPage->setProfilesModel(mDataFilesPage->profilesModel()); @@ -161,150 +161,103 @@ void Launcher::MainDialog::createPages() bool Launcher::MainDialog::showFirstRunDialog() { - QStringList iniPaths; - - foreach (const QString &path, mGameSettings.getDataDirs()) { - QDir dir(path); - dir.setPath(dir.canonicalPath()); // Resolve symlinks - - if (dir.exists(QString("Morrowind.ini"))) - iniPaths.append(dir.absoluteFilePath(QString("Morrowind.ini"))); - else - { - if (!dir.cdUp()) - continue; // Cannot move from Data Files - - if (dir.exists(QString("Morrowind.ini"))) - iniPaths.append(dir.absoluteFilePath(QString("Morrowind.ini"))); - } - } - - // Ask the user where the Morrowind.ini is - if (iniPaths.empty()) { - QMessageBox msgBox; - msgBox.setWindowTitle(tr("Error detecting Morrowind configuration")); - msgBox.setIcon(QMessageBox::Warning); - msgBox.setStandardButtons(QMessageBox::Cancel); - msgBox.setText(QObject::tr("
Could not find Morrowind.ini

\ - OpenMW needs to import settings from this file.

\ - Press \"Browse...\" to specify the location manually.
")); - - QAbstractButton *dirSelectButton = - msgBox.addButton(QObject::tr("B&rowse..."), QMessageBox::ActionRole); - - msgBox.exec(); - - QString iniFile; - if (msgBox.clickedButton() == dirSelectButton) { - iniFile = QFileDialog::getOpenFileName( - NULL, - QObject::tr("Select configuration file"), - QDir::currentPath(), - QString(tr("Morrowind configuration file (*.ini)"))); - } - - if (iniFile.isEmpty()) - return false; // Cancel was clicked; - - QFileInfo info(iniFile); - iniPaths.clear(); - iniPaths.append(info.absoluteFilePath()); - } - - CheckableMessageBox msgBox(this); - msgBox.setWindowTitle(tr("Morrowind installation detected")); - - QIcon icon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion); - int size = QApplication::style()->pixelMetric(QStyle::PM_MessageBoxIconSize); - msgBox.setIconPixmap(icon.pixmap(size, size)); - - QAbstractButton *importerButton = - msgBox.addButton(tr("Import"), QDialogButtonBox::AcceptRole); // ActionRole doesn't work?! - QAbstractButton *skipButton = - msgBox.addButton(tr("Skip"), QDialogButtonBox::RejectRole); - - Q_UNUSED(skipButton); // Surpress compiler unused warning - - msgBox.setStandardButtons(QDialogButtonBox::NoButton); - msgBox.setText(tr("
An existing Morrowind configuration was detected
\ -
Would you like to import settings from Morrowind.ini?
\ -
Warning: In most cases OpenMW needs these settings to run properly
")); - msgBox.setCheckBoxText(tr("Include selected masters and plugins (creates a new profile)")); - msgBox.exec(); - if (msgBox.clickedButton() == importerButton) { - if (iniPaths.count() > 1) { - // Multiple Morrowind.ini files found - bool ok; - QString path = QInputDialog::getItem(this, tr("Multiple configurations found"), - tr("
There are multiple Morrowind.ini files found.

\ - Please select the one you wish to import from:"), iniPaths, 0, false, &ok); - if (ok && !path.isEmpty()) { - iniPaths.clear(); - iniPaths.append(path); - } else { - // Cancel was clicked - return false; - } - } +// CheckableMessageBox msgBox(this); +// msgBox.setWindowTitle(tr("Morrowind installation detected")); - // Create the file if it doesn't already exist, else the importer will fail - QString path = QString::fromStdString(mCfgMgr.getUserConfigPath().string()) + QString("openmw.cfg"); - QFile file(path); +// QIcon icon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxQuestion); +// int size = QApplication::style()->pixelMetric(QStyle::PM_MessageBoxIconSize); +// msgBox.setIconPixmap(icon.pixmap(size, size)); - if (!file.exists()) { - if (!file.open(QIODevice::ReadWrite)) { - // File cannot be created - QMessageBox msgBox; - msgBox.setWindowTitle(tr("Error writing OpenMW configuration file")); - msgBox.setIcon(QMessageBox::Critical); - msgBox.setStandardButtons(QMessageBox::Ok); - msgBox.setText(tr("
Could not open or create %0 for writing

\ - Please make sure you have the right permissions \ - and try again.
").arg(file.fileName())); - msgBox.exec(); - return false; - } +// QAbstractButton *importerButton = +// msgBox.addButton(tr("Import"), QDialogButtonBox::AcceptRole); // ActionRole doesn't work?! +// QAbstractButton *skipButton = +// msgBox.addButton(tr("Skip"), QDialogButtonBox::RejectRole); - file.close(); - } +// Q_UNUSED(skipButton); // Surpress compiler unused warning - // Construct the arguments to run the importer - QStringList arguments; +// msgBox.setStandardButtons(QDialogButtonBox::NoButton); +// msgBox.setText(tr("
An existing Morrowind configuration was detected
\ +//
Would you like to import settings from Morrowind.ini?
\ +//
Warning: In most cases OpenMW needs these settings to run properly
")); +// msgBox.setCheckBoxText(tr("Include selected masters and plugins (creates a new profile)")); +// msgBox.exec(); - if (msgBox.isChecked()) - arguments.append(QString("--game-files")); - arguments.append(QString("--encoding")); - arguments.append(mGameSettings.value(QString("encoding"), QString("win1252"))); - arguments.append(QString("--ini")); - arguments.append(iniPaths.first()); - arguments.append(QString("--cfg")); - arguments.append(path); +// if (msgBox.clickedButton() == importerButton) { - ProcessInvoker invoker(this); +// if (iniPaths.count() > 1) { +// // Multiple Morrowind.ini files found +// bool ok; +// QString path = QInputDialog::getItem(this, tr("Multiple configurations found"), +// tr("
There are multiple Morrowind.ini files found.

\ +// Please select the one you wish to import from:"), iniPaths, 0, false, &ok); +// if (ok && !path.isEmpty()) { +// iniPaths.clear(); +// iniPaths.append(path); +// } else { +// // Cancel was clicked +// return false; +// } +// } - if (!invoker.startProcess(QLatin1String("mwiniimport"), arguments, false)) - return false; +// // Create the file if it doesn't already exist, else the importer will fail +// QString path = QString::fromStdString(mCfgMgr.getUserConfigPath().string()) + QString("openmw.cfg"); +// QFile file(path); - // Re-read the game settings - if (!setupGameSettings()) - return false; +// if (!file.exists()) { +// if (!file.open(QIODevice::ReadWrite)) { +// // File cannot be created +// QMessageBox msgBox; +// msgBox.setWindowTitle(tr("Error writing OpenMW configuration file")); +// msgBox.setIcon(QMessageBox::Critical); +// msgBox.setStandardButtons(QMessageBox::Ok); +// msgBox.setText(tr("
Could not open or create %0 for writing

\ +// Please make sure you have the right permissions \ +// and try again.
").arg(file.fileName())); +// msgBox.exec(); +// return false; +// } - // Add a new profile - if (msgBox.isChecked()) { - mLauncherSettings.setValue(QString("Profiles/currentprofile"), QString("Imported")); - mLauncherSettings.remove(QString("Profiles/Imported/content")); +// file.close(); +// } - QStringList contents = mGameSettings.values(QString("content")); - foreach (const QString &content, contents) { - mLauncherSettings.setMultiValue(QString("Profiles/Imported/content"), content); - } - } +// // Construct the arguments to run the importer +// QStringList arguments; - } +// if (msgBox.isChecked()) +// arguments.append(QString("--game-files")); + +// arguments.append(QString("--encoding")); +// arguments.append(mGameSettings.value(QString("encoding"), QString("win1252"))); +// arguments.append(QString("--ini")); +// arguments.append(iniPaths.first()); +// arguments.append(QString("--cfg")); +// arguments.append(path); + +// ProcessInvoker invoker(this); + +// if (!invoker.startProcess(QLatin1String("mwiniimport"), arguments, false)) +// return false; + +// // Re-read the game settings +// if (!setupGameSettings()) +// return false; + +// // Add a new profile +// if (msgBox.isChecked()) { +// mLauncherSettings.setValue(QString("Profiles/currentprofile"), QString("Imported")); +// mLauncherSettings.remove(QString("Profiles/Imported/content")); + +// QStringList contents = mGameSettings.values(QString("content")); +// foreach (const QString &content, contents) { +// mLauncherSettings.setMultiValue(QString("Profiles/Imported/content"), content); +// } +// } + +// } return true; } @@ -349,8 +302,11 @@ bool Launcher::MainDialog::reloadSettings() if (!setupGraphicsSettings()) return false; -// if (!mSettingsPage->loadSettings()) -// return false; + if (!mSettingsPage->loadSettings()) + return false; + + if (!mDataFilesPage->loadSettings()) + return false; if (!mGraphicsPage->loadSettings()) return false; @@ -371,17 +327,17 @@ void Launcher::MainDialog::changePage(QListWidgetItem *current, QListWidgetItem DataFilesPage *previousPage = dynamic_cast(pagesWidget->widget(previousIndex)); DataFilesPage *currentPage = dynamic_cast(pagesWidget->widget(currentIndex)); - //special call to update/save data files page list view when it's displayed/hidden. - if (previousPage) - { - if (previousPage->objectName() == "DataFilesPage") - previousPage->saveSettings(); - } - else if (currentPage) - { - if (currentPage->objectName() == "DataFilesPage") - currentPage->loadSettings(); - } +// //special call to update/save data files page list view when it's displayed/hidden. +// if (previousPage) +// { +// if (previousPage->objectName() == "DataFilesPage") +// previousPage->saveSettings(); +// } +// else if (currentPage) +// { +// if (currentPage->objectName() == "DataFilesPage") +// currentPage->loadSettings(); +// } } bool Launcher::MainDialog::setupLauncherSettings() @@ -729,8 +685,9 @@ bool Launcher::MainDialog::writeSettings() { // Now write all config files saveSettings(); - mGraphicsPage->saveSettings(); mDataFilesPage->saveSettings(); + mGraphicsPage->saveSettings(); + mSettingsPage->saveSettings(); QString userPath = QString::fromStdString(mCfgMgr.getUserConfigPath().string()); QDir dir(userPath); diff --git a/apps/launcher/settingspage.cpp b/apps/launcher/settingspage.cpp index 3c8c119ec6..f673917fdb 100644 --- a/apps/launcher/settingspage.cpp +++ b/apps/launcher/settingspage.cpp @@ -5,6 +5,8 @@ #include #include +#include + #include #include @@ -12,12 +14,14 @@ using namespace Process; -Launcher::SettingsPage::SettingsPage(Config::GameSettings &gameSettings, - Config::LauncherSettings &launcherSettings, MainDialog *parent) : - mGameSettings(gameSettings), - mLauncherSettings(launcherSettings), - QWidget(parent), - mMain(parent) +Launcher::SettingsPage::SettingsPage(Files::ConfigurationManager &cfg, + Config::GameSettings &gameSettings, + Config::LauncherSettings &launcherSettings, MainDialog *parent) + : mCfgMgr(cfg) + , mGameSettings(gameSettings) + , mLauncherSettings(launcherSettings) + , QWidget(parent) + , mMain(parent) { setupUi(this); @@ -77,17 +81,60 @@ Launcher::SettingsPage::SettingsPage(Config::GameSettings &gameSettings, } else { importerButton->setEnabled(false); } + + loadSettings(); } void Launcher::SettingsPage::on_wizardButton_clicked() { + saveSettings(); + if (!mWizardInvoker->startProcess(QLatin1String("openmw-wizard"), false)) return; } void Launcher::SettingsPage::on_importerButton_clicked() { - if (!mImporterInvoker->startProcess(QLatin1String("mwiniimport"), false)) + saveSettings(); + + // Create the file if it doesn't already exist, else the importer will fail + QString path(QString::fromUtf8(mCfgMgr.getUserConfigPath().string().c_str())); + path.append(QLatin1String("openmw.cfg")); + QFile file(path); + + if (!file.exists()) { + if (!file.open(QIODevice::ReadWrite)) { + // File cannot be created + QMessageBox msgBox; + msgBox.setWindowTitle(tr("Error writing OpenMW configuration file")); + msgBox.setIcon(QMessageBox::Critical); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.setText(tr("

Could not open or create %1 for writing

\ +

Please make sure you have the right permissions \ + and try again.

").arg(file.fileName())); + msgBox.exec(); + return; + } + + file.close(); + } + + // Construct the arguments to run the importer + QStringList arguments; + + if (addonsCheckBox->isChecked()) + arguments.append(QString("--game-files")); + + arguments.append(QString("--encoding")); + arguments.append(mGameSettings.value(QString("encoding"), QString("win1252"))); + arguments.append(QString("--ini")); + arguments.append(settingsComboBox->currentText()); + arguments.append(QString("--cfg")); + arguments.append(path); + + qDebug() << "arguments " << arguments; + + if (!mImporterInvoker->startProcess(QLatin1String("mwiniimport"), arguments, false)) return; } @@ -129,7 +176,6 @@ void Launcher::SettingsPage::wizardFinished(int exitCode, QProcess::ExitStatus e if (exitCode != 0 || exitStatus == QProcess::CrashExit) return; - mMain->writeSettings(); mMain->reloadSettings(); wizardButton->setEnabled(true); } @@ -146,6 +192,9 @@ void Launcher::SettingsPage::importerFinished(int exitCode, QProcess::ExitStatus if (exitCode != 0 || exitStatus == QProcess::CrashExit) return; + // Re-read the settings in their current state + mMain->reloadSettings(); + // Import selected data files from openmw.cfg if (addonsCheckBox->isChecked()) { @@ -154,6 +203,8 @@ void Launcher::SettingsPage::importerFinished(int exitCode, QProcess::ExitStatus const QString profile(mProfileDialog->lineEdit()->text()); const QStringList files(mGameSettings.values(QLatin1String("content"))); + qDebug() << "Profile " << profile << files; + // Doesn't quite work right now mLauncherSettings.setValue(QLatin1String("Profiles/currentprofile"), profile); @@ -165,7 +216,6 @@ void Launcher::SettingsPage::importerFinished(int exitCode, QProcess::ExitStatus } } - mMain->writeSettings(); mMain->reloadSettings(); importerButton->setEnabled(true); } @@ -184,3 +234,30 @@ void Launcher::SettingsPage::updateOkButton(const QString &text) ? mProfileDialog->setOkButtonEnabled(false) : mProfileDialog->setOkButtonEnabled(true); } + +void Launcher::SettingsPage::saveSettings() +{ + QString language(languageComboBox->currentText()); + + mLauncherSettings.setValue(QLatin1String("Settings/language"), language); + + if (language == QLatin1String("Polish")) { + mGameSettings.setValue(QLatin1String("encoding"), QLatin1String("win1250")); + } else if (language == QLatin1String("Russian")) { + mGameSettings.setValue(QLatin1String("encoding"), QLatin1String("win1251")); + } else { + mGameSettings.setValue(QLatin1String("encoding"), QLatin1String("win1252")); + } +} + +bool Launcher::SettingsPage::loadSettings() +{ + QString language(mLauncherSettings.value(QLatin1String("Settings/language"))); + + int index = languageComboBox->findText(language); + + if (index != -1) + languageComboBox->setCurrentIndex(index); + + return true; +} diff --git a/apps/launcher/settingspage.hpp b/apps/launcher/settingspage.hpp index d43141fc4e..846f5681c8 100644 --- a/apps/launcher/settingspage.hpp +++ b/apps/launcher/settingspage.hpp @@ -10,6 +10,7 @@ #include "maindialog.hpp" +namespace Files { struct ConfigurationManager; } namespace Config { class GameSettings; class LauncherSettings; } @@ -22,13 +23,14 @@ namespace Launcher Q_OBJECT public: - SettingsPage( Config::GameSettings &gameSettings, + SettingsPage(Files::ConfigurationManager &cfg, Config::GameSettings &gameSettings, Config::LauncherSettings &launcherSettings, MainDialog *parent = 0); void saveSettings(); bool loadSettings(); private slots: + void on_wizardButton_clicked(); void on_importerButton_clicked(); void on_browseButton_clicked(); @@ -42,9 +44,12 @@ namespace Launcher void updateOkButton(const QString &text); private: + Process::ProcessInvoker *mWizardInvoker; Process::ProcessInvoker *mImporterInvoker; + Files::ConfigurationManager &mCfgMgr; + Config::GameSettings &mGameSettings; Config::LauncherSettings &mLauncherSettings; diff --git a/apps/launcher/utils/textinputdialog.cpp b/apps/launcher/utils/textinputdialog.cpp index 74e40a81c2..b47fdb6e62 100644 --- a/apps/launcher/utils/textinputdialog.cpp +++ b/apps/launcher/utils/textinputdialog.cpp @@ -14,7 +14,7 @@ Launcher::TextInputDialog::TextInputDialog(const QString& title, const QString & mButtonBox = new QDialogButtonBox(this); mButtonBox->addButton(QDialogButtonBox::Ok); mButtonBox->addButton(QDialogButtonBox::Cancel); -// mButtonBox->button(QDialogButtonBox::Ok)->setEnabled (false); + mButtonBox->button(QDialogButtonBox::Ok)->setEnabled (false); QLabel *label = new QLabel(this); label->setText(text);