Reimplemented the old new profile dialog behaviour

loadfix
pvdk 11 years ago
parent 5d94cb112f
commit af883991e2

@ -30,6 +30,11 @@ Launcher::DataFilesPage::DataFilesPage(Files::ConfigurationManager &cfg, Config:
setObjectName ("DataFilesPage"); setObjectName ("DataFilesPage");
mSelector = new ContentSelectorView::ContentSelector (ui.contentSelectorWidget); mSelector = new ContentSelectorView::ContentSelector (ui.contentSelectorWidget);
mProfileDialog = new TextInputDialog(tr("New Profile"), tr("Profile name:"), this);
connect(mProfileDialog->lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(updateOkButton(QString)));
buildView(); buildView();
setupDataFiles(); setupDataFiles();
} }
@ -212,15 +217,13 @@ void Launcher::DataFilesPage::slotProfileChanged(int index)
void Launcher::DataFilesPage::on_newProfileAction_triggered() void Launcher::DataFilesPage::on_newProfileAction_triggered()
{ {
TextInputDialog newDialog (tr("New Profile"), tr("Profile name:"), this); if (!mProfileDialog->exec() == QDialog::Accepted)
if (newDialog.exec() != QDialog::Accepted)
return; return;
QString profile = newDialog.lineEdit()->text(); QString profile = mProfileDialog->lineEdit()->text();
if (profile.isEmpty()) if (profile.isEmpty())
return; return;
saveSettings(); saveSettings();
@ -271,6 +274,19 @@ void Launcher::DataFilesPage::on_deleteProfileAction_triggered()
checkForDefaultProfile(); checkForDefaultProfile();
} }
void Launcher::DataFilesPage::updateOkButton(const QString &text)
{
// We do this here because we need the profiles combobox text
if (text.isEmpty()) {
mProfileDialog->setOkButtonEnabled(false);
return;
}
(ui.profilesComboBox->findText(text) == -1)
? mProfileDialog->setOkButtonEnabled(true)
: mProfileDialog->setOkButtonEnabled(false);
}
void Launcher::DataFilesPage::checkForDefaultProfile() void Launcher::DataFilesPage::checkForDefaultProfile()
{ {
//don't allow deleting "Default" profile //don't allow deleting "Default" profile

@ -55,12 +55,14 @@ namespace Launcher
void slotProfileRenamed(const QString &previous, const QString &current); void slotProfileRenamed(const QString &previous, const QString &current);
void slotProfileDeleted(const QString &item); void slotProfileDeleted(const QString &item);
void updateOkButton(const QString &text);
void on_newProfileAction_triggered(); void on_newProfileAction_triggered();
void on_deleteProfileAction_triggered(); void on_deleteProfileAction_triggered();
private: private:
QMenu *mContextMenu; TextInputDialog *mProfileDialog;
Files::ConfigurationManager &mCfgMgr; Files::ConfigurationManager &mCfgMgr;

@ -222,7 +222,7 @@ void Launcher::SettingsPage::importerFinished(int exitCode, QProcess::ExitStatus
void Launcher::SettingsPage::updateOkButton(const QString &text) void Launcher::SettingsPage::updateOkButton(const QString &text)
{ {
// We do this here because we need the profiles combobox text // We do this here because we need to access the profiles
if (text.isEmpty()) { if (text.isEmpty()) {
mProfileDialog->setOkButtonEnabled(false); mProfileDialog->setOkButtonEnabled(false);
return; return;

Loading…
Cancel
Save