src/dialogs.cpp

changeset 953
8349552ee5e9
parent 952
f116b63c4844
child 957
429c7ed3cc54
equal deleted inserted replaced
952:f116b63c4844 953:8349552ee5e9
36 #include "glRenderer.h" 36 #include "glRenderer.h"
37 #include "documentation.h" 37 #include "documentation.h"
38 #include "ldDocument.h" 38 #include "ldDocument.h"
39 #include "dialogs.h" 39 #include "dialogs.h"
40 #include "ui_overlay.h" 40 #include "ui_overlay.h"
41 #include "ui_ldrawpath.h"
42 #include "ui_openprogress.h" 41 #include "ui_openprogress.h"
43 #include "ui_extprogpath.h" 42 #include "ui_extprogpath.h"
44 #include "ui_about.h" 43 #include "ui_about.h"
45 #include "ui_bombbox.h" 44 #include "ui_bombbox.h"
46 45
158 ui->buttonBox->button (QDialogButtonBox::Ok)->setEnabled (enable); 157 ui->buttonBox->button (QDialogButtonBox::Ok)->setEnabled (enable);
159 } 158 }
160 159
161 // ============================================================================= 160 // =============================================================================
162 // ============================================================================= 161 // =============================================================================
163 LDrawPathDialog::LDrawPathDialog (const bool validDefault, QWidget* parent, Qt::WindowFlags f) :
164 QDialog (parent, f),
165 m_validDefault (validDefault)
166 {
167 ui = new Ui_LDPathUI;
168 ui->setupUi (this);
169 ui->status->setText ("---");
170
171 if (validDefault)
172 ui->heading->hide();
173 else
174 {
175 cancelButton()->setText ("Exit");
176 cancelButton()->setIcon (GetIcon ("exit"));
177 }
178
179 okButton()->setEnabled (false);
180
181 connect (ui->path, SIGNAL (textEdited (QString)), this, SLOT (slot_tryConfigure()));
182 connect (ui->searchButton, SIGNAL (clicked()), this, SLOT (slot_findPath()));
183 connect (ui->buttonBox, SIGNAL (rejected()), this, validDefault ? SLOT (reject()) : SLOT (slot_exit()));
184 connect (ui->buttonBox, SIGNAL (accepted()), this, SLOT (slot_accept()));
185
186 setPath (cfg::LDrawPath);
187
188 if (validDefault)
189 slot_tryConfigure();
190 }
191
192 // =============================================================================
193 // =============================================================================
194 LDrawPathDialog::~LDrawPathDialog()
195 {
196 delete ui;
197 }
198
199 QPushButton* LDrawPathDialog::okButton()
200 {
201 return ui->buttonBox->button (QDialogButtonBox::Ok);
202 }
203
204 QPushButton* LDrawPathDialog::cancelButton()
205 {
206 return ui->buttonBox->button (QDialogButtonBox::Cancel);
207 }
208
209 void LDrawPathDialog::setPath (QString path)
210 {
211 ui->path->setText (path);
212 }
213
214 QString LDrawPathDialog::filename() const
215 {
216 return ui->path->text();
217 }
218
219 // =============================================================================
220 // =============================================================================
221 void LDrawPathDialog::slot_findPath()
222 {
223 QString newpath = QFileDialog::getExistingDirectory (this, "Find LDraw Path");
224
225 if (not newpath.isEmpty())
226 {
227 setPath (newpath);
228 slot_tryConfigure();
229 }
230 }
231
232 // =============================================================================
233 // =============================================================================
234 void LDrawPathDialog::slot_exit()
235 {
236 Exit();
237 }
238
239 // =============================================================================
240 // =============================================================================
241 void LDrawPathDialog::slot_tryConfigure()
242 {
243 if (not LDPaths::tryConfigure (filename()))
244 {
245 ui->status->setText (format ("<span style=\"color:#700; \">%1</span>", LDPaths::getError()));
246 okButton()->setEnabled (false);
247 return;
248 }
249
250 ui->status->setText ("<span style=\"color: #270; \">OK!</span>");
251 okButton()->setEnabled (true);
252 }
253
254 // =============================================================================
255 // =============================================================================
256 void LDrawPathDialog::slot_accept()
257 {
258 Config::Save();
259 accept();
260 }
261
262 // =============================================================================
263 // =============================================================================
264 OpenProgressDialog::OpenProgressDialog (QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f) 162 OpenProgressDialog::OpenProgressDialog (QWidget* parent, Qt::WindowFlags f) : QDialog (parent, f)
265 { 163 {
266 ui = new Ui_OpenProgressUI; 164 ui = new Ui_OpenProgressUI;
267 ui->setupUi (this); 165 ui->setupUi (this);
268 ui->progressText->setText ("Parsing..."); 166 ui->progressText->setText ("Parsing...");

mercurial