]> Shamusworld >> Repos - architektonas/blob - src/forms/dlgmirror.cpp
b3706335cd42198dd31394961e496907bb91eabf
[architektonas] / src / forms / dlgmirror.cpp
1 // dlgmirror.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 "dlgmirror.h"
16
17 #include "rs_modification.h"
18 #include "settings.h"
19
20 DlgMirror::DlgMirror(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
21         QDialog(parent, flags)
22 {
23         ui.setupUi(this);
24
25         settings.beginGroup("Modify");
26         numberMode = settings.value("MirrorMode", 0).toInt();
27         useCurrentLayer = settings.value("MirrorUseCurrentLayer", false).toBool();
28         useCurrentAttributes = settings.value("MirrorUseCurrentAttributes", false).toBool();
29         settings.endGroup();
30
31         switch (numberMode)
32         {
33         case 0:
34                 ui.rbMove->setChecked(true);
35                 break;
36
37         case 1:
38                 ui.rbCopy->setChecked(true);
39                 break;
40
41         default:
42                 break;
43         }
44
45         ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
46         ui.cbCurrentLayer->setChecked(useCurrentLayer);
47 }
48
49 DlgMirror::~DlgMirror()
50 {
51         settings.beginGroup("Modify");
52
53         if (ui.rbMove->isChecked())
54                 numberMode = 0;
55         else if (ui.rbCopy->isChecked())
56                 numberMode = 1;
57         else
58                 numberMode = 2;
59
60         settings.setValue("MirrorMode", numberMode);
61         settings.setValue("MirrorUseCurrentLayer", ui.cbCurrentLayer->isChecked());
62         settings.setValue("MirrorUseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
63         settings.endGroup();
64 }
65
66 void DlgMirror::setData(RS_MirrorData * d)
67 {
68         data = d;
69 }
70
71 void DlgMirror::updateData()
72 {
73         if (ui.rbMove->isChecked())
74                 data->copy = false;
75         else if (ui.rbCopy->isChecked())
76                 data->copy = true;
77
78         data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
79         data->useCurrentLayer = ui.cbCurrentLayer->isChecked();
80 }