src-config/addversionprompt.cpp

changeset 44
d0bf58f3560f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src-config/addversionprompt.cpp	Sat Jun 06 23:02:51 2015 +0300
@@ -0,0 +1,85 @@
+/*
+ *  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 <QTableWidget>
+#include "addversionprompt.h"
+#include "configwindow.h"
+#include "misc.h"
+#include "ui_addversion.h"
+
+//
+// -------------------------------------------------------------------------------------------------
+//
+
+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

mercurial