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
8 // JLH = James L. Hammons <jlhamm@acm.org>
11 // --- ---------- -----------------------------------------------------------
12 // JLH 06/12/2010 Created this file. :-)
15 #include "dlgrotate2.h"
17 #include "rs_modification.h"
20 DlgRotate2::DlgRotate2(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
21 QDialog(parent, flags)
25 settings.beginGroup("Modify");
26 copies = settings.value("Rotate2Copies", "10").toString();
27 numberMode = settings.value("Rotate2Mode", 0).toInt();
28 useCurrentLayer = settings.value("Rotate2UseCurrentLayer", false).toBool();
29 useCurrentAttributes = settings.value("MoveRotate2UseCurrentAttributes", false).toBool();
30 angle1 = settings.value("Rotate2Angle1", "30.0").toString();
31 angle2 = settings.value("Rotate2Angle2", "-30.0").toString();
37 ui.rbMove->setChecked(true);
41 ui.rbCopy->setChecked(true);
45 ui.rbMultiCopy->setChecked(true);
52 ui.leNumber->setText(copies);
53 ui.leAngle1->setText(angle1);
54 ui.leAngle2->setText(angle2);
55 ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
56 ui.cbCurrentLayer->setChecked(useCurrentLayer);
59 DlgRotate2::~DlgRotate2()
61 settings.beginGroup("Modify");
62 settings.setValue("Rotate2Copies", ui.leNumber->text());
64 if (ui.rbMove->isChecked())
66 else if (ui.rbCopy->isChecked())
71 settings.setValue("Rotate2Mode", numberMode);
72 settings.setValue("Rotate2Angle1", ui.leAngle1->text());
73 settings.setValue("Rotate2Angle2", ui.leAngle2->text());
74 settings.setValue("Rotate2UseCurrentLayer", ui.cbCurrentLayer->isChecked());
75 settings.setValue("Rotate2UseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
79 void DlgRotate2::setData(RS_Rotate2Data * d)
83 //leAngle1->setText(QString("%1").arg(RS_Math::rad2deg(data->angle1)));
84 //leAngle2->setText(QString("%1").arg(RS_Math::rad2deg(data->angle2)));
87 void DlgRotate2::updateData()
89 if (ui.rbMove->isChecked())
91 else if (ui.rbCopy->isChecked())
94 data->number = ui.leNumber->text().toInt();
96 data->angle1 = RS_Math::deg2rad(RS_Math::eval(ui.leAngle1->text()));
97 data->angle2 = RS_Math::deg2rad(RS_Math::eval(ui.leAngle2->text()));
98 data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
99 data->useCurrentLayer = ui.cbCurrentLayer->isChecked();