mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-11 06:34:14 +02:00
955dfb3a73
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.
Icons
QElectroTech loads most icons by name from an icon theme, for example
QIcon::fromTheme("document-save"). An icon theme is a folder of icons
sorted by size, with an index.theme file that lists the sizes. QET
has two themes, qet for light windows and qet-dark for dark ones.
misc/make_icon_themes.py builds both from the source folders below.
| Folder | Contents | Source | Built by a script | License |
|---|---|---|---|---|
qet/traced/ |
QET's icons as SVG, at 16 and 22 px, with smooth versions for larger sizes | Traced from QET's former PNG icons, or drawn by contributors | No | GPL-2.0-or-later |
qet/scalable/ |
QET's SVG icons drawn on a 24 px canvas; 16/ holds 16 px versions |
Drawn by contributors | No | GPL-2.0-or-later |
qet/pages/ |
Settings page icons | Drawn by contributors | No | GPL-2.0-or-later |
breeze/ |
KDE Breeze icons, in folders by pixel size | KDE Breeze | misc/import_breeze_icons.py |
LGPL-3.0-or-later |
breeze/added/ |
16 px versions of Breeze icons that Breeze lacks or draws in another style | Drawn by contributors in the Breeze style | No | LGPL-3.0-or-later |
flags/ |
Language flags | Damien Sorel's flag pack | No | Public domain |
colors/ |
Color swatches for the element editor | Contributed in 2020 | No | GPL-2.0-or-later |
themes/ |
The qet and qet-dark themes; generated/ holds intermediate files |
Built from the folders above | misc/make_icon_themes.py |
Same as the source file |
breeze-icons/ |
App and file-type icons in the Breeze style | Nuri | No | CC-BY-ND-3.0 |
256x256/ |
QET logo for windows, the tray and the About menu; app icon | Nuri | No | CC-BY-ND-3.0 |
mac_icon/, windows_icon/ |
App and file-type icons for macOS and Windows | Nuri | No | CC-BY-ND-3.0 |
splash.png |
Splash screen | Nuri | No | CC-BY-ND-3.0 |
icon-themes.qrc lists the theme files for the Qt resource system and
is written by misc/make_icon_themes.py. Do not edit it by hand.
copyright is the Debian copyright file for the whole project. It
holds the full license and credit for each icon.
Adding an icon
- Put the SVG in
qet/scalable/and add it toSVGSinmisc/make_icon_themes.py. For a Breeze icon, add its name toBREEZEthere instead and runmisc/import_breeze_icons.py. - Run
python3 misc/make_icon_themes.py. - Load it with
QIcon::fromTheme("<name>"). - Credit it in
copyright.