Sun, 18 Aug 2013 17:30:58 +0300
Rewrote stud logo support, restructuring inlining stuff in the process. Logoed studs must only be used for rendering scenes, otherwise they will for instance get inlined in and that's not desired, or the vertex snapper will catch onto the logo's coordinates.
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
1 | /* |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
2 | * LDForge: LDraw parts authoring CAD |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
3 | * Copyright (C) 2013 Santeri Piippo |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
4 | * |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
5 | * This program is free software: you can redistribute it and/or modify |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
7 | * the Free Software Foundation, either version 3 of the License, or |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
8 | * (at your option) any later version. |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
9 | * |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
13 | * GNU General Public License for more details. |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
14 | * |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
17 | */ |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
18 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
19 | #ifndef CONFIGDIALOG_H |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
20 | #define CONFIGDIALOG_H |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
21 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
22 | #include "gui.h" |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
23 | #include <QDialog> |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
24 | |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
25 | class Ui_ConfigUI; |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
26 | class QLabel; |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
27 | class QDoubleSpinBox; |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
28 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
29 | // ============================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
30 | class ShortcutListItem : public QListWidgetItem { |
382
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
31 | PROPERTY (keyseqconfig*, keyConfig, setKeyConfig) |
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
32 | PROPERTY (QAction*, action, setAction) |
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
33 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
34 | public: |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
35 | explicit ShortcutListItem (QListWidget* view = null, int type = Type) : |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
36 | QListWidgetItem (view, type) {} |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
37 | }; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
38 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
39 | // ============================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
40 | class ConfigDialog : public QDialog { |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
41 | Q_OBJECT |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
42 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
43 | public: |
382
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
44 | ConfigDialog (ForgeWindow* parent); |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
45 | virtual ~ConfigDialog(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
46 | static void staticDialog(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
47 | const Ui_ConfigUI* getUI() const; |
382
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
48 | float getGridValue (int i, int j) const; |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
49 | |
402
ec95fc95e5f3
Renamed vector to List, changed it to wrap around std::deque.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
395
diff
changeset
|
50 | List<LDQuickColor> quickColors; |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
51 | QDoubleSpinBox* dsb_gridData[3][4]; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
52 | |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
53 | private: |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
54 | Ui_ConfigUI* ui; |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
55 | QLabel* lb_gridLabels[3]; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
56 | QLabel* lb_gridIcons[3]; |
402
ec95fc95e5f3
Renamed vector to List, changed it to wrap around std::deque.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
395
diff
changeset
|
57 | List<QListWidgetItem*> quickColorItems; |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
58 | |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
59 | void initMainTab(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
60 | void initShortcutsTab(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
61 | void initQuickColorTab(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
62 | void initGridTab(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
63 | void initExtProgTab(); |
382
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
64 | void addShortcut (keyseqconfig& cfg, QAction* act, ulong& i); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
65 | void setButtonBackground (QPushButton* button, str value); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
66 | void pickColor (strconfig& cfg, QPushButton* button); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
67 | void updateQuickColorList (LDQuickColor* sel = null); |
382
c1642530ea35
Converted ForgeWindow to Designer UI(!)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
367
diff
changeset
|
68 | void setShortcutText (ShortcutListItem* item); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
69 | int getItemRow (QListWidgetItem* item, List<QListWidgetItem*>& haystack); |
395
5210bcb1d7e0
Further restructure, removed GUI toolbar icon size slider (always 22x22 now)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
382
diff
changeset
|
70 | str quickColorString(); |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
71 | QListWidgetItem* getSelectedQuickColor(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
72 | QList<ShortcutListItem*> getShortcutSelection(); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
73 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
74 | private slots: |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
75 | void slot_setGLBackground(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
76 | void slot_setGLForeground(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
77 | void slot_setShortcut(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
78 | void slot_resetShortcut(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
79 | void slot_clearShortcut(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
80 | void slot_setColor(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
81 | void slot_delColor(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
82 | void slot_addColorSeparator(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
83 | void slot_moveColor(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
84 | void slot_clearColors(); |
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
85 | void slot_setExtProgPath(); |
430
8458cf2719d1
added config option, refined logic and regexps. This behaves coherently now. :)
Santeri Piippo <crimsondusk64@gmail.com>
parents:
421
diff
changeset
|
86 | void slot_findDownloadFolder(); |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
87 | }; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
88 | |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
89 | // ============================================================================= |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
90 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
91 | // ============================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
92 | class KeySequenceDialog : public QDialog { |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
93 | Q_OBJECT |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
94 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
95 | public: |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
96 | explicit KeySequenceDialog (QKeySequence seq, QWidget* parent = null, Qt::WindowFlags f = 0); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
97 | static bool staticDialog (keyseqconfig* cfg, QWidget* parent = null); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
98 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
99 | QLabel* lb_output; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
100 | QDialogButtonBox* bbx_buttons; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
101 | QKeySequence seq; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
102 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
103 | private: |
328
b6a814a608c6
Converted the config dialog to a designer UI file
Santeri Piippo <crimsondusk64@gmail.com>
parents:
252
diff
changeset
|
104 | void updateOutput(); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
105 | |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
106 | private slots: |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
107 | virtual void keyPressEvent (QKeyEvent* ev) override; |
183
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
108 | }; |
f1b8cb53d2a2
Moved source files to src/, removed zz_ prefix off dialog files.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
109 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
402
diff
changeset
|
110 | #endif // CONFIGDIALOG_H |