]> Shamusworld >> Repos - architektonas/blob - src/forms/dlgmove.cpp
7e750b09c537e3a3e511d8fc8b57d555aea2ec6c
[architektonas] / src / forms / dlgmove.cpp
1 // dlgmove.cpp
2 //
3 // Part of the Architektonas Project
4 // Originally part of QCad Community Edition by Andrew Mustun
5 // Extensively rewritten and refactored by James L. Hammons
6 // (C) 2010 Underground Software
7 //
8 // JLH = James L. Hammons <jlhamm@acm.org>
9 //
10 // Who  When        What
11 // ---  ----------  -----------------------------------------------------------
12 // JLH  06/11/2010  Created this file. :-)
13 //
14
15 #include "dlgmove.h"
16
17 #include "rs_modification.h"
18 #include "settings.h"
19
20 DlgMove::DlgMove(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
21         QDialog(parent, flags)
22 {
23         ui.setupUi(this);
24
25         settings.beginGroup("Modify");
26         copies = settings.value("MoveCopies", "10").toString();
27         numberMode = settings.value("MoveMode", 0).toInt();
28         useCurrentLayer = settings.value("MoveUseCurrentLayer", false).toBool();
29         useCurrentAttributes = settings.value("MoveUseCurrentAttributes", false).toBool();
30         settings.endGroup();
31
32         switch (numberMode)
33         {
34         case 0:
35                 ui.rbMove->setChecked(true);
36                 break;
37
38         case 1:
39                 ui.rbCopy->setChecked(true);
40                 break;
41
42         case 2:
43                 ui.rbMultiCopy->setChecked(true);
44                 break;
45
46         default:
47                 break;
48         }
49
50         ui.leNumber->setText(copies);
51         ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
52         ui.cbCurrentLayer->setChecked(useCurrentLayer);
53 }
54
55 DlgMove::~DlgMove()
56 {
57         settings.beginGroup("Modify");
58         settings.setValue("MoveCopies", ui.leNumber->text());
59
60         if (ui.rbMove->isChecked())
61                 numberMode = 0;
62         else if (ui.rbCopy->isChecked())
63                 numberMode = 1;
64         else
65                 numberMode = 2;
66
67         settings.setValue("MoveMode", numberMode);
68         settings.setValue("MoveUseCurrentLayer", ui.cbCurrentLayer->isChecked());
69         settings.setValue("MoveUseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
70         settings.endGroup();
71 }
72
73 void DlgMove::setData(RS_MoveData * d)
74 {
75         data = d;
76 }
77
78 void DlgMove::updateData()
79 {
80         if (ui.rbMove->isChecked())
81                 data->number = 0;
82         else if (ui.rbCopy->isChecked())
83                 data->number = 1;
84         else
85                 data->number = ui.leNumber->text().toInt();
86
87         data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
88         data->useCurrentLayer = ui.cbCurrentLayer->isChecked();
89 }