Skip to content

Commit f23b6a5

Browse files
committed
Add the KeepExisting option for renumbering.
1 parent 3ebf52b commit f23b6a5

5 files changed

Lines changed: 29 additions & 3 deletions

File tree

addons/src/renumber/renumberdialog.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ void RenumberDialog::renumClicked()
8787
mRenumWithComm->setEnabled(false);
8888
mRenumEmpty->setEnabled(false);
8989
mRenumMarked->setEnabled(true);
90+
mKeepExisting->setEnabled(false);
9091
mCheckDivide->setEnabled(true);
9192
divideClicked();
9293
}
@@ -103,6 +104,7 @@ void RenumberDialog::mRenumHeClicked()
103104
mRenumWithComm->setEnabled(false);
104105
mRenumEmpty->setEnabled(true);
105106
mRenumMarked->setEnabled(false);
107+
mKeepExisting->setEnabled(false);
106108
mCheckDivide->setEnabled(true);
107109
divideClicked();
108110
}
@@ -119,6 +121,7 @@ void RenumberDialog::allLinesClicked()
119121
mRenumWithComm->setEnabled(true);
120122
mRenumEmpty->setEnabled(true);
121123
mRenumMarked->setEnabled(false);
124+
mKeepExisting->setEnabled(true);
122125
mCheckDivide->setEnabled(true);
123126
divideClicked();
124127
}
@@ -135,6 +138,7 @@ void RenumberDialog::removeAllClicked()
135138
mRenumWithComm->setEnabled(false);
136139
mRenumEmpty->setEnabled(false);
137140
mRenumMarked->setEnabled(false);
141+
mKeepExisting->setEnabled(false);
138142
mCheckDivide->setEnabled(false);
139143
divideClicked();
140144
}
@@ -147,6 +151,7 @@ void RenumberDialog::setOptions(const RenumberOptions& options)
147151
mRenumEmpty->setChecked(options.renumEmpty);
148152
mRenumWithComm->setChecked(options.renumComm);
149153
mRenumMarked->setChecked(options.renumMarked);
154+
mKeepExisting->setChecked(options.keepExisting);
150155
toInput->setValue(options.to);
151156
mSpinBox->setValue(options.width);
152157
mCheckDivide->setChecked(options.applyWidth);
@@ -191,6 +196,7 @@ RenumberOptions RenumberDialog::options()
191196
options.renumEmpty = mRenumEmpty->isChecked();
192197
options.renumComm = mRenumWithComm->isChecked();
193198
options.renumMarked = mRenumMarked->isChecked();
199+
options.keepExisting = mKeepExisting->isChecked();
194200
options.to = toInput->value();
195201
options.width = mSpinBox->value();
196202
options.applyWidth = mCheckDivide->isChecked();

addons/src/renumber/renumberdialog.ui

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,22 @@
223223
</property>
224224
</widget>
225225
</item>
226+
<item row="9" column="0">
227+
<widget class="QCheckBox" name="mKeepExisting">
228+
<property name="enabled">
229+
<bool>false</bool>
230+
</property>
231+
<property name="checked">
232+
<bool>true</bool>
233+
</property>
234+
<property name="text">
235+
<string>Keep existing block numbers.</string>
236+
</property>
237+
<property name="toolTip">
238+
<string>Keep already existing block numbers for empty lines.</string>
239+
</property>
240+
</widget>
241+
</item>
226242
</layout>
227243
</widget>
228244
</item>

addons/src/renumber/renumberoptions.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2023 Nick Egorrov, nicegorov@yandex.ru
2+
* Copyright (C) 2023-2025 Nick Egorrov, nicegorov@yandex.ru
33
*
44
* This file is part of GCodeWorkShop.
55
*
@@ -26,6 +26,7 @@
2626
#define CFG_KEY_APPLY_WIDTH "ApplyWidth"
2727
#define CFG_KEY_FROM "From"
2828
#define CFG_KEY_INC "Inc"
29+
#define CFG_KEY_KEEP_EXISTING "KeepExisting"
2930
#define CFG_KEY_MODE "Mode"
3031
#define CFG_KEY_RENUM_EMPTY "RenumEmpty"
3132
#define CFG_KEY_RENUM_MARKED "RenumMarked"
@@ -46,6 +47,7 @@ void RenumberOptions::load(QSettings* settings, const RenumberOptions& defaultOp
4647
renumComm = settings->value(CFG_KEY_RENUM_WITH_COMM, defaultOptions.renumComm).toBool();
4748
renumEmpty = settings->value(CFG_KEY_RENUM_EMPTY, defaultOptions.renumEmpty).toBool();
4849
renumMarked = settings->value(CFG_KEY_RENUM_MARKED, defaultOptions.renumMarked).toBool();
50+
keepExisting = settings->value(CFG_KEY_KEEP_EXISTING, defaultOptions.keepExisting).toBool();
4951
width = settings->value(CFG_KEY_WIDTH, defaultOptions.width).toInt();
5052
}
5153

@@ -58,6 +60,7 @@ void RenumberOptions::save(QSettings* settings)
5860
settings->setValue(CFG_KEY_RENUM_WITH_COMM, renumComm);
5961
settings->setValue(CFG_KEY_RENUM_EMPTY, renumEmpty);
6062
settings->setValue(CFG_KEY_RENUM_MARKED, renumMarked);
63+
settings->setValue(CFG_KEY_KEEP_EXISTING, keepExisting);
6164
settings->setValue(CFG_KEY_START, startAt);
6265
settings->setValue(CFG_KEY_TO, to);
6366
settings->setValue(CFG_KEY_WIDTH, width);

addons/src/renumber/renumberoptions.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2023 Nick Egorrov, nicegorov@yandex.ru
2+
* Copyright (C) 2023-2025 Nick Egorrov, nicegorov@yandex.ru
33
*
44
* This file is part of GCodeWorkShop.
55
*
@@ -41,6 +41,7 @@ struct RenumberOptions {
4141
bool renumEmpty;
4242
bool renumComm;
4343
bool renumMarked;
44+
bool keepExisting;
4445

4546
void load(QSettings* settings, const RenumberOptions& defaultOptions);
4647
void save(QSettings* settings);

addons/src/renumber/utils-renumber.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ bool Utils::renumber(QString& text, const RenumberOptions& opt, const std::funct
6060
break;
6161

6262
case RenumberOptions::RenumberAll:
63-
localChange = renumberAll(line, num, width, opt.renumEmpty, opt.renumComm, true);
63+
localChange = renumberAll(line, num, width, opt.renumEmpty, opt.renumComm, opt.keepExisting);
6464
break;
6565

6666
case RenumberOptions::RemoveAll:

0 commit comments

Comments
 (0)