Sun, 28 Nov 2021 23:53:23 +0200
Simplify ZandronumVersion structure
|
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 | |
|
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
19 | #pragma once |
| 2 | 20 | #include <QDialog> |
|
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
21 | #include "commonlib/types.h" |
| 2 | 22 | |
|
39
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 | // |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
26 | |
|
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
27 | class ConfigWindow : public QDialog |
|
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
28 | { |
|
3
d0b278fd29d5
Implemented wad path list
Teemu Piippo <crimsondusk64@gmail.com>
parents:
2
diff
changeset
|
29 | Q_OBJECT |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
30 | |
| 2 | 31 | public: |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
32 | enum |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
33 | { |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
34 | LabelColumn, |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
35 | PathColumn, |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
36 | }; |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
37 | |
|
54
0b3a5bc4e8a8
VersionGuiEntry is now a proper class.
Teemu Piippo <tsapii@utu.fi>
parents:
46
diff
changeset
|
38 | typedef QMap<class QTableWidgetItem*, class VersionGuiEntry*> VersionEntryMap; |
|
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
39 | |
|
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
40 | ConfigWindow (QWidget* parent = NULL, Qt::WindowFlags f = 0); |
|
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
41 | virtual ~ConfigWindow(); |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
42 | |
|
3
d0b278fd29d5
Implemented wad path list
Teemu Piippo <crimsondusk64@gmail.com>
parents:
2
diff
changeset
|
43 | public slots: |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
44 | void addWadPath(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
45 | void findWadPath(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
46 | void removeCurrentWadPath(); |
|
56
bdbbde5f754e
Added the ability to automatically look up wad paths from other sources (for now just Doomseeker's configuration). By default, ZCinema will automatically do such a lookup if it fails to find a WAD needed for demo playback. This can also be invoked manually in the config prompt.
Teemu Piippo <tsapii@utu.fi>
parents:
55
diff
changeset
|
47 | void autoFindWadPaths(); |
|
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
48 | void buttonPressed (class QAbstractButton* btn); |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
49 | void newVersion(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
50 | void removeCurrentVersion(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
51 | void editExePressed(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
52 | void clearExePathsClicked(); |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
53 | |
| 2 | 54 | private: |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
55 | class Ui_ConfigBox& ui; |
| 55 | 56 | QList<class VersionGuiEntry*> m_versionEntries; |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
57 | VersionEntryMap m_versionEntryMap; |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
58 | |
|
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
59 | void addWadPath (QString path); |
| 55 | 60 | class VersionGuiEntry* addVersion (const ZandronumVersion& version); |
| 61 | class VersionGuiEntry* currentVersionEntry(); | |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
62 | void initFromSettings(); |
| 55 | 63 | void removeVersion (class VersionGuiEntry* entry); |
|
39
2c368cf5cc19
Finally done with the new Zandronum version handling
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
64 | void saveSettings(); |
|
37
c82a86ea87be
Major rework, lots of internal maintenance, version editor removed
Teemu Piippo <crimsondusk64@gmail.com>
parents:
30
diff
changeset
|
65 | }; |