Mon, 01 Jun 2015 17:06:13 +0300
Converted to CMake
13
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
1 | /* |
30
6b82f6a3ad53
renamed the project to ZCinema
Teemu Piippo <crimsondusk64@gmail.com>
parents:
26
diff
changeset
|
2 | * ZCinema: Zandronum demo launcher |
13
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
3 | * Copyright (C) 2013 Santeri Piippo |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
4 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
5 | * This program is free software: you can redistribute it and/or modify |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
7 | * the Free Software Foundation, either version 3 of the License, or |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
8 | * (at your option) any later version. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
9 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
13 | * GNU General Public License for more details. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
14 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
17 | */ |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
12
diff
changeset
|
18 | |
12 | 19 | #include "prompts.h" |
20 | #include "ui_unknownversion.h" | |
21 | #include "misc.h" | |
20
a5457405cc9b
Use the cfg:: namespace system I made up a while ago instead of using QSettings directly, it's unsafe
Teemu Piippo <crimsondusk64@gmail.com>
parents:
13
diff
changeset
|
22 | #include "config.h" |
26
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
23 | #include "ui_findfile.h" |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
24 | #include <QFileDialog> |
12 | 25 | |
26 | // ============================================================================= | |
27 | // ----------------------------------------------------------------------------- | |
28 | UnknownVersionPrompt::UnknownVersionPrompt ( | |
29 | str fileName, | |
30 | str binaryName, | |
31 | bool isRelease, | |
32 | QWidget* parent, | |
33 | Qt::WindowFlags f | |
34 | ) : | |
35 | QDialog (parent, f), | |
36 | m_binaryString (binaryName), | |
37 | m_isRelease (isRelease) | |
38 | { | |
39 | ui = new Ui_UnknownVersion; | |
40 | ui->setupUi (this); | |
41 | ||
42 | // Replace the placeholders | |
43 | str text = ui->m_description->text(); | |
44 | text.replace ("<DEMO>", basename (fileName)); | |
45 | text.replace ("<VERSION>", binaryName); | |
46 | ui->m_description->setText (text); | |
47 | ||
48 | connect (ui->m_addVersion, SIGNAL (clicked(bool)), this, SLOT (addBinary())); | |
49 | connect (ui->m_findBinary, SIGNAL (clicked(bool)), this, SLOT (findBinary())); | |
26
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
50 | setWindowTitle (versionSignature()); |
12 | 51 | } |
52 | ||
53 | // ============================================================================= | |
54 | // ----------------------------------------------------------------------------- | |
55 | UnknownVersionPrompt::~UnknownVersionPrompt() { | |
56 | delete ui; | |
57 | } | |
58 | ||
59 | // ============================================================================= | |
60 | // ----------------------------------------------------------------------------- | |
61 | void UnknownVersionPrompt::addBinary() { | |
62 | addVersion (m_binaryString, m_isRelease, ui->m_binaryPath->text()); | |
63 | accept(); | |
64 | } | |
65 | ||
66 | // ============================================================================= | |
67 | // ----------------------------------------------------------------------------- | |
68 | void UnknownVersionPrompt::findBinary() { | |
69 | str path = ConfigBox::getBinaryPath (this); | |
70 | ||
71 | if (path.isEmpty()) | |
72 | return; | |
73 | ||
74 | ui->m_binaryPath->setText (path); | |
26
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
75 | } |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
76 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
77 | // ============================================================================= |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
78 | // ----------------------------------------------------------------------------- |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
79 | FindFilePrompt::FindFilePrompt (QWidget* parent, Qt::WindowFlags f) : |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
80 | QDialog (parent, f), |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
81 | m_ui (new Ui_FindFile) |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
82 | { |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
83 | m_ui->setupUi (this); |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
84 | connect (m_ui->m_find, SIGNAL (clicked()), this, SLOT (findDemo())); |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
85 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
86 | setWindowTitle (versionSignature()); |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
87 | } |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
88 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
89 | // ============================================================================= |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
90 | // ----------------------------------------------------------------------------- |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
91 | FindFilePrompt::~FindFilePrompt() { |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
92 | delete m_ui; |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
93 | } |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
94 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
95 | // ============================================================================= |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
96 | // ----------------------------------------------------------------------------- |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
97 | void FindFilePrompt::findDemo() { |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
98 | str path = QFileDialog::getOpenFileName (this, tr ("Open Demo File"), |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
99 | QDir::homePath(), tr ("Demo files (*.cld);;All files (*.*)")); |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
100 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
101 | if (!path.isEmpty()) |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
102 | m_ui->m_path->setText (path); |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
103 | } |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
104 | |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
105 | // ============================================================================= |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
106 | // ----------------------------------------------------------------------------- |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
107 | str FindFilePrompt::path() const { |
9aab482c9125
When launched with no parameters, prompt the user for a demo
Teemu Piippo <crimsondusk64@gmail.com>
parents:
20
diff
changeset
|
108 | return m_ui->m_path->text(); |
36 | 109 | } |