diff -r db677d321cf4 -r 2c368cf5cc19 src/prompts.cpp
--- a/src/prompts.cpp Fri Jun 05 19:13:44 2015 +0300
+++ b/src/prompts.cpp Sat Jun 06 22:03:00 2015 +0300
@@ -16,15 +16,19 @@
* along with this program. If not, see .
*/
+#include
+#include
#include "prompts.h"
#include "ui_unknownversion.h"
#include "misc.h"
#include "config.h"
#include "ui_findfile.h"
-#include
+#include "ui_addversion.h"
-// =============================================================================
-// -----------------------------------------------------------------------------
+//
+// -------------------------------------------------------------------------------------------------
+//
+
UnknownVersionPrompt::UnknownVersionPrompt (
QString fileName,
QString binaryName,
@@ -38,73 +42,159 @@
{
ui = new Ui_UnknownVersion;
ui->setupUi (this);
-
+
// Replace the placeholders
QString text = ui->m_description->text();
text.replace ("", basename (fileName));
text.replace ("", 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()));
+
+ connect (ui->m_addVersion, SIGNAL (clicked (bool)), this, SLOT (addBinary()));
+ connect (ui->m_findBinary, SIGNAL (clicked (bool)), this, SLOT (findBinary()));
setWindowTitle (versionSignature());
}
-// =============================================================================
-// -----------------------------------------------------------------------------
-UnknownVersionPrompt::~UnknownVersionPrompt() {
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+UnknownVersionPrompt::~UnknownVersionPrompt()
+{
delete ui;
}
-// =============================================================================
-// -----------------------------------------------------------------------------
+//
+// -------------------------------------------------------------------------------------------------
+//
+
void UnknownVersionPrompt::addBinary()
{
- addVersion (ZandronumVersion (m_binaryString, m_isRelease, ui->m_binaryPath->text()));
+ ZandronumVersion version (m_binaryString, m_isRelease, ui->m_binaryPath->text());
+ QList versions = Config::get ("versions").toList();
+ QVariant var;
+ var.setValue (version);
+ versions.append (var);
+ Config::set ("versions", versions);
accept();
}
-// =============================================================================
-// -----------------------------------------------------------------------------
-void UnknownVersionPrompt::findBinary() {
- QString path = ConfigWindow::getBinaryPath (this);
-
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+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() {
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+FindFilePrompt::~FindFilePrompt()
+{
delete m_ui;
}
-// =============================================================================
-// -----------------------------------------------------------------------------
-void FindFilePrompt::findDemo() {
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+void FindFilePrompt::findDemo()
+{
QString path = QFileDialog::getOpenFileName (this, tr ("Open Demo File"),
- QDir::homePath(), tr ("Demo files (*.cld);;All files (*.*)"));
-
- if (!path.isEmpty())
+ QDir::homePath(), tr ("Demo files (*.cld);;All files (*.*)"));
+
+ if (not path.isEmpty())
m_ui->m_path->setText (path);
}
-// =============================================================================
-// -----------------------------------------------------------------------------
-QString FindFilePrompt::path() const {
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+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;
+}
\ No newline at end of file