Sat, 06 Jun 2015 22:28:34 +0300
Renamed cfg.cpp/h to config.cpp/h
13
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
1 | /* |
30
6b82f6a3ad53
renamed the project to ZCinema
Teemu Piippo <crimsondusk64@gmail.com>
parents:
25
diff
changeset
|
2 | * ZCinema: Zandronum demo launcher |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
3 | * Copyright (C) 2013-2015 Teemu Piippo |
13
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
4 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
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:
10
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:
10
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:
10
diff
changeset
|
8 | * (at your option) any later version. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
9 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
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:
10
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:
10
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
13 | * GNU General Public License for more details. |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
14 | * |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
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:
10
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:
10
diff
changeset
|
17 | */ |
9bdddd2ccde6
now with 3691% extra legalese!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
10
diff
changeset
|
18 | |
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
19 | #include <QFileDialog> |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
20 | #include <QMessageBox> |
6
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
21 | #include "misc.h" |
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
22 | |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
23 | // |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
24 | // ----------------------------------------------------------------------------- |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
25 | // |
6
67b6ef6917ba
Now capable of actually launching demos
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
26 | |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
27 | uint32 makeByteID (uint8 a, uint8 b, uint8 c, uint8 d) |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
28 | { |
10
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
29 | return a | (b << 8) | (c << 16) | (d << 24); |
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
30 | } |
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
31 | |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
32 | // |
10
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
33 | // ----------------------------------------------------------------------------- |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
34 | // |
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
|
35 | |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
36 | QList<QVariant> getVersions() |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
37 | { |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
38 | return Config::get ("versions").toList(); |
10
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
39 | } |
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
40 | |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
41 | // |
10
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
42 | // ----------------------------------------------------------------------------- |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
43 | // |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
44 | |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
45 | QString basename (const QString& path) |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
46 | { |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
47 | int lastpos = path.lastIndexOf ("/"); |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
48 | |
10
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
49 | if (lastpos != -1) |
bc1414343e19
Overhauled the way versions are handled, it's all kept dynamically now.
Teemu Piippo <crimsondusk64@gmail.com>
parents:
8
diff
changeset
|
50 | return path.mid (lastpos + 1); |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
51 | |
8
e8f645d9f28f
Added a prompt for demo information
Teemu Piippo <crimsondusk64@gmail.com>
parents:
6
diff
changeset
|
52 | return path; |
25
256bb5c6b77f
Added a version data editor
Teemu Piippo <crimsondusk64@gmail.com>
parents:
21
diff
changeset
|
53 | } |
256bb5c6b77f
Added a version data editor
Teemu Piippo <crimsondusk64@gmail.com>
parents:
21
diff
changeset
|
54 | |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
55 | // |
25
256bb5c6b77f
Added a version data editor
Teemu Piippo <crimsondusk64@gmail.com>
parents:
21
diff
changeset
|
56 | // ----------------------------------------------------------------------------- |
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
57 | // |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
58 | |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
59 | bool confirm (const QString& text) |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
60 | { |
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
61 | return QMessageBox::question (NULL, QObject::tr ("Confirm"), text, |
25
256bb5c6b77f
Added a version data editor
Teemu Piippo <crimsondusk64@gmail.com>
parents:
21
diff
changeset
|
62 | QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::No; |
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
63 | } |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
64 | |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
65 | // |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
66 | // ------------------------------------------------------------------------------------------------- |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
67 | // |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
68 | |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
69 | QString getBinaryPath (QWidget* parent) |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
70 | { |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
71 | #ifdef _WIN32 |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
72 | # define ZAN_EXE_NAME "zandronum.exe" |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
73 | #else |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
74 | # define ZAN_EXE_NAME "zandronum" |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
75 | #endif |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
76 | |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
77 | return QFileDialog::getOpenFileName (parent, "", "", |
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
78 | "Zandronum Binaries (" ZAN_EXE_NAME ")(" ZAN_EXE_NAME ");;All files (*)(*)"); |
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
|
79 | } |