| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "qg_modifyoffsetoptions.h" |
| | #include "ui_qg_modifyoffsetoptions.h" |
| | #include "rs_actionmodifyoffset.h" |
| |
|
| | |
| | |
| | |
| | QG_ModifyOffsetOptions::QG_ModifyOffsetOptions() |
| | : LC_ActionOptionsWidgetBase(RS2::ActionModifyOffset, "Draw", "ModifyOffset") |
| | , ui(new Ui::Ui_ModifyOffsetOptions{}){ |
| | ui->setupUi(this); |
| | connect(ui->cbKeepOriginals, &QCheckBox::clicked, this, &QG_ModifyOffsetOptions::cbKeepOriginalsClicked); |
| | connect(ui->cbMultipleCopies, &QCheckBox::clicked, this, &QG_ModifyOffsetOptions::cbMultipleCopiesClicked); |
| | connect(ui->cbCurrentAttr, &QCheckBox::clicked, this, &QG_ModifyOffsetOptions::cbUseCurrentAttributesClicked); |
| | connect(ui->cbCurrentLayer, &QCheckBox::clicked, this, &QG_ModifyOffsetOptions::cbUseCurrentLayerClicked); |
| | connect(ui->leDist, &QLineEdit::editingFinished, this, &QG_ModifyOffsetOptions::onDistEditingFinished); |
| | connect(ui->sbNumberOfCopies, &QSpinBox::valueChanged, this, &QG_ModifyOffsetOptions::onNumberOfCopiesValueChanged); |
| | connect(ui->cbFixedDistance, &QCheckBox::clicked, this, &QG_ModifyOffsetOptions::onFixedDistanceClicked); |
| | pickDistanceSetup("distance", ui->tbPickDistance, ui->leDist); |
| | } |
| |
|
| | |
| | |
| | |
| | QG_ModifyOffsetOptions::~QG_ModifyOffsetOptions() = default; |
| |
|
| | |
| | |
| | |
| | |
| | void QG_ModifyOffsetOptions::languageChange(){ |
| | ui->retranslateUi(this); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::doSaveSettings() { |
| | save("Distance", ui->leDist->text()); |
| | save("DistanceFixed", ui->cbFixedDistance->isChecked()); |
| |
|
| | save("UseCurrentLayer", ui->cbCurrentLayer->isChecked()); |
| | save("UseCurrentAttributes", ui->cbCurrentAttr->isChecked()); |
| | save("KeepOriginals", ui->cbKeepOriginals->isChecked()); |
| | save("MultipleCopies", ui->cbMultipleCopies->isChecked()); |
| | save("Copies", ui->sbNumberOfCopies->value()); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::doSetAction(RS_ActionInterface *a, bool update) { |
| | m_action = dynamic_cast<RS_ActionModifyOffset *>(a); |
| |
|
| | QString dist; |
| | bool distanceFixed; |
| |
|
| | bool useMultipleCopies; |
| | bool keepOriginals; |
| | bool useCurrentLayer; |
| | bool useCurrentAttributes; |
| | int copiesNumber; |
| |
|
| | if (update) { |
| | dist = fromDouble(m_action->getDistance()); |
| | distanceFixed = m_action->isFixedDistance(); |
| | useCurrentLayer = m_action->isUseCurrentLayer(); |
| | useCurrentAttributes = m_action->isUseCurrentAttributes(); |
| | copiesNumber = m_action->getCopiesNumber(); |
| | keepOriginals = m_action->isKeepOriginals(); |
| | useMultipleCopies = m_action->isUseMultipleCopies(); |
| | } else { |
| | dist = load("Distance", "1.0"); |
| | distanceFixed = loadBool("DistanceFixed", true); |
| | useCurrentLayer = loadBool("UseCurrentLayer", true); |
| | useCurrentAttributes = loadBool("UseCurrentAttributes", true); |
| | keepOriginals = loadBool("KeepOriginals", true); |
| | useMultipleCopies = loadBool("MultipleCopies", false); |
| | copiesNumber = loadInt("Copies", 1); |
| | } |
| | setDistanceToActionAndView(dist); |
| | setDistanceFixedToActionAndView(distanceFixed); |
| | setUseMultipleCopiesToActionAndView(useMultipleCopies); |
| | setCopiesNumberToActionAndView(copiesNumber); |
| | setUseCurrentLayerToActionAndView(useCurrentLayer); |
| | setUseCurrentAttributesToActionAndView(useCurrentAttributes); |
| | setKeepOriginalsToActionAndView(keepOriginals); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::onDistEditingFinished() { |
| | setDistanceToActionAndView(ui->leDist->text()); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::onFixedDistanceClicked(bool val) { |
| | setDistanceFixedToActionAndView(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setDistanceFixedToActionAndView(bool val) { |
| | m_action->setDistanceFixed(val); |
| | ui->leDist->setEnabled(val); |
| | ui->tbPickDistance->setEnabled(val); |
| | ui->cbFixedDistance->setChecked(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setDistanceToActionAndView(QString val) { |
| | double distance; |
| | if (toDouble(val, distance, 1.0, false)) { |
| | m_action->setDistance(distance); |
| | ui->leDist->setText(fromDouble(distance)); |
| | } |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setCopiesNumberToActionAndView(int number) { |
| | if (number < 1){ |
| | number = 1; |
| | } |
| | m_action->setCopiesNumber(number); |
| | ui->sbNumberOfCopies->setValue(number); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setUseMultipleCopiesToActionAndView(bool copies) { |
| | m_action->setUseMultipleCopies(copies); |
| | ui->cbMultipleCopies->setChecked(copies); |
| | ui->sbNumberOfCopies->setEnabled(copies); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setUseCurrentLayerToActionAndView(bool val) { |
| | m_action->setUseCurrentLayer(val); |
| | ui->cbCurrentLayer->setChecked(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setUseCurrentAttributesToActionAndView(bool val) { |
| | m_action->setUseCurrentAttributes(val); |
| | ui->cbCurrentAttr->setChecked(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::setKeepOriginalsToActionAndView(bool val) { |
| | m_action->setKeepOriginals(val); |
| | ui->cbKeepOriginals->setChecked(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::cbKeepOriginalsClicked(bool val) { |
| | setKeepOriginalsToActionAndView(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::cbMultipleCopiesClicked(bool val) { |
| | setUseMultipleCopiesToActionAndView(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::cbUseCurrentAttributesClicked(bool val) { |
| | setUseCurrentAttributesToActionAndView(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::cbUseCurrentLayerClicked(bool val) { |
| | setUseCurrentLayerToActionAndView(val); |
| | } |
| |
|
| | void QG_ModifyOffsetOptions::onNumberOfCopiesValueChanged(int number) { |
| | setCopiesNumberToActionAndView(number); |
| | } |
| |
|