Tue, 06 Aug 2013 13:32:07 +0300
Converted configuration code to use QSettings.
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
1 | /* |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
2 | * LDForge: LDraw parts authoring CAD |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
3 | * Copyright (C) 2013 Santeri Piippo |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
4 | * |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
5 | * This program is free software: you can redistribute it and/or modify |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
6 | * it under the terms of the GNU General Public License as published by |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
7 | * the Free Software Foundation, either version 3 of the License, or |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
8 | * (at your option) any later version. |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
9 | * |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
13 | * GNU General Public License for more details. |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
14 | * |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
17 | */ |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
18 | |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
19 | #include <QDialog> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
20 | #include <QLineEdit> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
21 | #include <QSpinBox> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
22 | #include <QDialogButtonBox> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
23 | #include <QFileDialog> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
24 | #include <QLabel> |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
25 | #include <QPushButton> |
202
a027f6fc6141
Un-templated CheckBoxGroup, moved it and RadioButton into widgets.cpp/widgets.h; removed license text tab because I think LICENSE is enough.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
200
diff
changeset
|
26 | #include <QBoxLayout> |
211
8d35e631bef3
Added dialog for rotation points
Santeri Piippo <crimsondusk64@gmail.com>
parents:
202
diff
changeset
|
27 | #include <QGridLayout> |
431
ec1e2059319b
stability to downloading
Santeri Piippo <crimsondusk64@gmail.com>
parents:
421
diff
changeset
|
28 | #include <QProgressBar> |
262
56f8987f4c7c
Fixed behavior of mid-button vertex selector, add ability to all-replace and relative moving to replace coords
Santeri Piippo <crimsondusk64@gmail.com>
parents:
259
diff
changeset
|
29 | #include <QCheckBox> |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
30 | |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
31 | #include "dialogs.h" |
202
a027f6fc6141
Un-templated CheckBoxGroup, moved it and RadioButton into widgets.cpp/widgets.h; removed license text tab because I think LICENSE is enough.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
200
diff
changeset
|
32 | #include "widgets.h" |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
33 | #include "gui.h" |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
34 | #include "gldraw.h" |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
35 | #include "docs.h" |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
36 | #include "file.h" |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
37 | #include "dialogs.h" |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
38 | #include "ui_overlay.h" |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
39 | #include "ui_ldrawpath.h" |
370
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
40 | #include "ui_openprogress.h" |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
41 | |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
42 | extern_cfg (str, io_ldpath); |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
43 | |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
44 | // ============================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
45 | OverlayDialog::OverlayDialog (QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f) { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
46 | ui = new Ui_OverlayUI; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
47 | ui->setupUi (this); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
48 | |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
49 | m_cameraArgs = { |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
50 | { ui->top, GL::Top }, |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
51 | { ui->bottom, GL::Bottom }, |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
52 | { ui->front, GL::Front }, |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
53 | { ui->back, GL::Back }, |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
54 | { ui->left, GL::Left }, |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
55 | { ui->right, GL::Right } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
56 | }; |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
57 | |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
58 | GL::Camera cam = g_win->R()->camera(); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
59 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
60 | if (cam == GL::Free) |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
61 | cam = GL::Top; |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
62 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
63 | connect (ui->width, SIGNAL (valueChanged (double)), this, SLOT (slot_dimensionsChanged())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
64 | connect (ui->height, SIGNAL (valueChanged (double)), this, SLOT (slot_dimensionsChanged())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
65 | connect (ui->buttonBox, SIGNAL (helpRequested()), this, SLOT (slot_help())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
66 | connect (ui->fileSearchButton, SIGNAL (clicked (bool)), this, SLOT (slot_fpath())); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
67 | |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
68 | slot_dimensionsChanged(); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
69 | fillDefaults (cam); |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
70 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
71 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
72 | OverlayDialog::~OverlayDialog() { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
73 | delete ui; |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
74 | } |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
75 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
76 | void OverlayDialog::fillDefaults (int newcam) { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
77 | overlayMeta& info = g_win->R()->getOverlay (newcam); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
78 | radioDefault<int> (newcam, m_cameraArgs); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
79 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
80 | if (info.img != null) { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
81 | ui->filename->setText (info.fname); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
82 | ui->originX->setValue (info.ox); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
83 | ui->originY->setValue (info.oy); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
84 | ui->width->setValue (info.lw); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
85 | ui->height->setValue (info.lh); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
86 | } else { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
87 | ui->filename->setText (""); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
88 | ui->originX->setValue (0); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
89 | ui->originY->setValue (0); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
90 | ui->width->setValue (0.0f); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
91 | ui->height->setValue (0.0f); |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
92 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
93 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
94 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
95 | str OverlayDialog::fpath() const { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
96 | return ui->filename->text(); |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
97 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
98 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
99 | ushort OverlayDialog::ofsx() const { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
100 | return ui->originX->value(); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
101 | } |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
102 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
103 | ushort OverlayDialog::ofsy() const { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
104 | return ui->originY->value(); |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
105 | } |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
106 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
107 | double OverlayDialog::lwidth() const { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
108 | return ui->width->value(); |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
109 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
110 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
111 | double OverlayDialog::lheight() const { |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
112 | return ui->height->value(); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
113 | } |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
114 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
115 | int OverlayDialog::camera() const { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
116 | return radioSwitch<int> (GL::Top, m_cameraArgs); |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
117 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
118 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
119 | void OverlayDialog::slot_fpath() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
120 | ui->filename->setText (QFileDialog::getOpenFileName (null, "Overlay image")); |
198
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
121 | } |
f246725199dc
Split some stuff into separate files
Santeri Piippo <crimsondusk64@gmail.com>
parents:
diff
changeset
|
122 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
123 | void OverlayDialog::slot_help() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
124 | showDocumentation (g_docs_overlays); |
335
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
125 | } |
30c11cff511d
Converted overlay prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
333
diff
changeset
|
126 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
127 | void OverlayDialog::slot_dimensionsChanged() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
128 | bool enable = (ui->width->value() != 0) || (ui->height->value() != 0); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
129 | ui->buttonBox->button (QDialogButtonBox::Ok)->setEnabled (enable); |
199
10dd5909a50e
Made Qt file includes more proper (<QLineEdit> instead of <qlineedit.h>), merged setContentsDialog.cpp into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
198
diff
changeset
|
130 | } |
10dd5909a50e
Made Qt file includes more proper (<QLineEdit> instead of <qlineedit.h>), merged setContentsDialog.cpp into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
198
diff
changeset
|
131 | |
258
f9c48d4481e1
Fixed text editing not triggering configuration. So simple..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
251
diff
changeset
|
132 | // ================================================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
133 | LDrawPathDialog::LDrawPathDialog (const bool validDefault, QWidget* parent, Qt::WindowFlags f) : |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
134 | QDialog (parent, f), |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
135 | m_validDefault (validDefault) { |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
136 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
137 | ui = new Ui_LDPathUI; |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
138 | ui->setupUi (this); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
139 | ui->status->setText ("---"); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
140 | |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
141 | if (validDefault) |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
142 | ui->heading->hide(); |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
143 | else { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
144 | cancelButton()->setText ("Exit"); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
145 | cancelButton()->setIcon (getIcon ("exit")); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
146 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
147 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
148 | okButton()->setEnabled (false); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
149 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
150 | connect (ui->path, SIGNAL (textEdited (QString)), this, SLOT (slot_tryConfigure())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
151 | connect (ui->searchButton, SIGNAL (clicked()), this, SLOT (slot_findPath())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
152 | connect (ui->buttonBox, SIGNAL (rejected()), this, validDefault ? SLOT (reject()) : SLOT (slot_exit())); |
436
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
153 | connect (ui->buttonBox, SIGNAL (accepted()), this, SLOT (slot_accept())); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
154 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
155 | setPath (io_ldpath); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
156 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
157 | if (validDefault) |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
158 | slot_tryConfigure(); |
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
159 | } |
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
160 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
161 | LDrawPathDialog::~LDrawPathDialog() { |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
162 | delete ui; |
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
163 | } |
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
164 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
165 | QPushButton* LDrawPathDialog::okButton() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
166 | return ui->buttonBox->button (QDialogButtonBox::Ok); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
167 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
168 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
169 | QPushButton* LDrawPathDialog::cancelButton() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
170 | return ui->buttonBox->button (QDialogButtonBox::Cancel); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
171 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
172 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
173 | void LDrawPathDialog::setPath (str path) { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
174 | ui->path->setText (path); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
175 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
176 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
177 | str LDrawPathDialog::filename() const { |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
178 | return ui->path->text(); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
179 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
180 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
181 | void LDrawPathDialog::slot_findPath() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
182 | str newpath = QFileDialog::getExistingDirectory (this, "Find LDraw Path"); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
183 | |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
184 | if (newpath.length() > 0 && newpath != filename()) { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
185 | setPath (newpath); |
337
4e05207c76c9
Converted ldraw path prompt
Santeri Piippo <crimsondusk64@gmail.com>
parents:
335
diff
changeset
|
186 | slot_tryConfigure(); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
187 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
188 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
189 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
190 | void LDrawPathDialog::slot_exit() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
191 | exit (1); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
192 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
193 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
194 | void LDrawPathDialog::slot_tryConfigure() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
195 | if (LDPaths::tryConfigure (filename()) == false) { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
196 | ui->status->setText (fmt ("<span style=\"color:#700; \">%1</span>", LDPaths::getError())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
197 | okButton()->setEnabled (false); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
198 | return; |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
199 | } |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
200 | |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
201 | ui->status->setText ("<span style=\"color: #270; \">OK!</span>"); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
202 | okButton()->setEnabled (true); |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
203 | } |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
204 | |
436
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
205 | void LDrawPathDialog::slot_accept() { |
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
206 | config::save(); |
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
207 | accept(); |
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
208 | } |
4268a5507725
Converted configuration code to use QSettings.
Santeri Piippo <crimsondusk64@gmail.com>
parents:
431
diff
changeset
|
209 | |
200
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
210 | // ============================================================================= |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
211 | // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
5583af82087e
Merged new part and LDraw path dialogs into dialogs.cpp
Santeri Piippo <crimsondusk64@gmail.com>
parents:
199
diff
changeset
|
212 | // ============================================================================= |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
213 | OpenProgressDialog::OpenProgressDialog (QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f) { |
370
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
214 | ui = new Ui_OpenProgressUI; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
215 | ui->setupUi (this); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
216 | ui->progressText->setText ("Parsing..."); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
217 | |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
218 | setNumLines (0); |
370
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
219 | m_progress = 0; |
248
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
220 | } |
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
221 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
222 | OpenProgressDialog::~OpenProgressDialog() { |
370
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
223 | delete ui; |
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
224 | } |
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
225 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
226 | READ_ACCESSOR (ulong, OpenProgressDialog::numLines) { |
274
d232fe4d88a6
Reworked properties a bit
Santeri Piippo <crimsondusk64@gmail.com>
parents:
270
diff
changeset
|
227 | return m_numLines; |
d232fe4d88a6
Reworked properties a bit
Santeri Piippo <crimsondusk64@gmail.com>
parents:
270
diff
changeset
|
228 | } |
d232fe4d88a6
Reworked properties a bit
Santeri Piippo <crimsondusk64@gmail.com>
parents:
270
diff
changeset
|
229 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
230 | SET_ACCESSOR (ulong, OpenProgressDialog::setNumLines) { |
274
d232fe4d88a6
Reworked properties a bit
Santeri Piippo <crimsondusk64@gmail.com>
parents:
270
diff
changeset
|
231 | m_numLines = val; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
232 | ui->progressBar->setRange (0, numLines()); |
370
843b3dbbd849
make file loading be done properly as just a QObject rather than multi-threaded..
Santeri Piippo <crimsondusk64@gmail.com>
parents:
337
diff
changeset
|
233 | updateValues(); |
248
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
234 | } |
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
235 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
236 | void OpenProgressDialog::updateValues() { |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
237 | ui->progressText->setText (fmt ("Parsing... %1 / %2", progress(), numLines())); |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
238 | ui->progressBar->setValue (progress()); |
248
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
239 | } |
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
240 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
241 | void OpenProgressDialog::updateProgress (int progress) { |
248
4431371f3ffe
Added a progress dialog for file loading to respond to desktops while loading files. With large files the no-response policy could be a bad thing. My first real use case of multi-threading...
Santeri Piippo <crimsondusk64@gmail.com>
parents:
226
diff
changeset
|
242 | m_progress = progress; |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
243 | updateValues(); |
410
a5aebcf4a1c8
Include the moc files in the source cpp files to reduce compile time
Santeri Piippo <crimsondusk64@gmail.com>
parents:
370
diff
changeset
|
244 | } |
a5aebcf4a1c8
Include the moc files in the source cpp files to reduce compile time
Santeri Piippo <crimsondusk64@gmail.com>
parents:
370
diff
changeset
|
245 | |
421
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
246 | #include "build/moc_dialogs.cpp" |
7d26db0be944
style cleanup - it should be all unified now
Santeri Piippo <crimsondusk64@gmail.com>
parents:
410
diff
changeset
|
247 | // kate: indent-mode cstyle; indent-width 4; replace-tabs off; tab-width 4; |