Merge remote-tracking branch 'upstream/master' into wiring-manager

Conflicts resolved in 24 files. Notable decisions:

- ico/icon-themes.qrc: upstream's icon folder restructure kept; the 36
  cable icon entries re-added under the new qet/qet-dark path scheme
  (XML valid, every referenced file exists).
- Toolbar system: upstream's DiagramToolbarSettings now owns the
  toolbar filling. The cable tool is registered as
  diagrameditor.add_cable (generic group loop) and listed on the
  "diagram" toolbar right after the auto-break conductor action,
  separated by a divider, exactly like before the merge.
- Paste: the cable lines of a copy are handed to
  PasteNumberingImport::push() as extra commands, so paste + cable
  lines + the numbering question stay ONE undo step on both paste
  paths (DiagramView::paste and DiagramEventAddPaste::commit).
- PDF links: upstream's deterministic link sorting kept together with
  the cable cross-reference injector (injectLinkTo -> links list).
- Element renumbering: upstream's ElementAutoNumSchemeCommand::renumber
  replaces the old formula-based body of
  QETProject::renumberElementsBySchemeTitle; the cable numbering rule
  API (cableAutoNum, axis priority, rule name) is kept in full.
- Auto-numbering pages: upstream's scheme management kept, the Câbles
  tab added as index 4 (changeToCableTab), both entry points
  changeToCable() and changeToElement() kept side by side.
- SelectAutonumW: dirty tracking and the contextEdited signal moved
  into upstream's insertPartRow() row API, so single-rule mode, the
  rule-removable button and "confirm without change leaves the project
  alone" keep working.
- xrefpropertieswidget: upstream's offset clamping kept; the cable
  branch (Texte field, Police button, hidden display options) kept;
  the stack-overlapping checkbox is hidden for cables.

Verified after the merge: build green (515/515, no errors), ctest
85/86 (only the pre-existing headless tst_menubarkeyboard failure),
offscreen smoke exit 124.
This commit is contained in:
Kellermorph
2026-10-09 14:09:08 +02:00
1767 changed files with 194544 additions and 72846 deletions
+23 -3
View File
@@ -28,6 +28,8 @@ class QAbstractButton;
class FormulaAutonumberingW;
class QComboBox;
class QPushButton;
class QToolButton;
class QHBoxLayout;
namespace Ui {
class SelectAutonumW;
@@ -89,6 +91,7 @@ class SelectAutonumW : public QWidget
@param can_remove true when a rule is really there
*/
void setRuleRemovable(bool can_remove);
void setExplicitNaming();
signals:
void applyPressed();
@@ -101,6 +104,9 @@ class SelectAutonumW : public QWidget
write now.
*/
void contextEdited();
/// Only with setExplicitNaming()
void newClicked();
void renameClicked();
//SLOT
private slots:
@@ -108,16 +114,30 @@ class SelectAutonumW : public QWidget
void on_remove_button_clicked();
void on_buttonBox_clicked(QAbstractButton *);
void applyEnable (bool = true);
void on_m_next_pb_clicked();
void on_m_previous_pb_clicked();
void on_m_comboBox_currentTextChanged(const QString &arg1);
//ATTRIBUTES
void on_m_remove_pb_clicked();
private:
/// A part of the definition, with the buttons at its right
struct PartRow
{
QWidget *row = nullptr;
NumPartEditorW *part = nullptr;
QToolButton *up = nullptr;
QToolButton *down = nullptr;
QToolButton *remove = nullptr;
};
void insertPartRow(NumPartEditorW *part);
void removePartRow(QWidget *row);
void movePartRow(QWidget *row, int step);
void updatePartButtons();
void clearPartRows();
Ui::SelectAutonumW *ui;
QList <NumPartEditorW *> num_part_list_;
QList <PartRow> m_rows;
QWidget *m_add_row = nullptr; ///< holds the add button, under the last part
NumerotationContext m_context;
FormulaAutonumberingW *m_feaw;
FormulaAutonumberingW *m_fcaw;