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 // Portions copyright (C) 2001-2003 RibbonSoft
7 // Copyright (C) 2010 Underground Software
8 // See the README and GPLv2 files for licensing and warranty information
10 // JLH = James L. Hammons <jlhamm@acm.org>
13 // --- ---------- -----------------------------------------------------------
14 // JLH 06/11/2010 Created this file. :-)
17 #include "dlgmoverotate.h"
19 #include "modification.h"
22 DlgMoveRotate::DlgMoveRotate(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
23 QDialog(parent, flags)
27 settings.beginGroup("Modify");
28 copies = settings.value("MoveRotateCopies", "10").toString();
29 numberMode = settings.value("MoveRotateMode", 0).toInt();
30 useCurrentLayer = settings.value("MoveRotateUseCurrentLayer", false).toBool();
31 useCurrentAttributes = settings.value("MoveRotateUseCurrentAttributes", false).toBool();
32 angle = settings.value("MoveRotateAngle", "0.0").toString();
38 ui.rbMove->setChecked(true);
42 ui.rbCopy->setChecked(true);
46 ui.rbMultiCopy->setChecked(true);
53 ui.leNumber->setText(copies);
54 ui.leAngle->setText(angle);
55 ui.cbCurrentAttributes->setChecked(useCurrentAttributes);
56 ui.cbCurrentLayer->setChecked(useCurrentLayer);
59 DlgMoveRotate::~DlgMoveRotate()
61 settings.beginGroup("Modify");
62 settings.setValue("MoveRotateCopies", ui.leNumber->text());
64 if (ui.rbMove->isChecked())
66 else if (ui.rbCopy->isChecked())
71 settings.setValue("MoveRotateMode", numberMode);
72 settings.setValue("MoveRotateAngle", ui.leAngle->text());
73 settings.setValue("MoveRotateUseCurrentLayer", ui.cbCurrentLayer->isChecked());
74 settings.setValue("MoveRotateUseCurrentAttributes", ui.cbCurrentAttributes->isChecked());
78 void DlgMoveRotate::setData(MoveRotateData * d)
81 ui.leAngle->setText(QString("%1").arg(Math::rad2deg(data->angle)));
84 void DlgMoveRotate::updateData()
86 if (ui.rbMove->isChecked())
88 else if (ui.rbCopy->isChecked())
91 data->number = ui.leNumber->text().toInt();
93 data->angle = Math::deg2rad(Math::eval(ui.leAngle->text()));
94 data->useCurrentAttributes = ui.cbCurrentAttributes->isChecked();
95 data->useCurrentLayer = ui.cbCurrentLayer->isChecked();