Sat, 06 Jun 2015 22:26:05 +0300
rename config.cpp/h to configwindow.cpp/h
/* * ZCinema: Zandronum demo launcher * Copyright (C) 2013-2015 Teemu Piippo * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include <QTableWidgetItem> #include <QFileDialog> #include "prompts.h" #include "ui_unknownversion.h" #include "misc.h" #include "configwindow.h" #include "ui_findfile.h" #include "ui_addversion.h" // // ------------------------------------------------------------------------------------------------- // UnknownVersionPrompt::UnknownVersionPrompt ( QString fileName, QString binaryName, bool isRelease, QWidget* parent, Qt::WindowFlags f ) : QDialog (parent, f), m_binaryString (binaryName), m_isRelease (isRelease) { ui = new Ui_UnknownVersion; ui->setupUi (this); // Replace the placeholders QString text = ui->m_description->text(); text.replace ("<DEMO>", basename (fileName)); text.replace ("<VERSION>", binaryName); ui->m_description->setText (text); connect (ui->m_addVersion, SIGNAL (clicked (bool)), this, SLOT (addBinary())); connect (ui->m_findBinary, SIGNAL (clicked (bool)), this, SLOT (findBinary())); setWindowTitle (versionSignature()); } // // ------------------------------------------------------------------------------------------------- // UnknownVersionPrompt::~UnknownVersionPrompt() { delete ui; } // // ------------------------------------------------------------------------------------------------- // void UnknownVersionPrompt::addBinary() { ZandronumVersion version (m_binaryString, m_isRelease, ui->m_binaryPath->text()); QList<QVariant> versions = Config::get ("versions").toList(); QVariant var; var.setValue (version); versions.append (var); Config::set ("versions", versions); accept(); } // // ------------------------------------------------------------------------------------------------- // void UnknownVersionPrompt::findBinary() { QString path = getBinaryPath (this); if (path.isEmpty()) return; ui->m_binaryPath->setText (path); } // // ------------------------------------------------------------------------------------------------- // FindFilePrompt::FindFilePrompt (QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f), m_ui (new Ui_FindFile) { m_ui->setupUi (this); connect (m_ui->m_find, SIGNAL (clicked()), this, SLOT (findDemo())); setWindowTitle (versionSignature()); } // // ------------------------------------------------------------------------------------------------- // FindFilePrompt::~FindFilePrompt() { delete m_ui; } // // ------------------------------------------------------------------------------------------------- // void FindFilePrompt::findDemo() { QString path = QFileDialog::getOpenFileName (this, tr ("Open Demo File"), QDir::homePath(), tr ("Demo files (*.cld);;All files (*.*)")); if (not path.isEmpty()) m_ui->m_path->setText (path); } // // ------------------------------------------------------------------------------------------------- // QString FindFilePrompt::path() const { return m_ui->m_path->text(); } // // ------------------------------------------------------------------------------------------------- // AddVersionPrompt::AddVersionPrompt (VersionGuiEntry* entry, QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f), ui (*new Ui_AddVersion), m_entry (entry) { ui.setupUi (this); connect (ui.buttonBox, SIGNAL (accepted()), this, SLOT (acceptPressed())); connect (ui.buttonBox, SIGNAL (rejected()), this, SLOT (reject())); connect (ui.findExeButton, SIGNAL (clicked()), this, SLOT (findExePath())); ui.nameField->setText (entry->name); ui.exePathField->setText (entry->pathItem->text()); ui.releaseCheckbox->setChecked (entry->isRelease); } // // ------------------------------------------------------------------------------------------------- // void AddVersionPrompt::acceptPressed() { m_entry->name = ui.nameField->text(); m_entry->isRelease = ui.releaseCheckbox->isChecked(); m_entry->labelItem->setText (m_entry->name); m_entry->pathItem->setText (ui.exePathField->text()); accept(); } // // ------------------------------------------------------------------------------------------------- // AddVersionPrompt::~AddVersionPrompt() { delete &ui; } // // ------------------------------------------------------------------------------------------------- // void AddVersionPrompt::findExePath() { QString path = getBinaryPath (this); if (not path.isEmpty()) ui.exePathField->setText (path); } // // ------------------------------------------------------------------------------------------------- // VersionGuiEntry* AddVersionPrompt::getVersionInfo() { return m_entry; }