| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | #include "qg_trimamountoptions.h" |
| | #include "rs_actionmodifytrimamount.h" |
| | #include "ui_qg_trimamountoptions.h" |
| |
|
| | |
| | |
| | |
| | |
| | QG_TrimAmountOptions::QG_TrimAmountOptions() |
| | :LC_ActionOptionsWidgetBase(RS2::ActionModifyTrimAmount,"Modify","Trim"), ui(new Ui::Ui_TrimAmountOptions{}){ |
| | ui->setupUi(this); |
| | connect(ui->leDist, &QLineEdit::editingFinished, this, &QG_TrimAmountOptions::onDistEditingFinished); |
| | connect(ui->cbSymmetric, &QCheckBox::toggled, this, &QG_TrimAmountOptions::onSymmetricToggled); |
| | connect(ui->cbTotalLength, &QCheckBox::toggled, this, &QG_TrimAmountOptions::onTotalLengthToggled); |
| |
|
| | pickDistanceSetup("length", ui->tbPickLength, ui->leDist); |
| | } |
| |
|
| | |
| | |
| | |
| | QG_TrimAmountOptions::~QG_TrimAmountOptions() { |
| | m_action = nullptr; |
| | }; |
| |
|
| | |
| | |
| | |
| | |
| | void QG_TrimAmountOptions::languageChange() { |
| | ui->retranslateUi(this); |
| | } |
| |
|
| | void QG_TrimAmountOptions::doSaveSettings() { |
| | save("Amount", ui->leDist->text()); |
| | save("AmountTotal", ui->cbTotalLength->isChecked()); |
| | save("AmountSymmetric", ui->cbSymmetric->isChecked()); |
| | } |
| |
|
| | void QG_TrimAmountOptions::doSetAction(RS_ActionInterface* a, bool update) { |
| | m_action = dynamic_cast<RS_ActionModifyTrimAmount*>(a); |
| |
|
| | QString distance; |
| | bool byTotal; |
| | bool symmetric; |
| | |
| | if (update) { |
| | distance = QString("%1").arg(m_action->getDistance()); |
| | byTotal = m_action->isDistanceTotalLength(); |
| | symmetric = m_action->isSymmetricDistance(); |
| | } |
| | |
| | else { |
| | distance = load("Amount", "1.0"); |
| | byTotal = loadBool("AmountTotal", false); |
| | symmetric = loadBool("AmountSymmetric", false); |
| | } |
| | setDistanceToActionAndView(distance); |
| | setByTotalToActionAndView(byTotal); |
| | setDistanceSymmetricToActionAndView(symmetric); |
| | } |
| |
|
| | void QG_TrimAmountOptions::onDistEditingFinished(){ |
| | setDistanceToActionAndView(ui->leDist->text()); |
| | } |
| |
|
| | void QG_TrimAmountOptions::onTotalLengthToggled(bool checked){ |
| | setByTotalToActionAndView(checked); |
| | } |
| |
|
| | void QG_TrimAmountOptions::onSymmetricToggled(bool checked) { |
| | setDistanceSymmetricToActionAndView(checked); |
| | } |
| |
|
| | void QG_TrimAmountOptions::setDistanceToActionAndView(const QString& strValue) { |
| | double val; |
| | if (toDouble(strValue, val, 1.0, false)) { |
| | m_action->setDistance(val); |
| | ui->leDist->setText(strValue); |
| | } |
| | } |
| |
|
| | void QG_TrimAmountOptions::setByTotalToActionAndView(bool val) { |
| | m_action->setDistanceIsTotalLength(val); |
| | ui->cbTotalLength->setChecked(val); |
| | ui->cbSymmetric->setEnabled(!val); |
| | } |
| |
|
| | void QG_TrimAmountOptions::setDistanceSymmetricToActionAndView(bool val) { |
| | m_action->setSymmetricDistance(val); |
| | ui->cbSymmetric->setChecked(val); |
| | } |
| |
|