Compare commits

...

550 Commits

Author SHA1 Message Date
Laurent Trinques
b8ed1713a7 Update windows-build.yml 2026-05-10 12:18:40 +02:00
Laurent Trinques
ae3e01e564 Update windows CI/CD pipeline
Some checks failed
Windows Build / build-windows (push) Has been cancelled
2026-05-10 09:56:02 +02:00
Laurent Trinques
a4bdade3db git submodule update --remote elements
Some checks failed
Windows Build / build-windows (push) Has been cancelled
2026-05-08 13:25:59 +02:00
Laurent Trinques
4bbc54f6e3 git submodule update --remote elements 2026-05-08 12:36:40 +02:00
Laurent Trinques
b1466ec649 Update windows-build.yml
Some checks failed
Windows Build / build-windows (push) Has been cancelled
2026-05-02 22:37:13 +02:00
Laurent Trinques
5c3aeb598d Update windows-build.yml 2026-05-02 22:15:17 +02:00
Laurent Trinques
baab669b25 Update windows-build.yml 2026-05-02 21:47:44 +02:00
Laurent Trinques
5704d67d7d Update windows-build.yml 2026-05-02 21:25:12 +02:00
Laurent Trinques
b0ad485c10 Update windows-build.yml
Some checks failed
Windows Build / build-windows (push) Has been cancelled
2026-05-01 18:20:19 +02:00
Laurent Trinques
8ac216bd6b Delete .github/workflows/publish-edge-snap.yml 2026-05-01 18:01:38 +02:00
Laurent Trinques
ae9380a9c9 Update windows-build.yml 2026-05-01 18:00:34 +02:00
Laurent Trinques
0f07174734 Update windows-build.yml 2026-05-01 17:29:18 +02:00
Laurent Trinques
e53a57bdac Update windows-build.yml 2026-05-01 17:20:23 +02:00
Laurent Trinques
f46bafa706 Merge pull request #457 from scorpio810/Windows_ci
Try to add Windows build CI workflow
2026-05-01 17:08:51 +02:00
Laurent Trinques
ba856c2fff Add Windows build workflow 2026-05-01 17:01:31 +02:00
Laurent Trinques
9c835ce362 Update auto-doxygen.yml 2026-05-01 09:41:32 +02:00
Laurent Trinques
e720af44db Update translation ts files
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m20s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-30 10:10:02 +02:00
Laurent Trinques
22455aa506 Merge pull request #456 from Kellermorph/makro-fix
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m37s
Auto-build doxygen docs / deploy (push) Has been skipped
Fixed: Prevented the selection in the project tree from jumping to the last page when saving.
2026-04-30 08:49:55 +02:00
Kellermorph
a2b6516eb3 Fixed: Prevented the selection in the project tree from jumping to the last page when saving. 2026-04-30 07:54:53 +02:00
Laurent Trinques
bbf156c489 Merge pull request #455 from Kellermorph/makro-fix
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m38s
Auto-build doxygen docs / deploy (push) Has been skipped
Fix Thumbnail in Makrotree
2026-04-29 17:37:19 +02:00
Kellermorph
946aa37e78 delete german notes 2026-04-29 16:17:49 +02:00
Kellermorph
b8c85f9e96 Fix placing Template 2026-04-29 16:15:58 +02:00
Kellermorph
ee8114d42c Fix Thumbnail in Makrotree 2026-04-29 15:56:00 +02:00
Laurent Trinques
0abfecd891 Merge pull request #454 from Kellermorph/update-translation-de
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m43s
Auto-build doxygen docs / deploy (push) Has been skipped
Update German translation for macro feature
2026-04-28 06:19:10 +02:00
Kellermorph
a434575857 Update German translation for macro feature 2026-04-27 20:43:20 +02:00
Laurent Trinques
fc7d8f5f6f Merge pull request #451 from Kellermorph/makro
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m31s
Auto-build doxygen docs / deploy (push) Has been skipped
Draft: Feature - Introduce User Templates Collection and Dedicated UI Tab
2026-04-26 14:10:07 +02:00
Kellermorph
1d451a6490 Fix include paths for NameList header 2026-04-26 13:01:19 +02:00
Kellermorph
0118d94d4e makro 2026-04-26 10:48:47 +02:00
Laurent Trinques
b80875c583 Fix typo in previous commit
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m30s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-25 12:54:52 +02:00
Laurent Trinques
b54327e649 Revert "Update translation missing in qelectrotech_appdata.xml, electrotech.xml, org_qelectrotech_qelectrotech.desktop"
This reverts commit e046b8289d.
2026-04-25 12:52:39 +02:00
Laurent Trinques
e046b8289d Update translation missing in qelectrotech_appdata.xml, electrotech.xml, org_qelectrotech_qelectrotech.desktop 2026-04-25 12:42:39 +02:00
Laurent Trinques
941efe6405 Typo 2026-04-25 12:05:29 +02:00
Laurent Trinques
07e11ea659 Try to fix NSIS : LangString "Fonts" is not set in language table of language * 2026-04-25 12:01:06 +02:00
Laurent Trinques
387f96b556 Update packaging_script_Debian_Ubuntu_Windows.sh 2026-04-25 11:29:48 +02:00
Laurent Trinques
0832ef47a8 NSIS add Fonts directory on Windows installer 2026-04-25 11:17:48 +02:00
Laurent Trinques
bc7f852f79 Add Missing language translations for QElectroTech installer
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m10s
Auto-build doxygen docs / deploy (push) Has been skipped
Languages added: hu, ja, mn, nb, nl_BE, nl_NL, pt_BR, rs/sr, sk, sl, sv, tr, uk, zh
2026-04-24 13:29:39 +02:00
Laurent Trinques
d1e10afd61 Add notes.md
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m34s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-24 13:05:27 +02:00
Laurent Trinques
8aa384d305 NSIS: remove LANG_DUTCH_BELGIAN
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m11s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-23 14:40:35 +02:00
Laurent Trinques
b321460116 NSIS, tRy to add LANG_DUTCH_BELGIAN, improve others not translated strings 2026-04-23 14:18:57 +02:00
Laurent Trinques
416ec501fe GenerateSvg: Corrected view:
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m28s
Auto-build doxygen docs / deploy (push) Has been skipped
The contents of svg export is not correctly centered within the exported
area, thanks Tom
https://qelectrotech.org/forum/viewtopic.php?pid=22781#p22781
2026-04-23 09:49:42 +02:00
Laurent Trinques
145810f33a Update Windows installer NSIS to 3.X version 2026-04-23 09:31:46 +02:00
Laurent Trinques
4f70468a29 Merge pull request #452 from ChuckNr11/master
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m29s
Auto-build doxygen docs / deploy (push) Has been skipped
Fix losing Focus on moving diagram position with keyboard
2026-04-19 14:32:37 +02:00
ChuckNr11
f60acad3b3 Fix losing Focus on moving diagram position with keyboard
Due to the changes made in the commit "Add highlight current page in
ProjectView", there is a problem when moving diagrams in the ProjectView
using the keyboard. The diagrams lose focus after being moved.
The cause is: The DiagramItem loses its selection before the move
function is executed.

The code has been adjusted.
2026-04-19 10:44:52 +02:00
Kellermorph
ee65142b65 makro 2026-04-16 12:47:02 +02:00
Laurent Trinques
03bb97b529 Add DE binary translation *qm file.
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m9s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-15 17:06:29 +02:00
Laurent Trinques
a4b90f3cc7 Merge pull request #450 from Kellermorph/master
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m29s
Auto-build doxygen docs / deploy (push) Has been skipped
Update translation
2026-04-15 06:20:24 +02:00
Kellermorph
d57a219977 Merge branch 'master' into master 2026-04-14 21:54:01 +02:00
Kellermorph
03afa9e318 Update translation 2026-04-14 21:49:05 +02:00
Laurent Trinques
37cec4afce Fix french translations
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 2m21s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-12 12:46:15 +02:00
Laurent Trinques
12f04a7b08 Update translation files *TS
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m6s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-09 18:56:24 +02:00
Laurent Trinques
ba77b3dabb Update qelectrotech.appdata.xml 2026-04-09 17:13:18 +02:00
Laurent Trinques
2e6953bbd0 Update org.qelectrotech.qelectrotech.desktop 2026-04-09 17:05:26 +02:00
Laurent Trinques
c4e05f817c Merge pull request #449 from Kellermorph/feature-terminal-numbering
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m40s
Auto-build doxygen docs / deploy (push) Has been skipped
Automatic Terminal Numbering Tool
2026-04-09 13:02:40 +02:00
Kellermorph
eb8f859038 Terminal numbering 2026-04-09 08:36:54 +02:00
Laurent Trinques
16650ed6af Update org.qelectrotech.QElectroTech.json
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 38s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-06 10:19:26 +02:00
Laurent Trinques
3b3171dc93 Update org.qelectrotech.QElectroTech.json 2026-04-06 09:18:39 +02:00
Laurent Trinques
500c42c86b Delete build-aux/flatpak/patches/0001-build-Fix-the-installation-paths.patch 2026-04-06 08:41:56 +02:00
Laurent Trinques
2f3e46e488 Add files via upload 2026-04-06 08:41:27 +02:00
Laurent Trinques
290ef97ec2 Delete build-aux/flatpak/fix-appdata.patch 2026-04-06 08:37:15 +02:00
Laurent Trinques
f0923e7560 Delete build-aux/flatpak/tkinter-build.patch 2026-04-06 08:36:57 +02:00
Laurent Trinques
b32de35afd Add files via upload 2026-04-06 08:34:20 +02:00
Laurent Trinques
8aad1c0cab Update org.qelectrotech.QElectroTech.json 2026-04-06 08:31:42 +02:00
Laurent Trinques
d365e19619 Update org.qelectrotech.QElectroTech.json 2026-04-06 06:55:18 +02:00
Laurent Trinques
27b977e9f3 Update translation TS files 2026-04-06 06:12:01 +02:00
Laurent Trinques
54e19f4074 Merge pull request #448 from ChuckNr11/master
Supplement to pull request #444 by Kellermorph
2026-04-06 05:50:03 +02:00
Laurent Trinques
8af1fd708f Merge pull request #447 from Kellermorph/feature-verdrahtungsplan
Add RAM-based wiring list export
2026-04-06 05:47:24 +02:00
ChuckNr11
a64e414d63 Fix: incorrect display after deleting a diagram in elements panel 2026-04-05 22:44:35 +02:00
ChuckNr11
2ed8d76e2d add buttons 'one page left/right' to projectView tab bar
Disable the QTabWidget internal scroll buttons and add own buttons for
scroll 'one page left' and scroll 'one page right'. The scrolled
diagrams will be activated.
2026-04-05 22:39:53 +02:00
ChuckNr11
679647f52a Change operation of elementsPanel
corresponding to operation of project and diagram tabs
- click on the item activates the corresponding diagram or project.
- double click opens the corresponding properties editor.
- selecting with the up and down arrow keys has the same effect.
2026-04-05 22:21:34 +02:00
ChuckNr11
a82f6de23b Add highlight current page in ProjectView
- on clicking project tab
- on moving diagram tab
- on adding project
- on adding diagram
2026-04-05 22:11:38 +02:00
ChuckNr11
6452e03cdc refactor: move code to other place for cleaner code
connections for projectviews are made in "addProjectView"
2026-04-05 21:56:33 +02:00
Kellermorph
51725d9d8e Replace conductornumexport.cpp with wiringlistexport.h 2026-04-05 18:32:35 +02:00
Kellermorph
a45a7d4e4d Remove comments about live RAM capture
Removed commented-out code explaining live RAM capture.
2026-04-05 09:09:51 +02:00
Kellermorph
bc9173d726 Add RAM-based wiring list export 2026-04-05 08:33:37 +02:00
Laurent Trinques
19712d72ef TYpo
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 35s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-03 14:14:29 +02:00
Laurent Trinques
f23ec620dc Typo
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 35s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-02 20:51:19 +02:00
Laurent Trinques
47d2107d99 Update translation file *.TS
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 35s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-04-02 17:15:19 +02:00
Laurent Trinques
0a4c3f4601 Improve comment! 2026-04-02 17:05:06 +02:00
Laurent Trinques
ab24b74c72 Now, elementproperties widget: add MAX contact slave, and count slave
contacts linked to this master, show these informations only when
element type is master.
2026-04-02 15:46:56 +02:00
Laurent Trinques
380d12e675 Typo 2026-04-02 15:35:04 +02:00
Laurent Trinques
d0d3194afa On elementpropertieswidget add MAX conctact slave contact and count
slave contacts linked to this master
2026-04-02 15:07:50 +02:00
Laurent Trinques
b18f5f5e41 Update translation file *.TS 2026-04-02 12:01:38 +02:00
Laurent Trinques
8a1b0575ab git submodule update --remote elements 2026-04-02 11:49:06 +02:00
Laurent Trinques
67ec648706 Merge pull request #444 from Kellermorph/master
Follow-up: Address review comments for slave limit feature
2026-04-02 11:47:21 +02:00
Kellermorph
9b77b4d4fa Update rectangle height and add QLabel for hidden masters 2026-04-01 16:51:41 +02:00
Kellermorph
225edec091 Translate warning message to French 2026-03-31 20:33:44 +02:00
Kellermorph
62dbaddab2 Update checkbox text for max slaves setting 2026-03-31 20:21:03 +02:00
Kellermorph
f5857bb1fd Update comment for clarity in element properties editor 2026-03-31 20:15:35 +02:00
Kellermorph
825eeb77e4 Translate comments to English and clarify filtering logic 2026-03-31 20:14:51 +02:00
Kellermorph
780cf8b054 Set default text color for slave Xref item 2026-03-31 19:57:45 +02:00
Kellermorph
605392cf9b Filter out full MasterElements from elmt_vector
Added filtering for full MasterElements from the list of elements.
2026-03-31 17:53:01 +02:00
Kellermorph
3795ddb1f5 Refactor context menu and link button logic 2026-03-31 17:52:26 +02:00
Kellermorph
ecee2209e6 Add isFull method to check Slave-Limit 2026-03-31 17:51:53 +02:00
Kellermorph
246dd0a42f Refactor MasterElement::isFull for clarity 2026-03-31 17:51:32 +02:00
Kellermorph
89a4aaac28 Refactor conditional checks for Master type 2026-03-31 17:50:46 +02:00
Kellermorph
79edc3fbb7 Clean up whitespace in elementdata.h
Removed unnecessary blank lines in elementdata.h
2026-03-31 17:50:22 +02:00
Kellermorph
52f61ab500 Refactor max_slaves handling in ElementPropertiesEditor 2026-03-31 17:49:21 +02:00
Kellermorph
1bbb374094 Update height and add max slaves options in UI 2026-03-31 17:47:45 +02:00
Laurent Trinques
c220d84fcb Update elementdata.h 2026-03-31 16:23:05 +02:00
Kellermorph
4834d41432 Merge branch 'master' into master 2026-03-31 14:14:02 +02:00
Kellermorph
378aa8899f Remove resizing of first column in properties editor
Removed resizing of the first column in the information tree.
2026-03-30 21:16:00 +02:00
Kellermorph
0cd71cbe16 Conditionally save max_slaves if limit is set 2026-03-30 21:15:15 +02:00
Kellermorph
9344515d2a Refactor isFull method to simplify max_slaves logic 2026-03-30 21:14:48 +02:00
Kellermorph
9149128f7a Refactor comments and improve code formatting 2026-03-30 21:14:10 +02:00
Kellermorph
5296c1b478 Change initialization of m_max_slaves and m_contact_count 2026-03-30 21:13:26 +02:00
Laurent Trinques
b4c8af55d3 Merge pull request #443 from Kellermorph/master
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m50s
Auto-build doxygen docs / deploy (push) Has been skipped
Feature: Auto-select active diagram in the elements panel tree
2026-03-29 22:04:08 +02:00
Laurent Trinques
cb47094a1f Update README.md 2026-03-29 22:00:43 +02:00
Laurent Trinques
3f1db24d6d Update README.md 2026-03-29 21:58:32 +02:00
Kellermorph
1af0c1ca8b Refactor addDiagram and updateDiagramItem signatures 2026-03-29 18:14:10 +02:00
Kellermorph
bea1fb4353 Refactor elements_panel to elementsPanel 2026-03-29 18:13:14 +02:00
Kellermorph
2f69716e3c Change access modifier to private for attributes
Changed access modifier of elements_panel and QAction attributes from public to private.
2026-03-29 18:12:17 +02:00
Kellermorph
277fa087bc Fix formatting in genericpanel.h method signatures 2026-03-28 14:49:31 +01:00
Kellermorph
9693df4252 Highlight current page in ProjectView on diagram activation 2026-03-28 14:49:00 +01:00
Kellermorph
6b80fbb08d Change access modifier of elements_panel to public 2026-03-28 14:48:18 +01:00
Laurent Trinques
7425c83231 Merge pull request #442 from qelectrotech/revert-441-master
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m52s
Auto-build doxygen docs / deploy (push) Has been skipped
Revert "Feature: Implement max_slaves limit for Master elements"
2026-03-27 15:33:48 +01:00
Laurent Trinques
815e959a2d Revert "Feature: Implement max_slaves limit for Master elements" 2026-03-27 15:33:03 +01:00
Laurent Trinques
97f113d333 Merge pull request #441 from Kellermorph/master
Feature: Implement max_slaves limit for Master elements
2026-03-27 14:55:35 +01:00
Kellermorph
de91ab0a4b Implement limit check for linked items
Added a check for the maximum limit of linked items before moving an item from free_list to linked_list.
2026-03-26 15:29:41 +01:00
Kellermorph
84c755a0c8 Filter out full MasterElements from element list
Added filtering for full MasterElements from the list of elements.
2026-03-26 15:29:03 +01:00
Kellermorph
e9e11635d8 Add isFull method to check slave limit
Added a new method to check if the slave limit is reached.
2026-03-26 15:27:45 +01:00
Kellermorph
2e684471a9 Add isFull method to MasterElement class 2026-03-26 15:27:05 +01:00
Kellermorph
61889f4c17 Add m_max_slaves member to ElementData class 2026-03-26 15:25:55 +01:00
Kellermorph
c946df8588 Implement max_slaves storage in elementdata
Added functionality to store and retrieve max_slaves attribute.
2026-03-26 15:25:19 +01:00
Kellermorph
33da828035 Increase height and add max slaves options in UI
https://qelectrotech.org/forum/viewtopic.php?id=3101
2026-03-26 15:24:17 +01:00
Kellermorph
6515827f34 Refactor ElementPropertiesEditorWidget and add EditorDelegate
https://qelectrotech.org/forum/viewtopic.php?id=3101
2026-03-26 15:23:17 +01:00
Kellermorph
536315ebc0 Update masterelement.cpp for max_slaves
https://qelectrotech.org/forum/viewtopic.php?id=3101
2026-03-26 15:21:34 +01:00
Laurent Trinques
baec0a4afb Fix https://github.com/qelectrotech/qelectrotech-source-mirror/issues/439
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m38s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-03-08 14:10:50 +01:00
Laurent Trinques
4b19a88f2d git submodule update --remote elements
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m39s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-03-05 16:25:44 +01:00
Laurent Trinques
248b3a04d2 Fix https://github.com/qelectrotech/qelectrotech-source-mirror/issues/437 2026-03-05 16:23:54 +01:00
Laurent Trinques
40f7889849 git add qet_cs.qm
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m32s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-02-10 17:31:30 +01:00
Laurent Trinques
430ead5674 Merge pull request #434 from pafri/patch-2
Update qet_cs.ts
2026-02-10 17:29:01 +01:00
pafri
e52e42af45 Update qet_cs.ts
Hi,
I´ve made an update of Czech localization file.
Please commit it.
2026-02-09 08:30:28 +01:00
Laurent Trinques
b7b131f619 Merge pull request #433 from qelectrotech/update-qch
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m25s
Auto-build doxygen docs / deploy (push) Has been skipped
Update QCH Help file
2026-02-06 14:44:18 +01:00
scorpio810
accc92ef90 update QCH file 2026-02-06 13:26:54 +00:00
Laurent Trinques
89be949201 Update auto-doxygen.yml 2026-02-06 14:22:23 +01:00
Laurent Trinques
fe52babc34 Update QET64.nsi
Some checks failed
Auto-build doxygen docs / doxygen (push) Failing after 1m43s
Auto-build doxygen docs / deploy (push) Has been skipped
2026-02-05 15:37:47 +01:00
Laurent Trinques
f4ff6b1b60 Update QET64.nsi 2026-02-05 15:34:49 +01:00
Laurent Trinques
23b5aa9f14 Merge pull request #431 from Kyle-Code-CA/patch-13
Create Korean man page for QElectroTech
2026-02-05 15:32:44 +01:00
Laurent Trinques
bd84f8749d Merge pull request #430 from Kyle-Code-CA/patch-11
Update ELEMENTS.LICENSE
2026-02-05 15:30:02 +01:00
Laurent Trinques
d7c032f977 Merge pull request #429 from Kyle-Code-CA/patch-10
Update CREDIT
2026-02-05 15:28:40 +01:00
정광호
478f753b92 Remove placeholder email from qelectrotech man page
Removed placeholder email for Jung Kwang-ho.
2026-02-05 23:14:43 +09:00
정광호
42b6678c00 Create Korean man page for QElectroTech
Add Korean manual for QElectroTech application
2026-02-05 23:09:44 +09:00
정광호
c74d68c082 Update ELEMENTS.LICENSE 2026-02-05 22:31:38 +09:00
정광호
9482d11238 Update CREDIT 2026-02-05 22:24:14 +09:00
Laurent Trinques
e62f7cf056 Merge pull request #428 from Kyle-Code-CA/patch-9
Add Korean comments to QElectroTech XML file
2026-02-05 14:21:44 +01:00
Laurent Trinques
c4b35fc426 Merge pull request #427 from Kyle-Code-CA/patch-8
Add Spanish and Korean summaries to appdata
2026-02-05 14:20:57 +01:00
정광호
1209b175a3 Add Korean comments to QElectroTech XML file 2026-02-05 22:16:54 +09:00
정광호
4af52e79a0 Add Spanish and Korean summaries to appdata 2026-02-05 22:11:55 +09:00
Laurent Trinques
efbfaa08d9 Merge pull request #426 from Kyle-Code-CA/patch-6
Add Korean translations for comments and generic names
2026-02-05 14:11:34 +01:00
정광호
3f1a46f865 Add Korean translations for comments and generic names 2026-02-05 22:03:37 +09:00
Laurent Trinques
9a1f93c5fc Merge pull request #425 from Kyle-Code-CA/patch-5
Restore copyright and license information in QET64.nsi
2026-02-05 14:01:55 +01:00
Laurent Trinques
5d36436df2 Merge pull request #424 from Kyle-Code-CA/patch-4
Add Korean language strings to lang_extra.nsh
2026-02-05 14:01:10 +01:00
정광호
406fbe6e0c Restore copyright and license information in QET64.nsi 2026-02-05 21:50:44 +09:00
Laurent Trinques
a3a5cd1e87 Update auto-doxygen.yml 2026-02-05 13:48:10 +01:00
정광호
1b449686a8 Add Korean language strings to lang_extra.nsh 2026-02-05 21:40:37 +09:00
Laurent Trinques
d5eeed1aec Merge pull request #423 from Kyle-Code-CA/patch-3
Add Korean translation author to aboutqetdialog
2026-02-05 12:46:30 +01:00
정광호
7982989b59 Add Korean translation author to aboutqetdialog 2026-02-05 17:58:12 +09:00
Laurent Trinques
6b6668a8bc git submodule update --remote elements
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-02-05 08:24:46 +01:00
Laurent Trinques
03c1e4666f Merge pull request #422 from Kyle-Code-CA/patch-2
Add Korean language support in xml element collection
2026-02-05 08:22:00 +01:00
정광호
8fcc9b9b6b Add Korean language support in xmlelementcollection
Fixed as requested: added Korean translation using QChar unicode only, without changing formatting or logic.
고맙습니다.
2026-02-05 15:58:00 +09:00
Laurent Trinques
e9a053179e Merge pull request #419 from Kyle-Code-CA/master
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
Add Korean translation (ko) – translated by jkh
2026-02-02 14:46:10 +01:00
Laurent Trinques
5bf11a3a02 Add Korean switch language 2026-02-02 14:44:10 +01:00
Kyle-Code-CA
c17a914896 Add Korean translation (ko) – translated by jkh
This pull request adds a Korean translation for QElectroTech.

- Language: Korean (ko)
- Files added: qet_ko.ts, qet_ko.qm
- Translator: jkh
- Date: 2026-02-02

Korean users can now use QElectroTech in their native language.
2026-02-02 17:24:26 +09:00
Laurent Trinques
0c62f291f0 Set QetVersion::VersionType VERSION_TYPE = QetVersion::dev; return
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
QVersionNumber{ 0, 100, 1 };
2026-01-27 08:22:38 +01:00
plc-user
534de377d3 dxf2elmt: point link to general release directory instead of special version
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-26 18:47:43 +01:00
Laurent Trinques
f92992be79 Set QetVersion::VersionType VERSION_TYPE = QetVersion::stable;
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-25 12:48:43 +01:00
Laurent Trinques
4a05550731 refresh ChangeLog.MD
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-25 09:49:22 +01:00
Int-Circuit
bd5d8f3d55 Merge pull request #416 from qelectrotech/update-qch
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
Update QCH Help file
2026-01-21 09:30:58 +01:00
scorpio810
d29cac51b4 update QCH file 2026-01-16 14:28:53 +00:00
Laurent Trinques
4044d04cc5 One year
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-16 15:24:35 +01:00
Laurent Trinques
62431aff57 Merge pull request #415 from plc-user/master
no random hashes to have more constant order of XML-tags
2026-01-16 14:30:39 +01:00
Int-Circuit
130eede517 Adding up to date links for doxygen
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
Updated Doxygen documentation and QtCreator qch links in README.
2026-01-16 09:08:10 +01:00
plc-user
bd89d3a1b7 no qt version check needed to disable randomisation of hashes 2026-01-14 17:56:02 +01:00
Laurent Trinques
8307008daa Update packaging_script_AppImage_aarch64.sh
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-11 14:00:26 +01:00
Laurent Trinques
a9b30ff71e Update packaging_script_AppImage_aarch64.sh 2026-01-11 10:28:14 +01:00
Laurent Trinques
87c2480ebc Update packaging_script_AppImage_aarch64.sh 2026-01-11 10:26:41 +01:00
Laurent Trinques
5e41ec415e Update aboutqetdialog.cpp
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
2026-01-08 11:03:33 +01:00
Laurent Trinques
fa6e3d31eb Update dxftoelmt.cpp 2026-01-08 11:01:29 +01:00
plc-user
72bd4803e6 no random hashes to have more constant order of XML-tags 2026-01-07 20:26:03 +01:00
Int-Circuit
47d391c26b fix incorrect token in workflow
Some checks failed
Auto-build doxygen docs / doxygen (push) Has been cancelled
Auto-build doxygen docs / deploy (push) Has been cancelled
Fixed error in doxygen workflow, see https://github.com/qelectrotech/qelectrotech-source-mirror/issues/414#issue-3781358507
2026-01-05 13:58:56 +01:00
Laurent Trinques
033c92257e Update ChangeLog 2026-01-05 13:41:18 +01:00
Laurent Trinques
2b18d93d43 Update auto-doxygen.yml 2026-01-05 13:31:11 +01:00
Laurent Trinques
36463542ab Merge pull request #389 from Int-Circuit/doxygen
Added updated automatic doxygen build on push +  theme to make it fit with docs page
2026-01-05 13:15:31 +01:00
Int-Circuit
152b20899c Merge branch 'qelectrotech:master' into doxygen 2026-01-02 10:45:18 +01:00
Laurent Trinques
765f0087fc git submodule update --remote elements 2026-01-01 12:11:34 +01:00
Laurent Trinques
42037f7f9a Merge pull request #412 from Int-Circuit/doc-cleanup
Delete outdated QET docs
2025-12-31 20:14:09 +01:00
Int-Circuit
7df37ab9b5 remove old docs 2025-12-31 13:03:57 +01:00
Int-Circuit
f47143dd6f Merge branch 'qelectrotech:master' into doxygen 2025-12-28 17:43:17 +01:00
Int-Circuit
0d5373d640 restrict action to master 2025-12-28 17:42:27 +01:00
Int-Circuit
506565489f cleaned location of doxygen html theme
fix branch
2025-12-28 17:42:27 +01:00
Int-Circuit
8a2e0a585c Doxygen mr (#9)
Contribute QT help file with a MR
2025-12-28 17:42:27 +01:00
Int-Circuit
40744ba41a remove test branch 2025-12-28 17:42:27 +01:00
Int-Circuit
94269afc76 push QCH file only if MR is accepted
fix errors due to github conflict editor being crappy
2025-12-28 17:42:27 +01:00
Int-Circuit
73e673ef8a adding Auto Push support (#2)
* added deb build CI/CD + setup gitignore on local build/ dir

* added exception for test on branch

* fix image selection

* added XML option to Doxyfile + artifact output

* updated doxygen version

* added ci for doxygen

* added diff + fix action directory

* remove working dir option

* switch to atest doxygen version

* added  aterfact upload

* added deployment step in ci + doxygen theme

* separated setup and doxygen step

* added correct path for dox build

* switch to docker action

* return to binary package

* dummy commit for pages

* swithced to upload-pages-artifact

* fixed typo not fetching submodules + pointing to correct doxygen theme as changes to it are in repo

* separate deb build to ci/cd branch for future MR

* remove debug log

* changed location of generation of .qch file

* adding sync

* collapse sync in one file

* added auto MR CI

* using checkout to push

* added test to downloaded dir

* fix add path

* check if file is marked as modified

* added path info

* drop artifact method

* fix path

* removed checkout clearing the repo

* force to pass gitignore filter

* setting up git lfs

* Push updated QCH file

* removed branch testing

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

fixed action error due to rebasing
2025-12-28 17:42:27 +01:00
Int-Circuit
fb41b50e37 Merge branch 'qelectrotech:master' into doxygen 2025-12-28 17:42:27 +01:00
Int-Circuit
2ebc3a6054 changed location of generation of .qch file 2025-12-28 17:42:27 +01:00
Int-Circuit
bb74f822d7 swithced to upload-pages-artifact
fixed typo not fetching submodules + pointing to correct doxygen theme as changes to it are in repo

remove debug log
2025-12-28 17:42:27 +01:00
Int-Circuit
70dbc9cbad added correct path for dox build
switch to docker action

return to binary package

dummy commit for pages
2025-12-28 17:42:24 +01:00
Int-Circuit
bd5f4f4f96 separated setup and doxygen step 2025-12-28 17:39:35 +01:00
Int-Circuit
179a9db0cb added deployment step in ci + doxygen theme 2025-12-28 17:39:35 +01:00
Int-Circuit
34ee4ebf49 added aterfact upload 2025-12-28 17:39:35 +01:00
Int-Circuit
da661b0d4f switch to atest doxygen version 2025-12-28 17:39:35 +01:00
Int-Circuit
1625692ddd added ci for doxygen
added diff + fix action directory

remove working dir option
2025-12-28 17:39:33 +01:00
Int-Circuit
4fc2ce8d9e updated doxygen version 2025-12-28 10:48:50 +01:00
plc-user
0663aa55e8 find an appropriate font-family if selected font is not available 2025-12-17 09:56:53 +01:00
plc-user
67185f173e also limit size of generalconfig-dialog 2025-12-17 09:46:53 +01:00
plc-user
2c5e5c6b78 improve maximum config-dialog-size (no QT5 version-check needed) 2025-12-15 22:28:40 +01:00
plc-user
689b101c55 better solution for maximum config-dialog-size 2025-12-15 15:29:47 +01:00
plc-user
3aa760e3cd enlarge icons in config-page only for screen-sizes larger than Full-HD 2025-12-14 19:27:28 +01:00
plc-user
82f3167d40 unify code-style a bit 2025-12-14 19:26:29 +01:00
plc-user
5b2c861d02 reduce maximum size of config-dialog 2025-12-14 19:26:02 +01:00
Laurent Trinques
ca8f4650a3 revert snapcraft.yaml
Installing build-snaps
Failed to install or refresh snap 'kde-qt5-core22-sdk'.
'kde-qt5-core22-sdk' does not exist or is not available on channel 'latest/stable'.
Use `snap info kde-qt5-core22-sdk` to get a list of channels the snap is available on.
Full execution log: '/root/.local/state/snapcraft/log/snapcraft-20251214-140707.644603.log'
Build failed
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 322, in run
    self.pull()
  File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 249, in pull
    self.run_build_command(
  File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 70, in run_build_command
    return self.backend.run(args, cwd=cwd, env=full_env, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 736, in run
    subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python3.12/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
2025-12-14 15:14:07 +01:00
Laurent Trinques
e7f55ee843 Try to fix snapcraft amr64 build on https://snapcraft.io/ 2025-12-14 14:54:38 +01:00
Laurent Trinques
cdc747548d git submodule update --remote elements 2025-12-12 16:46:31 +01:00
Laurent Trinques
6038db5c40 Update Catalan translations, thanks Antoni 2025-12-12 12:22:12 +01:00
joshua
a9632600b6 fix [diagram editor] : fix crash on search and replace widget
Qet crash when double click on an element/text/conductor in the tree
widget of the search and replace widget and the item is deleted from
diagram. (Call of Diagram::showme to a nullptr).
2025-12-01 12:23:22 +01:00
joshua
4e695de914 chore : Add message box for advise use hpdi round factor is unsafe
Add a message box to advise user that use a hdpi round factor can cause
strange render according to :
1 - the selected value
2 - the dpi of the screen
3 - Edit the project on another computer and/or screen who don't have
the same parameters as point 1 and 2.
2025-11-14 21:23:29 +01:00
plc-user
3803834d6d re-add deleted paragraph and sort language entries alphabetically 2025-11-04 21:17:23 +01:00
Laurent Trinques
78a26f9175 Update Catalan Translation, thanks Antoni 2025-11-04 15:06:07 +01:00
Laurent Trinques
a990daaf9e Update Catalan translation, thanks Antoni 2025-10-31 10:04:18 +01:00
plc-user
3b7a8a17e4 update "osifont.ttf" from upstream 2025-10-30 18:26:03 +01:00
Laurent Trinques
9e78dc56a8 git submodule update --remote elements 2025-10-28 13:25:44 +01:00
joshua
3cf9095899 refactor[diagram editor] close bug.
Close bug report #324
https://qelectrotech.org/bugtracker/view.php?id=324

See commit #1b671990ee8435616725afdffba438fdfcd18069
2025-10-20 23:31:48 +02:00
joshua
3a1398d752 refactor[diagram editor]: remove unused include 2025-10-20 23:09:03 +02:00
joshua
67a7d277f4 refactor(diagram editor) : remove unused code 2025-10-20 23:02:52 +02:00
joshua
e26f7fdaaa refactor[deiagram editor]: mutualize code.
The features used to jump to linked element and xref now use the same
function.
2025-10-20 22:58:12 +02:00
joshua
f74fed9f3f refactor(diagram editor): remove unused checkbox
Remove the checkbox "export terminal in nomenclature" in the general
configuration page because it's a dead code.
2025-10-20 22:10:39 +02:00
plc-user
410c9293d1 adjust variable-names and comments; minor change in length-compare of conductor-segments 2025-10-19 15:48:03 +02:00
plc-user
07c34d7358 add and correct English comments 2025-10-19 15:37:07 +02:00
plc-user
6d7d1ea23b NamesList: Set empty string for name, when no name is set
This should fix an issue with empty fields in titleblocks.
2025-10-19 15:09:24 +02:00
Laurent Trinques
58339f9016 Fix copyright years 2025-10-17 09:58:39 +02:00
joshua
f83a5b3a79 Merge branch 'terminal_strip' 2025-10-15 23:30:54 +02:00
joshua
7e5d41b474 Terminal strip Xref is clickable
When user hover the Xref string of a terminal, the string color change
to blue to advise user the xref is clickable. Double click on the blue
Xref go the folio of the terminal and zoom the view to the terminal.
2025-10-14 22:12:38 +02:00
joshua
f0ec416a91 Terminal strip graphic item can display Xref of terminal 2025-10-03 21:49:21 +02:00
joshua
f6ba47277d Minor : revamp
Use QGIUtility::drawBoundingRectSelection for draw the selection rect
of element instead of a method of the element itself.
Less code.
2025-10-02 21:52:40 +02:00
Laurent Trinques
093ec563e1 Generate Chengelog.MD file 2025-09-21 10:44:16 +02:00
Laurent Trinques
1a1e8a2299 Fix Summary headline issue on german 2025-09-13 09:43:04 +02:00
Laurent Trinques
75c1485ead Merge pull request #404 from arummler/master-fix-missing-language
Fixing translation file list in CMake
2025-09-12 10:46:37 +02:00
Laurent Trinques
4ebaf073d6 Fix bug https://qelectrotech.org/bugtracker/view.php?id=330 2025-09-12 10:44:39 +02:00
Laurent Trinques
8a96097d41 Fix Summary headline issue in German
https://qelectrotech.org/forum/viewtopic.php?pid=22082#p22082
2025-09-11 13:32:29 +02:00
Laurent Trinques
43826361a4 Merge pull request #403 from arummler/master-update-dependencies
Update dependencies to fix compilation errors
2025-09-11 12:40:53 +02:00
Andre Rummler
67b80364e1 CMAKE/FIX: BE was missing as it had been renamed to nl_BE. RS and UK were not included. 2025-09-08 23:52:27 +02:00
Andre Rummler
ea9d57cdde Update googltest library to v1.17.0 2025-09-08 13:27:56 +02:00
Andre Rummler
bad60834cc Update Catch2 library to v2.13.10 2025-09-08 13:26:54 +02:00
Laurent Trinques
6119d49d15 Add new Photovoltaïque examples found on www.. 2025-09-06 10:10:00 +02:00
Laurent Trinques
acf0eb8f6a git submodule update --remote elements 2025-09-01 05:06:50 +02:00
Laurent Trinques
3cadedaf9e Merge pull request #401 from Evilscrack/master
Minor corrections to prevent crashes
2025-08-31 11:47:41 +02:00
Pascal Sander
84ac394d3b Refactor to more QRectF to be more compatible with QPrinter. #5 2025-08-30 12:08:54 +02:00
Pascal Sander
27b21b38aa Fixed incorrect cast from ElementCollectionItem to FileElementCollectionItem #4 2025-08-22 20:12:27 +02:00
Evilscrack
12b33e15a3 Merge branch 'qelectrotech:master' into master 2025-08-22 19:26:25 +02:00
Laurent Trinques
2ec1aecd53 Merge pull request #399 from ChuckNr11/master
Correct compositeText alignment on copying
2025-08-20 16:38:57 +02:00
achim
73ce3ae9fe Correct compositeText alignment on copying
After the commit 'Correcting dynamicElementTextItem alignment on
copying', not all composite text was displayed correctly. As soon as the
composite text contained multiple variables in a line or user text, the
alignment was no longer correct. Furthermore, the text value was not
correctly written to the clipboard, so it was no longer present when
pasting. I have corrected these errors here.
2025-08-19 20:16:31 +02:00
Laurent Trinques
6375136a50 Fix bughttps://qelectrotech.org/bugtracker/view.php?id=329
Modification of the int BACKUP_INTERVAL from 2 min to 20 min used by
KautoSaveFile.

On a large project with a 256 MB folio printed in A0 format, the
graphical interface freezes for 30 seconds when KautoSaveFile writes
this large amount of data to the disk every two minutes.

Even if the programme crashes, you only lose 20 minutes of your work,
which is not a big deal.

Thanks to Enzo for reporting it and finding the problem.
2025-08-18 14:04:27 +02:00
Pascal Sander
ee49086d03 QMenu must set a parent for correct position. #3 2025-08-17 17:48:29 +02:00
Pascal Sander
c31cab34e4 Check QAbstractItemModel for nullptr before access. #2 2025-08-17 10:33:04 +02:00
Evilscrack
a61d70e40e Merge branch 'qelectrotech:master' into master 2025-08-17 09:56:49 +02:00
Laurent Trinques
f43ce82052 Minor: m_autosave_sb QSpinbox set max 99 to 200 minutes
Change singlestep 1 to 10 enable accelerated function

See: https://qelectrotech.org/bugtracker/view.php?id=329
2025-08-17 08:47:19 +02:00
Laurent Trinques
707005879b Merge pull request #398 from ChuckNr11/master
Better handling of conductors when moving
2025-08-15 16:06:35 +02:00
achim
29c362fe4c Better handling of conductors when moving
For conductors, the setPos() function can result in negative
coordinates.
For unknown reasons, this can lead to an offset in the scene coordinate
system, resulting in a free space above and to the left of the drawing
frame. This free space could not be removed.

It is better to set the conductors using the conductor::updatePath()
function. If the conductor text has been moved by the user, the new
position of the text must be calculated.
It is important to position the elements first and then 'connect' the
conductors.
Setting the conductor position via setPos() was done in elemntsmover.cpp
(corrected here) and in Diagram::fromXML (corrected in the commit
'Better handling of conductors when creating from XML').
2025-08-14 22:03:05 +02:00
Pascal Sander
dad637689d QScopedPointer removes QDrag to early and will still be accessed in another thread. #1 2025-08-13 20:01:22 +02:00
plc-user
0f179a5d49 add and correct English comments 2025-08-09 09:05:34 +02:00
plc-user
3a0546e638 add English comments / translate variable-names to English 2025-08-08 12:46:11 +02:00
Laurent Trinques
c9ea538999 Merge pull request #395 from ChuckNr11/master
A few small improvements
2025-08-05 15:02:25 +02:00
achim
96d84bf852 Better handling of conductors when creating from XML
The position of a conductor is determined by the two terminals the
conductor connects. Therefore, it makes no sense to set the position
with 'setPos()'.

It is better to first load all elements (but not the conductors),
position them if necessary, and only then load the conductors and assign
them to the elements (terminals).
2025-08-03 01:04:37 +02:00
achim
0a6efa466e Correcting dynamicElementTextItem alignment on copying
When copying and pasting selected areas, right-aligned dynamic text in
report and slave elements was not displayed correctly. The text
insertion point was always shifted to the left by the text width.

To correct this, the insertion point of dynamicElementTextItems is reset
to its origin insertion point before writing to clipboard.
2025-08-02 23:27:09 +02:00
achim
f20ea041b6 correcting the visibility of Variables in CompositeText
When using composite text in report elements, the name of the variable
was displayed when inserting the reportElement into the drawing (e.g.
%{function}). This is corrected here.
Add missing variables to assignvariables.cpp
2025-08-02 22:16:12 +02:00
Laurent Trinques
fb01e51bbb Try to fix symbolic links are resolved to "ordinary" files for both macOS-Packages,
thanks plc-user
7244e4a59c (commitcomment-162938064)
2025-08-01 10:29:46 +02:00
Laurent Trinques
5f252fbd00 Revert "Remove symbolic links"
This reverts commit 22f8034ddb.
2025-08-01 10:26:03 +02:00
Laurent Trinques
22f8034ddb Remove symbolic links 2025-07-27 13:27:11 +02:00
Laurent Trinques
60b013786d git submodule update --remote pugixml 2025-07-26 09:49:56 +02:00
Laurent Trinques
55b2ab797d git submodule update --remote SingleApplication to new release v3.5.3 2025-07-26 09:46:31 +02:00
joshua
74b55f3bf5 Disable deletion if a terminal can't be deleted.
In case of user try to delete a terminal element who is bridged
or belong to a physical terminal with more than one level, the deletion
is aborted to avoid mistake in the terminal strip parent of the terminal
element. A dialog is opened when the deletion can't be to explain to
user what to do for enable the deletion.
2025-07-24 22:24:15 +02:00
Laurent Trinques
4726db5f15 git submodule update --remote elements 2025-07-20 12:48:10 +02:00
Laurent Trinques
704aa6cbdb Add qet ts file for Serbian translation 2025-07-20 12:45:13 +02:00
joshua
1607c7f5dc Minor : improve behavior when rotate terminal part.
iIn the element editor, every rotation is made around the center of the
scene, this is usefull when rotate several part but less when only one
need to be rotated, especially when it is the terminal part and we only
want to change the orientation.
This commit solve it. Now when only a terminal part is selected, the
terminal don't rotate around the center of the scene but change the
orientation.

The rotation, flip and mirror of parts are good features but always
rotate around the center of the scene and if the parts are far from the
center of the scene the behavior look inappropriate from the POV of user
(because parts move far from original position and can out of the view).
A good new features should be to solve it (rotate around the center of
the bounding rect of the selection) and probably extract the function
rotate/flip/mirror from the parts class and create a new class with for
only goal to calculate and apply these modifiaction trough an undo
command.
2025-07-15 22:47:33 +02:00
plc-user
07c6ac6c9f correct some English comments 2025-07-09 15:23:01 +02:00
joshua
a121fbe530 Add undo / redo command
The undo/redo command of diagram editor is
shared to the terminal strip editor.
2025-07-01 23:37:16 +02:00
joshua
a2ae8255ac Minor fix
During the development, we saved some terminal strip with "phantom"
terminal (terminal added to the strip and after the terminal was removed
from the project but keep in the terminal strip data) and this mistake
was saved in the xml. When we open this project the phantom terminal
don't appear in the layout but the empty physical terminal is still here
in the terminal strip data because the position of the terminals in the
strip is wrong (sometime bigger than the size of the strip, sometime
with a gap, sometime don't start at 0). This commit fix this mistake
when we open a project.
2025-07-01 22:46:18 +02:00
Laurent Trinques
acb4b21070 Update packaging_script_AppImage_aarch64.sh 2025-06-13 16:03:35 +02:00
Laurent Trinques
1e7660fcab Update packaging_script_AppImage_aarch64.sh 2025-06-13 13:06:21 +02:00
joshua
d711d8fb4a Terminal strip editor can now edit multiple project.
Before this this commit the terminal strip editor couldn't only work on
the first project opened into this editor, all other project opened
after couldn't be edited.
This is now past, terminal strip editor can now edit every project open
in QElectroTech.
2025-06-11 22:43:41 +02:00
joshua
3a6b4807db Fix crash.
Fix crash when :
1°-Open a project with terminal strip and open the terminal strip editor
2°-Close the terminal strip editor and the project (keep qelectrotech
open).
3°-redo step 1 and click on an item in the tree at left of the window,
qet crash.

Qet don't crash anymore but the terminal strip editor continue to work
with the terminal strip of the first opening (exactly the pointer of the
terminal strip) who don't exist anymore. Need more work.
2025-06-09 21:35:00 +02:00
joshua
d699faf501 Change some int to qreal
Made this change to be more compliant with svg
2025-06-08 21:40:32 +02:00
joshua
95e401a266 Class TerminalStripLayoutPattern can be save/load from xml
Add a new class TerminalStripLayoutPatternXml used to
save / load a TerminalStripLayoutPattern class into a xml.

Also create the namespace QETSVG used to read/write some
svg element / attribute to xml. This class is used by the
class TerminalStripLayoutPatternXml.
2025-06-05 23:04:56 +02:00
plc-user
6586fa3f91 adjust English translation 2025-06-01 11:14:57 +02:00
plc-user
7244e4a59c use symbolic links to collect all licenses in one directory and adjust sourcecode 2025-06-01 11:03:49 +02:00
plc-user
1868f91ff8 use symbolic links to collect all licenses in one directory and adjust sourcecode 2025-06-01 11:01:32 +02:00
plc-user
0b1491b59a fix typo in German translation 2025-06-01 08:52:46 +02:00
Laurent Trinques
7495901d07 macOS add licenses folder in BUNDLE/Contents/Resources/licenses 2025-05-31 12:51:23 +02:00
Laurent Trinques
33445de6c0 Try to add embed fonts for macOS 2025-05-31 12:31:03 +02:00
plc-user
5ba984be56 add copyright-sign to about-dialog 2025-05-30 10:49:32 +02:00
Laurent Trinques
ab03530a14 git submodule update --remote elements 2025-05-30 10:01:03 +02:00
plc-user
1b671990ee prevent crash, when adding text to element in diagram-editor 2025-05-30 09:42:22 +02:00
plc-user
ce18bd1666 use "%" for string-concatenation (less memory-usage) 2025-05-30 09:40:11 +02:00
plc-user
e371fe9845 add font-links to about-dialog – tab "libraries" 2025-05-22 22:35:09 +02:00
plc-user
ad29893842 use "%" for string-concatenation
Qt-Docs says it's less memory-usage...
2025-05-22 21:33:32 +02:00
plc-user
3a8e6b16f5 update osifont (-medium) from upstream 2025-05-22 19:15:47 +02:00
Laurent Trinques
6dbc1cd392 git submodule update --remote elements 2025-05-22 09:08:10 +02:00
plc-user
c7ed744481 Include some fonts to QElectroTech
- include Liberation-Fonts and osifont
  (thanks elevatormind!)
- use "Liberation Sans" as default-font
- adjust License-Tab in About-Form
- Bugfix: When selecting a font, the current
  font is highlighted in dialog
- adjust some whitespace and English comments
2025-05-18 14:15:20 +02:00
plc-user
cf39ae2417 Include some fonts to QElectroTech
- include Liberation-Fonts and osifont
  (thanks elevatormind!)
- use "Liberation Sans" as default-font
- adjust License-Tab in About-Form
- Bugfix: When selecting a font, the current
  font is highlighted in dialog
- adjust some whitespace and English comments
2025-05-18 13:54:31 +02:00
Laurent Trinques
b82a05881a Update packaging_script_AppImage_aarch64.sh 2025-05-16 14:57:31 +02:00
Laurent Trinques
8082274e41 Add packaging_script_AppImage_aarch64.sh 2025-05-11 16:35:22 +02:00
Laurent Trinques
f16d48ec67 Update org.qelectrotech.QElectroTech.json 2025-05-06 11:11:11 +02:00
Laurent Trinques
c259832de4 git submodule update --remote elements 2025-05-04 15:54:06 +02:00
Laurent Trinques
80c0831361 Update org.qelectrotech.QElectroTech.json 2025-04-28 11:35:58 +02:00
plc-user
4e4a26a410 added Chinese translations to titleblocks 2025-04-27 11:45:55 +02:00
plc-user
f2674a0a46 added Chinese translations to default-titleblock 2025-04-27 11:08:28 +02:00
Laurent Trinques
64ace66f8b Update MacQetDeploy_arm64.sh 2025-04-17 16:07:37 +02:00
plc-user
d007035237 whitespace and comment 2025-03-28 20:21:09 +01:00
plc-user
c1559d2a99 Fix signal for KColorButton 2025-03-28 20:16:37 +01:00
plc-user
936a27500c BugFix: Font for titleblock was hardcoded to Sans Serif
Because of a typo it was never read from settings.
2025-03-23 07:25:37 +01:00
Laurent Trinques
31aaf50572 Merge pull request #388 from Bisku/master
qet_de updated
2025-03-16 09:26:49 +01:00
Bisku
81ec28d1cf Update of qet_de
Translation error fixed.
2025-03-15 21:11:02 +01:00
Laurent Trinques
3bbb6385b8 Merge pull request #387 from plc-user/master
only calculate grid-point-size, when min != max
2025-03-15 18:45:16 +01:00
plc-user
757df90951 minor: added some English comments 2025-03-13 21:05:21 +01:00
plc-user
eeb453f120 only calculate grid-point-size, when min != max 2025-03-13 20:46:04 +01:00
Laurent Trinques
6afd9fe48d Merge pull request #386 from elevatormind/master
Mouse hover text for dynamic text items
2025-03-13 11:07:40 +01:00
Laurent Trinques
6eff69bc6b Merge pull request #384 from plc-user/master
improvement: adjust size of grid-dots with zoom-factor
2025-03-13 11:06:30 +01:00
joshua
2c1b840f9c Use same properties for every terminal level
Initially it was planned to have separate text configuration for every
terminal level. It's not useful, use same properties for every level is
sufficient and visually more consistent.
By consequent every QVector related to these properties was replaced by
a single value.
2025-03-12 21:48:18 +01:00
Magnus Hellströmer
c9304892e0 Mouse hover text for dynamic text items
- Added text for dynamic text item to indicate that shift needs to be held down to move the text.
2025-03-12 21:16:25 +01:00
joshua
2d89d70682 Add possibility to adjust terminal text position
The bounding rectangle used to define the position of the terminal text
can be edited. The y position and height can now be edited. The width is
not editable because is always the width of the rectangle of the of the
terminal.
2025-03-12 21:10:16 +01:00
joshua
7747223dfa Terminal strip item font is editable
The font used in the terminal strip item can be edited
trough the terminal strip layout editor widget
2025-03-12 19:22:30 +01:00
joshua
ae5e188866 Add converter for dpi to pixel font size
Add a little function used to convert if needed the size of a font set
in dpi to pixel. Because the conversion from pdi to pixel can't
be exactly identical, the text size in the diagram can be a little
different, in the other side the switch between screens with different
dpi is no more a problem.
2025-03-12 19:14:45 +01:00
plc-user
59f547b4a2 unify German wording 2025-03-08 15:16:33 +01:00
plc-user
0084dcf289 fix typo with function-name 2025-03-07 20:53:07 +01:00
plc-user
0804d3524a improvement: ajust size of grid-dots with zoom-factor
Introduced additional spinboxes in config-page for
setting min- and max-size of grid-dots separately for
diagram- and element-editor.
That assures maximal flexibility for setting the grids.
Don't want the grid-dots to change over zooming-levels?
Set min- and max-values to the same number.
Preset-values for all min-/max-values is "1".
If the adjustable range of 1 to 5 is not sufficient, it
can be easily adjusted. Only need feedback for this.
2025-03-07 20:16:21 +01:00
plc-user
2b0dd1b188 comments and whitespace 2025-03-07 18:13:53 +01:00
Laurent Trinques
3c2c889922 Merge pull request #383 from plc-user/master
adjust zoom-factor to use cosmetic-line and fixed comments
2025-03-07 11:07:31 +01:00
plc-user
27cff81ee7 adjust zoom-factor to use cosmetic-line and fixed comments 2025-03-07 10:58:47 +01:00
Laurent Trinques
40a7995993 Merge pull request #382 from plc-user/master
element-editor: fix jumping positions when rotate, mirror or flip
2025-03-07 07:57:16 +01:00
plc-user
45afd9af0e element-editor: fix jumping positions when rotate, mirror or flip 2025-03-07 07:43:20 +01:00
Laurent Trinques
20b7e1763d Merge pull request #379 from plc-user/master
unify some more code for Qt5 & Qt6 (and more)
2025-03-07 06:35:07 +01:00
plc-user
9044d532ac corrected English comments 2025-03-06 08:07:49 +01:00
plc-user
50efc318e0 change to run code with Qt5 & Qt6 as described in forum 2025-03-06 08:06:36 +01:00
plc-user
e4d2dbd2a6 a minor change is enough to run code in Qt5 & Qt6 - no need to differentiate anymore 2025-03-05 15:24:07 +01:00
plc-user
ddf40854dc fix comment 2025-03-05 11:54:58 +01:00
plc-user
ef0fa6e7ac same change for polygons as for other primitives to support Qt5 & Qt6 2025-03-05 09:49:16 +01:00
plc-user
237c21bad8 use same code for Qt5 & Qt6 for XRef-list 2025-03-05 07:05:12 +01:00
plc-user
260ce2a8bc unify NamesList "imported elements" to be used with Qt5 & Qt6; still need to decide whether to use list of QChars or written text in utf-8; kept both variants for now... 2025-03-05 07:03:38 +01:00
plc-user
6199367166 remove unused NamesList from qetproject.* 2025-03-05 06:59:09 +01:00
plc-user
d073e810b8 set default-value for QFont::Weight to prevent warning at runtime 2025-03-05 06:55:14 +01:00
Laurent Trinques
a1572be8fa Merge pull request #377 from plc-user/master
same simplifications as in #376 "use the same code for Qt5 & Qt6"
2025-03-04 15:09:20 +01:00
plc-user
6c52d95201 same simplifications as in #376 "use the same code for Qt5 & Qt6" 2025-03-03 22:41:44 +01:00
Laurent Trinques
d3463def98 Merge pull request #376 from plc-user/master
simplify and use the same code for Qt5 & Qt6
2025-03-03 06:16:21 +01:00
plc-user
4009e6aaab simplify and use the same code for Qt5 & Qt6
When reading and comparing Qt5-docs and Qt6-docs, I read,
that there are no differences in the functions!
So it is not necessary to have the differentiation
between the Qt-Versions.
Code compiles without errors or warnings for Qt5 and Qt6.
2025-03-02 18:56:34 +01:00
Laurent Trinques
6ff518ec3b Merge pull request #375 from plc-user/master
bordertitleblock: use same code for Qt5 & Qt6 for "numbering" rows
2025-03-02 09:53:11 +01:00
plc-user
513927424f bordertitleblock: use same code for Qt5 & Qt6 for "numbering" rows 2025-03-02 08:48:19 +01:00
Laurent Trinques
864a3f166f Merge pull request #374 from plc-user/master
some minor changes
2025-03-01 07:19:28 +01:00
plc-user
6111d8ca2c only write author-information, if available 2025-02-28 21:08:12 +01:00
plc-user
e0b26592c7 fix typos 2025-02-28 20:36:38 +01:00
plc-user
a17ceaba85 sort names in desktop-file by alphabet 2025-02-28 20:27:00 +01:00
plc-user
e987d8c271 fix typo in variable-name 2025-02-28 20:25:31 +01:00
Laurent Trinques
74e6657ca5 Add translations FR 2025-02-28 17:35:57 +01:00
Laurent Trinques
e1d15f3b77 Merge pull request #372 from plc-user/master
implement setting of point-size of grids
2025-02-28 17:30:58 +01:00
plc-user
81f51b3d58 update language-files 2025-02-28 16:55:18 +01:00
plc-user
a36de7de74 implement variable point-size of grid 2025-02-28 16:33:24 +01:00
plc-user
15ae8b0058 fix typo of variable 2025-02-28 16:02:58 +01:00
Laurent Trinques
e66061fdca Merge pull request #370 from plc-user/master
some small changes for selective move
2025-02-28 09:57:41 +01:00
plc-user
e2e84a56f7 limit movement to int-values to be able to re-position to original position 2025-02-28 07:40:59 +01:00
plc-user
565374f174 additional ControlModifier does not work here as expected 2025-02-28 07:36:53 +01:00
plc-user
7bdca47d8e use brackets to be more clear what is meant 2025-02-28 07:33:17 +01:00
Laurent Trinques
f0c954329f git submodule update --remote elements 2025-02-25 16:49:12 +01:00
Laurent Trinques
e99ad6b424 Merge pull request #369 from prescott66/patch-1
Added slovak translation to org.qelectrotech.qelectrotech.desktop
2025-02-25 12:53:10 +01:00
Dušan Kazik
74460a6645 Added slovak translation to org.qelectrotech.qelectrotech.desktop
Added slovak translation for app name and comment.
2025-02-25 09:20:04 +01:00
Laurent Trinques
231a1c919a git submodule update --remote elements 2025-02-22 10:31:24 +01:00
Laurent Trinques
19c9d614e8 Merge pull request #367 from plc-user/master
unify calls to "setRotation" for element-primitives again
2025-02-22 10:18:14 +01:00
plc-user
43386aa14f unify calls to "setRotation" for element-primitives 2025-02-22 09:30:15 +01:00
plc-user
181680e6f1 add English comments 2025-02-22 09:20:46 +01:00
Laurent Trinques
667d25899f Merge pull request #364 from elevatormind/conductor_texts
New variables for conductor text formulas
2025-02-21 17:13:18 +01:00
Laurent Trinques
c9b9165911 Merge pull request #365 from elevatormind/selective_move
Added option to only move dynamic texts
2025-02-21 17:12:54 +01:00
Magnus Hellströmer
78ee65a21b Added option to only move dynamic texts 2025-02-19 21:33:29 +01:00
Magnus Hellströmer
68a2ddde18 New variables for conductor text formulas 2025-02-19 20:26:53 +01:00
Laurent Trinques
8c3343795a Merge pull request #362 from pkess/fix_typo
Fix typo widht to width
2025-02-19 15:54:59 +01:00
Peter Kessen
2097b24d37 Fix typo for variable 2025-02-18 20:14:51 +01:00
Peter Kessen
5351746dc7 Fix typo within settings entry 2025-02-18 20:13:10 +01:00
Laurent Trinques
1af3c5b852 Merge pull request #361 from plc-user/master
element-editor: add mirror and flip for "text"
2025-02-18 06:27:14 +01:00
plc-user
c2a2e5f5eb minor: whitespace and comments 2025-02-17 19:45:53 +01:00
plc-user
dc836248f0 element editor: add mirror and flip for “text”
Maybe not (yet) perfect, but it looks pretty good to me!

Why am I doing this to myself?
All this crap with fonts and stuff!
It's been crap for as long as I can remember.
2025-02-17 19:39:53 +01:00
Laurent Trinques
a3bf2e2800 minor for Swedish translation
Add translation for Imported elements in QET project widget
2025-02-17 16:00:46 +01:00
Laurent Trinques
83f960a983 Merge pull request #360 from elevatormind/lang_sv
Add Swedish translation
2025-02-17 15:42:25 +01:00
Laurent Trinques
c223121f00 git submodule update --remote elements 2025-02-17 15:30:42 +01:00
plc-user
0f647a5c38 fix: do not add "kindInformations" for thumbnail-elements 2025-02-17 09:48:51 +01:00
plc-user
67112bf8e5 fix typo in enum-entry and comments 2025-02-17 09:33:35 +01:00
Laurent Trinques
1b60f7c52a Merge pull request #359 from pkess/linux_installer
German text for launcher and debian package code style
2025-02-17 06:36:55 +01:00
Magnus Hellströmer
9a96eb914d Updated qet_sv.qm 2025-02-16 20:59:02 +01:00
Magnus Hellströmer
bf8723015a Update swedish translation 2025-02-16 20:54:15 +01:00
Magnus Hellströmer
82d7bbda68 Added swedish language 2025-02-16 20:54:15 +01:00
Peter Kessen
0df3ecb5f7 Edit german translation 2025-02-16 19:57:56 +01:00
Peter Kessen
1e27cac8c5 Remove trailing whitespace 2025-02-16 19:57:07 +01:00
Laurent Trinques
16dea9f3de Update Polish translation, thanks Paweł 2025-02-16 17:49:15 +01:00
Laurent Trinques
20e852cbaf Merge pull request #358 from plc-user/master
some more rotation, mirror and flip
2025-02-16 17:24:33 +01:00
plc-user
51225d5f59 element-editor: add rotation with smaller increments for "line", "polygon", "text" and "dynamic_text" with shortcut <Ctrl>+<Space> 2025-02-16 16:31:18 +01:00
plc-user
3fc5469aee element-editor: add mirror and flip for "dynamic_text" 2025-02-16 16:15:46 +01:00
plc-user
6fdc243552 fix indention - no code-change 2025-02-16 15:43:58 +01:00
plc-user
da109b1522 element-editor: add rotation-functions to "text" and "dynamic_text" 2025-02-16 15:42:33 +01:00
plc-user
2aeae1fe46 use Qt-functions to rotate lines and polygons 2025-02-16 15:28:15 +01:00
plc-user
e98ce4de1d add English comments 2025-02-16 10:02:19 +01:00
plc-user
da0951d5a0 fix typo in variable-name (mixture of French and English) 2025-02-15 20:36:21 +01:00
Laurent Trinques
0be9e2beae minor add qInfo-Text "SQLite version: " 2025-02-15 17:10:39 +01:00
Laurent Trinques
52946f9e3a Merge pull request #357 from plc-user/master
BugFix: Flip and Mirror of terminals
2025-02-15 09:35:10 +01:00
plc-user
007ce79cee BugFix: Flip and Mirror of terminals 2025-02-15 09:13:56 +01:00
Laurent Trinques
5aee30edee Merge pull request #356 from plc-user/master
element-editor: fix rotation and more
2025-02-15 08:21:44 +01:00
plc-user
b9a8dc0918 fix typo in translation 2025-02-14 20:57:30 +01:00
plc-user
bd3b39cea3 element-editor: fix rotation, add mirror, add flip for graphical primitives
Now that the problem with the translations of keyboard shortcuts has been resolved and rotation using the space bar works reliably in principle, I took a closer look at the rotation function itself in the element editor.

I noticed, for example, that arcs can be rotated at an angle of 15°. This doesn't really make sense, as the “arc” part doesn't have the “rotation” property. There is only width and height.
And somehow rotating arcs didn't work well: start- and span-angles weren't adjusted.

Lines and polygons can be rotated in 15° increments, which doesn't make much sense, if other parts that can only be rotated in 90° increments are selected at the same time.

To make a long story short:
I reworked the rotation functions of the graphical parts so that now all parts are rotated in 90° steps around the origin! This means that it is now possible to mark several parts and rotate them around the same point at the same time!

In addition, the functions for mirroring graphic parts at y-axis (shortcut "M") and flipping at x-axis (shortcut "F") have been implemented.

I have saved the text elements for later!
(or someone else)
2025-02-14 20:31:03 +01:00
plc-user
fc286cca22 fix one last hardcoded shortcut-translation 2025-02-14 19:52:39 +01:00
plc-user
4d5af028be menu: move "About QElectroTech" in Help-Menu to bottom
If the version number of QElectroTech is requested in the forum in case of error messages or anomalies, the Qt version used is very often stated because the entry “About QElectroTech” does not appear very prominently in the help menu: The entry “About Qt” is used much more frequently because it appears eye-catchingly as the lowest entry. However, specifying the Qt version is often not helpful for troubleshooting: We need the QET version!
That's why I'm moving the “About QElectroTech” entry to the bottom, so that it is easier to see and find!
2025-02-14 19:47:19 +01:00
Laurent Trinques
9afc97108b Merge pull request #355 from plc-user/master
minor: mostly typos
2025-02-14 17:39:43 +01:00
plc-user
a4a3733670 typos, whitespace and brackets 2025-02-14 16:59:23 +01:00
plc-user
3471140b64 fix typo in fuction-name (looked like a mixture of French and English) 2025-02-14 16:47:39 +01:00
Laurent Trinques
43f0107eb1 Revert "Try Clazy fix-its"
Segfault on old Qt versions!
This reverts commit dba7caed30.
2025-02-14 16:17:58 +01:00
Laurent Trinques
dba7caed30 Try Clazy fix-its
clazy is a compiler plugin which allows clang to understand Qt
semantics. You get more than 50 Qt related compiler warnings, ranging
from unneeded memory allocations to misusage of API, including fix-its
for automatic refactoring.

https://invent.kde.org/sdk/clazy
2025-02-14 15:52:23 +01:00
Laurent Trinques
adcf77e34a Replacing modules includes <QtConcurrent> with QtConcurrentRun and
QtConcurrentMap

Signed-off-by: Laurent Trinques <scorpio@qelectrotech.org>
2025-02-14 14:07:41 +01:00
Laurent Trinques
59236170b2 Merge pull request #354 from plc-user/master
a few translated shortcuts were still there ... fixed!
2025-02-13 08:14:09 +01:00
plc-user
3d82aff4e7 FIX: shortcut for rotation in element-editor was hardcoded in UI 2025-02-12 15:35:45 +01:00
plc-user
516eb9eb45 fixed English comments 2025-02-12 14:02:30 +01:00
plc-user
0b80d1b5b9 a few translated shortcuts were still there ... fixed! 2025-02-12 13:41:39 +01:00
Laurent Trinques
073e4080fd Merge pull request #353 from plc-user/master
FIX: some shortcuts do not work with language set to local
2025-02-11 18:23:32 +01:00
plc-user
b512aee2bf update language-files 2025-02-11 15:55:24 +01:00
plc-user
38f5547228 use "positive logic" for conditional compiling 2025-02-11 14:43:18 +01:00
plc-user
317c90c769 do not hardcode translations for shortcuts: let the system do it for you! 2025-02-11 14:36:15 +01:00
Laurent Trinques
f308ea6b93 Merge pull request #352 from plc-user/master
fix movement of element, when origin is outside of graphics
2025-02-11 12:54:37 +01:00
plc-user
4808b04a31 fix movement of element, when origin is outside of graphics
When saving an element it is checked, if the origin (0/0)
is inside the graphical parts. If outside, the element is
moved by integer values for x- and y-offset before saving.
Old calculation for offset could lead to "strange" new
values for positions.

Additionally: fix typos and English comments
2025-02-11 11:46:36 +01:00
Laurent Trinques
3a43fbfa61 Merge pull request #351 from plc-user/master
FIX copy-and-paste in element-editor: set paste-position to meaningful values
2025-02-11 06:41:40 +01:00
plc-user
29aee8e80c copy-and-paste: set paste-position to meaningful values 2025-02-10 18:33:49 +01:00
plc-user
717b257fa0 added English comments 2025-02-10 18:26:14 +01:00
plc-user
13f432571d comments: fixed typos and added English comments 2025-02-09 17:51:15 +01:00
Laurent Trinques
610f4d6dfa Merge pull request #350 from plc-user/master
some cleaning for element-file
2025-02-09 13:32:59 +01:00
plc-user
a20d02f5f0 element-editor: remove leading and trailing whitespace from author-info 2025-02-09 12:43:35 +01:00
plc-user
1fc33aa1ba element-editor: limit decimal places for sizes and positions to two, when saving file 2025-02-09 12:33:24 +01:00
plc-user
706eba6612 fix typos and whitespace 2025-02-09 12:25:09 +01:00
Laurent Trinques
f675ce3452 git submodule update --remote elements 2025-02-08 10:56:36 +01:00
Laurent Trinques
3ae47a714d Merge pull request #348 from plc-user/master
fix: properties in project-file
2025-02-08 10:33:37 +01:00
plc-user
58aae63616 sorted translations \“imported elements\” in sourcecode and added some for Qt6 2025-02-08 07:45:48 +01:00
plc-user
b8e4fca09f fix: remove empty elementInformation, but keep empty properties 2025-02-08 07:39:21 +01:00
Laurent Trinques
075289797a Merge pull request #347 from plc-user/master
translation: update German and English
2025-02-08 07:11:13 +01:00
plc-user
f26733f34e translation: update German and English 2025-02-07 20:47:16 +01:00
Laurent Trinques
ba9fea3fd1 Merge pull request #346 from plc-user/master
export: set maximum width / height according limitations in QPainter
2025-02-07 15:16:40 +01:00
plc-user
bbbf77597a export: set maximum width / height according limitations in QPainter 2025-02-07 11:34:05 +01:00
Laurent Trinques
1cf156c47a Merge pull request #345 from plc-user/master
export: set maximum width / height according specifications of export-type
2025-02-06 16:11:36 +01:00
plc-user
924d1c1b05 use "static const" - variables instead of multiple times values in source-code
use multiplication-sign "×" instead of asterisk "*" between widht and height
2025-02-06 15:16:19 +01:00
plc-user
33570ffceb export: set maximum width / height according specifications of export-type 2025-02-06 12:58:32 +01:00
Laurent Trinques
40b7aa999f git submodule update --remote elements 2025-02-06 07:18:42 +01:00
Laurent Trinques
c9ba7bee6c ExportDialog increase spinBox limit 10 000px to 100 000px
See: https://qelectrotech.org/forum/viewtopic.php?pid=21002#p21002
2025-02-06 07:12:56 +01:00
Laurent Trinques
7466793e71 Merge pull request #344 from plc-user/master
some clean-up for element-file and in code
2025-02-05 19:26:24 +01:00
plc-user
408481a023 some clean-up for "elementInformations" in element-file
- for some time now and for whatever reason, element-editor
  sometimes adds element-information without content –> do not
  save info-lines without any content
- sort element-information alphabetically by name in element-file
- use trimmed strings for element-information to remove leading
  and trailing whitestpace
2025-02-05 13:11:37 +01:00
plc-user
b0324bd6e8 fix typo 2025-02-05 12:58:49 +01:00
plc-user
812ac83ab6 NamesList: move while-loop into "else"-clause, to be more precise and added english text to comments 2025-02-05 12:57:50 +01:00
Laurent Trinques
d1c6fb7e3c Merge pull request #343 from plc-user/master
minor: typos, comments, whitespace, translation
2025-02-04 18:15:26 +01:00
plc-user
9dad6963cb minor: typos, comments, whitespace, translation 2025-02-04 13:48:35 +01:00
Laurent Trinques
28df44d1ba Merge pull request #342 from plc-user/master
Sort names in element-file by language-code
2025-02-04 12:56:03 +01:00
plc-user
25a81f24fa NamesList: Use ‘Qmap’ instead of ‘Qhash’
to automatically sort the names of an element by
language code before saving the element-file.
Added English comment in header-file.
2025-02-03 13:23:32 +01:00
plc-user
7a39e69a32 element-name: if no name is set, set to "en" / "NoName" (also adjusted comment) 2025-02-03 13:03:55 +01:00
Laurent Trinques
af33719995 Merge pull request #341 from plc-user/master
more precise Log-Text for search of "qet_tb_generator"
2025-02-02 15:48:48 +01:00
Laurent Trinques
4c12b3c679 Flatpak upgrade tkinter git to update to python 3.11 2025-02-02 15:16:53 +01:00
plc-user
e1dc978f97 more precise Log-Text for search of "qet_tb_generator" to avoid misunderstandings 2025-02-02 14:48:38 +01:00
Laurent Trinques
1b2d8061a5 Merge pull request #340 from plc-user/master
machine_info: add entry for QETApp::configDir() also for win
2025-02-02 13:34:42 +01:00
plc-user
b0f0a56a88 machine_info: add entry for QETApp::configDir() also for win
We use QETApp::configDir() to save configuration-files (*.json)
for creating BOM, nomenclature, etc. during runtime.
So it's interesting for win-users, too, which configDir is used.
2025-02-02 12:49:59 +01:00
Laurent Trinques
d6d38141c9 Merge pull request #339 from plc-user/master
remove dead code (local variables that were never used)
2025-02-02 12:24:19 +01:00
plc-user
331cecc05c remove dead code (local variables that were never used) 2025-02-02 12:16:28 +01:00
Laurent Trinques
de0fa1fa20 Merge pull request #338 from plc-user/master
minor changes
2025-02-01 12:49:43 +01:00
plc-user
1698e062ab remove dead code (local variables that were never used) 2025-02-01 08:52:07 +01:00
plc-user
3051c225bb minor: typos, witespace, comments 2025-02-01 08:49:12 +01:00
Laurent Trinques
ffef9aaea5 Merge pull request #337 from Bisku/de_translation
Update of qet_de
2025-01-31 15:52:37 +01:00
Bisku
9fc270c8a8 Aktualisierung 2025-01-30
Aktualisierung auf aktuelle Version
2025-01-31 14:41:10 +01:00
Laurent Trinques
2c8797415c Merge pull request #335 from plc-user/master
rewrite code for executing “qet_tb_generator” plugin
2025-01-30 10:20:24 +01:00
plc-user
8162da1515 reorder search-paths and added currentPath() 2025-01-30 08:30:11 +01:00
plc-user
3cadc9275e improve readability 2025-01-30 07:25:30 +01:00
plc-user
a459029f0d simplify code even more... 2025-01-30 00:15:09 +01:00
plc-user
9dda9f890f close the process in any case 2025-01-29 22:27:56 +01:00
plc-user
9be2ed604e moved "#endif" to always close process and adjusted qInfo-Text 2025-01-29 22:15:36 +01:00
plc-user
a450680f6e rewrite code for executing “qet_tb_generator” plugin
Now it's better readable and maintainable up to the moment
we have our own internal Terminal-Manager for productive use.
Additionally added the storage location “dataDir()/binary”,
so that the new structure for the separation of
configuration and data can be properly kept
2025-01-29 21:57:38 +01:00
Laurent Trinques
22e6188bb6 Merge pull request #333 from plc-user/master
corrected a few places where QETApp::documentDir() should also be used
2025-01-29 14:38:25 +01:00
Laurent Trinques
9d83d3180a Merge pull request #334 from zultron/zultron/2025-01-29_Fix_snap_qet_tb_generator
build-aux/snap/snapcraft.yaml:  python3.8 -> 3.10
2025-01-29 13:31:46 +01:00
John Morris
09c87cf811 build-aux/snap/snapcraft.yaml: python3.8 -> 3.10
Fix traceback when selecting "Project" menu "Launch the terminal block
creation plugin" item:

    Traceback (most recent call last):
      File "/snap/qelectrotech/1973/bin/qet_tb_generator", line 33, in <module>
        sys.exit(load_entry_point('qet-tb-generator==1.3.1', 'console_scripts', 'qet_tb_generator')())
      File "/snap/qelectrotech/1973/bin/qet_tb_generator", line 25, in importlib_load_entry_point
        return next(matches).load()
      File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
        module = import_module(match.group('module'))
      File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/snap/qelectrotech/1973/lib/python3.10/site-packages/src/main.py", line 98, in <module>
        import src.PySimpleGUI as sg
      File "/snap/qelectrotech/1973/lib/python3.10/site-packages/src/PySimpleGUI.py", line 95, in <module>
        import tkinter as tk
    ModuleNotFoundError: No module named 'tkinter'
2025-01-29 00:22:17 -06:00
plc-user
bdee8e3e36 set default search-path of non-standard locations of collections and titleblocks (common, company and user) also to QETApp::documentsDir() 2025-01-28 19:01:32 +01:00
plc-user
30a6221e45 remove unused function 2025-01-28 18:56:16 +01:00
plc-user
9f8287206b fix: "dxf2elmt" and "QET_ElementScaler" also read imported files from QETApp::documentDir() by default 2025-01-28 18:44:19 +01:00
Laurent Trinques
bb770ae4f1 Merge pull request #332 from plc-user/master
add commandline-parameter "--data-dir"
2025-01-28 15:04:47 +01:00
plc-user
d971da5ac7 add commandline-parameter "--data-dir" 2025-01-27 21:48:36 +01:00
Laurent Trinques
e9d2c13630 Merge pull request #331 from plc-user/master
machine_info: fix element-count and make static text a bit shorter
2025-01-27 17:58:22 +01:00
plc-user
c01549f315 machine_info: write configured directories to log\n(may have been changed with commandline-parameters) 2025-01-27 17:38:06 +01:00
plc-user
39e287f60d machine_info: fix element-count and make static text a bit shorter 2025-01-27 17:04:26 +01:00
Laurent Trinques
11e3f91029 Merge pull request #330 from plc-user/master
formatting / whitespace - unify declarations
2025-01-26 14:45:36 +01:00
Laurent Trinques
1ac324242a Polish 2025-01-26 14:44:47 +01:00
plc-user
940ae0c34a formatting / whitespace - unify declarations 2025-01-26 14:29:52 +01:00
Laurent Trinques
7a19756f13 Polish 2025-01-26 14:27:02 +01:00
Laurent Trinques
3b24bd25c7 Merge pull request #329 from plc-user/master
Set default-location for projects to documents-dir.
2025-01-26 12:43:00 +01:00
Laurent Trinques
a73452bf6d Polish 2025-01-26 12:31:10 +01:00
Laurent Trinques
24165ee8ee Machine info ; try to Count *elmt Files in alls collections
(include subfolders)
2025-01-26 12:16:46 +01:00
plc-user
4c7cc9a110 adjust comments 2025-01-26 11:55:52 +01:00
plc-user
79f894a327 Set default-location for projects to documents-dir.
All export files that are derived from the project (BOM,
nomenclature, etc.) are saved in the same directory by default.
In this context, the standard directories have been grouped
together in qetapp.cpp / qetapp.h so that only one place needs
to be searched for in case of any adjustments.
2025-01-26 11:32:46 +01:00
Laurent Trinques
f26e936ea9 Polish 2025-01-26 10:48:50 +01:00
Laurent Trinques
1ddfe1d433 Polish 2025-01-26 08:43:07 +01:00
Laurent Trinques
194edbd799 Machine info : try to fix FTFS under Windows 2025-01-25 20:29:11 +01:00
Laurent Trinques
162c402102 Minor 2025-01-25 20:09:31 +01:00
Laurent Trinques
c6427cbfc1 Fix previuois commit 2025-01-25 19:54:41 +01:00
Laurent Trinques
c4b6939ed6 machine_info.cpp: Minor 2025-01-25 19:37:39 +01:00
Laurent Trinques
2436daa16f machine_info.cpp: Minor 2025-01-25 19:03:33 +01:00
Laurent Trinques
4050e8351e machine_info.cpp: Minor 2025-01-25 14:23:51 +01:00
Laurent Trinques
d6f119742d machine_info.cpp: Minor 2025-01-25 14:15:30 +01:00
Laurent Trinques
3e4f3def3e machine_info.cpp: add more informations about OS language and country 2025-01-25 14:00:57 +01:00
Laurent Trinques
4aff7d1a1d Merge pull request #328 from plc-user/master
machine_info.cpp: add explaining text for directory-list
2025-01-25 07:01:18 +01:00
plc-user
d451bd4df5 machine_info.cpp: add explaining text for directory-list 2025-01-24 21:19:45 +01:00
Laurent Trinques
2cc5de6f7c Merge pull request #327 from plc-user/master
set config- and data-dir to system-specific paths
2025-01-24 13:48:11 +01:00
plc-user
661530030a Update machine_info.cpp
second try to resolve PR-conflict
2025-01-24 13:28:52 +01:00
plc-user
620aa665f2 Update machine_info.cpp
try to resolve PR-conflict
2025-01-24 13:25:57 +01:00
Laurent Trinques
8f23a3d94d Improve logs in machine info 2025-01-24 11:49:53 +01:00
Laurent Trinques
c343df3fc9 Minor 2025-01-24 11:12:36 +01:00
plc-user
d7ac2af4d6 use QETApp::dataDir() instead of QStamdardPaths 2025-01-24 08:35:03 +01:00
plc-user
ec7ba05ec1 adjust info-text 2025-01-24 07:19:36 +01:00
plc-user
600cba6a8f update comment 2025-01-24 07:10:36 +01:00
plc-user
4221bb84fb create "AppDataLocation" if not present 2025-01-24 07:02:57 +01:00
plc-user
b6d29fbbf0 update comment 2025-01-24 06:56:04 +01:00
plc-user
635af67100 "writableLocation" is a QString 2025-01-23 20:20:17 +01:00
plc-user
ba9cd71816 set config- and data-dir to system-specific paths 2025-01-23 18:47:10 +01:00
Laurent Trinques
b19fbd2522 Minor 2025-01-23 17:25:36 +01:00
Laurent Trinques
dc403e5e8f Machine info: add new informations about config 2025-01-23 16:34:48 +01:00
Laurent Trinques
be96da650c Maichine info: add new QStandardPaths 2025-01-23 12:35:03 +01:00
Laurent Trinques
cf9b07aeb5 Update qet_cs.ts binary 2025-01-16 08:22:17 +01:00
Laurent Trinques
6aa2c3c7be Merge pull request #326 from pafri/patch-1
Update qet_cs.ts
2025-01-16 08:19:59 +01:00
pafri
17788dc432 Update qet_cs.ts
I've updated the translation of the Czech localization file. Please commit it.

Greetings.
2025-01-15 19:49:47 +01:00
Laurent Trinques
9bfde721bf Update pugixml to v1.15 2025-01-12 16:39:33 +01:00
Laurent Trinques
9964eee202 Merge pull request #324 from plc-user/master
update German translation
2025-01-09 11:49:53 +01:00
Laurent Trinques
03d31986b7 Update README.md 2025-01-09 05:23:56 +01:00
plc-user
33ce130296 update German translation 2025-01-08 16:17:52 +01:00
Laurent Trinques
e21536d184 git submodule update --remote elements 2025-01-05 14:09:04 +01:00
Laurent Trinques
ffba440c6e Rename (be) translation to Belgium-Flemish nl_BE 2025-01-05 13:55:48 +01:00
Laurent Trinques
ad997605ec Rename (be) translation to Belgium-Flemish nl_BE 2025-01-05 13:17:59 +01:00
Laurent Trinques
e2eace06d3 Merge pull request #323 from plc-user/master
fix copyright-year
2025-01-05 07:30:10 +01:00
plc-user
ed8728c45a fix copyright-year 2025-01-04 17:25:20 +01:00
Laurent Trinques
77bfe84a4c One year 2025-01-04 13:37:40 +01:00
Laurent Trinques
e053acb065 Add binary pt_BR translation 2025-01-03 06:50:24 +01:00
Laurent Trinques
b5d57086bc Merge pull request #322 from gleissonjoaquim3/master
PT-BR language update
2025-01-03 06:05:12 +01:00
gleissonjoaquim3
b456bedaa3 lang/qet_pt_BR.ts
PT-BR language update
2025-01-03 01:33:13 -03:00
Laurent Trinques
db18095cfb Merge pull request #319 from ChuckNr11/master
Change Sorting of ElementInfo ComboBox
2025-01-01 09:01:48 +01:00
Achim
3438ba9ab3 composite text of report element corrected
In the ElementEditor, incorrect variables were displayed for
CompositeText in ReportElements.  This is corrected here
2024-12-31 21:58:42 +01:00
Laurent Trinques
1078496bb1 Merge pull request #320 from plc-user/master
Fix: Only scroll diagram-view, when moved text leaves visible area
2024-12-31 16:04:26 +01:00
plc-user
711353bb58 Fix whitespace 2024-12-31 16:01:47 +01:00
plc-user
dd7955e50e Fix: Only scroll diagram-view, when moved text leaves visible area 2024-12-31 15:52:17 +01:00
Achim
7a617e72bd a few small corrections 2024-12-31 08:40:56 +01:00
Achim
e73aa3b84d ComboBox change sorting
alphabetical sorting in the ComboBox changed according to the order in
the elementInfoKeys list
2024-12-31 08:40:03 +01:00
Achim
8e0c3f4252 german language file adapted 2024-12-31 08:32:41 +01:00
Laurent Trinques
27474b0822 Refresh translation binary 2024-12-27 15:00:44 +01:00
Laurent Trinques
d6dcc85157 Update qet_be.ts 2024-12-27 14:59:06 +01:00
Laurent Trinques
b2dc6ba738 Add be-nl translation, thanks Ronny 2024-12-27 14:16:31 +01:00
Laurent Trinques
31ed09f185 Revert "Try to fix https://github.com/qelectrotech/qelectrotech-source-mirror/"
This reverts commit 3992c60c45.
2024-12-22 16:17:32 +01:00
Laurent Trinques
3992c60c45 Try to fix https://github.com/qelectrotech/qelectrotech-source-mirror/
pull/314
2024-12-22 14:25:30 +01:00
Laurent Trinques
fef351df8b Typo 2024-12-22 08:44:19 +01:00
Laurent Trinques
fa322af060 Merge pull request #317 from qelectrotech/revert-314-master
Revert "ElementEditor elmt_info_cb sorting changed"
2024-12-21 13:22:10 +01:00
joshua
4ca0bbf682 Minor
Add more help line for the preview of terminal strip configurator
2024-11-07 18:48:53 +01:00
763 changed files with 122739 additions and 39051 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.qch filter=lfs diff=lfs merge=lfs -text

68
.github/workflows/auto-doxygen.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: Auto-build doxygen docs
on:
push:
tags:
- '**'
jobs:
doxygen:
permissions:
contents: write
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
show-progress: ''
- name: Setup and run doxygen
run: sudo apt update && sudo apt install doxygen graphviz qhelpgenerator-qt5 -y
- name: Set up Git LFS
run: |
git lfs install
git lfs track "*.qch"
- name: Run doxygen
run: doxygen Doxyfile
- name: Create Pull Request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.MR_TOKEN }}
commit-message: update QCH file
committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
title: Update QCH Help file
body: |
- Updating QT Help file following commit ${{ github.sha }}.
- Auto-generated by [create-pull-request][1]
[1]: https://github.com/peter-evans/create-pull-request
branch: update-qch
labels: |
qch
cicd
delete-branch: true
add-paths: doc/*.qch
- uses: actions/upload-pages-artifact@v3
with:
path: ${{ github.workspace }}/doc/html/
deploy:
# Add a dependency to the build job
needs: doxygen
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
# Specify runner + deployment step
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action

View File

@@ -1,22 +0,0 @@
name: Publish Edge Snap
on:
push:
branches:
- master
jobs:
publish_amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Checkout submodules
run: git submodule update --init --recursive
- uses: snapcore/action-build@v1
id: build
- uses: snapcore/action-publish@v1
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.STORE_LOGIN }}
with:
snap: ${{ steps.build.outputs.snap }}
release: stable

557
.github/workflows/windows-build.yml vendored Normal file
View File

@@ -0,0 +1,557 @@
name: Windows Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Install MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
cache: true
install: >-
git
mingw-w64-ucrt-x86_64-ccache
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-cmake
mingw-w64-ucrt-x86_64-ninja
mingw-w64-ucrt-x86_64-qt5-base
mingw-w64-ucrt-x86_64-qt5-svg
mingw-w64-ucrt-x86_64-qt5-tools
mingw-w64-ucrt-x86_64-qt5-translations
mingw-w64-ucrt-x86_64-sqlite3
mingw-w64-ucrt-x86_64-pkg-config
mingw-w64-ucrt-x86_64-kwidgetsaddons
mingw-w64-ucrt-x86_64-kcoreaddons
mingw-w64-ucrt-x86_64-extra-cmake-modules
mingw-w64-ucrt-x86_64-nsis
mingw-w64-ucrt-x86_64-angleproject
- name: Cache ccache
uses: actions/cache@v4
with:
path: C:\Users\runneradmin\AppData\Local\ccache
key: ccache-windows-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
ccache-windows-${{ github.ref_name }}-
ccache-windows-
- name: Configure ccache
shell: msys2 {0}
run: |
/ucrt64/bin/ccache --set-config=max_size=500M
/ucrt64/bin/ccache --set-config=compression=true
/ucrt64/bin/ccache -z
echo "=== ccache config ==="
/ucrt64/bin/ccache -p
- name: Patch NSIS Welcome page — fix title font size
shell: msys2 {0}
run: |
set -euo pipefail
WELCOME_NSH=$(find /ucrt64 -path "*/Modern UI 2/Pages/Welcome.nsh" | head -1)
if [ -z "$WELCOME_NSH" ]; then
echo "WARNING: Welcome.nsh not found, skipping font patch"
else
echo "Patching: $WELCOME_NSH"
sed -i '/WelcomePage\.Title\.Font/s/"[0-9]\+" "700"/"10" "700"/' "$WELCOME_NSH"
grep 'WelcomePage.Title.Font' "$WELCOME_NSH"
echo " OK font size patched to 10"
fi
FINISH_NSH=$(find /ucrt64 -path "*/Modern UI 2/Pages/Finish.nsh" | head -1)
if [ -z "$FINISH_NSH" ]; then
echo "WARNING: Finish.nsh not found, skipping font patch"
else
echo "Patching: $FINISH_NSH"
sed -i '/FinishPage\.Title\.Font/s/"[0-9]\+" "700"/"10" "700"/' "$FINISH_NSH"
grep 'FinishPage.Title.Font' "$FINISH_NSH"
echo " OK font size patched to 10"
fi
- name: Force Qt5 — remove Qt6 cmake + tools
shell: msys2 {0}
run: |
set -euo pipefail
rm -rf /ucrt64/lib/cmake/Qt6
pacman -R --noconfirm mingw-w64-ucrt-x86_64-qt6-tools 2>/dev/null || true
echo "=== windeployqt binaries ==="
ls /ucrt64/bin/windeployqt* || echo "NO windeployqt found!"
- name: Build with cmake
shell: msys2 {0}
run: |
set -euo pipefail
cd "$GITHUB_WORKSPACE"
mkdir build && cd build
NPROC=$(nproc)
echo "Available CPUs: $NPROC"
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=/ucrt64 \
-DQt5_DIR=/ucrt64/lib/cmake/Qt5 \
-DQT_VERSION_MAJOR=5 \
-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON \
-DBUILD_TESTING=OFF \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
-DCMAKE_CXX_FLAGS="-DQET_EXPORT_PROJECT_DB" \
-DCMAKE_C_COMPILER_LAUNCHER=/ucrt64/bin/ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=/ucrt64/bin/ccache \
-DSQLite3_INCLUDE_DIR=/ucrt64/include \
-DSQLite3_LIBRARY=/ucrt64/lib/libsqlite3.dll.a \
..
ninja -j"$NPROC"
- name: Show ccache stats
shell: msys2 {0}
run: |
echo "=== ccache statistics ==="
/ucrt64/bin/ccache -s
- name: Verify exe was built
shell: msys2 {0}
run: |
set -euo pipefail
EXE=$(find "$GITHUB_WORKSPACE/build" -maxdepth 3 -iname "qelectrotech.exe" | head -1)
if [ -z "$EXE" ]; then
echo "ERROR: no qelectrotech.exe found in build/"
find "$GITHUB_WORKSPACE/build" -maxdepth 3 -name "*.exe" || true
exit 1
fi
SIZE=$(stat -c%s "$EXE")
echo "Exe found: $EXE ($SIZE bytes)"
[ "$SIZE" -gt 100000 ] || { echo "ERROR: exe too small"; exit 1; }
- name: Deploy — copy exe + windeployqt + DLLs
shell: msys2 {0}
run: |
set -euo pipefail
NSIS_ROOT="$GITHUB_WORKSPACE/nsis_root"
FILES="$NSIS_ROOT/files"
BIN="$FILES/bin"
mkdir -p "$BIN"
EXE=$(find "$GITHUB_WORKSPACE/build" -maxdepth 3 -iname "qelectrotech.exe" | head -1)
echo "Copying exe: $EXE -> $BIN/QElectroTech.exe"
cp "$EXE" "$BIN/QElectroTech.exe"
cd "$BIN"
/ucrt64/bin/windeployqt-qt5 \
--release \
--no-translations \
--no-compiler-runtime \
./QElectroTech.exe || true
echo "=== 3-pass transitive DLL scan ==="
set +e
for PASS in 1 2 3; do
echo "-- Pass $PASS --"
for bin_file in "$BIN"/*.dll "$BIN"/*.exe "$BIN"/sqldrivers/*.dll "$BIN"/platforms/*.dll "$BIN"/imageformats/*.dll; do
[ -f "$bin_file" ] || continue
while IFS= read -r line; do
dll_path=$(echo "$line" | awk '{print $3}')
[ -f "$dll_path" ] || continue
dll_name=$(basename "$dll_path")
dst="$BIN/$dll_name"
if [ ! -f "$dst" ]; then
cp "$dll_path" "$dst"
echo " Copied (pass $PASS): $dll_name"
fi
done < <(ldd "$bin_file" 2>/dev/null | grep -i '/ucrt64/bin/')
done
done
set -e
DLL_COUNT=$(find "$BIN" -name "*.dll" | wc -l)
echo "=== $DLL_COUNT DLLs present after scan ==="
ls -lh "$BIN/QElectroTech.exe" || { echo "ERROR: exe missing from bin/"; exit 1; }
[ "$DLL_COUNT" -gt 5 ] || { echo "ERROR: too few DLLs"; exit 1; }
cd "$GITHUB_WORKSPACE"
cp /ucrt64/bin/libgcc_s_seh-1.dll "$BIN/"
cp /ucrt64/bin/libstdc++-6.dll "$BIN/"
cp /ucrt64/bin/libwinpthread-1.dll "$BIN/"
SQLITE=$(find /ucrt64/bin -name "libsqlite3*.dll" | head -1)
if [ -n "$SQLITE" ]; then
cp "$SQLITE" "$BIN/"
echo "SQLite3 copied: $(basename $SQLITE)"
else
echo "WARNING: libsqlite3 not found in /ucrt64/bin/"
fi
cp "$GITHUB_WORKSPACE/build-aux/windows/QET64.nsi" "$NSIS_ROOT/"
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra.nsh" "$NSIS_ROOT/"
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra_fr.nsh" "$NSIS_ROOT/"
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra_missing.nsh" "$NSIS_ROOT/"
cp -r "$GITHUB_WORKSPACE/build-aux/windows/nsis_base/." "$NSIS_ROOT/"
curl -fsSL \
"https://raw.githubusercontent.com/qelectrotech/qelectrotech-source-mirror/refs/heads/master/misc/Lancer%20QET.bat" \
-o "$FILES/Lancer QET.bat"
cp -r "$GITHUB_WORKSPACE/elements" "$FILES/elements" || true
cp -r "$GITHUB_WORKSPACE/titleblocks" "$FILES/titleblocks" || true
cp -r "$GITHUB_WORKSPACE/examples" "$FILES/examples" || true
cp -r "$GITHUB_WORKSPACE/fonts" "$FILES/fonts" || true
cp -r "$GITHUB_WORKSPACE/lang" "$FILES/lang" || true
find "$GITHUB_WORKSPACE/build" -name "*.qm" -exec cp {} "$FILES/lang/" \; 2>/dev/null || true
echo "=== .qm files in files/lang/ ==="
ls "$FILES/lang/"*.qm 2>/dev/null | wc -l || echo "0 .qm files"
for f in LICENSE ChangeLog CREDIT README ELEMENTS.LICENSE; do
cp "$GITHUB_WORKSPACE/$f" "$FILES/$f" 2>/dev/null || true
done
echo "=== Verification of key files in files/ ==="
for f in LICENSE ChangeLog CREDIT README ELEMENTS.LICENSE \
qet_uninstall_file_associations.reg register_filetypes.bat "Lancer QET.bat"; do
[ -f "$FILES/$f" ] \
&& echo " OK : $f" \
|| echo " MISSING: $f"
done
for d in ico elements lang titleblocks fonts examples bin; do
[ -d "$FILES/$d" ] \
&& echo " OK : $d/" \
|| echo " MISSING: $d/"
done
- name: Extract version for installer name
shell: msys2 {0}
id: qet_version
run: |
set -euo pipefail
GITCOMMIT=$(git -C "$GITHUB_WORKSPACE" rev-parse --short HEAD)
A=$(git -C "$GITHUB_WORKSPACE" rev-list HEAD --count)
HEAD=$(( A + 473 ))
VERSION=$(grep 'return QVersionNumber{' "$GITHUB_WORKSPACE/sources/qetversion.cpp" \
| head -1 \
| awk -F '{' '{ print $2 }' \
| awk -F '}' '{ print $1 }' \
| sed -e 's/,/./g' -e 's/ //g')
[ -z "$VERSION" ] && VERSION="dev"
FULL_VERSION="${VERSION}-r${HEAD}-${GITCOMMIT}_x86_64-win64"
echo "version=$FULL_VERSION" >> "$GITHUB_OUTPUT"
echo "base_version=$VERSION" >> "$GITHUB_OUTPUT"
echo "gitcommit=$GITCOMMIT" >> "$GITHUB_OUTPUT"
echo "head=$HEAD" >> "$GITHUB_OUTPUT"
echo "VERSION : $VERSION"
echo "GITCOMMIT : $GITCOMMIT"
echo "HEAD (rev) : $HEAD"
echo "FULL : $FULL_VERSION"
- name: Patch QET64.nsi — version + exe name + absolute paths
shell: msys2 {0}
run: |
set -euo pipefail
VERSION="${{ steps.qet_version.outputs.version }}"
NSI="$GITHUB_WORKSPACE/nsis_root/QET64.nsi"
FILES_WIN=$(cygpath -w "$GITHUB_WORKSPACE/nsis_root/files")
SCRIPT="$GITHUB_WORKSPACE/build-aux/windows/patch_nsi.py"
python3 "$SCRIPT" "$NSI" "$VERSION" "$FILES_WIN"
echo "=== Verification ==="
grep 'SOFT_VERSION' "$NSI" | head -1
grep -m2 'nsis_root' "$NSI" | head -2
echo "=== Contents of nsis_root/files/ ==="
ls "$GITHUB_WORKSPACE/nsis_root/files/"
- name: Build NSIS installer
shell: msys2 {0}
run: |
set -euo pipefail
NSIS_ROOT="$GITHUB_WORKSPACE/nsis_root"
cd "$NSIS_ROOT"
echo "=== CWD : $(pwd) ==="
MSYS2_ARG_CONV_EXCL="*" makensis /V4 QET64.nsi
RC=$?
echo "=== Contents of nsis_root after makensis ==="
ls "$NSIS_ROOT/"
[ $RC -eq 0 ] || { echo "ERROR: makensis failed (exit $RC)"; exit 1; }
- name: Move installer to dist/
shell: msys2 {0}
run: |
set -euo pipefail
mkdir -p "$GITHUB_WORKSPACE/dist"
INSTALLER=$(find "$GITHUB_WORKSPACE/nsis_root" -maxdepth 1 -iname "installer_*.exe" | head -1)
if [ -z "$INSTALLER" ]; then
echo "ERROR: no installer .exe found in nsis_root/"
ls "$GITHUB_WORKSPACE/nsis_root/"
exit 1
fi
echo "Moving: $INSTALLER -> dist/"
mv "$INSTALLER" "$GITHUB_WORKSPACE/dist/"
- name: Upload build logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: build-logs
path: |
build/CMakeFiles/*.log
nsis_root/files/bin/
if-no-files-found: warn
- name: Upload portable (files/ without installer)
uses: actions/upload-artifact@v4
with:
name: qelectrotech-${{ steps.qet_version.outputs.base_version }}+git${{ steps.qet_version.outputs.head }}-x86-win64-readytouse
path: nsis_root/files/
retention-days: 14
- name: Upload NSIS installer
uses: actions/upload-artifact@v4
with:
name: qelectrotech-windows-installer
path: dist/Installer_*.exe
retention-days: 14
# ---------------------------------------------------------------------------
# Job 2 : Publie une release nightly + page GitHub Pages
# Ne tourne que sur push master (pas sur les PRs)
# ---------------------------------------------------------------------------
deploy-pages:
needs: build-windows
runs-on: ubuntu-latest
if: github.event_name != 'pull_request'
permissions:
contents: write
steps:
- name: Checkout gh-pages branch
uses: actions/checkout@v4
with:
ref: gh-pages
path: gh-pages
- name: Download installer artifact
uses: actions/download-artifact@v4
with:
name: qelectrotech-windows-installer
path: downloaded/installer/
- name: Update nightly release
uses: softprops/action-gh-release@v2
with:
tag_name: nightly
name: "Nightly Build Windows"
body: |
🔧 **Automated nightly build** — may be unstable.
| | |
|---|---|
| **Commit** | ${{ github.sha }} |
| **Run** | https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} |
| **Date** | ${{ github.event.head_commit.timestamp }} |
> ⚠️ This release is overwritten on every push to `master`.
> For stable releases, see the [Releases page](https://github.com/${{ github.repository }}/releases).
prerelease: true
make_latest: false
files: downloaded/installer/*.exe
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate download page (index.html)
run: |
DATE=$(date -u '+%Y-%m-%d %H:%M UTC')
SHORT="${{ github.sha }}"
SHORT="${SHORT:0:7}"
REPO="${{ github.repository }}"
RUN_URL="https://github.com/$REPO/actions/runs/${{ github.run_id }}"
EXE_NAME=$(ls downloaded/installer/*.exe | xargs -I{} basename {})
INSTALLER_URL="https://github.com/$REPO/releases/download/nightly/$EXE_NAME"
mkdir -p gh-pages
cat > gh-pages/index.html << HTMLEOF
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QElectroTech Nightly Builds</title>
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background: #f0f4f8;
color: #2d3748;
min-height: 100vh;
}
header {
background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 100%);
color: white;
padding: 48px 24px 40px;
text-align: center;
}
header h1 { font-size: 2.2em; letter-spacing: -0.5px; margin-bottom: 8px; }
header p { opacity: 0.8; font-size: 1.05em; }
main {
max-width: 680px;
margin: 40px auto;
padding: 0 20px 60px;
}
.card {
background: white;
border-radius: 12px;
padding: 28px;
margin-bottom: 24px;
box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.card h2 {
font-size: 1em;
text-transform: uppercase;
letter-spacing: 0.06em;
color: #718096;
margin-bottom: 16px;
}
.meta {
font-size: 0.875em;
color: #4a5568;
line-height: 1.8;
margin-bottom: 20px;
}
.meta a { color: #2b6cb0; text-decoration: none; }
.meta a:hover { text-decoration: underline; }
.badge {
display: inline-block;
background: #ebf8ff;
color: #2b6cb0;
border-radius: 4px;
font-size: 0.8em;
font-weight: 600;
padding: 2px 8px;
margin-left: 6px;
vertical-align: middle;
}
.warning {
background: #fffbeb;
border-left: 4px solid #f6ad55;
border-radius: 4px;
padding: 12px 16px;
font-size: 0.875em;
color: #744210;
margin-bottom: 24px;
line-height: 1.5;
}
.warning a { color: #c05621; }
.downloads { display: flex; flex-direction: column; gap: 12px; }
.btn {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 20px;
border-radius: 8px;
font-size: 0.95em;
font-weight: 600;
text-decoration: none;
transition: transform 0.1s, box-shadow 0.1s;
}
.btn:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.btn-primary { background: #2b6cb0; color: white; }
.btn-secondary { background: #edf2f7; color: #2d3748; }
.btn-icon { font-size: 1.3em; }
.btn-text small {
display: block;
font-weight: 400;
font-size: 0.8em;
opacity: 0.75;
margin-top: 1px;
}
footer {
text-align: center;
font-size: 0.8em;
color: #a0aec0;
padding: 32px 0 0;
}
footer a { color: #718096; text-decoration: none; }
</style>
</head>
<body>
<header>
<h1>⚡ QElectroTech</h1>
<p>Nightly Windows Builds</p>
</header>
<main>
<div class="card">
<h2>Build info</h2>
<div class="meta">
📅 &nbsp;<strong>$DATE</strong><br>
🔀 &nbsp;Commit <a href="https://github.com/$REPO/commit/${{ github.sha }}"><code>$SHORT</code></a><br>
🔧 &nbsp;<a href="$RUN_URL">CI Run #${{ github.run_number }}</a>
<span class="badge">nightly</span>
</div>
<div class="warning">
⚠️ These builds are generated automatically on every commit to <code>master</code>
and may be unstable or incomplete.
For production use, download a
<a href="https://github.com/$REPO/releases">stable release</a>.
</div>
</div>
<div class="card">
<h2>🪟 Windows — x86_64</h2>
<div class="downloads">
<a class="btn btn-primary" href="$INSTALLER_URL">
<span class="btn-icon">⬇</span>
<span class="btn-text">
Windows Installer
<small>.exe — recommended, includes all dependencies</small>
</span>
</a>
<a class="btn btn-secondary" href="https://github.com/$REPO/releases/tag/nightly">
<span class="btn-icon">📦</span>
<span class="btn-text">
All nightly files on GitHub
<small>Release page with checksums</small>
</span>
</a>
</div>
</div>
</main>
<footer>
Auto-generated by GitHub Actions &nbsp;·&nbsp;
<a href="https://github.com/$REPO">Source on GitHub</a> &nbsp;·&nbsp;
<a href="https://qelectrotech.org">qelectrotech.org</a>
</footer>
</body>
</html>
HTMLEOF
- name: Commit and push to gh-pages
run: |
cd gh-pages
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add index.html
git diff --staged --quiet \
|| git commit -m "nightly: build #${{ github.run_number }} (${{ github.sha }})"
git push origin gh-pages

4
.gitignore vendored
View File

@@ -3,5 +3,7 @@
# Qt build output
*.user
# doxygen Doxyfile output
doc/
doc/*
!doc/QElectroTech.qch
QElectroTech.tag
!doc/doc-utils

3
.gitmodules vendored
View File

@@ -8,3 +8,6 @@
path = elements
url = https://github.com/qelectrotech/qelectrotech-elements.git
[submodule "doxygen-awesome-css"]
path = doxygen-awesome-css
url = https://github.com/jothepro/doxygen-awesome-css.git

View File

@@ -57,7 +57,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(
QT
NAMES
Qt6
Qt5
COMPONENTS
${QET_COMPONENTS}
@@ -69,6 +68,7 @@ find_package(
COMPONENTS
${QET_COMPONENTS}
REQUIRED)
find_package(SQLite3 REQUIRED)
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
@@ -92,6 +92,7 @@ target_link_libraries(
PRIVATE
pugixml::pugixml
SingleApplication::SingleApplication
SQLite::SQLite3
${KF5_PRIVATE_LIBRARIES}
${QET_PRIVATE_LIBRARIES}
)

62
CREDIT
View File

@@ -1,3 +1,33 @@
[ca]
Gràcies a Qt Software per la biblioteca Qt ( http://www.qtsoftware.com/ ), amb llicència GNU/GPL.
Gràcies al projecte KDE ( http://www.kde.org/ ).
Gràcies a Loic per les seves explicacions d'ordre matemàtic.
Gràcies a Remi Collet pels paquets Fedora.
Gràcies a Laurent Trinques pels paquets Debian.
Gràcies a `trem' pels paquets Mandriva.
Gràcies a TuxFamily ( http://tuxfamily.org/ ) per a l'allotjament del projecte.
Gràcies a `Nishiki' pels seus elements i el seu suport suport.
Gràcies a qtcentre.org per la seva classe SingleApplication.
Gràcies a Alfredo Carreto per les seves traduccions i correccions al castellà ( http://electronicosmx.net )
Gràcies a 'Dr.Slump' et Sivio pour leurs traductions a l'italià
Gràcies a Jose Carlos Martins per les seves traduccions al portuguès
Gràcies a Pavel Fric per les seves traduccions al txec
Gràcies a Pawel Smiech per les seves traduccions al polonès
Gràcies a Yuriy Litkevich per les seves traduccions al rus
Gràcies a Youssef Ouamalkran i Antoni Mirabete per les seves traduccions al català
Gràcies a Gabi Mandoc per les seves traduccions al romanès
Gràcies a Markus Budde i Jonas Stein et Noah Braden per les seves traduccions a l'alemany
Gràcies a Mohamed Souabni per les seves traduccions a l'àrab
Gràcies a Uroš Platiše per les seves traduccions a l'eslovè
Gràcies a Antun Marakovic per les seves traduccions al croat
Gràcies a Nikos Papadopoylos && Yannis Gyftomitros per les seves traduccions al grec
Gràcies a Markos Chandras pels paquets Gentoo
Gràcies a David pels paquets Slackware
Gràcies a Chipsterjulien pels paquets Archlinux AUR
Gràcies a Elbert de NL pels paquets OS/2
Gràcies a Zloidemon pels paquets (port GCC)
Gràcies a Mrbit per ebuild els paquets Gentoo
[en]
Thanks to Qt Software for their Qt library ( http://www.qtsoftware.com/ ), licensed under GNU/GPL.
Thanks to the KDE project ( http://www.kde.org/ ).
@@ -236,3 +266,35 @@ Dank aan Chipsterjulien voor de pakkette Archlinux AUR
Dank aan Elbert voor de pakkette OS/2
Dank aan Zloidemon fvoor de pakkette (port GCC)
Dank aan Mrbit van ebuild voor de pakkette Gentoo
[ko]
Qt 라이브러리(Qt Software, http://www.qtsoftware.com/)를 제공해 주신 Qt Software에 감사드립니다. (GNU/GPL 라이선스)
KDE 프로젝트 ( http://www.kde.org/ )에 감사드립니다.
수학적인 설명을 제공해 주신 Loic에게 감사드립니다.
Fedora 패키지를 제공해 주신 Remi Collet에게 감사드립니다.
Debian 패키지를 제공해 주신 Laurent Trinques에게 감사드립니다.
Mandriva 패키지를 제공해 주신 `trem`에게 감사드립니다.
프로젝트 호스팅을 지원해 주신 TuxFamily ( http://tuxfamily.org/ )에 감사드립니다.
요소 제공 및 지원을 해주신 `Nishiki`에게 감사드립니다.
SingleApplication 클래스를 제공해 준 qtcentre.org에 감사드립니다.
스페인어 번역 및 번역 수정에 기여해 주신 Alfredo Carreto ( http://electronicosmx.net )에게 감사드립니다.
이탈리아어 번역에 기여해 주신 'Dr.Slump'와 Silvio에게 감사드립니다.
포르투갈어 번역에 기여해 주신 Jose Carlos Martins에게 감사드립니다.
체코어 번역에 기여해 주신 Pavel Fric에게 감사드립니다.
폴란드어 번역에 기여해 주신 Pawel Smiech에게 감사드립니다.
러시아어 번역에 기여해 주신 Yuriy Litkevich에게 감사드립니다.
카탈로니아어 번역에 기여해 주신 Youssef Ouamalkran에게 감사드립니다.
루마니아어 번역에 기여해 주신 Gabi Mandoc에게 감사드립니다.
독일어 번역에 기여해 주신 Markus Budde, Jonas Stein, Noah Braden에게 감사드립니다.
아랍어 번역에 기여해 주신 Mohamed Souabni에게 감사드립니다.
슬로베니아어 번역에 기여해 주신 Uroš Platiše에게 감사드립니다.
크로아티아어 번역에 기여해 주신 Antun Marakovic에게 감사드립니다.
그리스어 번역에 기여해 주신 Nikos Papadopoylos와 Yannis Gyftomitros에게 감사드립니다.
한국어 번역에 기여해 주신 정광호 님께 감사드립니다.
Gentoo 패키지를 제공해 주신 Markos Chandras에게 감사드립니다.
Slackware 패키지를 제공해 주신 David에게 감사드립니다.
Arch Linux AUR 패키지를 제공해 주신 Chipsterjulien에게 감사드립니다.
OS/2 패키지를 제공해 주신 Elbert에게 감사드립니다.
FreeBSD(GCC 포트) 패키지를 제공해 주신 zloidemon에게 감사드립니다.
Gentoo ebuild 패키지를 제공해 주신 Mrbit에게 감사드립니다.

125
ChangeLog
View File

@@ -1,3 +1,128 @@
# QElectroTech - CHANGELOG
## Version 0.100
_Compiled from provided commit logs and contributor notes._
## Overview
This release (v0.100) collects a large set of new features, UI and editor improvements, element and symbol updates, build and packaging fixes, dependency upgrades, translations, and a broad set of bug fixes and stability improvements. It is intended as a stable, feature-rich stepping stone toward the next major workflows for symbol editing, terminal/strip handling and export improvements.
## Highlights / Key Features
- **Terminal Strip / Terminal Strip Editor**
- New TerminalStripItem type and related editor workflow added.
- Support for drawing and displaying terminal bridges and links in the editor.
- Full editor support (layout preview, save/load into .qet files) and undo support for terminal strip operations.
- **New Example Projects**
- Several new example projects included, notably photovoltaic (PV) examples to help users getting started with PV designs.
- **Improved Export / Print Handling**
- Export limits adjusted and better handling of QPainter/printing boundaries to avoid export artefacts and out-of-range errors.
- Export dialog updated to allow larger pixel limits where appropriate.
- **Element & Symbol Additions**
- New elements and symbols added (including vendor-specific elements and additional sensors/Arduino components).
- Improvements to element import & metadata handling.
- **Packaging & Multi-arch Support**
- Updated packaging scripts for AppImage, Flatpak, Snap and macOS deployment. Improved aarch64/arm64 support.
## Detailed Changes
### Editor & UX
- Better handling for **rotation, flip and mirror** operations in the element editor:
- Primitives and text rotation behavior improved.
- Finer rotation increments and predictable text orientation after flips/rotations.
- **Wiring and conductor behavior**:
- More robust creation and movement of wires and conductor bundles.
- Improved text attachment and positioning for wires and improved stability while editing complex conductor networks.
- **TerminalStrip editor**: see Highlights - includes drawing, preview, layout editing, persistent storage in the project file and undo support.
- **Element Editor & Symbol Trim/Sort**:
- Improved trimming/normalization of element metadata.
- Better sorting and error handling for element imports (DXF and other formats).
- Small UI improvements: About dialog updates, autosave spinbox ranges, improved tooltips and mouse-hover help for dynamic texts.
### New & Updated Elements
- New elements added for industrial and automation workflows (including Siemens-related elements, logic elements, sensors and Arduino components).
- Symbol library additions and cleanup; improved defaults for newly added symbols.
- Element meta-data cleanup: article numbers, descriptions, and manufacturer fields were normalized and trimmed on import.
### Export / Printing / PDF
- Adjusted internal export limits to avoid hitting QPainter size restrictions; users can now export larger, high-resolution images/prints in more cases.
- Better handling of page sizes and printer-related geometry using QRectF improvements.
- PDF export improvements to increase reliability of exported vector content.
### Build, Dependencies, Packaging
- Upgrades of core test and build dependencies:
- Catch2 upgraded to v2.13.10.
- googletest upgraded to v1.17.0.
- CMake fixes and i18n handling corrected for nl_BE and other locales.
- Packaging scripts updated across platforms (AppImage/Flatpak/Snap/macOS deploy) including fixes for aarch64/arm64.
- Submodule updates (e.g., qelectrotech-elements, pugixml, SingleApplication) synchronized where needed.
### Internationalization & Translations
- Large translation updates across many languages: German (DE), French (FR), Dutch (NL, including nl_BE), Swedish (SV), Italian (IT), Polish (PL), Portuguese-BR (PT-BR), Serbian (SR), Chinese (Simplified) and others.
- Fixes and corrections for many UI strings and localized resources.
### Tests, QA & Logging
- Improved logging and machine/config-path reporting; Git revision display refined to only show a revision when available.
- Unit test updates and fixes to align with updated testing frameworks.
## Bug Fixes (selected)
- Fixed crashes and various null pointer access issues discovered by static and dynamic testing.
- Resolved multiple reported bugs that caused build failures on some platforms (FTBFS fixes for macOS and others).
- Fixed issues with automatic conductor/strand numbering in several edge cases (referenced Bug 293 in the commit logs).
- Resolved text/summary headline issues in the German-language summary generator.
- Fixes for a number of visually incorrect renderings and layout corner-cases during element transformation (rotate/flip/mirror).
- Fixed issues that affected export sizes and caused export artifacts (referenced fixes for bug IDs around #329/#330 in commit notes).
## Developer & Contributor Notes
- Reworked parts of the codebase to use QRectF consistently for better compatibility with QPrinter and export pipelines.
- Code-style cleanups and comment improvements applied throughout the project.
- Expanded test coverage and dependency refresh to keep CI builds stable.
## Contributors (selected)
Thanks to the many contributors who made this release possible. Selected contributors mentioned in the commit logs include:
- Laurent Trinques
- joshua
- plc-user
- Achim
- Pascal Sander
- Andre Rummler
- Magnus Hellströmer
- Martin Marmsoler
- Remi Collet
(See the full commit history for the complete contributor list.)
## Upgrade / Migration Notes
- No database or project file format breaking changes were reported in the provided logs. As always, back up projects before opening them with a new version.
- If you rely on custom element libraries or third-party submodules, verify submodule synchronization after upgrading.
- If you are using custom packaging pipelines, review the updated packaging scripts for any changes required by new dependency versions, especially on aarch64/arm64.
## Known Issues & Limitations
- Some very large exports may still be limited by platform-specific rendering restrictions; the export dialog now allows larger pixel limits but extreme sizes may still hit system-level limits.
- If you use niche element-import workflows (DXF → element import), occasionally metadata normalization may alter whitespace/trim rules - verify newly imported elements in the element editor.
## How to get help / report bugs
- Use the project issue tracker (see repository) to report regressions or new bugs with detailed reproduction steps and example .qet files where possible.
- Include the output of Help → About (application version and Git revision) when reporting build/packaging issues.
====== ChangeLog from 0.8 to 0.9 ======

344
ChangeLog.MD Normal file
View File

@@ -0,0 +1,344 @@
# Changelog
## [Unreleased](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/HEAD)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9...HEAD)
**Closed issues:**
- error in doxygen action code [\#414](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/414)
- "NoName" is automatically inserted into empty text cells in title block [\#407](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/407)
- Apple silicon download is not working [\#400](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/400)
- Apple silicon download is not working [\#394](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/394)
- Differenciating connector for proper labeling [\#390](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/390)
- Non-perpendicular connections [\#368](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/368)
- using the wrong Application Data folder on Windows [\#325](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/325)
- Unclear which PPA to use [\#321](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/321)
- missing group functionality [\#318](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/318)
- segfault due to calling method of uninitialized object [\#311](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/311)
- Cannot open qelectrotech.app on macOS Sequoia 15.0 [\#307](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/307)
- Dark Mode [\#301](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/301)
- README 404 Not Found URL: qelectrotech.org/download.html needs to be qelectrotech.org/download.php [\#298](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/298)
- Malware warning when trying to install dev version 0.100 [\#290](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/290)
- The page sorting of folio [\#279](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/279)
- Bad file name for translations [\#278](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/278)
- Error using Portuguese Language [\#274](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/274)
- Uninstaller [\#265](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/265)
- New Maintainer [\#263](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/263)
- crash on export project db \(sqlite\) [\#262](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/262)
- https://qelectrotech.org/ is down for several days now ! [\#261](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/261)
- right click on text crashes app [\#260](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/260)
- broken link on github [\#259](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/259)
- Build on Bullseye 11.5 fails [\#254](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/254)
- Question about ARM target in future release [\#238](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/238)
- Component library disappears completely after reset of program [\#87](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/87)
- Can't change language in portable version [\#75](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/75)
- Transformation Matrix for Element Editor [\#56](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/56)
**Merged pull requests:**
- Update QCH Help file [\#416](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/416) ([Int-Circuit](https://github.com/Int-Circuit))
- no random hashes to have more constant order of XML-tags [\#415](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/415) ([plc-user](https://github.com/plc-user))
- Delete outdated QET docs [\#412](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/412) ([Int-Circuit](https://github.com/Int-Circuit))
- Fixing translation file list in CMake [\#404](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/404) ([arummler](https://github.com/arummler))
- Update dependencies to fix compilation errors [\#403](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/403) ([arummler](https://github.com/arummler))
- Minor corrections to prevent crashes [\#401](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/401) ([Evilscrack](https://github.com/Evilscrack))
- Correct compositeText alignment on copying [\#399](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/399) ([ChuckNr11](https://github.com/ChuckNr11))
- Better handling of conductors when moving [\#398](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/398) ([ChuckNr11](https://github.com/ChuckNr11))
- A few small improvements [\#395](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/395) ([ChuckNr11](https://github.com/ChuckNr11))
- Added updated automatic doxygen build on push + theme to make it fit with docs page [\#389](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/389) ([Int-Circuit](https://github.com/Int-Circuit))
- qet\_de updated [\#388](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/388) ([Bisku](https://github.com/Bisku))
- only calculate grid-point-size, when min != max [\#387](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/387) ([plc-user](https://github.com/plc-user))
- Mouse hover text for dynamic text items [\#386](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/386) ([elevatormind](https://github.com/elevatormind))
- improvement: adjust size of grid-dots with zoom-factor [\#384](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/384) ([plc-user](https://github.com/plc-user))
- adjust zoom-factor to use cosmetic-line and fixed comments [\#383](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/383) ([plc-user](https://github.com/plc-user))
- element-editor: fix jumping positions when rotate, mirror or flip [\#382](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/382) ([plc-user](https://github.com/plc-user))
- unify some more code for Qt5 & Qt6 \(and more\) [\#379](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/379) ([plc-user](https://github.com/plc-user))
- same simplifications as in \#376 "use the same code for Qt5 & Qt6" [\#377](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/377) ([plc-user](https://github.com/plc-user))
- simplify and use the same code for Qt5 & Qt6 [\#376](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/376) ([plc-user](https://github.com/plc-user))
- bordertitleblock: use same code for Qt5 & Qt6 for "numbering" rows [\#375](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/375) ([plc-user](https://github.com/plc-user))
- some minor changes [\#374](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/374) ([plc-user](https://github.com/plc-user))
- implement setting of point-size of grids [\#372](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/372) ([plc-user](https://github.com/plc-user))
- some small changes for selective move [\#370](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/370) ([plc-user](https://github.com/plc-user))
- Added slovak translation to org.qelectrotech.qelectrotech.desktop [\#369](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/369) ([prescott66](https://github.com/prescott66))
- unify calls to "setRotation" for element-primitives again [\#367](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/367) ([plc-user](https://github.com/plc-user))
- Added option to only move dynamic texts [\#365](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/365) ([scorpio810](https://github.com/scorpio810))
- New variables for conductor text formulas [\#364](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/364) ([scorpio810](https://github.com/scorpio810))
- Fix typo widht to width [\#362](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/362) ([pkess](https://github.com/pkess))
- element-editor: add mirror and flip for "text" [\#361](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/361) ([plc-user](https://github.com/plc-user))
- Add Swedish translation [\#360](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/360) ([scorpio810](https://github.com/scorpio810))
- German text for launcher and debian package code style [\#359](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/359) ([pkess](https://github.com/pkess))
- some more rotation, mirror and flip [\#358](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/358) ([plc-user](https://github.com/plc-user))
- BugFix: Flip and Mirror of terminals [\#357](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/357) ([plc-user](https://github.com/plc-user))
- element-editor: fix rotation and more [\#356](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/356) ([plc-user](https://github.com/plc-user))
- minor: mostly typos [\#355](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/355) ([plc-user](https://github.com/plc-user))
- a few translated shortcuts were still there ... fixed! [\#354](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/354) ([plc-user](https://github.com/plc-user))
- FIX: some shortcuts do not work with language set to local [\#353](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/353) ([plc-user](https://github.com/plc-user))
- fix movement of element, when origin is outside of graphics [\#352](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/352) ([plc-user](https://github.com/plc-user))
- FIX copy-and-paste in element-editor: set paste-position to meaningful values [\#351](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/351) ([plc-user](https://github.com/plc-user))
- some cleaning for element-file [\#350](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/350) ([plc-user](https://github.com/plc-user))
- fix: properties in project-file [\#348](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/348) ([plc-user](https://github.com/plc-user))
- translation: update German and English [\#347](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/347) ([plc-user](https://github.com/plc-user))
- export: set maximum width / height according limitations in QPainter [\#346](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/346) ([plc-user](https://github.com/plc-user))
- export: set maximum width / height according specifications of export-type [\#345](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/345) ([plc-user](https://github.com/plc-user))
- some clean-up for element-file and in code [\#344](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/344) ([plc-user](https://github.com/plc-user))
- minor: typos, comments, whitespace, translation [\#343](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/343) ([plc-user](https://github.com/plc-user))
- Sort names in element-file by language-code [\#342](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/342) ([plc-user](https://github.com/plc-user))
- more precise Log-Text for search of "qet\_tb\_generator" [\#341](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/341) ([plc-user](https://github.com/plc-user))
- machine\_info: add entry for QETApp::configDir\(\) also for win [\#340](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/340) ([plc-user](https://github.com/plc-user))
- remove dead code \(local variables that were never used\) [\#339](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/339) ([plc-user](https://github.com/plc-user))
- minor changes [\#338](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/338) ([plc-user](https://github.com/plc-user))
- Update of qet\_de [\#337](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/337) ([Bisku](https://github.com/Bisku))
- rewrite code for executing “qet\_tb\_generator” plugin [\#335](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/335) ([plc-user](https://github.com/plc-user))
- build-aux/snap/snapcraft.yaml: python3.8 -\> 3.10 [\#334](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/334) ([zultron](https://github.com/zultron))
- corrected a few places where QETApp::documentDir\(\) should also be used [\#333](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/333) ([plc-user](https://github.com/plc-user))
- add commandline-parameter "--data-dir" [\#332](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/332) ([plc-user](https://github.com/plc-user))
- machine\_info: fix element-count and make static text a bit shorter [\#331](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/331) ([plc-user](https://github.com/plc-user))
- formatting / whitespace - unify declarations [\#330](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/330) ([plc-user](https://github.com/plc-user))
- Set default-location for projects to documents-dir. [\#329](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/329) ([plc-user](https://github.com/plc-user))
- machine\_info.cpp: add explaining text for directory-list [\#328](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/328) ([plc-user](https://github.com/plc-user))
- set config- and data-dir to system-specific paths [\#327](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/327) ([plc-user](https://github.com/plc-user))
- Update qet\_cs.ts [\#326](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/326) ([pafri](https://github.com/pafri))
- update German translation [\#324](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/324) ([plc-user](https://github.com/plc-user))
- fix copyright-year [\#323](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/323) ([plc-user](https://github.com/plc-user))
- PT-BR language update [\#322](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/322) ([gleissonjoaquim3](https://github.com/gleissonjoaquim3))
- Fix: Only scroll diagram-view, when moved text leaves visible area [\#320](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/320) ([plc-user](https://github.com/plc-user))
- Change Sorting of ElementInfo ComboBox [\#319](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/319) ([ChuckNr11](https://github.com/ChuckNr11))
- Revert "ElementEditor elmt\_info\_cb sorting changed" [\#317](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/317) ([scorpio810](https://github.com/scorpio810))
- Fix typo and some whitespace [\#316](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/316) ([plc-user](https://github.com/plc-user))
- Fix missing company-titleblocks in properties-dialog [\#315](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/315) ([plc-user](https://github.com/plc-user))
- ElementEditor elmt\_info\_cb sorting changed [\#314](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/314) ([ChuckNr11](https://github.com/ChuckNr11))
- fix typos and whitespace [\#313](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/313) ([plc-user](https://github.com/plc-user))
- Force light mode in collections like projects [\#312](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/312) ([Arusekk](https://github.com/Arusekk))
- About QET: improvements in usability [\#310](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/310) ([plc-user](https://github.com/plc-user))
- use MessageBox to inform user about additional info when importing scaled element [\#308](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/308) ([plc-user](https://github.com/plc-user))
- make text for missing software "dxf2elmt" translatable [\#304](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/304) ([plc-user](https://github.com/plc-user))
- QET\_ElementScaler: fix error for Qt 5.9 and added mirroring [\#303](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/303) ([plc-user](https://github.com/plc-user))
- integrate "QET\_ElementScaler" as external software [\#302](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/302) ([plc-user](https://github.com/plc-user))
- move code into else-clause to avoid possible crashes [\#300](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/300) ([plc-user](https://github.com/plc-user))
- add terminal-names to connection in qet-file [\#297](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/297) ([plc-user](https://github.com/plc-user))
- fix: editing SpinBoxes with keyboard lose focus [\#296](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/296) ([plc-user](https://github.com/plc-user))
- Spanish lang update [\#295](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/295) ([joseyspain](https://github.com/joseyspain))
- More spanish translations.Josey [\#294](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/294) ([joseyspain](https://github.com/joseyspain))
- update German and English translations [\#293](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/293) ([plc-user](https://github.com/plc-user))
- hide SVG background checkbox in print preferences [\#292](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/292) ([plc-user](https://github.com/plc-user))
- fixed indentations of the remaining \*.cpp/\*.h files [\#291](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/291) ([plc-user](https://github.com/plc-user))
- correct more indentations / whitespace [\#289](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/289) ([plc-user](https://github.com/plc-user))
- update German and English translations [\#288](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/288) ([plc-user](https://github.com/plc-user))
- some minor changes [\#286](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/286) ([plc-user](https://github.com/plc-user))
- correct comments [\#285](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/285) ([plc-user](https://github.com/plc-user))
- FIX SegFault: Disable menu-entry for DB-export when no project loaded [\#284](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/284) ([plc-user](https://github.com/plc-user))
- changed some remaining "pt\_br" to "pt\_BR" [\#282](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/282) ([plc-user](https://github.com/plc-user))
- add option "transparent background" in SVG-export [\#281](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/281) ([plc-user](https://github.com/plc-user))
- Fix sizes [\#280](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/280) ([plc-user](https://github.com/plc-user))
- added folder "company-titleblocks" \(incl. language-files\) [\#277](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/277) ([plc-user](https://github.com/plc-user))
- update translations: de, en, nl [\#276](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/276) ([plc-user](https://github.com/plc-user))
- fix: set default "company-element-dir" [\#275](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/275) ([plc-user](https://github.com/plc-user))
- Fix Cmake build [\#273](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/273) ([De-Backer](https://github.com/De-Backer))
- added "company-collection" as second user-collection [\#272](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/272) ([plc-user](https://github.com/plc-user))
- corrected german texts for "line-style" [\#269](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/269) ([plc-user](https://github.com/plc-user))
- Too many parts [\#268](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/268) ([scorpio810](https://github.com/scorpio810))
- Merge Terminal strip to master [\#267](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/267) ([scorpio810](https://github.com/scorpio810))
- Terminal strip [\#266](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/266) ([scorpio810](https://github.com/scorpio810))
- Added new symbols [\#264](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/264) ([kamikazzyyyy](https://github.com/kamikazzyyyy))
## [0.9](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9) (2023-01-03)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2022/12/30...0.9)
## [0.9-dev-2022/12/30](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2022/12/30) (2022-12-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2022/08/15...0.9-dev-2022/12/30)
## [0.9-dev-2022/08/15](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2022/08/15) (2022-08-13)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2022/04/22...0.9-dev-2022/08/15)
**Closed issues:**
- Polylines always closed on dxf export [\#228](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/228)
- Refreshing after making changes to elements [\#168](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/168)
## [9-dev-2022/04/22](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2022/04/22) (2022-04-09)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/09/09...9-dev-2022/04/22)
**Closed issues:**
- File dialog should enforce suffix [\#206](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/206)
- snap: Update stable release to core20 & introduce branch for stable releases [\#201](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/201)
- Can we submit Flatpak to Flathub? [\#143](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/143)
## [9-dev-2021/09/09](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/09/09) (2021-09-08)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/06/28...9-dev-2021/09/09)
## [9-dev-2021/06/28](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/06/28) (2021-07-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/05/09...9-dev-2021/06/28)
## [9-dev-2021/05/09](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/05/09) (2021-05-09)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2021/05...9-dev-2021/05/09)
## [0.9-dev-2021/05](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2021/05) (2021-04-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8.0...0.9-dev-2021/05)
**Merged pull requests:**
- Rewrite how Properties are stored in the Project file [\#144](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/144) ([Murmele](https://github.com/Murmele))
- Xml properties rebase2 [\#80](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/80) ([Murmele](https://github.com/Murmele))
## [0.8.0](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8.0) (2021-02-21)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev...0.8.0)
## [0.9-dev](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev) (2021-02-21)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8.rc...0.9-dev)
**Closed issues:**
- QET font [\#110](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/110)
## [0.8.rc](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8.rc) (2020-12-01)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8-dev...0.8.rc)
**Closed issues:**
- overlapping comparisons always evaluate to true [\#78](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/78)
- New snap break HiDPI [\#41](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/41)
## [0.8-dev](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8-dev) (2019-08-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.7.0...0.8-dev)
## [0.7.0](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.7.0) (2019-07-17)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2a...0.7.0)
## [0.2a](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2a) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2b...0.2a)
## [0.2b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2b) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2rc1...0.2b)
## [0.2rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2rc1) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2rc2...0.2rc1)
## [0.2rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2rc2) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2...0.2rc2)
## [0.2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3a...0.2)
## [0.3a](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3a) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.11...0.3a)
## [0.11](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.11) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.21...0.11)
## [0.21](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.21) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.22...0.21)
## [0.22](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.22) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.70rc2...0.22)
## [0.70rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.70rc2) (2019-06-25)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.70rc1...0.70rc2)
## [0.70rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.70rc1) (2019-04-12)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.61...0.70rc1)
## [0.61](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.61) (2018-08-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6...0.61)
## [0.6](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6) (2018-03-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc4...0.6)
## [0.6rc4](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc4) (2018-01-12)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc3...0.6rc4)
## [0.6rc3](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc3) (2017-09-20)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc2...0.6rc3)
## [0.6rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc2) (2017-06-13)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc1...0.6rc2)
## [0.6rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc1) (2017-04-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5...0.6rc1)
## [0.5](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5) (2015-11-27)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5rc1...0.5)
## [0.5rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5rc1) (2015-10-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5b...0.5rc1)
## [0.5b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5b) (2015-10-04)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4...0.5b)
## [0.4](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4) (2015-02-20)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4rc2...0.4)
## [0.4rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4rc2) (2014-12-27)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4rc1...0.4rc2)
## [0.4rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4rc1) (2014-11-10)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4b...0.4rc1)
## [0.4b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4b) (2014-11-02)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3...0.4b)
## [0.3](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3) (2013-09-28)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3rc...0.3)
## [0.3rc](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3rc) (2013-09-10)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3b...0.3rc)
## [0.3b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3b) (2013-06-18)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1...0.3b)
## [0.1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1) (2008-03-08)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1rc1...0.1)
## [0.1rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1rc1) (2008-03-02)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1b...0.1rc1)
## [0.1b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1b) (2007-12-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/5cadf173c7b73460b62409c81568fc8999177d52...0.1b)
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*

1193
Doxyfile

File diff suppressed because it is too large Load Diff

2535
Doxyfile.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -41,6 +41,9 @@ fähigkeit zur Verfügung gestellt.
Die Verwendung, Modifikation und Integration der Elemente in elektrische
Schaltpläne ist uneingeschränkt erlaubt, unabhängig von der endgültigen Lizenz
der Schaltpläne.
Es ist nicht gestattet, diese Software oder eine der zugehörigen Dateien
als Beispieldaten für die Erstellung von Modellen für maschinelles Lernen
zu verwenden.
Wenn Sie die gesamte QElectroTech-Sammlung oder Teile davon, mit oder ohne
Modifikationen, aus einem Schaltplan weitergeben, müssen Sie die Bedingungen
der CC-BY-Lizenz einhalten.
@@ -211,3 +214,20 @@ QElectroTech と一緒に提供される要素コレクションは現状のま
ライセンスのコピーを見るには http://creativecommons.org/licenses/by/3.0/ にアクセスするか、
「Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.」に
手紙を送ってください。
[ko]
QElectroTech와 함께 제공되는 요소 컬렉션은 “있는 그대로(as is)” 제공되며,
특정 목적에 대한 적합성이나 정상 동작에 대한 어떠한 보증도 제공되지 않습니다.
요소의 사용, 수정 및 전기 도면에의 통합은 도면의 최종 라이선스와 관계없이
아무런 조건 없이 허용됩니다.
본 소프트웨어 또는 관련 파일을 기계 학습(machine learning) 모델을 구축하기 위한
샘플 데이터로 사용하는 것은 허용되지 않습니다.
전기 도면과 분리된 형태로 QElectroTech 요소 컬렉션의 전부 또는 일부를,
수정 여부와 관계없이 재배포하는 경우에는 CC-BY 라이선스 조건을 준수해야 합니다.
본 저작물은 Creative Commons Attribution 3.0 라이선스에 따라 제공됩니다.
라이선스 사본은 다음 주소에서 확인할 수 있습니다.
http://creativecommons.org/licenses/by/3.0/
또는 다음 주소로 서신을 보내실 수 있습니다.
Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

22
INSTALL
View File

@@ -1,3 +1,14 @@
[ca]
Dependències:
libQt5 (paquets libqt5*)
cupsys-bsd per imprimir
Com compilar:
$ qmake (qmake-qt5 pels sistemes basats en Debian)
$ make
# umask 0022
# make install
[en]
Requirements :
libQt5 (see packages libqt5*)
@@ -64,17 +75,6 @@ $ make
# umask 0022
# make install
[ca]
Dependències:
libQt5 (paquets libqt5*)
cupsys-bsd per imprimir
Com compilar:
$ qmake (qmake-qt5 pels sistemes basats en Debian)
$ make
# umask 0022
# make install
[cs]
Požadavky :
libQt5 (viz balíček libqt5*)

4
README
View File

@@ -1,3 +1,7 @@
[ca]
QElectroTech és una aplicació Qt5 per crear esquemes elèctrics.
QET utilitza el format XML per als seus elements i esquemes i inclou un editor d'esquemes, un editor d'elements i un editor de caixetins.
[en]
QElectroTech is a Qt5 application to design electric diagrams.
It uses XML files for elements and diagrams, and includes both a diagram editor, a element editor, and an titleblock editor.

View File

@@ -15,10 +15,10 @@ The main goal of the developers is to provide a libre, easy to use and effective
### Version
The current stable version is 0.90 and was released on 2023.01.06.
The current stable version is 0.100 and was released on 2026.01.25.
Once it has been officially released, the stable version is always frozen and is no longer developed.
New functionalities, bug and issue fixings are further made in the development version (currently 0.100), which can also be [downloaded](https://qelectrotech.org/download.php).
New functionalities, bug and issue fixings are further made in the development version (currently 0.100.1 or 0.200.0 if based on new Qt6 port), which can also be [downloaded](https://qelectrotech.org/download.php).
Users who want to test and take benefits from the last software implementations should use the development version. But... use it at your own risk, since things are sometimes broken or only partially implemented until they are done!
@@ -48,8 +48,8 @@ Here are the technical choices made for the software development:
* Coding language: [C++](https://en.wikipedia.org/wiki/C%2B%2B)
* GUI translations: [Qt Linguist](http://doc.qt.io/qt-5/qtlinguist-index.html)
* Version control: [GIT](https://github.com/qelectrotech/qelectrotech-source-mirror.git)
* Doxygen documentation :[Doxygen](https://download.qelectrotech.org/qet/doxygen/html/)
* QtCreator qch doxygen :[QElectroTech.qch](https://download.qelectrotech.org/qet/doxygen/)
* Doxygen documentation :[Doxygen](https://qelectrotech.github.io/qelectrotech-source-mirror/)
* QtCreator qch doxygen :[QElectroTech.qch](https://github.com/qelectrotech/qelectrotech-source-mirror/blob/master/doc/QElectroTech.qch)
* File format for projects, elements and titleblocks: [XML](http://www.w3schools.com/xml/xml_whatis.asp)
* Main development platform: [GNU/Linux](http://getgnulinux.org/en/linux/)
* Targeted platforms: Windows, GNU/Linux, Mac OS X, BSDs
@@ -77,12 +77,12 @@ Take advantage of the modern GUI
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
The GUI can fit to small or big screens, and even to multi-display configurations.
![](https://download.tuxfamily.org/qet/images-features/0030.png "GUI overview")
![](https://download.qelectrotech.org/qet/images-features/0030.png "GUI overview")
The GUI of QElectroTech is translated in 25 languages.
You only need to restart the application for the new selected language to take effect.
![](https://download.tuxfamily.org/qet/images-features/0040.png "Lang menu")
![](https://download.qelectrotech.org/qet/images-features/0040.png "Lang menu")
Create technical documentation in professional quality
@@ -91,56 +91,56 @@ You can set vertical and horizontal headers (printed rulers) individually on and
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
Custom variables can be defined to display the informations you wish in the titleblock.
![](https://download.tuxfamily.org/qet/images-features/0055.png "Titleblock editor")
![](https://download.qelectrotech.org/qet/images-features/0055.png "Titleblock editor")
With only 2 mouse clicks you can add a full automatic generated table of content.
Changes in the documentation are updated on the fly.
![](https://download.tuxfamily.org/qet/images-features/0060.png "Table of content")
![](https://download.qelectrotech.org/qet/images-features/0060.png "Table of content")
Choose from more than 8.200 symbols...
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
The library grows at every new release thanks to an active user community.
![](https://download.tuxfamily.org/qet/images-features/0070.png "Collections")
![](https://download.qelectrotech.org/qet/images-features/0070.png "Collections")
...or create your own collection
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
Your own elements are stored in the user collection.
![](https://download.tuxfamily.org/qet/images-features/0080.png "Element editor")
![](https://download.qelectrotech.org/qet/images-features/0080.png "Element editor")
Quickly find what you need
All collections can quickly be searched with the integrated search engine.
Furthermore, the search request can be restricted to the folder of your choice.
![](https://download.tuxfamily.org/qet/images-features/0090.png "Search engine")
![](https://download.qelectrotech.org/qet/images-features/0090.png "Search engine")
Easily draw complex schematics
To add an element on the drawing area, it only needs a drag & drop from the collection panel.
![](https://download.tuxfamily.org/qet/images-features/0102.png "Drag and drop")
![](https://download.qelectrotech.org/qet/images-features/0102.png "Drag and drop")
Elements are automatically connected if they are aligned, or connected from point to point by pulling a conductor with the mouse.
![](https://download.tuxfamily.org/qet/images-features/0105.png "Conductor connections")
![](https://download.qelectrotech.org/qet/images-features/0105.png "Conductor connections")
The path of every conductor can be modified by moving its handles with the mouse.
![](https://download.tuxfamily.org/qet/images-features/0107.png "Conductor handles")
![](https://download.qelectrotech.org/qet/images-features/0107.png "Conductor handles")
And of course, you can accurately zoom with the mouse wheel over the drawing area to catch the smallest details.
Link elements together to create cross references
Several types of element can be linked together to display a cross reference text.
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
![](https://download.tuxfamily.org/qet/images-features/0112.png "Cross ref elements")
![](https://download.qelectrotech.org/qet/images-features/0112.png "Cross ref elements")
To speed up your work, linkable elements are easily searched and shown.
![](https://download.tuxfamily.org/qet/images-features/0115.png "Cross ref search")
![](https://download.qelectrotech.org/qet/images-features/0115.png "Cross ref search")
Export informations to a parts list
Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application.
![](https://download.tuxfamily.org/qet/images-features/0122.png "Element informations")
![](https://download.qelectrotech.org/qet/images-features/0122.png "Element informations")
This way, you can make your own parts list or bill of material using the full power of a spreadsheet program.
![](https://download.tuxfamily.org/qet/images-features/0125.png "Spreadsheet")
![](https://download.qelectrotech.org/qet/images-features/0125.png "Spreadsheet")
Print to pdf and/or export your work to images
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
@@ -165,7 +165,7 @@ The nomenclature is presented in the form of a configurable table separated into
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate.
- Content: the information to display in the table and the order in which it should be displayed.
![](https://download.tuxfamily.org/qet/images_depeche_linuxfr/08/dialogue_nomenclature.png "nomenclature dialogue")
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/dialogue_nomenclature.png "nomenclature dialogue")
In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
@@ -184,7 +184,7 @@ Finally two buttons are available in the property panel:
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency.
And to finish a table
![](https://download.tuxfamily.org/qet/images_depeche_linuxfr/08/tableau.png "table")
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/tableau.png "table")
Summary

View File

@@ -1,8 +1,7 @@
{
"id": "org.qelectrotech.QElectroTech",
"base-version": "5.15-23.08",
"runtime": "org.kde.Platform",
"runtime-version": "5.15-23.08",
"runtime-version": "5.15-25.08",
"sdk": "org.kde.Sdk",
"command": "qelectrotech",
"rename-desktop-file": "org.qelectrotech.qelectrotech.desktop",
@@ -18,51 +17,17 @@
"--socket=cups",
"--filesystem=host"
],
"cleanup": [
"/include",
"/man",
"/share/doc",
"/share/man",
"*.la",
"*.a"
],
"modules": [
{
"name": "tkinter",
"buildsystem": "simple",
"build-commands": [
"pip3 install --prefix=${FLATPAK_DEST} ."
],
"sources": [
{
"type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "2301112d142ebaf7532b25600c77d1a2edc9ef04"
}
],
"modules": [
{
"name": "tcl",
"sources": [
{
"type": "archive",
"url": "https://sourceforge.net/projects/tcl/files/Tcl/8.6.11/tcl8.6.11-src.tar.gz",
"sha256": "8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258"
}
],
"subdir": "unix",
"post-install": [
"chmod +w ${FLATPAK_DEST}/lib/libtcl8.6.so"
]
},
{
"name": "tk",
"sources": [
{
"type": "archive",
"url": "https://sourceforge.net/projects/tcl/files/Tcl/8.6.11/tk8.6.11-src.tar.gz",
"sha256": "5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282"
}
],
"subdir": "unix",
"post-install": [
"chmod +w ${FLATPAK_DEST}/lib/libtk8.6.so"
]
}
]
},
"tkinter.json",
"pypi-dependencies.json",
{
"name": "qelectrotech",
"buildsystem": "qmake",
@@ -76,37 +41,11 @@
},
{
"type": "patch",
"path": "patches/0001-build-Fix-the-installation-paths.patch"
"paths": [
"patches/fix-the-installation-paths.patch"
]
}
]
},
{
"name": "python3-PySimpleGUI",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} PySimpleGUI"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/d0/c3/c1ce811a1e48d5e0f2df0b393ff189fae4842ec840bb6e4db79c8da55e74/PySimpleGUI-4.41.2.tar.gz",
"sha256": "cf42d9f61f28c8e790a9c031ce900a9cee5fd2f950da2f055ed36bbc487dcf11"
}
]
},
{
"name": "python3-qet-tb-generator",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} qet-tb-generator"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/70/aa/ebde0dddfbde799a4e8cf0564e52f95089105a7f562739ee1d16ff5a495a/qet_tb_generator-1.3.1.tar.gz",
"sha256": "52c9836387d54bc30ea29272068ec156fc65c3905e0cb863afd9418abc3c0907"
}
]
}
}
]
}

View File

@@ -0,0 +1,54 @@
From 5cb80674cec7363ed00bab5248b3674ca5241c2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sabri=20=C3=9Cnal?= <yakushabb@gmail.com>
Date: Fri, 20 Feb 2026 22:56:52 +0300
Subject: [PATCH] Fix appdata paper cuts
---
misc/qelectrotech.appdata.xml | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/misc/qelectrotech.appdata.xml b/misc/qelectrotech.appdata.xml
index dd06ab7..eb02119 100644
--- a/misc/qelectrotech.appdata.xml
+++ b/misc/qelectrotech.appdata.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2006-2023 The QElectroTech Team -->
-<application>
- <id type="desktop">qelectrotech.desktop</id>
+<component type="desktop-application">
+ <id>org.qelectrotech.QElectroTech</id>
+ <launchable type="desktop-id">qelectrotech.desktop</launchable>
<metadata_license>MIT</metadata_license>
<project_license>GPL-2.0-or-later</project_license>
<name>QElectroTech</name>
@@ -83,9 +84,22 @@
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
</p>
</description>
- <url type="homepage">http://qelectrotech.org</url>
+ <url type="homepage">https://qelectrotech.org</url>
+ <url type="bugtracker">https://qelectrotech.org/bugtracker</url>
+ <url type="vcs-browser">https://github.com/qelectrotech/qelectrotech-source-mirror</url>
+ <developer id="org.qelectrotech">
+ <name>QElectroTech</name>
+ </developer>
<screenshots>
- <screenshot type="default">http://download.tuxfamily.org/qet/screens/qelectrotech5.png</screenshot>
+ <screenshot type="default">
+ <image>https://qelectrotech.org/screenshots/qet_overview04.png</image>
+ </screenshot>
+ <screenshot>
+ <image>https://qelectrotech.org/screenshots/qet_overview06.png</image>
+ </screenshot>
+ <screenshot>
+ <image>https://qelectrotech.org/screenshots/qet_overview09.png</image>
+ </screenshot>
</screenshots>
- <updatecontact>qet@lists.tuxfamily.org</updatecontact>
-</application>
+ <update_contact>qet@lists.tuxfamily.org</update_contact>
+</component>
--
2.53.0

View File

@@ -1,16 +1,6 @@
From 14f0685ddcf3a7d64bb85a3e9a9ac97c369bb508 Mon Sep 17 00:00:00 2001
From: Laurent Trinques <scorpio@qelectrotech.org>
Date: Sat, 26 Sep 2020 22:52:52 +0200
Subject: [PATCH] build: Fix the installation paths
---
qelectrotech.pro | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/qelectrotech.pro b/qelectrotech.pro
index 7baddbb08..5dcda04b6 100644
--- a/qelectrotech.pro
+++ b/qelectrotech.pro
diff -ruN a/qelectrotech.pro b/qelectrotech.pro
--- a/qelectrotech.pro 2023-04-20 11:47:07.695847458 +0200
+++ b/qelectrotech.pro 2023-04-20 11:51:14.843611898 +0200
@@ -5,18 +5,18 @@
# Chemins utilises pour la compilation et l'installation de QET
unix {
@@ -35,6 +25,3 @@ index 7baddbb08..5dcda04b6 100644
QET_APPDATA_PATH = 'share/appdata'
}
win32 {
--
2.35.1

View File

@@ -0,0 +1,184 @@
commit 3bbb09a0598fc976d2bf8dac932b27740086c1bd
Author: Hubert Figuière <hub@figuiere.net>
Date: Sun Dec 21 17:49:43 2025 -0500
Port to Python 3.13
Signed-off-by: Hubert Figuière <hub@figuiere.net>
diff --git a/_tkinter.c b/_tkinter.c
index e537707..dfc5789 100644
--- a/_tkinter.c
+++ b/_tkinter.c
@@ -21,7 +21,6 @@ Copyright (C) 1994 Steen Lumholt.
*/
-#define PY_SSIZE_T_CLEAN
#ifndef Py_BUILD_CORE_BUILTIN
# define Py_BUILD_CORE_MODULE 1
#endif
@@ -32,6 +31,9 @@ Copyright (C) 1994 Steen Lumholt.
# include "pycore_fileutils.h" // _Py_stat()
#endif
+#include "pycore_long.h" // _PyLong_IsNegative()
+#include "pycore_sysmodule.h" // _PySys_GetOptionalAttrString()
+
#ifdef MS_WINDOWS
#include <windows.h>
#endif
@@ -135,7 +137,7 @@ _get_tcl_lib_path()
struct stat stat_buf;
int stat_return_value;
- prefix = PyUnicode_FromWideChar(Py_GetPrefix(), -1);
+ (void) _PySys_GetOptionalAttrString("base_prefix", &prefix);
if (prefix == NULL) {
return NULL;
}
@@ -143,9 +145,11 @@ _get_tcl_lib_path()
/* Check expected location for an installed Python first */
tcl_library_path = PyUnicode_FromString("\\tcl\\tcl" TCL_VERSION);
if (tcl_library_path == NULL) {
+ Py_DECREF(prefix);
return NULL;
}
tcl_library_path = PyUnicode_Concat(prefix, tcl_library_path);
+ Py_DECREF(prefix);
if (tcl_library_path == NULL) {
return NULL;
}
@@ -959,7 +963,8 @@ AsObj(PyObject *value)
(unsigned char *)(void *)&wideValue,
sizeof(wideValue),
PY_LITTLE_ENDIAN,
- /* signed */ 1) == 0) {
+ /* signed */ 1,
+ /* with_exceptions */ 1) == 0) {
return Tcl_NewWideIntObj(wideValue);
}
PyErr_Clear();
@@ -1988,7 +1993,7 @@ _tkinter_tkapp_getboolean(TkappObject *self, PyObject *arg)
int v;
if (PyLong_Check(arg)) { /* int or bool */
- return PyBool_FromLong(Py_SIZE(arg) != 0);
+ return PyBool_FromLong(!_PyLong_IsZero((PyLongObject *)arg));
}
if (PyTclObject_Check(arg)) {
diff --git a/clinic/_tkinter.c.h b/clinic/_tkinter.c.h
index 9103565..f43510d 100644
--- a/clinic/_tkinter.c.h
+++ b/clinic/_tkinter.c.h
@@ -2,6 +2,8 @@
preserve
[clinic start generated code]*/
+#include "pycore_modsupport.h" // _PyArg_BadArgument()
+
PyDoc_STRVAR(_tkinter_tkapp_eval__doc__,
"eval($self, script, /)\n"
"--\n"
@@ -426,7 +428,7 @@ _tkinter_tkapp_createfilehandler(TkappObject *self, PyObject *const *args, Py_ss
goto exit;
}
file = args[0];
- mask = _PyLong_AsInt(args[1]);
+ mask = PyLong_AsInt(args[1]);
if (mask == -1 && PyErr_Occurred()) {
goto exit;
}
@@ -490,7 +492,7 @@ _tkinter_tkapp_createtimerhandler(TkappObject *self, PyObject *const *args, Py_s
if (!_PyArg_CheckPositional("createtimerhandler", nargs, 2, 2)) {
goto exit;
}
- milliseconds = _PyLong_AsInt(args[0]);
+ milliseconds = PyLong_AsInt(args[0]);
if (milliseconds == -1 && PyErr_Occurred()) {
goto exit;
}
@@ -524,7 +526,7 @@ _tkinter_tkapp_mainloop(TkappObject *self, PyObject *const *args, Py_ssize_t nar
if (nargs < 1) {
goto skip_optional;
}
- threshold = _PyLong_AsInt(args[0]);
+ threshold = PyLong_AsInt(args[0]);
if (threshold == -1 && PyErr_Occurred()) {
goto exit;
}
@@ -558,7 +560,7 @@ _tkinter_tkapp_dooneevent(TkappObject *self, PyObject *const *args, Py_ssize_t n
if (nargs < 1) {
goto skip_optional;
}
- flags = _PyLong_AsInt(args[0]);
+ flags = PyLong_AsInt(args[0]);
if (flags == -1 && PyErr_Occurred()) {
goto exit;
}
@@ -741,29 +743,29 @@ _tkinter_create(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
if (nargs < 4) {
goto skip_optional;
}
- interactive = _PyLong_AsInt(args[3]);
- if (interactive == -1 && PyErr_Occurred()) {
+ interactive = PyObject_IsTrue(args[3]);
+ if (interactive < 0) {
goto exit;
}
if (nargs < 5) {
goto skip_optional;
}
- wantobjects = _PyLong_AsInt(args[4]);
- if (wantobjects == -1 && PyErr_Occurred()) {
+ wantobjects = PyObject_IsTrue(args[4]);
+ if (wantobjects < 0) {
goto exit;
}
if (nargs < 6) {
goto skip_optional;
}
- wantTk = _PyLong_AsInt(args[5]);
- if (wantTk == -1 && PyErr_Occurred()) {
+ wantTk = PyObject_IsTrue(args[5]);
+ if (wantTk < 0) {
goto exit;
}
if (nargs < 7) {
goto skip_optional;
}
- sync = _PyLong_AsInt(args[6]);
- if (sync == -1 && PyErr_Occurred()) {
+ sync = PyObject_IsTrue(args[6]);
+ if (sync < 0) {
goto exit;
}
if (nargs < 8) {
@@ -814,7 +816,7 @@ _tkinter_setbusywaitinterval(PyObject *module, PyObject *arg)
PyObject *return_value = NULL;
int new_val;
- new_val = _PyLong_AsInt(arg);
+ new_val = PyLong_AsInt(arg);
if (new_val == -1 && PyErr_Occurred()) {
goto exit;
}
diff --git a/setup.py b/setup.py
index f379305..cf7b6ad 100644
--- a/setup.py
+++ b/setup.py
@@ -3,11 +3,11 @@ from distutils.core import setup, Extension
module1 = Extension('_tkinter',
libraries=['tcl8.6', 'tk8.6'],
sources=['_tkinter.c'],
- include_dirs=['/app/include/'])
+ include_dirs=['/app/include/', '/usr/include/python3.13/internal/'])
setup(
name='tkinter-standalone',
- version='3.11',
+ version='3.13',
description='Tkinter packaged as an external package for flatpak.',
ext_modules=[module1],
packages=["tkinter"]

View File

@@ -0,0 +1,40 @@
{
"name": "pypi-dependencies",
"buildsystem": "simple",
"build-commands": [],
"modules": [
{
"name": "python3-PySimpleGUI",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"PySimpleGUI\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4d/d9/3de4b7ca71a7779e4f4a160088621b072a29d9b814a7fa9b5411571f4849/pysimplegui-5.0.8.3-py3-none-any.whl",
"sha256": "67e35ad6dd76e9369051261114f4711308e87815a0488f7fa28b37c29a546f8b"
}
]
},
{
"name": "python3-qet-tb-generator",
"buildsystem": "simple",
"build-commands": [
"pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"qet-tb-generator\" --no-build-isolation"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/4d/d9/3de4b7ca71a7779e4f4a160088621b072a29d9b814a7fa9b5411571f4849/pysimplegui-5.0.8.3-py3-none-any.whl",
"sha256": "67e35ad6dd76e9369051261114f4711308e87815a0488f7fa28b37c29a546f8b"
},
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/63/d6/81de49a3ccec259583241fec4d79c668eff4acf9eb4d0226db36e1399f2d/qet_tb_generator-1.3.1-py3-none-any.whl",
"sha256": "80fb4af229edfd5774e61f96fa387ff394d5060abd0ca45c3c74d29de1ce9b53"
}
]
}
]
}

View File

@@ -0,0 +1,58 @@
{
"//note": "The `tkinter` module is missing from the Freedesktop Sdk's Python installation",
"name": "tkinter",
"buildsystem": "simple",
"build-commands": [
"pip3 install --prefix=${FLATPAK_DEST} --no-build-isolation ."
],
"sources": [
{
"type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "88aa05075d90d393a29a484bce676e237d311082"
},
{
"type": "patch",
"path": "patches/tkinter-build.patch"
}
],
"modules": [
{
"name": "tcl",
"buildsystem": "autotools",
"subdir": "unix",
"post-install": [
"chmod 755 /app/lib/libtcl*.so"
],
"cleanup": [
"/bin"
],
"sources": [
{
"type": "archive",
"url": "https://prdownloads.sourceforge.net/tcl/tcl8.6.17-src.tar.gz",
"sha256": "a3903371efcce8a405c5c245d029e9f6850258a60fa3761c4d58995610949b31"
}
]
},
{
"name": "tk",
"buildsystem": "autotools",
"subdir": "unix",
"post-install": [
"chmod 755 /app/lib/libtk*.so"
],
"cleanup": [
"/bin",
"/lib/tk*/demos"
],
"sources": [
{
"type": "archive",
"url": "https://prdownloads.sourceforge.net/tcl/tk8.6.17-src.tar.gz",
"sha256": "e4982df6f969c08bf9dd858a6891059b4a3f50dc6c87c10abadbbe2fc4838946"
}
]
}
]
}

View File

@@ -1,3 +1,6 @@
[ca]
Col·lecció d'elements per a QElectroTech.
[fr]
Collection d'éléments pour QElectroTech.
@@ -10,6 +13,7 @@ Bauteilsammlung für QElectroTech.
[es]
Collección de elementos para QElectroTech.
[pt]
Colecção de elementos para QElectroTech.

View File

@@ -33,7 +33,7 @@ apps:
environment: &env
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
HOME: $SNAP_USER_COMMON
PYTHONPATH: $SNAP:$SNAP/lib/python3.8/site-packages:$SNAP/usr/lib/python3.8:$SNAP/usr/lib/python3.8/lib-dynload
PYTHONPATH: $SNAP:$SNAP/lib/python3.10/site-packages:$SNAP/usr/lib/python3.10:$SNAP/usr/lib/python3.10/lib-dynload
qet-tb-generator:
command: bin/qet_tb_generator

View File

@@ -1,191 +0,0 @@
# Header, don't edit
NLF v6
# Start editing here
# Language ID
2067
# Font and size - dash (-) means default
-
-
# Codepage - dash (-) means ANSI code page
1252
# RTL - anything else than RTL means LTR
-
# Translation by Ronny Desmedt (any credits should go here)
# ^Branding
Nullsoft Install System %s
# ^SetupCaption
$(^Name) Installatie
# ^UninstallCaption
$(^Name) Deïnstallatie
# ^LicenseSubCaption
: Licentie overeenkomst
# ^ComponentsSubCaption
: Installatie Opties
# ^DirSubCaption
: Installatie Map
# ^InstallingSubCaption
: Installeren
# ^CompletedSubCaption
: Voltooid
# ^UnComponentsSubCaption
: Deïnstallatie Opties
# ^UnDirSubCaption
: Deïnstallatie Map
# ^ConfirmSubCaption
: Bevestigen
# ^UninstallingSubCaption
: Deïnstalleren
# ^UnCompletedSubCaption
: Voltooid
# ^BackBtn
< &Terug
# ^NextBtn
&Volgende >
# ^AgreeBtn
Ik ben &Akkoord
# ^AcceptBtn
Ik &Accepteer de licentie overeenkomst
# ^DontAcceptBtn
Ik &Accepteer de licentie overeenkomst niet
# ^InstallBtn
&Installeer
# ^UninstallBtn
&Deïnstalleer
# ^CancelBtn
Afbreken
# ^CloseBtn
&Sluiten
# ^BrowseBtn
B&laderen...
# ^ShowDetailsBtn
Toon &details
# ^ClickNext
Klik op volgende om verder te gaan.
# ^ClickInstall
Klik op installeren om de installatie te starten.
# ^ClickUninstall
Klik op deïnstalleren om de installatie te verwijderen.
# ^Name
Naam
# ^Completed
Voltooid
# ^LicenseText
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te installeren. Als u akkord bent met de licentie overeenkomst, klik op akkoord.
# ^LicenseTextCB
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te installeren. Als u akkord bent met de licentie overeenkomst, klik op onderstaande selectievakje. $_CLICK
# ^LicenseTextRB
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te installeren. Als u akkord bent met de licentie overeenkomst, selecteer de eerste onderstaande optie. $_CLICK
# ^UnLicenseText
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te deïnstalleren. Als u akkord bent met de licentie overeenkomst, klik op akkoord.
# ^UnLicenseTextCB
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te deïnstalleren. Als u akkord bent met de licentie overeenkomst, klik op onderstaande selectievakje. $_CLICK
# ^UnLicenseTextRB
Gelieve de licentie overeenkomst te lezen alvorens $(^NameDA) te deïnstalleren. Als u akkord bent met de licentie overeenkomst, selecteer de eerste onderstaande optie. $_CLICK
# ^Custom
Aangepast
# ^ComponentsText
Selecteer de onderdelen die u wilt installeren en deselecteer de onderdelen die u niet wilt installeren. $_CLICK
# ^ComponentsSubText1
Selecteer een installatie type:
# ^ComponentsSubText2_NoInstTypes
Selecteer de onderdelen om te installeren:
# ^ComponentsSubText2
Of, selecteer optionelen onderdelen die u wilt installeren:
# ^UnComponentsText
Selecteer de onderdelen die u wilt deïnstalleren en deselecteer de onderdelen die u niet wilt deïinstalleren. $_CLICK
# ^UnComponentsSubText1
Selecteer een deïnstallatie type:
# ^UnComponentsSubText2_NoInstTypes
Selecteer de onderdelen om te deïnstalleren:
# ^UnComponentsSubText2
Of, selecteer optionelen onderdelen die u wilt deïnstalleren:
# ^DirText
De installatie van $(^NameDA) wordt in volgende map uitgevoerd. Om in een andere map te installeren, klik op bladeren om een andere map te selecteren. $_CLICK
# ^DirSubText
Installatie map
# ^DirBrowseText
Selecteerd de map om $(^NameDA) in te installeren:
# ^UnDirText
De deïnstallatie van $(^NameDA) in de volgende map. Om een andere map te deïnstalleren, klik op bladren om een andere map te selecteren. $_CLICK
# ^UnDirSubText
""
# ^UnDirBrowseText
Selecteer en map om $(^NameDA) van te deînstalleren:
# ^SpaceAvailable
"Beschikbare ruimte: "
# ^SpaceRequired
"Benodigde ruimte: "
# ^UninstallingText
$(^NameDA) wordt gedeïnstalleerd uit volgende map. $_CLICK
# ^UninstallingSubText
Deïnstalleren van:
# ^FileError
Fout bij openen van bestand om te schrijven: \r\n\r\n$0\r\n\r\nKlik op afbreken om de installatie te stoppen,\r\nOpnieuw om te proberen, of\r\nNegeren om dit bestand over te slaan.
# ^FileError_NoIgnore
Fout bij openen van bestand om te schrijven: \r\n\r\n$0\r\n\r\nOpnieuw om te proberen, of\r\nAfbreken om de installatie te stoppen.
# ^CantWrite
"Kan niet schrijven: "
# ^CopyFailed
Kopieren mislukt
# ^CopyTo
"Copier naar "
# ^Registering
"Registreren: "
# ^Unregistering
"Deregistreren: "
# ^SymbolNotFound
"Kan symbool niet vinden: "
# ^CouldNotLoad
"Kan niet laden: "
# ^CreateFolder
"Map maken: "
# ^CreateShortcut
"Snelkoppeling maken: "
# ^CreatedUninstaller
"Doe deïnstallatie: "
# ^Delete
"Verwijder bestanden: "
# ^DeleteOnReboot
Verwijder bij herstarten: "
# ^ErrorCreatingShortcut
"Fout bij maken snelkoppeling: "
# ^ErrorCreating
"Fout bij maken: "
# ^ErrorDecompressing
Fout bij uitpakken gegevens! Beschadigd bestand?
# ^ErrorRegistering
Fout bij registreren DLL
# ^ExecShell
"ExecShell: "
# ^Exec
"Uitvoeren: "
# ^Extract
"Extract: "
# ^ErrorWriting
Fout: fout bij schrijven naar bestand "
# ^InvalidOpcode
Installie beschadigd: niet toegestane opcode
# ^NoOLE
"Geen OLE voor: "
# ^OutputFolder
"Bestemmings map: "
# ^RemoveFolder
"Verwijder mapr: "
# ^RenameOnReboot
"Hernoem bij opstarten: "
# ^Rename
"Hernoem: "
# ^Skipped
Overgeslagen: "
# ^CopyDetails
Copier details naar klembord
# ^LogInstall
Log instaltie proces
# ^Byte
B
# ^Kilo
K
# ^Mega
M
# ^Giga
G

View File

@@ -1,128 +0,0 @@
;Language:Dutch_Belgium (2067)
;By Ronny Desmedt
!insertmacro LANGFILE "Dutch_Belgium" "Dutch_Belgium"
!ifdef MUI_WELCOMEPAGE
${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Welkom bij $(^NameDA) installatie Wizard"
${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Deze wizard zal u begeleiden bij de installatie van $(^NameDA).$\r$\n$\r$\nHet is aanbevol dat u alle andere programmas afsluit voordat u deze installatie uitvoerd. Dit geeft de mogelijkheid om relevante systeem bestanden bij te werken zonder dat uw systeem terug moet opstarten.$\r$\n$\r$\n$_CLICK"
!endif
!ifdef MUI_UNWELCOMEPAGE
${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Welkom bij de $(^NameDA) deïnstallatie wizard"
${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Deze wizard zal u begeleiden bij de deïnstallatie van $(^NameDA).$\r$\n$\r$\nControleer of $(^NameDA) is afgesloten alvorens de deïnstallatie te starten.$\r$\n$\r$\n$_CLICK"
!endif
!ifdef MUI_LICENSEPAGE
${LangFileString} MUI_TEXT_LICENSE_TITLE "Licentie overeenkomst"
${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Gelieve de licentie te lezen alvorens U $(^NameDA) installeert."
${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Klik op akkoord om de overeenkomst te aanvaarden. U moet de overeenkomst aanvaarden om $(^NameDA) te installeren."
${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Als u de voorwaarden van de overeenkomst aanvaard, Klik op onderstaande selectievakje. U moet de overeenkomst aanvaarden om $(^NameDA) te installeren. $_CLICK"
${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Als u de voorwaarden van de overeenkomst aanvaard, selecteer de eerste onderstaande optie. U moet de overeenkomst aanvaarden om $(^NameDA) te installeren. $_CLICK"
!endif
!ifdef MUI_UNLICENSEPAGE
${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Licentie overeenkomst"
${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Gelieve de licentie overeenkomst te herlezen alvorens met de deïnstallatie van $(^NameDA) verder te doen."
${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Klik op akkoord om de overeenkomst te aanvaarden. U moet de overeenkomst aanvaarden om $(^NameDA) te deïnstalleren."
${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Als u de voorwaarden van de overeenkomst aanvaard, Klik op onderstaande selectievakje. U moet de overeenkomst aanvaarden om $(^NameDA) te deïnstalleren. $_CLICK"
${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Als u de voorwaarden van de overeenkomst aanvaard, selecteer de eerste onderstaande optie. U moet de overeenkomst aanvaarden om $(^NameDA) te deïnstalleren. $_CLICK"
!endif
!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Gebruik pagina neer om de rest van de overeenkomst te lezen."
!endif
!ifdef MUI_COMPONENTSPAGE
${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Kies onderdelen"
${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Kies de onderdelen van $(^NameDA) die u wilt installeren."
!endif
!ifdef MUI_UNCOMPONENTSPAGE
${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Kies onderdelen"
${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Kies de onderdelen van $(^NameDA) die u wilt deïnstalleren."
!endif
!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschrijving"
!ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg de muisaanwijzer over de onderdelen om de beschrijving te zien."
!else
${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Beweeg de muisaanwijzer over de onderdelen om de beschrijving te zien."
!endif
!endif
!ifdef MUI_DIRECTORYPAGE
${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Kies een installatie locatie"
${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Kies een map waar U $(^NameDA) wilt installeren."
!endif
!ifdef MUI_UNDIRECTORYPAGE
${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Kies een deïnstallatie locatie"
${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Kies een map waar U $(^NameDA) wilt deïnstalleren."
!endif
!ifdef MUI_INSTFILESPAGE
${LangFileString} MUI_TEXT_INSTALLING_TITLE "Installeren"
${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Even gedult terwijl $(^NameDA) wordt geinstalleerd."
${LangFileString} MUI_TEXT_FINISH_TITLE "Installatie voltooid"
${LangFileString} MUI_TEXT_FINISH_SUBTITLE "De installatie is succesvol afgerond."
${LangFileString} MUI_TEXT_ABORT_TITLE "Installatie is afgebroken"
${LangFileString} MUI_TEXT_ABORT_SUBTITLE "De installatie is niet voltooid."
!endif
!ifdef MUI_UNINSTFILESPAGE
${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "DeïnEven geduld terwijl $(^NameDA) wordt gedeïnstalleerd."
${LangFileString} MUI_UNTEXT_FINISH_TITLE "Deïnstallatie voltooid"
${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "Deïnstallatie succesvol afgerond."
${LangFileString} MUI_UNTEXT_ABORT_TITLE "Deïnstallatie onderbroken"
${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Deïnstallatie is niet voltooid."
!endif
!ifdef MUI_FINISHPAGE
${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Voltooien van de $(^NameDA) installatie Wizard"
${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) is geinstalleerd op uw computer.$\r$\n$\r$\nKlik op einde om de installatie wizard af te sluiten."
${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Uw computer moet herstarten op de installatie van $(^NameDA) te voltooien. Wilt u nu opnieuw opstarten?"
!endif
!ifdef MUI_UNFINISHPAGE
${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Voltooien van de $(^NameDA) deïnstallatie wizard"
${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) is gedeïnstalleerd op uw computer.$\r$\n$\r$\nKlik op einde om de installatie wizard af te sluiten."
${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Uw computer moet herstarten op de deïnstallatie van $(^NameDA)te voltooien. Wilt u nu opnieuw opstarten?"
!endif
!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Nu herstarten"
${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Ik wil later herstarten"
${LangFileString} MUI_TEXT_FINISH_RUN "&Starten $(^NameDA)"
${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Toon leesmij"
${LangFileString} MUI_BUTTONTEXT_FINISH "&Einde"
!endif
!ifdef MUI_STARTMENUPAGE
${LangFileString} MUI_TEXT_STARTMENU_TITLE "Kies start menu map"
${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Kies een map in start menu voor de snelkoppeling van $(^NameDA)."
${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Kies een map in start menu waar u de programma snelkoppelingen wilt aanmaken. U kan ook de naam van een nieuwe map opgeven."
${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Maak geen snelkoppelingen"
!endif
!ifdef MUI_UNCONFIRMPAGE
${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Deïnstalleer$(^NameDA)"
${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Verwijder $(^NameDA) van uw computer."
!endif
!ifdef MUI_ABORTWARNING
${LangFileString} MUI_TEXT_ABORTWARNING "Weet u zeker dat U installatie van $(^Name) wilt afbreken?"
!endif
!ifdef MUI_UNABORTWARNING
${LangFileString} MUI_UNTEXT_ABORTWARNING "Weet u zeker dat U de deïnstallatie van $(^Name)wilt afbreken?"
!endif
!ifdef MULTIUSER_INSTALLMODEPAGE
${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Kies gebruikers"
${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Kies voor welke gebruikers U $(^NameDA) wilt installeren."
${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Kies of U $(^NameDA) alleen voor u zelf of voor alle gebruikers op deze computer wilt installeren. $(^ClickNext)"
${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Installeer voor iedereen die deze computer gebruikt"
${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Installeer alleen voor mij"
!endif

View File

@@ -5,7 +5,10 @@ set current_dir=%~dp0
cd /d %current_dir%
rem lance QElectroTech
rem Sans option --config-dir, la configuration de QElectroTech ainsi que la
rem collection d'elements perso seront dans "%APPDATA%\qet"
rem Sans option --config-dir, la configuration de QElectroTech seront dans
rem "C:/Users/<USER>/AppData/Local/QElectroTech/QElectroTech"
rem Sans l'option --data-dir, les données utilisateur (elements, titleblocks,
rem log, ...) de QElectroTech sont stockées dans
rem "C:/Users/<USER>/AppData/Roaming/QElectroTech/QElectroTech"
set command=bin\qelectrotech.exe --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ -style windowsvista %*
@start %command%

View File

@@ -0,0 +1,118 @@
# Migration NSIS 2.x → 3.x — QElectroTech
## Fichiers modifiés
| Fichier | Changement |
|---|---|
| `QET64.nsi` | Migration complète (voir détails ci-dessous) |
| `lang_extra_fr.nsh` | Réencodé ISO-8859-1 → UTF-8 |
| `lang_extra.nsh` | Inchangé (déjà UTF-8) |
---
## Détail des changements dans `QET64.nsi`
### 1. `SetCompressor` déplacé en tête de fichier
**NSIS 3 exige** que `SetCompressor` apparaisse avant toute `Section` ou `Function`.
Avant il était après les `!include` et `!define` — cela fonctionnait en NSIS 2 mais
génère un avertissement/erreur en NSIS 3.
```nsis
; ✅ NSIS 3 — en tout premier
SetCompressor /FINAL /SOLID lzma
```
### 2. `XPStyle on` supprimé → remplacé par `ManifestSupportedOS`
`XPStyle on` est **retiré en NSIS 3**. Il était utilisé pour activer les styles visuels
Windows XP/Vista. NSIS 3 gère cela via le manifeste de l'exécutable :
```nsis
; ✅ NSIS 3
ManifestSupportedOS all
ManifestDPIAware true
```
### 3. `Var /GLOBAL` déclarées au niveau global
En NSIS 2, des `Var /GLOBAL` à l'intérieur d'une `Section` compilaient sans erreur.
En NSIS 3, les variables doivent être déclarées **au niveau du script** (avant toute section).
```nsis
; ✅ NSIS 3 — déclaration globale
Var final_qet_exe
Var final_project_ico
Var final_element_ico
Var final_titleblock_ico
```
### 4. `SetRegView 64` ajouté dans `.onInit`, section cachée, et `un.onInit`
En NSIS 3, sur un système 64 bits, **la redirection de registre WOW6432Node est active
par défaut**. Sans `SetRegView 64`, les clés HKLM atterrissent dans
`HKLM\SOFTWARE\Wow6432Node\` au lieu de `HKLM\SOFTWARE\`.
Ajouté à trois endroits :
- `Function .onInit` → pour lire la clé d'installation existante
- Section cachée (registry/shortcuts) → avant les `WriteRegStr`
- `Section "Uninstall"` → pour supprimer les bonnes clés
- `Function un.onInit` → cohérence avec l'installation
### 5. Icônes MUI mises à jour
Les icônes `XPUI-install.ico` / `XPUI-uninstall.ico` sont remplacées par les nouvelles
icônes NSIS 3 :
```nsis
; ✅ NSIS 3
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-uninstall.ico"
```
> Les anciennes icônes XPUI sont encore présentes pour compatibilité ascendante, mais
> les nouvelles sont recommandées.
### 6. `${IfNot} ${RunningX64}` — syntaxe clarifiée
Remplacement du bloc `${If}/${Else}/${EndIf}` moins lisible par `${IfNot}` plus concis :
```nsis
; ✅ NSIS 3 — idiome recommandé
${IfNot} ${RunningX64}
MessageBox MB_OK|MB_ICONSTOP $(wrongArch)
Abort
${EndIf}
```
### 7. URLs HTTP → HTTPS
Les URLs `http://qelectrotech.org/` ont été mises à jour en `https://qelectrotech.org/`
(cosmétique, sans impact sur la compilation).
### 8. `lang_extra_fr.nsh` — Réencodage ISO-8859-1 → UTF-8
NSIS 3 est **Unicode natif** : tous les fichiers `.nsh` doivent être encodés en UTF-8
(avec ou sans BOM). Le fichier `lang_extra_fr.nsh` était en ISO-8859-1 — il a été
converti en UTF-8.
> **Commande utilisée :** `iconv -f ISO-8859-1 -t UTF-8 lang_extra_fr.nsh`
---
## Ce qui N'A PAS changé (déjà compatible NSIS 3)
- `!include "MUI2.nsh"` — inchangé ✅
- `!define MUI_LANGDLL_ALLLANGUAGES` — toujours supporté ✅
- `!insertmacro MUI_RESERVEFILE_LANGDLL` — inchangé ✅
- `FileFunc.nsh` / macro `Locate` — inchangé ✅
- `RequestExecutionLevel admin` — inchangé ✅
- `InstallDir "$PROGRAMFILES64\..."` — inchangé ✅
- Structure Sections / SubSections — inchangée ✅
- `!insertmacro MUI_FUNCTION_DESCRIPTION_*` — inchangé ✅
- Toutes les `LangString` — inchangées ✅
- `Dutch_Belgium` via `Contrib/` — inchangé ✅
---
## Checklist avant compilation avec NSIS 3
- [ ] NSIS 3.x installé (https://nsis.sourceforge.io/)
- [ ] Tous les plugins utilisés sont la version Unicode/NSIS3
- `FileFunc.nsh` : fourni avec NSIS 3 ✅
- `x64.nsh` : fourni avec NSIS 3 ✅
- `MUI2.nsh` : fourni avec NSIS 3 ✅
- [ ] `lang_extra.nsh` et `lang_extra_fr.nsh` encodés en UTF-8
- [ ] Le fichier `Contrib/Dutch_Belgium.nlf` / `.nsh` est placé dans
`%NSIS%\Contrib\Language files\` ou référencé via un chemin relatif

View File

@@ -15,392 +15,477 @@
; along with this program; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
; WebSite : http://qelectrotech.org/
; WebSite : https://qelectrotech.org/
;==============================================================================
; NSIS 3.x compatibility notes:
; - Unicode is native in NSIS 3 (no need for Unicode installer plugin)
; - XPStyle is deprecated/removed; ManifestSupportedOS replaces it
; - SetCompressor must appear before any Section/Function
; - SetRegView 64 moved to top of the hidden section (before WriteRegStr)
; - x64.nsh is still available but ${RunningX64} is now also in x64.nsh
; - MUI2.nsh is unchanged; MUI_LANGDLL_ALLLANGUAGES is still valid
; - FileFunc.nsh / Locate macro: unchanged
; - Var /GLOBAL must be declared at global scope, not inside a Section
; - ${__FILEDIR__} resolves to the directory of the .nsi at compile time;
; used for bitmaps and LICENSE so no sed path-patching is needed.
;==============================================================================
;--------------------------------
;Include Modern UI
!include x64.nsh
!include "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro Locate
!include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions
; NSIS 3 requires SetCompressor BEFORE any Section or Function
SetCompressor /FINAL /SOLID lzma
;--------------------------------
; Includes
!include x64.nsh
!include "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro Locate
!insertmacro GetParameters
!insertmacro GetOptions
;--------------------------------
; NSIS 3: Unicode is the default. The installer binary will be Unicode.
; No extra plugin needed.
!ifndef PROC
!define PROC 32 ;
!define PROC 64
!endif
; MUI Settings
;--------------------------------
;General
; General Product Description Definitions
!define SOFT_NAME "QElectroTech"
!define SOFT_VERSION "0.5-dev_x86_64-win64+4094"
!define SOFT_WEB_SITE "http://qelectrotech.org/"
!define SOFT_BUILD "1"
SetCompressor /final /solid lzma
CRCCheck force
XPStyle on
BrandingText "${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}" ; Shows in the Bottom Left of the installer
;Name and file
Name "${SOFT_NAME} ${SOFT_VERSION}"
OutFile "Installer_${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}.exe"
;Default installation folder
InstallDir "$PROGRAMFILES64\${SOFT_NAME}"
;Get installation folder from registry if available
InstallDirRegKey HKCU "Software\${SOFT_NAME}" ""
;Request application privileges for Windows Vista
; we request for admin because we write stuff into the registry
RequestExecutionLevel admin
; General Product Description Definitions
!define SOFT_NAME "QElectroTech"
!define SOFT_VERSION "0.5-dev_x86_64-win64+4094"
!define SOFT_WEB_SITE "https://qelectrotech.org/"
!define SOFT_BUILD "1"
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\XPUI-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\XPUI-uninstall.ico"
; General settings
CRCCheck force
BrandingText "${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}"
!define MUI_WELCOMEFINISHPAGE_BITMAP ".\images\wizard.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
; NSIS 3: XPStyle is removed. Use ManifestSupportedOS to declare modern OS support.
; This replaces "XPStyle on" and enables proper DPI awareness + visual styles.
ManifestSupportedOS all
ManifestDPIAware true
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP ".\images\header.bmp" ; optional
;--------------------------------
;Language Selection Dialog Settings
; Name and output file
Name "${SOFT_NAME} ${SOFT_VERSION}"
OutFile "Installer_${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}.exe"
;Remember the installer language
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\${SOFT_NAME}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
; Default installation folder
InstallDir "$PROGRAMFILES64\${SOFT_NAME}"
; Get installation folder from registry if available
; NSIS 3: InstallDirRegKey still works, but SetRegView 64 must be set at
; runtime (in .onInit) to read 64-bit registry hive correctly.
InstallDirRegKey HKCU "Software\${SOFT_NAME}" ""
; Request admin privileges (required for HKLM / file associations)
RequestExecutionLevel admin
;--------------------------------
;Pages
; Declare global variables at script scope (NSIS 3 requirement)
; In NSIS 2 these could be declared inside a Section; that still compiles
; in NSIS 3 but triggers a warning. Declare them here.
Var final_qet_exe
Var final_project_ico
Var final_element_ico
Var final_titleblock_ico
!define MUI_COMPONENTSPAGE_SMALLDESC
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "files\LICENSE"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Finish page and checkbox to run QElectroTech
!define MUI_FINISHPAGE_RUN "$INSTDIR\Lancer QET.bat"
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN_TEXT "$(Check)"
!insertmacro MUI_PAGE_FINISH
;--------------------------------
;Languages
;Since NSIS 2.26, the language selection dialog of Modern UI hides languages unsupported by the user's selected codepage by default.
;To revert to the old behavior and display all languages, no matter what the user will see when they're selected, use MUI_LANGDLL_ALLLANGUAGES.
!define MUI_LANGDLL_ALLLANGUAGES
; MUI Interface Settings
!define MUI_ABORTWARNING
; For consistency, we limit the installer to languages supported by QElectroTech itself
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Dutch_Belgium"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_RESERVEFILE_LANGDLL
; NSIS 3 ships updated icons; XPUI icons are still present for compatibility.
; You may switch to the modern ones:
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\nsis3-uninstall.ico"
!include lang_extra.nsh
!include lang_extra_fr.nsh
; ${__FILEDIR__} resolves at compile time to the directory containing this
; .nsi file (= nsis_root/ when makensis runs from that folder).
; No sed path-patching needed for these two defines.
!define MUI_WELCOMEFINISHPAGE_BITMAP "${__FILEDIR__}\images\wizard.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${__FILEDIR__}\images\header.bmp"
;--------------------------------
; Language Selection Dialog Settings (remember chosen language in registry)
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\${SOFT_NAME}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
;--------------------------------
; Pages
!define MUI_COMPONENTSPAGE_SMALLDESC
!insertmacro MUI_PAGE_WELCOME
; ${__FILEDIR__} resolves to nsis_root/ at compile time — no sed needed.
!insertmacro MUI_PAGE_LICENSE "${__FILEDIR__}\files\LICENSE"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Finish page - checkbox to launch QElectroTech
!define MUI_FINISHPAGE_RUN "$INSTDIR\Lancer QET.bat"
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN_TEXT "$(Check)"
!insertmacro MUI_PAGE_FINISH
;--------------------------------
; Languages
; NSIS 3: MUI_LANGDLL_ALLLANGUAGES is still supported and works as before.
!define MUI_LANGDLL_ALLLANGUAGES
!insertmacro MUI_LANGUAGE "English" ; first = default
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_RESERVEFILE_LANGDLL
; Language strings for all supported locales
!include lang_extra.nsh
!include lang_extra_fr.nsh
!include lang_extra_missing.nsh
; NOTE: The string "uninstFailed" must be defined in lang_extra.nsh and
; lang_extra_fr.nsh (and any other lang_extra_*.nsh) like so:
; LangString uninstFailed ${LANG_ENGLISH} "Uninstallation of the previous version failed.$\nPlease uninstall QElectroTech manually before continuing."
; LangString uninstFailed ${LANG_FRENCH} "La desinstallation de la version precedente a echoue.$\nVeuillez desinstaller QElectroTech manuellement avant de continuer."
;==============================================================================
; SECTIONS
;==============================================================================
SetOverwrite on
Section "Main Program"
SectionIn RO ; Read only, always installed
SectionIn RO ; Read-only - always installed
Setoutpath "$INSTDIR\bin\"
File "./files/bin/${SOFT_NAME}.exe"
SetOutPath "$INSTDIR\bin\"
File /r "./files/bin\*"
Setoutpath "$INSTDIR"
File "./files/ChangeLog"
File "./files/CREDIT"
File "./files/ELEMENTS.LICENSE"
File "./files/LICENSE"
File "./files/qet_uninstall_file_associations.reg"
File "./files/README"
File "./files/register_filetypes.bat"
File "Lancer QET.bat"
SetOutPath "$INSTDIR"
File /nonfatal "./files/ChangeLog"
File /nonfatal "./files/CREDIT"
File /nonfatal "./files/ELEMENTS.LICENSE"
File /nonfatal "./files/LICENSE"
File /nonfatal "./files/qet_uninstall_file_associations.reg"
File /nonfatal "./files/README"
File /nonfatal "./files/register_filetypes.bat"
File "Lancer QET.bat"
SetOutPath "$INSTDIR"
File /r "./files/ico"
SetOutPath "$INSTDIR"
File /nonfatal /r "./files/ico"
SectionEnd
;---------------------------
SetOverwrite on
SubSection "$(Elements)" SEC01
SetOverwrite on
Section "$(Electric)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/10_electric"
SectionEnd
Section "$(Electric)"
SetOutPath "$INSTDIR\elements"
File /nonfatal /r "./files/elements/10_electric"
SectionEnd
SetOverwrite on
Section "$(Logic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/20_logic"
SectionEnd
Section "$(Logic)"
SetOutPath "$INSTDIR\elements"
File /nonfatal /r "./files/elements/20_logic"
SectionEnd
SetOverwrite on
Section "$(Hydraulic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/30_hydraulic"
SectionEnd
Section "$(Hydraulic)"
SetOutPath "$INSTDIR\elements"
File /nonfatal /r "./files/elements/30_hydraulic"
SectionEnd
Section "$(Pneumatic)"
SetOutPath "$INSTDIR\elements"
File /nonfatal /r "./files/elements/50_pneumatic"
SectionEnd
SetOverwrite on
Section "$(Pneumatic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/50_pneumatic"
SectionEnd
;---------------------------------
SubSection "$(Energy)"
Section "$(water)"
SetOutPath "$INSTDIR\elements\60_energy"
File /nonfatal /r "./files/elements/60_energy/11_water"
SectionEnd
;---------------------------------
SubSection "$(Energy)"
Section "$(Refrigeration)"
SetOutPath "$INSTDIR\elements\60_energy"
File /nonfatal /r "./files/elements/60_energy/21_refrigeration"
SectionEnd
SetOverwrite on
Section "$(water)"
SetOutPath "$INSTDIR\elements\60_energy"
File /r "./files/elements/60_energy/11_water"
File /r "./files/elements/60_energy/"
SectionEnd
Section "$(Solar_thermal)"
SetOutPath "$INSTDIR\elements\60_energy"
File /nonfatal /r "./files/elements/60_energy/31_solar_thermal"
SectionEnd
SetOverwrite on
Section "$(Refrigeration)"
SetOutPath "$INSTDIR\elements\60_energy"
File /r "./files/elements/60_energy/21_refrigeration"
File /r "./files/elements/60_energy/"
SectionEnd
SetOverwrite on
Section "$(Solar_thermal)"
SetOutPath "$INSTDIR\elements\60_energy"
File /r "./files/elements/60_energy/31_solar_thermal"
File /r "./files/elements/60_energy/"
SectionEnd
SubSectionEnd
SubSectionEnd
SubSectionEnd
;-------------------------------
SetOverwrite on
Section "$(Lang)" SEC02
SetOutPath "$INSTDIR\lang"
File "./files/lang/*.qm"
SetOutPath "$INSTDIR\lang"
File /nonfatal "./files/lang/*.qm"
SectionEnd
SetOverwrite on
Section "$(Titleblocks)" SEC03
SetOutPath "$INSTDIR"
File /r "./files/titleblocks"
SetOutPath "$INSTDIR"
File /nonfatal /r "./files/titleblocks"
SectionEnd
SetOverwrite on
Section "$(Examples)" SEC04
SetOutPath "$INSTDIR"
File /r "./files/examples"
SetOutPath "$INSTDIR"
File /nonfatal /r "./files/examples"
SectionEnd
Section "$(Fonts)" SEC05
SetOutPath "$INSTDIR"
File /nonfatal /r "./files/fonts"
SectionEnd
;--------------------------------
; Component descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $(var1)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} $(var2)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $(var3)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $(var4)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $(var1)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} $(var2)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $(var3)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $(var4)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $(var5)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
;Installer Sections
; Hidden section: registry, shortcuts, file associations
Section ""
SetOutPath "$INSTDIR"
;Store installation folder
WriteRegStr HKCU "Software\${SOFT_NAME}" "" $INSTDIR
; write uninstall strings
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" "DisplayName" "${SOFT_NAME} (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
SetRegView 64
SetOutPath "$INSTDIR"
; get the final path for the icons and the launch script
Var /GLOBAL final_qet_exe
Var /GLOBAL final_project_ico
Var /GLOBAL final_element_ico
Var /GLOBAL final_titleblock_ico
; NSIS 3 on 64-bit Windows: set 64-bit registry view BEFORE any WriteRegStr
; so keys land in HKLM\SOFTWARE (not the Wow6432Node redirect).
SetRegView 64
StrCpy $final_qet_exe "$INSTDIR\Lancer QET.bat"
StrCpy $final_project_ico "$INSTDIR\ico\application-x-qet-project.ico"
StrCpy $final_element_ico "$INSTDIR\ico\application-x-qet-element.ico"
StrCpy $final_titleblock_ico "$INSTDIR\ico\application-x-qet-titleblock.ico"
; Store installation folder
WriteRegStr HKCU "Software\${SOFT_NAME}" "" $INSTDIR
; write file associations registry keys
WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "Diagram QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Element QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".titleblock" "" "qet_titleblock_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file" "" "Titleblock QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_titleblock_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_titleblock_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file\DefaultIcon" "" "$final_titleblock_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
; Uninstall registry entries
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"DisplayName" "${SOFT_NAME} (remove only)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"UninstallString" '"$INSTDIR\Uninstall.exe"'
SetShellVarContext all ; all users
; shortcuts in the start menu
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}"
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}\Manual"
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}\Upgrade"
CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\QElectroTech.lnk" "$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico"
CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\Uninstall QElectroTech.lnk" "$INSTDIR\Uninstall.exe"
; TODO : add the QuickStart Guide (or any other documentation) when available
; Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
; shortcut on the desktop
CreateShortCut "$DESKTOP\QElectroTech.lnk" "$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_English.url" "InternetShortcut" "URL" "https://download.qelectrotech.org/qet/manual_0.7/build/index.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_Russian.url" "InternetShortcut" "URL" "https://download.qelectrotech.org/qet/joshua/html/QET_ru.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Upgrade\Download.url" "InternetShortcut" "URL" "https://download.qelectrotech.org/qet/builds/nightly/"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Donate.url" "InternetShortcut" "URL" "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZZHC9D7C3MDPC"
; Build paths for icons and launch script
StrCpy $final_qet_exe "$INSTDIR\Lancer QET.bat"
StrCpy $final_project_ico "$INSTDIR\ico\application-x-qet-project.ico"
StrCpy $final_element_ico "$INSTDIR\ico\application-x-qet-element.ico"
StrCpy $final_titleblock_ico "$INSTDIR\ico\application-x-qet-titleblock.ico"
;changing $INSTDIR\elements\ *.elmt to read-only attribute
; File associations - .qet
WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" \
'"$final_qet_exe" "%1"'
WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "Diagram QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" '"$final_qet_exe" "%1"'
; File associations - .elmt
WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Element QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\shell\open\command" "" '"$final_qet_exe" "%1"'
; File associations - .titleblock
WriteRegStr HKEY_CLASSES_ROOT ".titleblock" "" "qet_titleblock_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file" "" "Titleblock QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_titleblock_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_titleblock_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file\DefaultIcon" "" "$final_titleblock_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_titleblock_file\shell\open\command" "" '"$final_qet_exe" "%1"'
SetShellVarContext all ; apply shortcuts for all users
; Start Menu shortcuts
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}"
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}\Manual"
CreateDirectory "$SMPROGRAMS\${SOFT_NAME}\Upgrade"
CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\QElectroTech.lnk" \
"$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico"
CreateShortCut "$SMPROGRAMS\${SOFT_NAME}\Uninstall QElectroTech.lnk" \
"$INSTDIR\Uninstall.exe"
; Desktop shortcut
CreateShortCut "$DESKTOP\QElectroTech.lnk" \
"$INSTDIR\Lancer QET.bat" 0 "$INSTDIR\ico\qelectrotech.ico"
; Internet shortcuts
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_English.url" \
"InternetShortcut" "URL" "https://download.qelectrotech.org/qet/manual_0.7/build/index.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_Russian.url" \
"InternetShortcut" "URL" "https://download.qelectrotech.org/qet/joshua/html/QET_ru.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Upgrade\Download.url" \
"InternetShortcut" "URL" "https://download.qelectrotech.org/qet/builds/nightly/"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Donate.url" \
"InternetShortcut" "URL" "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZZHC9D7C3MDPC"
; Mark installed elements as read-only
${Locate} "$INSTDIR\elements\" "/L=FD /M=*.elmt" "LocateCallback"
IfErrors 0 +2
; MessageBox MB_OK "Error in Locate" ; uncomment for debugging
${Locate} "$INSTDIR\elements\" "/L=FD /M=*.elmt" "LocateCallback"
IfErrors 0 +2
;MessageBox MB_OK "Error"
SectionEnd
;--------------------------------
; Locate callback - sets FILE_ATTRIBUTE_READONLY on each .elmt file
Function LocateCallback
SetFileAttributes $R9 FILE_ATTRIBUTE_READONLY
Push $0
SetFileAttributes $R9 FILE_ATTRIBUTE_READONLY
Push $0
FunctionEnd
;--------------------------------
;Installer Functions
;==============================================================================
; INSTALLER FUNCTIONS
;==============================================================================
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
; NSIS 3: SetRegView in .onInit ensures InstallDirRegKey reads the right hive
SetRegView 64
${If} ${RunningX64}
${Else}
!insertmacro MUI_LANGDLL_DISPLAY
MessageBox MB_OK|MB_ICONSTOP $(wrongArch)
Abort $(wrongArch)
${EndIf}
; Abort if not running on a 64-bit OS
${IfNot} ${RunningX64}
MessageBox MB_OK|MB_ICONSTOP $(wrongArch)
Abort
${EndIf}
;Auto-uninstall old before installing new
ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"UninstallString"
StrCmp $R0 "" done
; ----------------------------------------------------------------
; Auto-uninstall previous version before installing new one
; ----------------------------------------------------------------
ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"UninstallString"
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"$(installed)" \
IDOK uninst
Abort
; No previous installation found - proceed normally
StrCmp $R0 "" done
; Also read the install dir of the previous version
ReadRegStr $R1 HKCU "Software\${SOFT_NAME}" ""
; Ask user whether to uninstall the existing version
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(installed)" IDOK uninst
Abort ; user clicked Cancel - stop the installer
;Run the uninstaller
uninst:
ClearErrors
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
; Remove surrounding quotes from the UninstallString if present
StrCpy $R2 $R0 1 ; first character
StrCmp $R2 '"' 0 unquoted
; Strip leading and trailing quote
StrCpy $R0 $R0 "" 1 ; remove leading "
StrLen $R3 $R0
IntOp $R3 $R3 - 1
StrCpy $R0 $R0 $R3 ; remove trailing "
unquoted:
IfErrors no_remove_uninstaller done
;You can either use Delete /REBOOTOK in the uninstaller or add some code
;here to remove the uninstaller. Use a registry key to check
;whether the user has chosen to uninstall. If you are using an uninstaller
;components page, make sure all sections are uninstalled.
no_remove_uninstaller:
ClearErrors
${If} $R1 != ""
ExecWait '"$R0" /S _?=$R1'
${Else}
ExecWait '"$R0" /S'
${EndIf}
IfErrors uninstall_failed
${If} $R1 != ""
IfFileExists "$R1\${SOFT_NAME}.exe" uninstall_failed
IfFileExists "$R1\bin\${SOFT_NAME}.exe" uninstall_failed
${EndIf}
Goto done
uninstall_failed:
MessageBox MB_OK|MB_ICONSTOP "$(uninstFailed)"
Abort
done:
FunctionEnd
;--------------------------------
;Descriptions
;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC
;Assign descriptions to sections
;!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
; !insertmacro MUI_DESCRIPTION_TEXT ${CopyFiles} "CopyFiles"
;!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
;Uninstaller Section
;==============================================================================
; UNINSTALLER SECTION
;==============================================================================
Section "Uninstall"
SetShellVarContext all ; all users
; remove start menu shortcuts
RMDir /r "$SMPROGRAMS\${SOFT_NAME}"
; remove shortcut on the desktop
Delete "$DESKTOP\QElectroTech.lnk"
SetRegView 64 ; NSIS 3: required so we delete from the correct hive
SetShellVarContext all
; remove the application files
Delete "$INSTDIR\*.*"
RMDir /r "$INSTDIR"
; Remove Start Menu shortcuts
RMDir /r "$SMPROGRAMS\${SOFT_NAME}"
;remove installation registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}"
DeleteRegKey /ifempty HKCU "Software\${SOFT_NAME}"
; Remove Desktop shortcut
Delete "$DESKTOP\QElectroTech.lnk"
; remove file associations registry keys
DeleteRegKey HKEY_CLASSES_ROOT "Applications\qelectrotech.exe"
DeleteRegKey HKEY_CLASSES_ROOT ".qet"
DeleteRegKey HKEY_CLASSES_ROOT "qet_diagram_file"
DeleteRegKey HKEY_CLASSES_ROOT ".elmt"
DeleteRegKey HKEY_CLASSES_ROOT "qet_element_file"
DeleteRegKey HKEY_CLASSES_ROOT ".titleblock"
DeleteRegKey HKEY_CLASSES_ROOT "qet_titleblock_file"
; Remove application files
Delete "$INSTDIR\*.*"
RMDir /r "$INSTDIR"
; Remove installation registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}"
DeleteRegKey /ifempty HKCU "Software\${SOFT_NAME}"
; Remove file associations registry keys
DeleteRegKey HKEY_CLASSES_ROOT "Applications\qelectrotech.exe"
DeleteRegKey HKEY_CLASSES_ROOT ".qet"
DeleteRegKey HKEY_CLASSES_ROOT "qet_diagram_file"
DeleteRegKey HKEY_CLASSES_ROOT ".elmt"
DeleteRegKey HKEY_CLASSES_ROOT "qet_element_file"
DeleteRegKey HKEY_CLASSES_ROOT ".titleblock"
DeleteRegKey HKEY_CLASSES_ROOT "qet_titleblock_file"
IfFileExists "$INSTDIR" 0 NoErrorMsg
; MessageBox MB_OK "Note: $INSTDIR could not be removed!"
NoErrorMsg:
IfFileExists "$INSTDIR" 0 NoErrorMsg
;MessageBox MB_OK "Note: $INSTDIR could not be removed!" IDOK 0 ; skipped if file doesn't exist
NoErrorMsg:
SectionEnd
;--------------------------------
;Uninstaller Functions
;==============================================================================
; UNINSTALLER FUNCTIONS
;==============================================================================
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
SetRegView 64 ; NSIS 3: match the view used during install
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd

View File

@@ -10,6 +10,7 @@
LangString Refrigeration ${LANG_ENGLISH} "Refrigeration"
LangString Solar_thermal ${LANG_ENGLISH} "Solar_thermal"
LangString Lang ${LANG_ENGLISH} "Lang"
LangString Fonts ${LANG_ENGLISH} "Fonts"
LangString Titleblocks ${LANG_ENGLISH} "Titleblocks"
LangString Examples ${LANG_ENGLISH} "Examples"
LangString Check ${LANG_ENGLISH} "Check to start ${SOFT_NAME}"
@@ -17,6 +18,32 @@
LangString var2 ${LANG_ENGLISH} "languagues files"
LangString var3 ${LANG_ENGLISH} "Examples of cartridges"
LangString var4 ${LANG_ENGLISH} "Examples of diagrams"
LangString var5 ${LANG_ENGLISH} "Fonts"
LangString uninstFailed ${LANG_ENGLISH} "Uninstallation of the previous version failed.$\nPlease uninstall ${SOFT_NAME} manually before continuing."
LangString installed ${LANG_KOREAN} "${SOFT_NAME}이(가) 이미 설치되어 있습니다. $\n$\n이전 버전을 제거하려면 `OK`를, 업그레이드를 취소하려면 `Cancel`을 클릭하세요."
LangString wrongArch ${LANG_KOREAN} "이 배포판은 64비트 컴퓨터에서만 사용할 수 있습니다."
LangString Elements ${LANG_KOREAN} "요소"
LangString Electric ${LANG_KOREAN} "전기"
LangString Logic ${LANG_KOREAN} "로직"
LangString Hydraulic ${LANG_KOREAN} "유압"
LangString Pneumatic ${LANG_KOREAN} "공압"
LangString Energy ${LANG_KOREAN} "에너지"
LangString water ${LANG_KOREAN} ""
LangString Refrigeration ${LANG_KOREAN} "냉동"
LangString Solar_thermal ${LANG_KOREAN} "태양열"
LangString Lang ${LANG_KOREAN} "언어"
LangString Fonts ${LANG_KOREAN} "글꼴"
LangString Titleblocks ${LANG_KOREAN} "표제란"
LangString Examples ${LANG_KOREAN} "예제"
LangString Check ${LANG_KOREAN} "${SOFT_NAME} 실행"
LangString var1 ${LANG_KOREAN} "공식 컬렉션 요소"
LangString var2 ${LANG_KOREAN} "언어 파일"
LangString var3 ${LANG_KOREAN} "표제란 예제"
LangString var4 ${LANG_KOREAN} "도면 예제"
LangString var5 ${LANG_KOREAN} "글꼴"
LangString uninstFailed ${LANG_KOREAN} "이전 버전을 제거하지 못했습니다.$\n계속하기 전에 ${SOFT_NAME}을(를) 수동으로 제거해 주세요."
LangString installed ${LANG_POLISH} "${SOFT_NAME} jest już zainstalowany. $\n$\nKliknij `OK` aby odinstalować poprzednią wersję lub `Anuluj` aby przerwać aktualizację."
@@ -31,13 +58,16 @@
LangString Refrigeration ${LANG_POLISH} "Chłodnictwo"
LangString Solar_thermal ${LANG_POLISH} "Energia słoneczna"
LangString Lang ${LANG_POLISH} "Język"
LangString Fonts ${LANG_POLISH} "Czcionki"
LangString Titleblocks ${LANG_POLISH} "Tabliczki rysunkowe"
LangString Examples ${LANG_POLISH} "Przykłady"
LangString Check ${LANG_POLISH} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_POLISH} "Elements of the official collection"
LangString var2 ${LANG_POLISH} "languagues files"
LangString var3 ${LANG_POLISH} "Examples of cartridges"
LangString var4 ${LANG_POLISH} "Examples of diagrams"
LangString Check ${LANG_POLISH} "Zaznacz, aby uruchomić ${SOFT_NAME}"
LangString var1 ${LANG_POLISH} "Elementy oficjalnej kolekcji"
LangString var2 ${LANG_POLISH} "Pliki językowe"
LangString var3 ${LANG_POLISH} "Przykłady tabliczek rysunkowych"
LangString var4 ${LANG_POLISH} "Przykłady schematów"
LangString var5 ${LANG_POLISH} "Czcionki"
LangString uninstFailed ${LANG_POLISH} "Odinstalowanie poprzedniej wersji nie powiodło się.$\nPrzed kontynuowaniem odinstaluj ręcznie program ${SOFT_NAME}."
LangString installed ${LANG_GREEK} "${SOFT_NAME} είναι ήδη εγκατεστημένο. $\n$\nΠάτησε `OK` για αφαίρεση της προηγούμενης έκδοσης ή `Cancel` για ακύρωση της αναβάθμισης."
@@ -52,55 +82,64 @@
LangString Refrigeration ${LANG_GREEK} "Ψύξη"
LangString Solar_thermal ${LANG_GREEK} "Ηλιοθερμία"
LangString Lang ${LANG_GREEK} "Γλώσσα"
LangString Fonts ${LANG_GREEK} "Γραμματοσειρές"
LangString Titleblocks ${LANG_GREEK} "Πινακίδες"
LangString Examples ${LANG_GREEK} "Παραδείγματα"
LangString Check ${LANG_GREEK} "Επιλέξτε για εκκίνηση ${SOFT_NAME}"
LangString var1 ${LANG_GREEK} "Στοιχεία της επίσημης συλλογής"
LangString var2 ${LANG_GREEK} "Αρχεία γλωσσών"
LangString var3 ${LANG_GREEK} "Examples of cartridges"
LangString var3 ${LANG_GREEK} "Παραδείγματα πινακίδων"
LangString var4 ${LANG_GREEK} "Παραδείγματα διαγραμμάτων"
LangString var5 ${LANG_GREEK} "Γραμματοσειρές"
LangString uninstFailed ${LANG_GREEK} "Η απεγκατάσταση της προηγούμενης έκδοσης απέτυχε.$\nΠαρακαλώ απεγκαταστήστε χειροκίνητα το ${SOFT_NAME} πριν συνεχίσετε."
LangString installed ${LANG_CZECH} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_CZECH} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_CZECH} "Elements"
LangString Electric ${LANG_CZECH} "Electric"
LangString Logic ${LANG_CZECH} "Logic"
LangString Hydraulic ${LANG_CZECH} "Hydraulic"
LangString Pneumatic ${LANG_CZECH} "Pneumatic"
LangString Energy ${LANG_CZECH} "Energy"
LangString water ${LANG_CZECH} "Water"
LangString Refrigeration ${LANG_CZECH} "Refrigeration"
LangString Solar_thermal ${LANG_CZECH} "Solar_thermal"
LangString Lang ${LANG_CZECH} "Lang"
LangString Titleblocks ${LANG_CZECH} "Titleblocks"
LangString Examples ${LANG_CZECH} "Examples"
LangString Check ${LANG_CZECH} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_CZECH} "Elements of the official collection"
LangString var2 ${LANG_CZECH} "languagues files"
LangString var3 ${LANG_CZECH} "Examples of cartridges"
LangString var4 ${LANG_CZECH} "Examples of diagrams"
LangString installed ${LANG_CZECH} "${SOFT_NAME} je již nainstalován. $\n$\nKlikněte na `OK` pro odebrání předchozí verze nebo na `Zrušit` pro zrušení tohoto upgradu."
LangString wrongArch ${LANG_CZECH} "Tato distribuce je určena pouze pro 64bitové počítače."
LangString Elements ${LANG_CZECH} "Prvky"
LangString Electric ${LANG_CZECH} "Elektrika"
LangString Logic ${LANG_CZECH} "Logika"
LangString Hydraulic ${LANG_CZECH} "Hydraulika"
LangString Pneumatic ${LANG_CZECH} "Pneumatika"
LangString Energy ${LANG_CZECH} "Energie"
LangString water ${LANG_CZECH} "Voda"
LangString Refrigeration ${LANG_CZECH} "Chlazení"
LangString Solar_thermal ${LANG_CZECH} "Solární_teplo"
LangString Lang ${LANG_CZECH} "Jazyk"
LangString Fonts ${LANG_CZECH} "Písma"
LangString Titleblocks ${LANG_CZECH} "Popisová pole"
LangString Examples ${LANG_CZECH} "Příklady"
LangString Check ${LANG_CZECH} "Zaškrtněte pro spuštění ${SOFT_NAME}"
LangString var1 ${LANG_CZECH} "Prvky oficiální kolekce"
LangString var2 ${LANG_CZECH} "Jazykové soubory"
LangString var3 ${LANG_CZECH} "Příklady popisových polí"
LangString var4 ${LANG_CZECH} "Příklady schémat"
LangString var5 ${LANG_CZECH} "Písma"
LangString uninstFailed ${LANG_CZECH} "Odinstalování předchozí verze se nezdařilo.$\nPřed pokračováním prosím odinstalujte ${SOFT_NAME} ručně."
LangString installed ${LANG_SPANISH} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_SPANISH} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_SPANISH} "Elements"
LangString Electric ${LANG_SPANISH} "Electric"
LangString Logic ${LANG_SPANISH} "Logic"
LangString Hydraulic ${LANG_SPANISH} "Hydraulic"
LangString Pneumatic ${LANG_SPANISH} "Pneumatic"
LangString Energy ${LANG_SPANISH} "Energy"
LangString water ${LANG_SPANISH} "Water"
LangString Refrigeration ${LANG_SPANISH} "Refrigeration"
LangString Solar_thermal ${LANG_SPANISH} "Solar_thermal"
LangString Lang ${LANG_SPANISH} "Lang"
LangString Titleblocks ${LANG_SPANISH} "Titleblocks"
LangString Examples ${LANG_SPANISH} "Examples"
LangString Check ${LANG_SPANISH} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_SPANISH} "Elements of the official collection"
LangString var2 ${LANG_SPANISH} "languagues files"
LangString var3 ${LANG_SPANISH} "Examples of cartridges"
LangString var4 ${LANG_SPANISH} "Examples of diagrams"
LangString installed ${LANG_SPANISH} "${SOFT_NAME} ya está instalado. $\n$\nHaga clic en `Aceptar` para eliminar la versión anterior o en `Cancelar` para cancelar esta actualización."
LangString wrongArch ${LANG_SPANISH} "Esta distribución es solo para ordenadores de 64 bits."
LangString Elements ${LANG_SPANISH} "Elementos"
LangString Electric ${LANG_SPANISH} "Eléctrico"
LangString Logic ${LANG_SPANISH} "Lógica"
LangString Hydraulic ${LANG_SPANISH} "Hidráulica"
LangString Pneumatic ${LANG_SPANISH} "Neumática"
LangString Energy ${LANG_SPANISH} "Energía"
LangString water ${LANG_SPANISH} "Agua"
LangString Refrigeration ${LANG_SPANISH} "Refrigeración"
LangString Solar_thermal ${LANG_SPANISH} "Solar_térmico"
LangString Lang ${LANG_SPANISH} "Idioma"
LangString Fonts ${LANG_SPANISH} "Fuentes"
LangString Titleblocks ${LANG_SPANISH} "Cartelas"
LangString Examples ${LANG_SPANISH} "Ejemplos"
LangString Check ${LANG_SPANISH} "Marcar para iniciar ${SOFT_NAME}"
LangString var1 ${LANG_SPANISH} "Elementos de la colección oficial"
LangString var2 ${LANG_SPANISH} "Archivos de idioma"
LangString var3 ${LANG_SPANISH} "Ejemplos de cartelas"
LangString var4 ${LANG_SPANISH} "Ejemplos de esquemas"
LangString var5 ${LANG_SPANISH} "Fuentes"
LangString uninstFailed ${LANG_SPANISH} "La desinstalación de la versión anterior ha fallado.$\nPor favor, desinstale ${SOFT_NAME} manualmente antes de continuar."
LangString installed ${LANG_GERMAN} "${SOFT_NAME} ist bereits installiert. $\n$\nKlicken Sie auf `OK`, um die alte Version zu deinstallieren, oder auf `Abbrechen`, um das Upgrade abzubrechen."
@@ -115,6 +154,7 @@
LangString Refrigeration ${LANG_GERMAN} "Kältetechnik"
LangString Solar_thermal ${LANG_GERMAN} "Solar-Wärmetechnik"
LangString Lang ${LANG_GERMAN} "Sprachen"
LangString Fonts ${LANG_GERMAN} "Schriften"
LangString Titleblocks ${LANG_GERMAN} "Schriftfelder"
LangString Examples ${LANG_GERMAN} "Beispiele"
LangString Check ${LANG_GERMAN} "Ankreuzen zum Starten von ${SOFT_NAME}"
@@ -122,6 +162,8 @@
LangString var2 ${LANG_GERMAN} "Sprachdateien"
LangString var3 ${LANG_GERMAN} "Schriftfeld-Beispiele"
LangString var4 ${LANG_GERMAN} "Schaltplan-Beispiele"
LangString var5 ${LANG_GERMAN} "Schriften"
LangString uninstFailed ${LANG_GERMAN} "Die Deinstallation der vorherigen Version ist fehlgeschlagen.$\nBitte deinstallieren Sie ${SOFT_NAME} manuell, bevor Sie fortfahren."
LangString installed ${LANG_RUSSIAN} "${SOFT_NAME} уже установлен. $\n$\nДля удаления предыдущей версии нажмите `OK` или `Cancel` для отмены обновления."
@@ -136,6 +178,7 @@
LangString Refrigeration ${LANG_RUSSIAN} "Холодильная техника"
LangString Solar_thermal ${LANG_RUSSIAN} "Солнечная-тепловая"
LangString Lang ${LANG_RUSSIAN} "Язык"
LangString Fonts ${LANG_RUSSIAN} "Шрифты"
LangString Titleblocks ${LANG_RUSSIAN} "Штампы"
LangString Examples ${LANG_RUSSIAN} "Примеры"
LangString Check ${LANG_RUSSIAN} "Нажмите для запуска ${SOFT_NAME}"
@@ -143,48 +186,56 @@
LangString var2 ${LANG_RUSSIAN} "языковые файлы"
LangString var3 ${LANG_RUSSIAN} "Примеры штампов"
LangString var4 ${LANG_RUSSIAN} "Примеры схем"
LangString var5 ${LANG_RUSSIAN} "Шрифты"
LangString uninstFailed ${LANG_RUSSIAN} "Удаление предыдущей версии завершилось с ошибкой.$\nПожалуйста, удалите ${SOFT_NAME} вручную перед продолжением."
LangString installed ${LANG_ARABIC} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_ARABIC} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_ARABIC} "Elements"
LangString Electric ${LANG_ARABIC} "Electric"
LangString Logic ${LANG_ARABIC} "Logic"
LangString Hydraulic ${LANG_ARABIC} "Hydraulic"
LangString Pneumatic ${LANG_ARABIC} "Pneumatic"
LangString Energy ${LANG_ARABIC} "Energy"
LangString water ${LANG_ARABIC} "Water"
LangString Refrigeration ${LANG_ARABIC} "Refrigeration"
LangString Solar_thermal ${LANG_ARABIC} "Solar_thermal"
LangString Lang ${LANG_ARABIC} "Lang"
LangString Titleblocks ${LANG_ARABIC} "Titleblocks"
LangString Examples ${LANG_ARABIC} "Examples"
LangString Check ${LANG_ARABIC} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_ARABIC} "Elements of the official collection"
LangString var2 ${LANG_ARABIC} "languagues files"
LangString var3 ${LANG_ARABIC} "Examples of cartridges"
LangString var4 ${LANG_ARABIC} "Examples of diagrams"
LangString installed ${LANG_ARABIC} "${SOFT_NAME} مثبَّت بالفعل. $\n$\nانقر على `موافق` لإزالة الإصدار السابق أو على `إلغاء` لإلغاء هذا التحديث."
LangString wrongArch ${LANG_ARABIC} "هذا التوزيع مخصص لأجهزة الكمبيوتر 64 بت فقط."
LangString Elements ${LANG_ARABIC} "العناصر"
LangString Electric ${LANG_ARABIC} "الكهرباء"
LangString Logic ${LANG_ARABIC} "المنطق"
LangString Hydraulic ${LANG_ARABIC} "الهيدروليك"
LangString Pneumatic ${LANG_ARABIC} "الهواء المضغوط"
LangString Energy ${LANG_ARABIC} "الطاقة"
LangString water ${LANG_ARABIC} "الماء"
LangString Refrigeration ${LANG_ARABIC} "التبريد"
LangString Solar_thermal ${LANG_ARABIC} "الطاقة_الشمسية_الحرارية"
LangString Lang ${LANG_ARABIC} "اللغة"
LangString Fonts ${LANG_ARABIC} "الخطوط"
LangString Titleblocks ${LANG_ARABIC} "كتل العنوان"
LangString Examples ${LANG_ARABIC} "أمثلة"
LangString Check ${LANG_ARABIC} "حدد لتشغيل ${SOFT_NAME}"
LangString var1 ${LANG_ARABIC} "عناصر المجموعة الرسمية"
LangString var2 ${LANG_ARABIC} "ملفات اللغة"
LangString var3 ${LANG_ARABIC} "أمثلة على كتل العنوان"
LangString var4 ${LANG_ARABIC} "أمثلة على المخططات"
LangString var5 ${LANG_ARABIC} "الخطوط"
LangString uninstFailed ${LANG_ARABIC} "فشل إلغاء تثبيت الإصدار السابق. يرجى إلغاء تثبيت ${SOFT_NAME} يدويًا قبل المتابعة."
LangString installed ${LANG_CATALAN} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_CATALAN} "This distribution is for 64 bits computers only."
LangString installed ${LANG_CATALAN} "${SOFT_NAME} ja està instal·lat. $\n$\nFeu clic a `D'acord` per eliminar la versió anterior o a `Cancel·la` per cancel·lar aquesta actualització."
LangString wrongArch ${LANG_CATALAN} "Aquesta distribució és només per a ordinadors de 64 bits."
LangString Elements ${LANG_CATALAN} "Elements"
LangString Electric ${LANG_CATALAN} "Electric"
LangString Logic ${LANG_CATALAN} "Logic"
LangString Hydraulic ${LANG_CATALAN} "Hydraulic"
LangString Pneumatic ${LANG_CATALAN} "Pneumatic"
LangString Energy ${LANG_CATALAN} "Energy"
LangString water ${LANG_CATALAN} "Water"
LangString Refrigeration ${LANG_CATALAN} "Refrigeration"
LangString Solar_thermal ${LANG_CATALAN} "Solar_thermal"
LangString Lang ${LANG_CATALAN} "Lang"
LangString Titleblocks ${LANG_CATALAN} "Titleblocks"
LangString Examples ${LANG_CATALAN} "Examples"
LangString Check ${LANG_CATALAN} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_CATALAN} "Elements of the official collection"
LangString var2 ${LANG_CATALAN} "languagues files"
LangString var3 ${LANG_CATALAN} "Examples of cartridges"
LangString var4 ${LANG_CATALAN} "Examples of diagrams"
LangString Electric ${LANG_CATALAN} "Elèctric"
LangString Logic ${LANG_CATALAN} "Lògica"
LangString Hydraulic ${LANG_CATALAN} "Hidràulica"
LangString Pneumatic ${LANG_CATALAN} "Pneumàtica"
LangString Energy ${LANG_CATALAN} "Energia"
LangString water ${LANG_CATALAN} "Aigua"
LangString Refrigeration ${LANG_CATALAN} "Refrigeració"
LangString Solar_thermal ${LANG_CATALAN} "Solar_tèrmic"
LangString Lang ${LANG_CATALAN} "Idioma"
LangString Fonts ${LANG_CATALAN} "Tipus de lletra"
LangString Titleblocks ${LANG_CATALAN} "Cartutxos"
LangString Examples ${LANG_CATALAN} "Exemples"
LangString Check ${LANG_CATALAN} "Marca per iniciar ${SOFT_NAME}"
LangString var1 ${LANG_CATALAN} "Elements de la col·lecció oficial"
LangString var2 ${LANG_CATALAN} "Fitxers d'idioma"
LangString var3 ${LANG_CATALAN} "Exemples de cartutxos"
LangString var4 ${LANG_CATALAN} "Exemples d'esquemes"
LangString var5 ${LANG_CATALAN} "Tipus de lletra"
LangString uninstFailed ${LANG_CATALAN} "La desinstal·lació de la versió anterior ha fallat.$\nSi us plau, desinstal·leu ${SOFT_NAME} manualment abans de continuar."
LangString installed ${LANG_ITALIAN} "${SOFT_NAME} &egrave; già installato. $\n$\nFare click su `OK` per rimuovere la versione precedente o su `Annulla` per annullare questo aggiornamento."
@@ -199,6 +250,7 @@
LangString Refrigeration ${LANG_ITALIAN} "Refrigerazione"
LangString Solar_thermal ${LANG_ITALIAN} "Solare_termico"
LangString Lang ${LANG_ITALIAN} "Lingua"
LangString Fonts ${LANG_ITALIAN} "Caratteri"
LangString Titleblocks ${LANG_ITALIAN} "Cartigli"
LangString Examples ${LANG_ITALIAN} "Esempi"
LangString Check ${LANG_ITALIAN} "Avvia ${SOFT_NAME}"
@@ -206,69 +258,80 @@
LangString var2 ${LANG_ITALIAN} "File della lingua"
LangString var3 ${LANG_ITALIAN} "Cartigli di esempio"
LangString var4 ${LANG_ITALIAN} "Schemi di esempio"
LangString var5 ${LANG_ITALIAN} "Caratteri"
LangString uninstFailed ${LANG_ITALIAN} "La disinstallazione della versione precedente non è riuscita.$\nSi prega di disinstallare ${SOFT_NAME} manualmente prima di continuare."
LangString installed ${LANG_PORTUGUESE} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_PORTUGUESE} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_PORTUGUESE} "Elements"
LangString Electric ${LANG_PORTUGUESE} "Electric"
LangString Logic ${LANG_PORTUGUESE} "Logic"
LangString Hydraulic ${LANG_PORTUGUESE} "Hydraulic"
LangString Pneumatic ${LANG_PORTUGUESE} "Pneumatic"
LangString Energy ${LANG_PORTUGUESE} "Energy"
LangString water ${LANG_PORTUGUESE} "Water"
LangString Refrigeration ${LANG_PORTUGUESE} "Refrigeration"
LangString Solar_thermal ${LANG_PORTUGUESE} "Solar_thermal"
LangString Lang ${LANG_PORTUGUESE} "Lang"
LangString Titleblocks ${LANG_PORTUGUESE} "Titleblocks"
LangString Examples ${LANG_PORTUGUESE} "Examples"
LangString Check ${LANG_PORTUGUESE} "Avviare ${SOFT_NAME}"
LangString var1 ${LANG_PORTUGUESE} "Elements of the official collection"
LangString var2 ${LANG_PORTUGUESE} "languagues files"
LangString var3 ${LANG_PORTUGUESE} "Examples of cartridges"
LangString var4 ${LANG_PORTUGUESE} "Examples of diagrams"
LangString installed ${LANG_PORTUGUESE} "${SOFT_NAME} já está instalado. $\n$\nClique em `OK` para remover a versão anterior ou em `Cancelar` para cancelar esta atualização."
LangString wrongArch ${LANG_PORTUGUESE} "Esta distribuição é apenas para computadores de 64 bits."
LangString Elements ${LANG_PORTUGUESE} "Elementos"
LangString Electric ${LANG_PORTUGUESE} "Elétrica"
LangString Logic ${LANG_PORTUGUESE} "Lógica"
LangString Hydraulic ${LANG_PORTUGUESE} "Hidráulica"
LangString Pneumatic ${LANG_PORTUGUESE} "Pneumática"
LangString Energy ${LANG_PORTUGUESE} "Energia"
LangString water ${LANG_PORTUGUESE} "Água"
LangString Refrigeration ${LANG_PORTUGUESE} "Refrigeração"
LangString Solar_thermal ${LANG_PORTUGUESE} "Solar_térmico"
LangString Lang ${LANG_PORTUGUESE} "Idioma"
LangString Fonts ${LANG_PORTUGUESE} "Fontes"
LangString Titleblocks ${LANG_PORTUGUESE} "Legendas"
LangString Examples ${LANG_PORTUGUESE} "Exemplos"
LangString Check ${LANG_PORTUGUESE} "Marcar para iniciar ${SOFT_NAME}"
LangString var1 ${LANG_PORTUGUESE} "Elementos da coleção oficial"
LangString var2 ${LANG_PORTUGUESE} "Arquivos de idioma"
LangString var3 ${LANG_PORTUGUESE} "Exemplos de legendas"
LangString var4 ${LANG_PORTUGUESE} "Exemplos de esquemas"
LangString var5 ${LANG_PORTUGUESE} "Fontes"
LangString uninstFailed ${LANG_PORTUGUESE} "A desinstalação da versão anterior falhou.$\nPor favor, desinstale ${SOFT_NAME} manualmente antes de continuar."
LangString installed ${LANG_ROMANIAN} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_ROMANIAN} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_ROMANIAN} "Elements"
LangString installed ${LANG_ROMANIAN} "${SOFT_NAME} este deja instalat. $\n$\nFaceți clic pe `OK` pentru a elimina versiunea anterioară sau pe `Anulare` pentru a anula această actualizare."
LangString wrongArch ${LANG_ROMANIAN} "Această distribuție este destinată numai computerelor pe 64 de biți."
LangString Elements ${LANG_ROMANIAN} "Elemente"
LangString Electric ${LANG_ROMANIAN} "Electric"
LangString Logic ${LANG_ROMANIAN} "Logic"
LangString Hydraulic ${LANG_ROMANIAN} "Hydraulic"
LangString Pneumatic ${LANG_ROMANIAN} "Pneumatic"
LangString Energy ${LANG_ROMANIAN} "Energy"
LangString water ${LANG_ROMANIAN} "Water"
LangString Refrigeration ${LANG_ROMANIAN} "Refrigeration"
LangString Solar_thermal ${LANG_ROMANIAN} "Solar_thermal"
LangString Lang ${LANG_ROMANIAN} "Lang"
LangString Titleblocks ${LANG_ROMANIAN} "Titleblocks"
LangString Examples ${LANG_ROMANIAN} "Examples"
LangString Check ${LANG_ROMANIAN} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_ROMANIAN} "Elements of the official collection"
LangString var2 ${LANG_ROMANIAN} "languagues files"
LangString var3 ${LANG_ROMANIAN} "Examples of cartridges"
LangString var4 ${LANG_ROMANIAN} "Examples of diagrams"
LangString Logic ${LANG_ROMANIAN} "Logică"
LangString Hydraulic ${LANG_ROMANIAN} "Hidraulică"
LangString Pneumatic ${LANG_ROMANIAN} "Pneumatică"
LangString Energy ${LANG_ROMANIAN} "Energie"
LangString water ${LANG_ROMANIAN} "Apă"
LangString Refrigeration ${LANG_ROMANIAN} "Refrigerare"
LangString Solar_thermal ${LANG_ROMANIAN} "Solar_termic"
LangString Lang ${LANG_ROMANIAN} "Limbă"
LangString Fonts ${LANG_ROMANIAN} "Fonturi"
LangString Titleblocks ${LANG_ROMANIAN} "Cartușe"
LangString Examples ${LANG_ROMANIAN} "Exemple"
LangString Check ${LANG_ROMANIAN} "Bifați pentru a porni ${SOFT_NAME}"
LangString var1 ${LANG_ROMANIAN} "Elemente din colecția oficială"
LangString var2 ${LANG_ROMANIAN} "Fișiere de limbă"
LangString var3 ${LANG_ROMANIAN} "Exemple de cartușe"
LangString var4 ${LANG_ROMANIAN} "Exemple de scheme"
LangString var5 ${LANG_ROMANIAN} "Fonturi"
LangString uninstFailed ${LANG_ROMANIAN} "Dezinstalarea versiunii anterioare a eșuat.$\nVă rugăm să dezinstalați ${SOFT_NAME} manual înainte de a continua."
LangString installed ${LANG_CROATIAN} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade."
LangString wrongArch ${LANG_CROATIAN} "This distribution is for 64 bits computers only."
LangString Elements ${LANG_CROATIAN} "Elements"
LangString Electric ${LANG_CROATIAN} "Electric"
LangString Logic ${LANG_CROATIAN} "Logic"
LangString Hydraulic ${LANG_CROATIAN} "Hydraulic"
LangString Pneumatic ${LANG_CROATIAN} "Pneumatic"
LangString Energy ${LANG_CROATIAN} "Energy"
LangString water ${LANG_CROATIAN} "Water"
LangString Refrigeration ${LANG_CROATIAN} "Refrigeration"
LangString Solar_thermal ${LANG_CROATIAN} "Solar_thermal"
LangString Lang ${LANG_CROATIAN} "Lang"
LangString Titleblocks ${LANG_CROATIAN} "Titleblocks"
LangString Examples ${LANG_CROATIAN} "Examples"
LangString Check ${LANG_CROATIAN} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_CROATIAN} "Elements of the official collection"
LangString var2 ${LANG_CROATIAN} "languagues files"
LangString var3 ${LANG_CROATIAN} "Examples of cartridges"
LangString var4 ${LANG_CROATIAN} "Examples of diagrams"
LangString installed ${LANG_CROATIAN} "${SOFT_NAME} je već instaliran. $\n$\nKliknite `U redu` za uklanjanje prethodne verzije ili `Odustani` za odustajanje od nadogradnje."
LangString wrongArch ${LANG_CROATIAN} "Ova distribucija namijenjena je samo za 64-bitna računala."
LangString Elements ${LANG_CROATIAN} "Elementi"
LangString Electric ${LANG_CROATIAN} "Elektrika"
LangString Logic ${LANG_CROATIAN} "Logika"
LangString Hydraulic ${LANG_CROATIAN} "Hidraulika"
LangString Pneumatic ${LANG_CROATIAN} "Pneumatika"
LangString Energy ${LANG_CROATIAN} "Energija"
LangString water ${LANG_CROATIAN} "Voda"
LangString Refrigeration ${LANG_CROATIAN} "Hlađenje"
LangString Solar_thermal ${LANG_CROATIAN} "Solarno_toplinsko"
LangString Lang ${LANG_CROATIAN} "Jezik"
LangString Fonts ${LANG_CROATIAN} "Fontovi"
LangString Titleblocks ${LANG_CROATIAN} "Zaglavlja"
LangString Examples ${LANG_CROATIAN} "Primjeri"
LangString Check ${LANG_CROATIAN} "Označite za pokretanje ${SOFT_NAME}"
LangString var1 ${LANG_CROATIAN} "Elementi službene zbirke"
LangString var2 ${LANG_CROATIAN} "Jezične datoteke"
LangString var3 ${LANG_CROATIAN} "Primjeri zaglavlja"
LangString var4 ${LANG_CROATIAN} "Primjeri shema"
LangString var5 ${LANG_CROATIAN} "Fontovi"
LangString uninstFailed ${LANG_CROATIAN} "Deinstalacija prethodne verzije nije uspjela.$\nMolimo deinstalirajte ${SOFT_NAME} ručno prije nastavka."
LangString installed ${LANG_DUTCH} "${SOFT_NAME} is al geinstalleerd. $\n$\nklik `OK` om vorige versie te verwijderen of `annuleer` om deze upgrade te annuleren."
@@ -283,34 +346,16 @@
LangString Refrigeration ${LANG_DUTCH} "Koelinstallaties"
LangString Solar_thermal ${LANG_DUTCH} "Zonne_warmte"
LangString Lang ${LANG_DUTCH} "Taal"
LangString Fonts ${LANG_DUTCH} "Lettertypen"
LangString Titleblocks ${LANG_DUTCH} "Titelblok"
LangString Examples ${LANG_DUTCH} "Voorbeelden"
LangString Check ${LANG_DUTCH} "Check to start ${SOFT_NAME}"
LangString Check ${LANG_DUTCH} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_DUTCH} "Elements of the official collection"
LangString var2 ${LANG_DUTCH} "languagues files"
LangString var3 ${LANG_DUTCH} "Examples of cartridges"
LangString var4 ${LANG_DUTCH} "Examples of diagrams"
LangString installed ${LANG_DUTCH_BELGIUM} "${SOFT_NAME} is reeds geinstallerd. $\n$\nKlik`OK` om vorige versie te verwijderen of `Afbreken` om de upgrade niet uit te voeren."
LangString wrongArch ${LANG_DUTCH_BELGIUM} "Deze distributie werkt enkel op 64 bits computers."
LangString Elements ${LANG_DUTCH_BELGIUM} "Elementen"
LangString Electric ${LANG_DUTCH_BELGIUM} "Electrisch"
LangString Logic ${LANG_DUTCH_BELGIUM} "Logica"
LangString Hydraulic ${LANG_DUTCH_BELGIUM} "Hydraulisch"
LangString Pneumatic ${LANG_DUTCH_BELGIUM} "Pneumatisch"
LangString Energy ${LANG_DUTCH_BELGIUM} "Energie"
LangString water ${LANG_DUTCH_BELGIUM} "Water"
LangString Refrigeration ${LANG_DUTCH_BELGIUM} "Klimatisatie"
LangString Solar_thermal ${LANG_DUTCH_BELGIUM} "Termisch & zonlicht"
LangString Lang ${LANG_DUTCH_BELGIUM} "Taal"
LangString Titleblocks ${LANG_DUTCH_BELGIUM} "Titelhoek"
LangString Examples ${LANG_DUTCH_BELGIUM} "Voorbeelden"
LangString Check ${LANG_DUTCH_BELGIUM} "Controleer om te beginnen ${SOFT_NAME}"
LangString var1 ${LANG_DUTCH_BELGIUM} "Symbolen van de officielen verzameling"
LangString var2 ${LANG_DUTCH_BELGIUM} "taal bestanden"
LangString var3 ${LANG_DUTCH_BELGIUM} "Voorbeel titelhoeken"
LangString var4 ${LANG_DUTCH_BELGIUM} "Voorbeeld schema's"
LangString Check ${LANG_DUTCH} "Aanvinken om ${SOFT_NAME} te starten"
LangString var1 ${LANG_DUTCH} "Elementen van de officiële verzameling"
LangString var2 ${LANG_DUTCH} "Taalbestanden"
LangString var3 ${LANG_DUTCH} "Voorbeelden van titelblokken"
LangString var4 ${LANG_DUTCH} "Voorbeelden van schema's"
LangString var5 ${LANG_DUTCH} "Lettertypen"
LangString uninstFailed ${LANG_DUTCH} "Het verwijderen van de vorige versie is mislukt.$\nVerwijder ${SOFT_NAME} handmatig voordat u verdergaat."
LangString installed ${LANG_DANISH} "${SOFT_NAME} er allerede installeret. $\n$\nKlik `Ok` for at fjerne foregående version eller `Annuller` for at annullere opgraderingen."
@@ -325,6 +370,7 @@
LangString Refrigeration ${LANG_DANISH} "Køle teknik"
LangString Solar_thermal ${LANG_DANISH} "Sol & varme teknik"
LangString Lang ${LANG_DANISH} "Sprog"
LangString Fonts ${LANG_DANISH} "Skrifttyper"
LangString Titleblocks ${LANG_DANISH} "Titel blokke"
LangString Examples ${LANG_DANISH} "Eksempler"
LangString Check ${LANG_DANISH} "Vælg for at starte ${SOFT_NAME}"
@@ -332,5 +378,8 @@
LangString var2 ${LANG_DANISH} "Sprog filer"
LangString var3 ${LANG_DANISH} "Titel blokke eksempler"
LangString var4 ${LANG_DANISH} "Diagram eksempler"
LangString var5 ${LANG_DANISH} "Skrifttyper"
LangString uninstFailed ${LANG_DANISH} "Afinstallation af den tidligere version mislykkedes.$\nAfinstaller venligst ${SOFT_NAME} manuelt, inden du fortsætter."

View File

@@ -1,6 +1,6 @@
LangString wrongArch ${LANG_FRENCH} "Ce programme est pour Windows 64 bits seulement."
LangString installed ${LANG_FRENCH} "${SOFT_NAME} est déja installé. $\n$\nCliquer sur `OK` pour désinstaller l'ancienne version `Annuler` pour annuler cet upgrade."
LangString Elements ${LANG_FRENCH} "Eléments"
LangString installed ${LANG_FRENCH} "${SOFT_NAME} est déja installé. $\n$\nCliquer sur `OK` pour désinstaller l'ancienne version `Annuler` pour annuler cet upgrade."
LangString Elements ${LANG_FRENCH} "Eléments"
LangString Electric ${LANG_FRENCH} "Electrique"
LangString Logic ${LANG_FRENCH} "Logique"
LangString Hydraulic ${LANG_FRENCH} "Hydraulique"
@@ -10,10 +10,13 @@
LangString Refrigeration ${LANG_FRENCH} "Climatisation"
LangString Solar_thermal ${LANG_FRENCH} "Thermique & solaire"
LangString Lang ${LANG_FRENCH} "Langues"
LangString Fonts ${LANG_FRENCH} "Polices"
LangString Titleblocks ${LANG_FRENCH} "Cartouches"
LangString Examples ${LANG_FRENCH} "Exemples"
LangString Check ${LANG_FRENCH} "Cocher pour lancer ${SOFT_NAME}"
LangString var1 ${LANG_FRENCH} "Eléments de la collection officielle"
LangString var1 ${LANG_FRENCH} "Eléments de la collection officielle"
LangString var2 ${LANG_FRENCH} "Fichiers de langues"
LangString var3 ${LANG_FRENCH} "Exemples de cartouches"
LangString var4 ${LANG_FRENCH} "Exemples de schémas"
LangString var4 ${LANG_FRENCH} "Exemples de schémas"
LangString var5 ${LANG_FRENCH} "Polices"
LangString uninstFailed ${LANG_FRENCH} "La désinstallation de la version précédente a échoué.$\nVeuillez désinstaller ${SOFT_NAME} manuellement avant de continuer."

View File

@@ -0,0 +1,335 @@
; Missing language translations for QElectroTech installer
; Languages added: hu, ja, mn, nb, nl_BE, nl_NL, pt_BR, rs/sr, sk, sl, sv, tr, uk, zh
; ----------------------------------------------------------------
; Hungarian (LANG_HUNGARIAN)
; ----------------------------------------------------------------
LangString installed ${LANG_HUNGARIAN} "${SOFT_NAME} már telepítve van. $\n$\nKattintson az `OK` gombra az előző verzió eltávolításához, vagy a `Mégse` gombra a frissítés megszakításához."
LangString wrongArch ${LANG_HUNGARIAN} "Ez a terjesztés csak 64 bites számítógépekre való."
LangString Elements ${LANG_HUNGARIAN} "Elemek"
LangString Electric ${LANG_HUNGARIAN} "Elektromos"
LangString Logic ${LANG_HUNGARIAN} "Logika"
LangString Hydraulic ${LANG_HUNGARIAN} "Hidraulika"
LangString Pneumatic ${LANG_HUNGARIAN} "Pneumatika"
LangString Energy ${LANG_HUNGARIAN} "Energia"
LangString water ${LANG_HUNGARIAN} "Víz"
LangString Refrigeration ${LANG_HUNGARIAN} "Hűtés"
LangString Solar_thermal ${LANG_HUNGARIAN} "Nap_hőenergia"
LangString Lang ${LANG_HUNGARIAN} "Nyelv"
LangString Fonts ${LANG_HUNGARIAN} "Betűtípusok"
LangString Titleblocks ${LANG_HUNGARIAN} "Rajzfejlécek"
LangString Examples ${LANG_HUNGARIAN} "Példák"
LangString Check ${LANG_HUNGARIAN} "Jelölje be a ${SOFT_NAME} indításához"
LangString var1 ${LANG_HUNGARIAN} "A hivatalos gyűjtemény elemei"
LangString var2 ${LANG_HUNGARIAN} "Nyelvfájlok"
LangString var3 ${LANG_HUNGARIAN} "Rajzfejléc-példák"
LangString var4 ${LANG_HUNGARIAN} "Kapcsolási rajz példák"
LangString var5 ${LANG_HUNGARIAN} "Betűtípusok"
LangString uninstFailed ${LANG_HUNGARIAN} "Az előző verzió eltávolítása nem sikerült.$\nKérjük, távolítsa el manuálisan a ${SOFT_NAME} programot, mielőtt folytatná."
; ----------------------------------------------------------------
; Japanese (LANG_JAPANESE)
; ----------------------------------------------------------------
LangString installed ${LANG_JAPANESE} "${SOFT_NAME} はすでにインストールされています。$\n$\n前のバージョンを削除するには `OK` をクリックし、このアップグレードをキャンセルするには `キャンセル` をクリックしてください。"
LangString wrongArch ${LANG_JAPANESE} "この配布パッケージは64ビットコンピュータ専用です。"
LangString Elements ${LANG_JAPANESE} "部品"
LangString Electric ${LANG_JAPANESE} "電気"
LangString Logic ${LANG_JAPANESE} "論理"
LangString Hydraulic ${LANG_JAPANESE} "油圧"
LangString Pneumatic ${LANG_JAPANESE} "空圧"
LangString Energy ${LANG_JAPANESE} "エネルギー"
LangString water ${LANG_JAPANESE} ""
LangString Refrigeration ${LANG_JAPANESE} "冷凍"
LangString Solar_thermal ${LANG_JAPANESE} "太陽熱"
LangString Lang ${LANG_JAPANESE} "言語"
LangString Fonts ${LANG_JAPANESE} "フォント"
LangString Titleblocks ${LANG_JAPANESE} "表題欄"
LangString Examples ${LANG_JAPANESE} ""
LangString Check ${LANG_JAPANESE} "${SOFT_NAME} を起動するにはチェックを入れてください"
LangString var1 ${LANG_JAPANESE} "公式コレクションの部品"
LangString var2 ${LANG_JAPANESE} "言語ファイル"
LangString var3 ${LANG_JAPANESE} "表題欄の例"
LangString var4 ${LANG_JAPANESE} "回路図の例"
LangString var5 ${LANG_JAPANESE} "フォント"
LangString uninstFailed ${LANG_JAPANESE} "前のバージョンのアンインストールに失敗しました。$\n続行する前に、${SOFT_NAME} を手動でアンインストールしてください。"
; ----------------------------------------------------------------
; Mongolian (LANG_MONGOLIAN)
; ----------------------------------------------------------------
LangString installed ${LANG_MONGOLIAN} "${SOFT_NAME} аль хэдийн суулгасан байна. $\n$\nӨмнөх хувилбарыг устгахын тулд `OK` дарна уу эсвэл энэ шинэчлэлтийг цуцлахын тулд `Цуцлах` дарна уу."
LangString wrongArch ${LANG_MONGOLIAN} "Энэ тарилга нь зөвхөн 64 битийн компьютерт зориулагдсан."
LangString Elements ${LANG_MONGOLIAN} "Элементүүд"
LangString Electric ${LANG_MONGOLIAN} "Цахилгаан"
LangString Logic ${LANG_MONGOLIAN} "Логик"
LangString Hydraulic ${LANG_MONGOLIAN} "Гидравлик"
LangString Pneumatic ${LANG_MONGOLIAN} "Пневматик"
LangString Energy ${LANG_MONGOLIAN} "Эрчим хүч"
LangString water ${LANG_MONGOLIAN} "Ус"
LangString Refrigeration ${LANG_MONGOLIAN} "Хөргөлт"
LangString Solar_thermal ${LANG_MONGOLIAN} "Нарны_дулаан"
LangString Lang ${LANG_MONGOLIAN} "Хэл"
LangString Fonts ${LANG_MONGOLIAN} "Фонт"
LangString Titleblocks ${LANG_MONGOLIAN} "Гарчгийн блокууд"
LangString Examples ${LANG_MONGOLIAN} "Жишээнүүд"
LangString Check ${LANG_MONGOLIAN} "${SOFT_NAME} эхлүүлэхийн тулд тэмдэглэнэ үү"
LangString var1 ${LANG_MONGOLIAN} "Албан ёсны цуглуулгын элементүүд"
LangString var2 ${LANG_MONGOLIAN} "Хэлний файлууд"
LangString var3 ${LANG_MONGOLIAN} "Гарчгийн блокын жишээнүүд"
LangString var4 ${LANG_MONGOLIAN} "Схемийн жишээнүүд"
LangString var5 ${LANG_MONGOLIAN} "Фонт"
LangString uninstFailed ${LANG_MONGOLIAN} "Өмнөх хувилбарыг устгаж чадсангүй.$\nҮргэлжлүүлэхийн өмнө ${SOFT_NAME}-г гараар устгана уу."
; ----------------------------------------------------------------
; Norwegian Bokmål (LANG_NORWEGIAN)
; ----------------------------------------------------------------
LangString installed ${LANG_NORWEGIAN} "${SOFT_NAME} er allerede installert. $\n$\nKlikk `OK` for å fjerne forrige versjon, eller `Avbryt` for å avbryte denne oppgraderingen."
LangString wrongArch ${LANG_NORWEGIAN} "Denne distribusjonen er kun for 64-biters datamaskiner."
LangString Elements ${LANG_NORWEGIAN} "Elementer"
LangString Electric ${LANG_NORWEGIAN} "Elektrisk"
LangString Logic ${LANG_NORWEGIAN} "Logikk"
LangString Hydraulic ${LANG_NORWEGIAN} "Hydraulikk"
LangString Pneumatic ${LANG_NORWEGIAN} "Pneumatikk"
LangString Energy ${LANG_NORWEGIAN} "Energi"
LangString water ${LANG_NORWEGIAN} "Vann"
LangString Refrigeration ${LANG_NORWEGIAN} "Kjøling"
LangString Solar_thermal ${LANG_NORWEGIAN} "Solvarme"
LangString Lang ${LANG_NORWEGIAN} "Språk"
LangString Fonts ${LANG_NORWEGIAN} "Skrifttyper"
LangString Titleblocks ${LANG_NORWEGIAN} "Titelblokker"
LangString Examples ${LANG_NORWEGIAN} "Eksempler"
LangString Check ${LANG_NORWEGIAN} "Kryss av for å starte ${SOFT_NAME}"
LangString var1 ${LANG_NORWEGIAN} "Elementer fra den offisielle samlingen"
LangString var2 ${LANG_NORWEGIAN} "Språkfiler"
LangString var3 ${LANG_NORWEGIAN} "Eksempler på titelblokker"
LangString var4 ${LANG_NORWEGIAN} "Eksempler på skjemaer"
LangString var5 ${LANG_NORWEGIAN} "Skrifttyper"
LangString uninstFailed ${LANG_NORWEGIAN} "Avinstallasjon av forrige versjon mislyktes.$\nVennligst avinstaller ${SOFT_NAME} manuelt før du fortsetter."
; ----------------------------------------------------------------
; Dutch Belgium (LANG_DUTCH / nl_BE — same LANG_DUTCH constant, Belgian variant)
; Note: NSIS uses a single LANG_DUTCH constant for both nl_BE and nl_NL.
; If your build distinguishes them via a custom constant, replace accordingly.
; The block below is already covered by LANG_DUTCH in lang_extra.nsh.
; Included here for completeness / override if needed.
; ----------------------------------------------------------------
; (nl_BE uses the same LANG_DUTCH strings already defined in lang_extra.nsh)
; ----------------------------------------------------------------
; Portuguese Brazil (LANG_PORTUGUESEBR)
; ----------------------------------------------------------------
LangString installed ${LANG_PORTUGUESEBR} "${SOFT_NAME} já está instalado. $\n$\nClique em `OK` para remover a versão anterior ou em `Cancelar` para cancelar esta atualização."
LangString wrongArch ${LANG_PORTUGUESEBR} "Esta distribuição é apenas para computadores de 64 bits."
LangString Elements ${LANG_PORTUGUESEBR} "Elementos"
LangString Electric ${LANG_PORTUGUESEBR} "Elétrico"
LangString Logic ${LANG_PORTUGUESEBR} "Lógica"
LangString Hydraulic ${LANG_PORTUGUESEBR} "Hidráulica"
LangString Pneumatic ${LANG_PORTUGUESEBR} "Pneumática"
LangString Energy ${LANG_PORTUGUESEBR} "Energia"
LangString water ${LANG_PORTUGUESEBR} "Água"
LangString Refrigeration ${LANG_PORTUGUESEBR} "Refrigeração"
LangString Solar_thermal ${LANG_PORTUGUESEBR} "Solar_térmico"
LangString Lang ${LANG_PORTUGUESEBR} "Idioma"
LangString Fonts ${LANG_PORTUGUESEBR} "Fontes"
LangString Titleblocks ${LANG_PORTUGUESEBR} "Legendas"
LangString Examples ${LANG_PORTUGUESEBR} "Exemplos"
LangString Check ${LANG_PORTUGUESEBR} "Marcar para iniciar ${SOFT_NAME}"
LangString var1 ${LANG_PORTUGUESEBR} "Elementos da coleção oficial"
LangString var2 ${LANG_PORTUGUESEBR} "Arquivos de idioma"
LangString var3 ${LANG_PORTUGUESEBR} "Exemplos de legendas"
LangString var4 ${LANG_PORTUGUESEBR} "Exemplos de esquemas"
LangString var5 ${LANG_PORTUGUESEBR} "Fontes"
LangString uninstFailed ${LANG_PORTUGUESEBR} "A desinstalação da versão anterior falhou.$\nPor favor, desinstale ${SOFT_NAME} manualmente antes de continuar."
; ----------------------------------------------------------------
; Serbian (LANG_SERBIAN) — covers rs/sr
; ----------------------------------------------------------------
LangString installed ${LANG_SERBIAN} "${SOFT_NAME} је већ инсталиран. $\n$\nКликните `OK` да уклоните претходну верзију или `Откажи` да откажете надоградњу."
LangString wrongArch ${LANG_SERBIAN} "Ова дистрибуција је намењена само за 64-битна рачунала."
LangString Elements ${LANG_SERBIAN} "Елементи"
LangString Electric ${LANG_SERBIAN} "Електрика"
LangString Logic ${LANG_SERBIAN} "Логика"
LangString Hydraulic ${LANG_SERBIAN} "Хидраулика"
LangString Pneumatic ${LANG_SERBIAN} "Пнеуматика"
LangString Energy ${LANG_SERBIAN} "Енергија"
LangString water ${LANG_SERBIAN} "Вода"
LangString Refrigeration ${LANG_SERBIAN} "Хлађење"
LangString Solar_thermal ${LANG_SERBIAN} "Соларнооплотно"
LangString Lang ${LANG_SERBIAN} "Језик"
LangString Fonts ${LANG_SERBIAN} "Фонтови"
LangString Titleblocks ${LANG_SERBIAN} "Заглавља"
LangString Examples ${LANG_SERBIAN} "Примери"
LangString Check ${LANG_SERBIAN} "Означите за покретање ${SOFT_NAME}"
LangString var1 ${LANG_SERBIAN} "Елементи службене збирке"
LangString var2 ${LANG_SERBIAN} "Језичке датотеке"
LangString var3 ${LANG_SERBIAN} "Примери заглавља"
LangString var4 ${LANG_SERBIAN} "Примери шема"
LangString var5 ${LANG_SERBIAN} "Фонтови"
LangString uninstFailed ${LANG_SERBIAN} "Деинсталација претходне верзије није успела.$\nМолимо деинсталирајте ${SOFT_NAME} ручно пре наставка."
; ----------------------------------------------------------------
; Slovak (LANG_SLOVAK)
; ----------------------------------------------------------------
LangString installed ${LANG_SLOVAK} "${SOFT_NAME} je už nainštalovaný. $\n$\nKliknutím na `OK` odstráňte predchádzajúcu verziu alebo kliknite na `Zrušiť` pre zrušenie tohto upgradu."
LangString wrongArch ${LANG_SLOVAK} "Táto distribúcia je určená len pre 64-bitové počítače."
LangString Elements ${LANG_SLOVAK} "Prvky"
LangString Electric ${LANG_SLOVAK} "Elektrika"
LangString Logic ${LANG_SLOVAK} "Logika"
LangString Hydraulic ${LANG_SLOVAK} "Hydraulika"
LangString Pneumatic ${LANG_SLOVAK} "Pneumatika"
LangString Energy ${LANG_SLOVAK} "Energia"
LangString water ${LANG_SLOVAK} "Voda"
LangString Refrigeration ${LANG_SLOVAK} "Chladenie"
LangString Solar_thermal ${LANG_SLOVAK} "Solarne_teplo"
LangString Lang ${LANG_SLOVAK} "Jazyk"
LangString Fonts ${LANG_SLOVAK} "Písma"
LangString Titleblocks ${LANG_SLOVAK} "Popisové polia"
LangString Examples ${LANG_SLOVAK} "Príklady"
LangString Check ${LANG_SLOVAK} "Začiarknite pre spustenie ${SOFT_NAME}"
LangString var1 ${LANG_SLOVAK} "Prvky oficiálnej zbierky"
LangString var2 ${LANG_SLOVAK} "Jazykové súbory"
LangString var3 ${LANG_SLOVAK} "Príklady popisových polí"
LangString var4 ${LANG_SLOVAK} "Príklady schém"
LangString var5 ${LANG_SLOVAK} "Písma"
LangString uninstFailed ${LANG_SLOVAK} "Odinštalovanie predchádzajúcej verzie zlyhalo.$\nPred pokračovaním odinštalujte ${SOFT_NAME} ručne."
; ----------------------------------------------------------------
; Slovenian (LANG_SLOVENIAN)
; ----------------------------------------------------------------
LangString installed ${LANG_SLOVENIAN} "${SOFT_NAME} je že nameščen. $\n$\nKliknite `OK` za odstranitev prejšnje različice ali `Prekliči` za preklic te nadgradnje."
LangString wrongArch ${LANG_SLOVENIAN} "Ta distribucija je namenjena samo za 64-bitne računalnike."
LangString Elements ${LANG_SLOVENIAN} "Elementi"
LangString Electric ${LANG_SLOVENIAN} "Elektrika"
LangString Logic ${LANG_SLOVENIAN} "Logika"
LangString Hydraulic ${LANG_SLOVENIAN} "Hidravlika"
LangString Pneumatic ${LANG_SLOVENIAN} "Pnevmatika"
LangString Energy ${LANG_SLOVENIAN} "Energija"
LangString water ${LANG_SLOVENIAN} "Voda"
LangString Refrigeration ${LANG_SLOVENIAN} "Hlajenje"
LangString Solar_thermal ${LANG_SLOVENIAN} "Solarno_toplotno"
LangString Lang ${LANG_SLOVENIAN} "Jezik"
LangString Fonts ${LANG_SLOVENIAN} "Pisave"
LangString Titleblocks ${LANG_SLOVENIAN} "Glave risb"
LangString Examples ${LANG_SLOVENIAN} "Primeri"
LangString Check ${LANG_SLOVENIAN} "Označite za zagon ${SOFT_NAME}"
LangString var1 ${LANG_SLOVENIAN} "Elementi uradne zbirke"
LangString var2 ${LANG_SLOVENIAN} "Jezikovne datoteke"
LangString var3 ${LANG_SLOVENIAN} "Primeri glav risb"
LangString var4 ${LANG_SLOVENIAN} "Primeri shem"
LangString var5 ${LANG_SLOVENIAN} "Pisave"
LangString uninstFailed ${LANG_SLOVENIAN} "Odstranitev prejšnje različice ni uspela.$\nPred nadaljevanjem ročno odstranite ${SOFT_NAME}."
; ----------------------------------------------------------------
; Swedish (LANG_SWEDISH)
; ----------------------------------------------------------------
LangString installed ${LANG_SWEDISH} "${SOFT_NAME} är redan installerat. $\n$\nKlicka på `OK` för att ta bort den tidigare versionen eller `Avbryt` för att avbryta uppgraderingen."
LangString wrongArch ${LANG_SWEDISH} "Den här distributionen är endast för 64-bitars datorer."
LangString Elements ${LANG_SWEDISH} "Element"
LangString Electric ${LANG_SWEDISH} "Elektrisk"
LangString Logic ${LANG_SWEDISH} "Logik"
LangString Hydraulic ${LANG_SWEDISH} "Hydraulik"
LangString Pneumatic ${LANG_SWEDISH} "Pneumatik"
LangString Energy ${LANG_SWEDISH} "Energi"
LangString water ${LANG_SWEDISH} "Vatten"
LangString Refrigeration ${LANG_SWEDISH} "Kylning"
LangString Solar_thermal ${LANG_SWEDISH} "Solvarme"
LangString Lang ${LANG_SWEDISH} "Språk"
LangString Fonts ${LANG_SWEDISH} "Teckensnitt"
LangString Titleblocks ${LANG_SWEDISH} "Ritningshuvuden"
LangString Examples ${LANG_SWEDISH} "Exempel"
LangString Check ${LANG_SWEDISH} "Markera för att starta ${SOFT_NAME}"
LangString var1 ${LANG_SWEDISH} "Element från den officiella samlingen"
LangString var2 ${LANG_SWEDISH} "Språkfiler"
LangString var3 ${LANG_SWEDISH} "Exempel på ritningshuvuden"
LangString var4 ${LANG_SWEDISH} "Exempel på scheman"
LangString var5 ${LANG_SWEDISH} "Teckensnitt"
LangString uninstFailed ${LANG_SWEDISH} "Avinstallationen av den föregående versionen misslyckades.$\nAvinstallera ${SOFT_NAME} manuellt innan du fortsätter."
; ----------------------------------------------------------------
; Turkish (LANG_TURKISH)
; ----------------------------------------------------------------
LangString installed ${LANG_TURKISH} "${SOFT_NAME} zaten yüklü. $\n$\nÖnceki sürümü kaldırmak için `Tamam`'a, bu yükseltmeyi iptal etmek için `İptal`'e tıklayın."
LangString wrongArch ${LANG_TURKISH} "Bu dağıtım yalnızca 64 bit bilgisayarlar içindir."
LangString Elements ${LANG_TURKISH} "Elemanlar"
LangString Electric ${LANG_TURKISH} "Elektrik"
LangString Logic ${LANG_TURKISH} "Mantık"
LangString Hydraulic ${LANG_TURKISH} "Hidrolik"
LangString Pneumatic ${LANG_TURKISH} "Pnömatik"
LangString Energy ${LANG_TURKISH} "Enerji"
LangString water ${LANG_TURKISH} "Su"
LangString Refrigeration ${LANG_TURKISH} "Soğutma"
LangString Solar_thermal ${LANG_TURKISH} "Gunes_Is"
LangString Lang ${LANG_TURKISH} "Dil"
LangString Fonts ${LANG_TURKISH} "Yazı Tipleri"
LangString Titleblocks ${LANG_TURKISH} "Başlık Bloğu"
LangString Examples ${LANG_TURKISH} "Örnekler"
LangString Check ${LANG_TURKISH} "${SOFT_NAME}'i başlatmak için işaretleyin"
LangString var1 ${LANG_TURKISH} "Resmi koleksiyonun elemanları"
LangString var2 ${LANG_TURKISH} "Dil dosyaları"
LangString var3 ${LANG_TURKISH} "Başlık bloğu örnekleri"
LangString var4 ${LANG_TURKISH} "Şema örnekleri"
LangString var5 ${LANG_TURKISH} "Yazı Tipleri"
LangString uninstFailed ${LANG_TURKISH} "Önceki sürümün kaldırılması başarısız oldu.$\nDevam etmeden önce lütfen ${SOFT_NAME}'i manuel olarak kaldırın."
; ----------------------------------------------------------------
; Ukrainian (LANG_UKRAINIAN)
; ----------------------------------------------------------------
LangString installed ${LANG_UKRAINIAN} "${SOFT_NAME} вже встановлено. $\n$\nНатисніть `OK` для видалення попередньої версії або `Скасувати` для скасування оновлення."
LangString wrongArch ${LANG_UKRAINIAN} "Цей дистрибутив призначений лише для 64-розрядних комп'ютерів."
LangString Elements ${LANG_UKRAINIAN} "Елементи"
LangString Electric ${LANG_UKRAINIAN} "Електрика"
LangString Logic ${LANG_UKRAINIAN} "Логіка"
LangString Hydraulic ${LANG_UKRAINIAN} "Гідравліка"
LangString Pneumatic ${LANG_UKRAINIAN} "Пневматика"
LangString Energy ${LANG_UKRAINIAN} "Енергетика"
LangString water ${LANG_UKRAINIAN} "Водопостачання"
LangString Refrigeration ${LANG_UKRAINIAN} "Холодильна техніка"
LangString Solar_thermal ${LANG_UKRAINIAN} "Сонячно-теплова"
LangString Lang ${LANG_UKRAINIAN} "Мова"
LangString Fonts ${LANG_UKRAINIAN} "Шрифти"
LangString Titleblocks ${LANG_UKRAINIAN} "Штампи"
LangString Examples ${LANG_UKRAINIAN} "Приклади"
LangString Check ${LANG_UKRAINIAN} "Позначте для запуску ${SOFT_NAME}"
LangString var1 ${LANG_UKRAINIAN} "Елементи офіційної колекції"
LangString var2 ${LANG_UKRAINIAN} "Мовні файли"
LangString var3 ${LANG_UKRAINIAN} "Приклади штампів"
LangString var4 ${LANG_UKRAINIAN} "Приклади схем"
LangString var5 ${LANG_UKRAINIAN} "Шрифти"
LangString uninstFailed ${LANG_UKRAINIAN} "Видалення попередньої версії завершилося помилкою.$\nБудь ласка, видаліть ${SOFT_NAME} вручну перед продовженням."
; ----------------------------------------------------------------
; Chinese Simplified (LANG_SIMPCHINESE)
; ----------------------------------------------------------------
LangString installed ${LANG_SIMPCHINESE} "${SOFT_NAME} 已经安装。$\n$\n单击 $\"确定$\" 删除旧版本,或单击 $\"取消$\" 取消本次升级。"
LangString wrongArch ${LANG_SIMPCHINESE} "本安装包仅适用于 64 位计算机。"
LangString Elements ${LANG_SIMPCHINESE} "元件"
LangString Electric ${LANG_SIMPCHINESE} "电气"
LangString Logic ${LANG_SIMPCHINESE} "逻辑"
LangString Hydraulic ${LANG_SIMPCHINESE} "液压"
LangString Pneumatic ${LANG_SIMPCHINESE} "气动"
LangString Energy ${LANG_SIMPCHINESE} "能源"
LangString water ${LANG_SIMPCHINESE} ""
LangString Refrigeration ${LANG_SIMPCHINESE} "制冷"
LangString Solar_thermal ${LANG_SIMPCHINESE} "太阳能热"
LangString Lang ${LANG_SIMPCHINESE} "语言"
LangString Fonts ${LANG_SIMPCHINESE} "字体"
LangString Titleblocks ${LANG_SIMPCHINESE} "标题栏"
LangString Examples ${LANG_SIMPCHINESE} "示例"
LangString Check ${LANG_SIMPCHINESE} "勾选以启动 ${SOFT_NAME}"
LangString var1 ${LANG_SIMPCHINESE} "官方库元件"
LangString var2 ${LANG_SIMPCHINESE} "语言文件"
LangString var3 ${LANG_SIMPCHINESE} "标题栏示例"
LangString var4 ${LANG_SIMPCHINESE} "图纸示例"
LangString var5 ${LANG_SIMPCHINESE} "字体"
LangString uninstFailed ${LANG_SIMPCHINESE} "卸载旧版本失败。$\n请在继续之前手动卸载 ${SOFT_NAME}。"

View File

@@ -0,0 +1,11 @@
@echo off
rem Se rend dans le dossier qui convient
set current_dir=%~dp0
cd /d %current_dir%
rem lance QElectroTech
rem Sans option --config-dir, la configuration de QElectroTech ainsi que la
rem collection d'elements perso seront dans "%APPDATA%\qet"
set command=bin\qelectrotech.exe -platform windows:fontengine=freetype --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ %*
@start %command%

View File

@@ -0,0 +1,4 @@
Place all files of "*win32-readytouse.zip" in the "files/" directory
and run "QET.nsi"
enjoy

View File

@@ -0,0 +1,300 @@
[ca]
Gràcies a Qt Software per la biblioteca Qt ( http://www.qtsoftware.com/ ), amb llicència GNU/GPL.
Gràcies al projecte KDE ( http://www.kde.org/ ).
Gràcies a Loic per les seves explicacions d'ordre matemàtic.
Gràcies a Remi Collet pels paquets Fedora.
Gràcies a Laurent Trinques pels paquets Debian.
Gràcies a `trem' pels paquets Mandriva.
Gràcies a TuxFamily ( http://tuxfamily.org/ ) per a l'allotjament del projecte.
Gràcies a `Nishiki' pels seus elements i el seu suport suport.
Gràcies a qtcentre.org per la seva classe SingleApplication.
Gràcies a Alfredo Carreto per les seves traduccions i correccions al castellà ( http://electronicosmx.net )
Gràcies a 'Dr.Slump' et Sivio pour leurs traductions a l'italià
Gràcies a Jose Carlos Martins per les seves traduccions al portuguès
Gràcies a Pavel Fric per les seves traduccions al txec
Gràcies a Pawel Smiech per les seves traduccions al polonès
Gràcies a Yuriy Litkevich per les seves traduccions al rus
Gràcies a Youssef Ouamalkran i Antoni Mirabete per les seves traduccions al català
Gràcies a Gabi Mandoc per les seves traduccions al romanès
Gràcies a Markus Budde i Jonas Stein et Noah Braden per les seves traduccions a l'alemany
Gràcies a Mohamed Souabni per les seves traduccions a l'àrab
Gràcies a Uroš Platiše per les seves traduccions a l'eslovè
Gràcies a Antun Marakovic per les seves traduccions al croat
Gràcies a Nikos Papadopoylos && Yannis Gyftomitros per les seves traduccions al grec
Gràcies a Markos Chandras pels paquets Gentoo
Gràcies a David pels paquets Slackware
Gràcies a Chipsterjulien pels paquets Archlinux AUR
Gràcies a Elbert de NL pels paquets OS/2
Gràcies a Zloidemon pels paquets (port GCC)
Gràcies a Mrbit per ebuild els paquets Gentoo
[en]
Thanks to Qt Software for their Qt library ( http://www.qtsoftware.com/ ), licensed under GNU/GPL.
Thanks to the KDE project ( http://www.kde.org/ ).
Thanks to Loic for his mathematics-related explanations.
Thanks to Remi Collet for the Fedora packaging.
Thanks to Laurent Trinques for the Debian packaging.
Thanks to `trem' for the Mandriva packaging.
Thanks to TuxFamily ( http://tuxfamily.org/ ) for hosting the project.
Thanks to `Nishiki' for his elements and his support.
Thanks to qtcentre.org for their SingleApplication class.
Thanks to Alfredo Carreto for his Spanish translations and fixing Spanish translations ( http://electronicosmx.net )
Thanks to 'Dr.Slump' and Sivio for their translations in Italian
Thanks to Jose Carlos Martins for his translations in Portuguese
Thanks to Pavel Fric for his translations in Czech
Thanks to Pawel Smiech for His Polish translations
Thanks to Yuriy Litkevich for his translations into Russian
Thanks to Youssef Ouamalkran for his translations Catatan
Thanks to Gabi Mandoc for his translations in Romanian
Thanks to Markus Budde and Jonas Stein and Noah Braden for his translations into German
Thanks to Mohamed Souabni for his translations into Arabic
Thanks to Uroš Platiše for his translations into Slovenian
Thanks to Antun Marakovic for his translations Croatian
Thanks to Nikos Papadopoylos && Yannis Gyftomitros their Greek translations
Thanks to Markos Chandras for Gentoo packaging
Thanks to David for packaging Slackware
Thanks to Chipsterjulien for packaging Archlinux AUR packages
Thanks to Elbert from the NL for packaging OS/2
Thanks to zloidemon from for packaging FreeBsd (port GCC)
Thanks to Mrbit for ebuild Gentoo packaging.
[fr]
Merci à Qt Software pour la bibliothèque Qt ( http://www.qtsoftware.com/ ), sous licence GNU/GPL.
Merci au projet KDE ( http://www.kde.org/ ).
Merci à Loic pour ses explications d'ordre mathématique.
Merci à Remi Collet pour les paquets Fedora.
Merci à Laurent Trinques pour les paquets Debian.
Merci à `trem' pour les paquets Mandriva.
Merci à TuxFamily ( http://tuxfamily.org/ ) pour l'hébergement du projet.
Merci à `Nishiki' pour ses éléments et son soutien.
Merci à qtcentre.org pour leur classe SingleApplication.
Merci à Alfredo Carreto pour ses traductions et corrections en espagnol ( http://electronicosmx.net )
Merci à 'Dr.Slump' et Sivio pour leurs traductions en italien
Merci à Jose Carlos Martins pour ses traductions en portugais
Merci à Pavel Fric pour ses traductions en Tchèque
Merci à Pawel Smiech pour ses traductions en polonais
Merci à Yuriy Litkevich pour ses traductions en russe
Merci à Youssef Ouamalkran pour ses traductions en catatan
Merci à Gabi Mandoc pour ses traductions en Roumain
Merci à Markus Budde et Jonas Stein et Noah Braden pour ses traductions en allemand
Merci à Mohamed Souabni pour ses traductions en arabe
Merci à Uroš Platiše pour ses traductions en Slovene
Merci à Antun Marakovic pour ses traductions Croate
Merci à Nikos Papadopoylos && Yannis Gyftomitros pour leurs traductions en grec
Merci à Markos Chandras pour les paquets Gentoo
Merci à David les paquets Slackware
Merci à Chipsterjulien les paquets Archlinux AUR packages
Merci à Elbert from the NL les paquets OS/2
Merci à Zloidemon from for les paquets (port GCC)
Merci à Mrbit for ebuild les paquets Gentoo
[ru]
Спасибо Qt Software за их библиотеку Qt ( http://www.qtsoftware.com/ ), лицензированную на условиях GNU/GPL.
Спасибо проекту KDE ( http://www.kde.org/ ).
Спасибо Loic за объяснения связанные с математикой.
Спасибо Remi Collet за пакет для Fedora.
Спасибо Laurent Trinques за пакет для Debian.
Спасибо `trem' за пакет для Mandriva.
Спасибо TuxFamily ( http://tuxfamily.org/ ) за хостинг для проекта.
Спасибо `Nishiki' за элементы и поддержку.
Спасибо qtcentre.org за их класс SingleApplication.
Спасибо Alfredo Carreto за исправления и перевод на испанский ( http://electronicosmx.net )
Спасибо 'Dr.Slump' за исправления и перевод
[pt]
Agradecimentos a Qt Software pela sua biblioteca Qt ( http://www.qtsoftware.com/ ), licenciada de acordo com a GNU/GPL.
Agradecimentos ao projecto KDE ( http://www.kde.org/ ).
Agradecimentos a Loic pelas suas explicações relacionadas com problemas matemáticos.
Agradecimentos a Remi Collet pela criação dos pacotes para Fedora.
Agradecimentos a Laurent Trinques pela criação dos pacotes para Debian.
Agradecimentos a "trem" pela criação dos pacotes para Mandriva.
Agradecimentos a TuxFamily ( http://tuxfamily.org/ ) por albergarem este projecto.
Agradecimentos a "Nishiki" pela criação de elementos e o seu suporte.
Agradecimentos a qtcentre.org pela classe SingleApplication.
Agradecimentos a Alfredo Carreto pela tradução para Espanhol e pela correcção de traduções em Espanhol ( http://electronicosmx.net ).
Agradecimentos a 'Dr.Slump'pela tradução para italiano
[es]
Agradecimientos a Qt Software por su biblioteca Qt ( http://www.qtsoftware.com/ ), licenciada bajo GNU/GPL.
Agradecimientos al proyecto KDE ( http://www.kde.org/ ).
Agradecimientos a Loic por sus explicaciones relacionadas con problemas matemáticos.
Agradecimientos a Remi Collet por criación de paquetes para Fedora.
Agradecimientos a Laurent Trinques por la creación de paquetes para Debian.
Agradecimientos a "trem" por creación de paquetes para Mandriva.
Agradecimientos a TuxFamily ( http://tuxfamily.org/ ) por el alojamiento de este proyecto.
Agradecimientos a "Nishiki" por creación de elementos e de su suporte.
Agradecimientos a qtcentre.org por classe SingleApplication.
Agradecimientos a Alfredo Carreto por sus traducciones en español y correcciones de traducción en español ( http://electronicosmx.net)
Agradecimientos a 'Dr.Slump' por sus traducciones en italiano
[cs]
Díky Qt Software za jejich knihovnu Qt ( http://www.qtsoftware.com/ ), pod licencí GNU/GPL.
Díky projektu KDE ( http://www.kde.org/ ).
Díky Loicovi za jeho vysvětlení vztahující se k matematice.
Díky Remi Colletovi za balíček pro Fedoru.
Díky Laurentu Trinquesovi za balíček pro Debian.
Díky `trem' za balíček pro Mandrivu.
Díky TuxFamily ( http://tuxfamily.org/ ) za poskytování hostingu pro projekt.
Díky `Nishiki' za jeho prvky a jeho podporu.
Díky qtcentre.org za jejich třídu SingleApplication.
Poděkování Alfredovi Carretovi za jeho španělský překlad a opravy španělského překladu ( http://electronicosmx.net )
Dìky 'Dr.Slump' za jeho italianský překlad
[pl]
Podziękowania dla Qt Software, za biblioteki Qt (http://www.qtsoftware.com/) na licencji GNU / GPL.
Podziękowania dla projektu KDE (http://www.kde.org/).
Podziękowania dla Loic, za pomoc w rozwiązaniu problemów matematycznych.
Podziękowania dla Remi Collet, za pakiety dla Fedory.
Podziękowania dla Laurent Trinquesovi, za pakiety dla Debiana.
Podziękowania dla "trem", za pakiety dla Mandrivy.
Podziękowania dla TuxFamily (http://tuxfamily.org/), za organizację projektu.
Podziękowanie dla "Nishiki", zajego elementy i poparcie.
Podziękowania dla qtcentre.org, za klasę SingleApplication.
Podziękowania dla Alfredo Carreto, za jego tłumaczenie na język hiszpański i korektę ( http://electronicosmx.net)
[it]
Grazie a Qt Software per le loro librerie Qt (http://www.qtsoftware.com/), licenzate sotto GNU/GPL.
Grazie al progetto KDE (http://www.kde.org/).
Grazie a Loic per le sue spiegazioni matematiche.
Grazie a Remi Collet per i pacchetti per Fedora.
Grazie a Laurent Trinques per i pacchetti per Debian.
Grazie a `trem' per i pacchetti per Mandriva.
Grazie a TuxFamily (http://tuxfamily.org/) per l'ospitalità al progetto.
Grazie a `Nishiki' per i suoi elementi ed il supporto.
Grazie a qtcentre.org per la loro classe SingleApplication.
Grazie a Alfredo Carreto per le traduzioni e le correzioni in spagnolo (http://electronicosmx.net).
Grazie a 'Dr.Slump' e 'Silvio' per la traduzione in italiano.
Grazie a Jose Carlos Martins per la traduzione in portoghese.
Grazie a Pavel Fric per la traduzione in ceco.
Grazie a Pawel Smiech per la traduzione in polacco.
Grazie a Yuriy Litkevich per la traduzione in russo .
Grazie a Youssef Ouamalkran per la traduzione in catalano.
Grazie a Gabi Mandoc per la traduzione in rumeno.
Grazie a Markus Budde e Jonas Stein per la traduzione in tedesco.
Grazie a Mohammed Souabni per la traduzione in arabo.
Grazie a Uroš Platiše per la traduzione in sloveno.
Grazie a Antun Marakovic per la traduzione in croato.
Grazie a Nikos Papadopoylos e Yannis Gyftomitros per la traduzione in greco.
Grazie a Markos Chandras per i pacchetti per Gentoo.
[el]
Ευχαριστίες στην Qt Software για την βιβλιοθήκη Qt ( http://www.qtsoftware.com/ ), αδειοδοτημένο ως GNU/GPL.
Ευχαριστίες στο έργο KDE ( http://www.kde.org/ ).
Ευχαριστίες στον Loic για τις εξηγήσεις σχετικές με μαθηματικά.
Ευχαριστίες στον Remi Collet για τα πακέτα Fedora.
Ευχαριστίες στον Laurent Trinques για τα πακέτα Debian.
Ευχαριστίες στον `trem' για τα πακέτα Mandriva.
Ευχαριστίες στο TuxFamily ( http://tuxfamily.org/ ) για τη φιλοξενία του έργου.
Ευχαριστίες στον `Nishiki' για τα στοιχεία και την υποστήριξη του.
Ευχαριστίες στο qtcentre.org για την κλάση SingleApplication.
Ευχαριστίες στον Alfredo Carreto για τις μεταφράσεις του και για την επισκευή της Ισπανικής μετάφρασης ( http://electronicosmx.net )
Ευχαριστίες στον 'Dr.Slump' και τον Sivio για τις μεταφράσεις τους στα Ιταλικά
Ευχαριστίες στον Jose Carlos Martins για την μετάφραση στα Πορτογαλικά
Ευχαριστίες στον Pavel Fric Για την μετάφραση στα Τσέχικα
Ευχαριστίες στον Pawel Smiech για την Πολωνική μετάφραση
Ευχαριστίες στον Yuriy Litkevich για τις μεταφράσεις του στα Ρώσικα
Ευχαριστίες στον Youssef Ouamalkran για τις μεταφράσεις του στα Καταλανικά
Ευχαριστίες στον Gabi Mandoc για τις μεταφράσεις του στα Ρουμανικά
Ευχαριστίες στους Markus Budde και Jonas Stein για τις μεταφράσεις τους στα Γερμανικά
Ευχαριστίες στον Mohamed Souabni για τις μεταφράσεις του στα Αραβικά
Ευχαριστίες στον Uroš Platiše για τις μεταφράσεις του στα Σλοβένικα
Ευχαριστίες στον Antun Marakovic για τις μεταφράσεις του στα Κροατικά
Ευχαριστίες στους Νίκο Παπαδόπουλο και Γιάννη Γυφτομήτρο για τις μεταφράσεις τους στα Ελληνικά
Ευχαριστίες στον Markos Chandras για τα πακέτα Gentoo
Ευχαριστίες στον David για τα πακέτα Slackware
Ευχαριστίες στον Chipsterjulien για τα πακέτα Archlinux AUR
Ευχαριστίες στον Elbert για τα πακέτα OS/2
Ευχαριστίες στον zloidemon για τα πακέτα FreeBsd (port GCC)
Ευχαριστίες στον Mrbit για τα πακέτα ebuild για Gentoo.
[nl]
Dank aan Qt Software voor hun Qt library ( http://www.qtsoftware.com/ ) , onder de GNU / GPL licentie .
Dank aan het KDE-project ( http://www.kde.org/ ) .
Dank aan Loic voor zijn wiskunde - gerelateerde verklaringen .
Met dank aan Remi Collet voor de Fedora pakket.
Met dank aan Laurent Trinques voor de Debian pakket.
Dank aan ` tremolo ' voor de Mandriva pakket.
Dank aan TuxFamily ( http://tuxfamily.org/ ) voor het hosten van het project .
Dank aan ` Nishiki ' voor zijn elementen en zijn steun .
Dank aan qtcentre.org voor hun SingleApplication klasse .
Dank aan Alfredo Carreto voor zijn Spaanse vertalingen en tot vaststelling Spaanse vertalingen ( http://electronicosmx.net )
Dank aan ' Dr.Slump ' en Sivio voor hun vertalingen in het Italiaans
Met dank aan Jose Carlos Martins voor zijn vertalingen in het Portugees
Met dank aan Pavel Fric voor zijn vertalingen in het Tsjechisch
Dank aan Pawel miech voor zijn Poolse vertalingen
Dank aan Yuriy Litkevich voor zijn vertalingen in het Russisch
Dank aan Youssef Ouamalkran voor zijn vertalingen Catatan
Met dank aan Gabi Mandoc voor zijn vertalingen in het Roemeens
Dank aan Markus Budde en Jonas Stein en Noah Braden voor zijn vertalingen in het Duits
Met dank aan Mohamed Souabni voor zijn vertalingen in het Arabisch
Dank aan Uro ? Plati ? E voor zijn vertalingen in het Sloveens
Dank aan Antun Marakovic voor zijn vertalingen Kroatisch
Dank aan Nikos Papadopoylos && Yannis Gyftomitros hun Griekse vertalingen
Dank aan Markos Chandras voor Gentoo pakket
Met dank aan David voor het verpakken van Slackware
Dank aan Chipsterjulien voor het verpakken van Archlinux AUR pakketten
Dank aan Elbert uit de NL voor het pakket van OS/2
Dank aan zloidemon voor het verpakken van FreeBSD ( poort GCC )
Dank aan Mrbit voor ebuild Gentoo pakket.
[be]
Dank aan Qt Software bibliotheek voor Qt ( http://www.qtsoftware.com/ ), onder licentie van GNU/GPL.
Dank aan project KDE ( http://www.kde.org/ ).
Dank aan Loic voor zijn uitleg van de mathematische orde.
Dank aan Remi Collet voor de pakketten Fedora.
Dank aan Laurent Trinques voor de pakkette Debian.
Dank aan `trem' voor de pakketten Mandriva.
Dank aan TuxFamily ( http://tuxfamily.org/ ) voor het hosten van het project.
Dank aan `Nishiki' voor zijn elementen en ondersteuning.
Dank aan qtcentre.org voor hun SingleApplication klasse.
Dank aan Alfredo Carreto voor zijn vertalingen en correcties in het Spaans ( http://electronicosmx.net )
Dank aan 'Dr.Slump' en Sivio hun vertaling in het Italiaans
Dank aan Jose Carlos Martins voor zijn vertalingen in het Portugees
Dank aan Pavel Fric voor zijn vertalingen in het Tsjechisch
Dank aan Pawel Smiech voor zijn vertaling in het Pools
Dank aan Yuriy Litkevich voor zijn vertalingen in het Russisch
Dank aan Youssef Ouamalkran voor zijn vertalingen Catatan
Dank aan Gabi Mandoc voor zijn vertalingen in het Roemeens
Dank aan Markus Budde en Jonas Stein et Noah Braden voor hun vertaling in het Duitse
Dank aan Mohamed Souabni voor zijn vertalingen in het Arabisch
Dank aan Uroš Platiše zijn onze vertalingen Sloveense
Dank aan Antun Marakovic voor zijn vertalingen Kroatisch
Dank aan Nikos Papadopoylos en Yannis Gyftomitros hun vertalingen in het Grieks
Dank aan Markos Chandras voor de pakkette Gentoo
Dank aan David voor de pakkette Slackware
Dank aan Chipsterjulien voor de pakkette Archlinux AUR
Dank aan Elbert voor de pakkette OS/2
Dank aan Zloidemon fvoor de pakkette (port GCC)
Dank aan Mrbit van ebuild voor de pakkette Gentoo
[ko]
Qt 라이브러리(Qt Software, http://www.qtsoftware.com/)를 제공해 주신 Qt Software에 감사드립니다. (GNU/GPL 라이선스)
KDE 프로젝트 ( http://www.kde.org/ )에 감사드립니다.
수학적인 설명을 제공해 주신 Loic에게 감사드립니다.
Fedora 패키지를 제공해 주신 Remi Collet에게 감사드립니다.
Debian 패키지를 제공해 주신 Laurent Trinques에게 감사드립니다.
Mandriva 패키지를 제공해 주신 `trem`에게 감사드립니다.
프로젝트 호스팅을 지원해 주신 TuxFamily ( http://tuxfamily.org/ )에 감사드립니다.
요소 제공 및 지원을 해주신 `Nishiki`에게 감사드립니다.
SingleApplication 클래스를 제공해 준 qtcentre.org에 감사드립니다.
스페인어 번역 및 번역 수정에 기여해 주신 Alfredo Carreto ( http://electronicosmx.net )에게 감사드립니다.
이탈리아어 번역에 기여해 주신 'Dr.Slump'와 Silvio에게 감사드립니다.
포르투갈어 번역에 기여해 주신 Jose Carlos Martins에게 감사드립니다.
체코어 번역에 기여해 주신 Pavel Fric에게 감사드립니다.
폴란드어 번역에 기여해 주신 Pawel Smiech에게 감사드립니다.
러시아어 번역에 기여해 주신 Yuriy Litkevich에게 감사드립니다.
카탈로니아어 번역에 기여해 주신 Youssef Ouamalkran에게 감사드립니다.
루마니아어 번역에 기여해 주신 Gabi Mandoc에게 감사드립니다.
독일어 번역에 기여해 주신 Markus Budde, Jonas Stein, Noah Braden에게 감사드립니다.
아랍어 번역에 기여해 주신 Mohamed Souabni에게 감사드립니다.
슬로베니아어 번역에 기여해 주신 Uroš Platiše에게 감사드립니다.
크로아티아어 번역에 기여해 주신 Antun Marakovic에게 감사드립니다.
그리스어 번역에 기여해 주신 Nikos Papadopoylos와 Yannis Gyftomitros에게 감사드립니다.
한국어 번역에 기여해 주신 정광호 님께 감사드립니다.
Gentoo 패키지를 제공해 주신 Markos Chandras에게 감사드립니다.
Slackware 패키지를 제공해 주신 David에게 감사드립니다.
Arch Linux AUR 패키지를 제공해 주신 Chipsterjulien에게 감사드립니다.
OS/2 패키지를 제공해 주신 Elbert에게 감사드립니다.
FreeBSD(GCC 포트) 패키지를 제공해 주신 zloidemon에게 감사드립니다.
Gentoo ebuild 패키지를 제공해 주신 Mrbit에게 감사드립니다.

View File

@@ -0,0 +1,249 @@
====== ChangeLog from 0.4 to 0.5 ======
In the official collection, there are now 2625 elements, and 418 catégoris for a total of 3043 files.
* Port to Qt 5 framework
* New QSettings native format for config files.
* In the diagram editor, the grid is not displayed by default outside the diagram, the minimum zoom is blocked. A button allows you to un-validate this operation.
* It is now possible to put the tittle block on the right vertical mode.
* The default tittle block can be defined for the next folios of the project.
* The summary now takes the font set in the QElectroTech.conf
* The floating dock is now operational, variables, actions are taken into account on the fly.
* A transformation tool transforms quickly and finely each primitive by handles.
* Add UUID tag for element XML.
* The database enables faster loading a large number of managing symbols in tables changes pixmaps collections, it no longer compares the modification date of the files but their use UUID attributes to update the cache .
* In terms of basic shapes, the transform tool works directly on vectors, it replaces the reduction tool / enlargement that has just been deleted as unnecessary.
* Improve Undo command by QPropertyUndoCommand class.
====== ChangeLog from 0.3 to 0.4 ======
In the official collection, there are now 2298 elements, and 376 catégoris for a total of 2674 files.
* We have removed the flag '-fno-ipa-sra "This settled the compilation problems on Mac OS X and FreeBSD clang.
* The official collection has been redesigned, through the work of Nuri a new structure is in place.
* A menu has been added, allowing you to change the application language.
* we added a summary creation tool.
* Added button "export the nomenclature" transforms data from diagrams to CSV file for spreadsheet.
Arun wrote a detailed manual in English.
* New tools have been added, they can create mechanical connections and draw cabinets, desks, junction boxes, or areas on the schematic (line tool, rectangle, ellipse, polygon type: respect for style dashes).
* An aid in positioning cross, drawing, was added.
* The locked state images and basic forms (basic shapes) is now stored in the project.
* The "control" during the movement of an element, text field disables snapping to the grid, for free positioning.
It is now possible to choose the background folios in white or gray.
* Add supports trackpad gestures (multitouch).
The dates of the cartridges are now using the short system date and date format according to the language detected setting in the OS.
We take advantage of the transition to standard C ++ 11, and a big cleanup in the code was done.
* The undo action or redo the undo stack are now animated graphically.
When the action save, save as, the status bar displays the name and path of the backup job.
Qet is now able to come to load a style sheet (stylesheet) directly from the conf directory.
* A DXF export has been added, the entire project folios can be exported in this format.
* Added reports folio, Cross references.
* Added a variable font size for text of conductors.
* Added new properties to all conductors at the same potential, even through referrals.
* When several conductors have the same value potential equalization, it is not useful to display on all conductors.
* Added button to activates the automatic connection of the conductors of the element when moving it.
* Numbering rules are now available for the entire project.
Qet detects the Windows version and applies the appropriate graphic style, depending on the version of Windows.
====== ChangeLog from 0.3 rc to 0.3 ======
First, the collection of symbols has made a big step forward, with about 1560 new elements.
There are now symbols for pneumatics, hydraulics, process, solar, cold, etc. Considerable effort has been done to organize the collection in a better way.
We hope that the new organisation is clearer for all. We would like to thank all the contributors who send us symbols.
=====-Element Editor: =====
Considerable work has be done to replace the manual defining zone of the symbol, aka hotspot.And fix bugs, It is now automatic. You do not have to care about it anymore.
Primary colors have been added for the drawing shapes.
A contextual menu (right click) has been added. So, you can now work more quickly with symbols. It is also more user-friendly.
====== ChangeLog from v0.3 rc ======
=====-Element Editor: =====
* Replacing checkboxes with lists of colors.
* Removed the manual hotspot, it is now automatic and you do not have to worry.
Officially Collection: a large classification work on the structure was realized. It should be clear to everyone.
The collection is enriched with 1711 items in 286 categories (ie 1997 files)
=====-Schema Editor:=====
* Added import image, image rotation, image resizing and saving the file in the project.
(Double click on the image called a widget and cursor that reduce or enlarge the selected image.)
NB: Following the "edit image" entry will also be added in the right click menu.
* F5 keyboard shortcut can recharge symbol collections.
Some bugs have been resolved, and the translation status continues to grow.
======ChangeLog from v0.3 beta ======
Two more items for the changelog:
* In the official collection, there are now 1672 elements and 256 categoris for a total of 1928 files. In version 0.3 alpha, there were 1465 elements and 233 categories, while version 0.22 had153 elements and 51 categories.
*Progress in the translation (see http://qelectrotech.org/wiki/doc/translation/stats for current state)
* Functions (edit element and find in panel) have been moved to the context
Here is the changelog, for version 0.3 beta:
* Functions (edit element and find in panel) have been moved to the context menu, that can be accessed with right click. This is more user friendly.
* Refresh of categories when an element is moved.
* DateNow button added in the "Diagram property" dialog.
* Dotted lines can now been added between conductors.
* Rich text can be added to the diagram text fields.
[screenshot]
* HTML WYSIWYG editor for rich text: bold, italic, underlined, font size from 6 to 72 pixels, font colour, etc.
* You can change between the two modes(Selection mode <-> View mode) with the scroll button.
* Symbol editor: focus on the new value for language, languages sorted in alphabetical order.
* Added a widget that reflects the loading of a big project.
* Automated numbering of conductors according to your rules. See note from Joshua http://qelectrotech.org/wiki/doc/autonum
* Added a dialog to automatically rotate the text if the associated conductor is vertical or horizontal. Parameters are saved in qelectrotech.conf
* Added basic colours on the tools for lines and for the filling of the primitives, and also for the style line and point in the element editor.
* Added several protection to prevent from saving an element if one of its primitive is beyond the hotspot.
====== ChangeLog from 0.22 to 0.3a ======
===== Application =====
Elements collection: QElectroTech now provides 1465 elements within 233 categories (0.22 provided 153 elements within 51 categories). Most elements are related to electricity though some relate to chillers, solar, hydraulic and pneumatic engineering.
A new kind of collections appeared to store title block templates; as for elements, there is a distinction between common (system-wide) templates and custom (user-wide) templates.
Translations:
English, Spanish, French, Portuguese and Czech translations have been maintained.
Russian translations have been removed because they are not maintained anymore.
Polish, German, Italian, Arabic and Croatian translations have been added.
Following translation to Arabic, some work was done to improve Right-To-Left languages support.
Elements names are fully translated to English, French, Czech and Polish.
Main windows: added a “What's this?” action.
QElectroTech now handles *.titleblock files.
===== Diagram editor =====
It is now possible to move and rotate all texts on a diagram : element texts, conductor texts and independent texts.
When moving a text related to an electrical element, this element is highlighted.
Texts related to a conductor cannot be moved too far away from it.
It is now possible to create diagrams with more than 100 rows/columns.
Elements panel:
During a drag and drop operation, the hovered item is now expanded after a short time not moving the mouse.
Items are now expanded/collapsed by a double click.
Common, custom and embedded collections of title block templates are displayed within the elements panel.
Elements previews and names are now cached into a SQLite database stored in the user configuration directory, thus speeding up the elements panel (re)loading
The elements panel now displays the folio index before each diagram title.
UI consistency: renamed “Import element” to “Open an element file”, separated this action from those related to the current selection, and ensured elements-related actions are disabled when selecting a project/diagram/title block template.
Freshly integrated elements are now highlighted in the elements panel this behaviour can be disabled though.
When clearing the search field, the panel state is restored to its previous state.
Title blocks are now rendered using templates:
For each diagram, users can choose the template to be used in the diagram properties.
They may also drag and drop it from the elements panel to the diagram.
Title block templates are always integrated within the parent project.
Fixed a bug in the print preview dialog.
Added a F2 shortcut for the widget “Edit the color of the given conductor”.
As elements, diagrams now have a “version” attribute for compatibility purposes.
Better handling of file opening for documents saved with newer versions of QElectroTech.
Diagram loading: removed an optimization that could lead to conductors not being loaded when several terminals share the same coordinates.
Users may now enter visualisation mode by pressing Ctrl and Shift.
Printing: when printing diagrams with no title block, use the space left by the title block.
Added a few status and “What's this?” tips.
Got rid of the green icon used for projects, changed a few other icons.
===== Element editor =====
Both static and dynamic texts can now be rotated
Added “dotted” line style
Added white color for texts
Newly added parts are placed above existing ones.
===== Title block template editor =====
A third kind of editor was implemented so users can create their own title block templates:
It allows users to customize the layout and content of cells that constitute the title block.
Cells can be merged and splitted.
Their width can be fixed, relative to the total width or relative to the remaining widths.
Their height is a simple fixed length.
They contain either a logo (be it in SVG or a usual bitmap format) or some text.
The text value is optionally preceded by a label.
As other texts within QElectroTech, labels and texts can be translated to other languages.
Texts and labels may contain variables (e.g. %company-name); these variables are replaced by real world values once the template is applied to a diagram.
Those real-world values can be set among the diagram properties.
====== Changelog 0.11 -> 0.2 ======
À partir de la version 0.2, QElectroTech est disponible en français, anglais, mais aussi :
* en espagnol, grâce aux traductions de Youssef ;
* en russe, grâce aux traductions de Yuriy ;
* en portugais, grâce aux traductions de José.
L'application utilise désormais le thème d'icônes Oxygen, réalisé par Nuno Pinheiro pour le projet KDE.
===== Notion de fichier projet =====
Un fichier .qet peut désormais contenir zéro, un ou plusieurs schémas électriques. Les éléments composant ces schémas sont embarqués dans le fichier projet au moment où ils sont posés sur un schéma. Le panel d'éléments affiche donc désormais :
* les projets ouverts, avec, sous chaque projet :
* les schémas de ce projet,
* la collection embarquée du projet (catégories et éléments utilisés dans les schémas)
* la collection commune fournie par QET,
* et la collection personnelle de l'utilisateur.
===== Éditeur de schémas =====
* Il est désormais possible de déplacer et copier les catégories et éléments par simple glisser-déposer (drag'n drop) dans le panel d'éléments.
* La collection embarquée est manipulable au même titre que la collection utilisateur. Les éléments inutilisés dans le projet apparaissent sur fond rouge et un dialogue permet de les purger rapidement.
* Chaque projet embarque également (au niveau de ses propriétés) les paramétrages par défaut pour les nouveaux schémas, cartouches et conducteurs.
* Il est possible de changer l'ordre des schémas dans le projet en déplaçant les onglets qui les représente. Dans le champ "Folio" des cartouches, on peut se référer à la position du schéma courant ou au nombre total de schémas dans le projet en écrivant respectivement %id et %total.
* Lors du chargement d'un fichier .qet, si des éléments ne sont pas trouvés, ils sont remplacés par un élément "fantôme", ce qui évite de perdre certaines informations lors de l'enregistrement du fichier.
* Le rendu avec un zoom réduit a été amélioré.
* Enfin, le logiciel gère l'ouverture en lecture seule d'un fichier projet.
==== Impression et export ====
À partir de la version 0.2, QElectroTech :
* propose d'utiliser une imprimante réelle ou bien de générer un document PDF ou PostScript, et ce sous Windows comme sous X11.
* génère un aperçu avant l'impression d'un projet. Cet aperçu permet de choisir les options d'impression mais également les schémas à imprimer ou non.
À noter toutefois une limitation pour les impressions PDF/PS sous Windows : le dialogue de mise en page, permettant de spécifier le format du papier ainsi que ses marges, n'est pas disponible.
Le dialogue "Exporter" (pour générer un fichier image d'un schéma) a également été refait dans l'optique d'un export simultané de tous les schémas du projet.
===== Éditeur d'éléments =====
* Lorsque l'on dessine une ligne dans l'éditeur d'éléments, il est possible de choisir un embout différent pour chaque extrémité, comme par exemple une flèche, un cercle, un carré ou, tout simplement, un bout de ligne normal.
* La forme "Rectangle" a été ajoutée.
* On peut enregistrer un élément en désignant un fichier (= comportement en 0.11) ou bien en choisissant un élément cible dans une liste reprenant l'arborescence du panel d'éléments.
* Si l'on maintient la touche Shift lorsque l'on ajoute une partie (droite, cercle, texte, ...), l'outil en cours est conservé après le dessin. Sinon l'éditeur repasse sur l'outil de sélection.
* La grille a été améliorée : sa densité varie en fonction du zoom ; les points correspondant à ceux de la grille de l'éditeur de schémas sont mis en valeur.
* L'accrochage à la grille (aka "snap to grid", également connu sous le nom de grille magnétique ou encore grille aimantée) a été ajouté. Le dessin s'y accroche désormais avec une précision de 1px. On peut travailler en coordonnées libres en maintenant la touche Ctrl enfoncée durant le dessin.
* Le copier-coller a été implémenté : il est possible de coller :
* avec le bouton du milieu de la souris
* en choisissant une "zone de collage" sur l'élément (Ctrl+Shift+V)
* directement (Ctrl+V) : les parties collées sont placées à côté des parties copiées ; si on recolle les parties, elles sont collées encore un cran à côté, et ce de manière incrémentale.
* Des contrôles sont désormais effectués à l'enregistrement : présence de bornes, respect du cadre, etc.
* Uniformisation des menus par rapport à l'éditeur de schémas
====== Changelog 0.1 -> 0.11 ======
===== Fonctionnalités et interface =====
* L'application est désormais capable d'ouvrir un fichier élément passe en paramètre
* L'application se lance désormais une seule fois par utilisateur
* Lors de l'ouverture d'un fichier en dehors de l'application alors que QET est déjà démarré celui-ci essaye de s'afficher ou d'attirer l'attention de l'utilisateur.
* L'application vérifie que ce fichier n'est pas déjà ouvert dans tous les éditeurs de schémas / éléments.
* Ajout de fichiers permettant d'automatiser les associations de fichiers sous Windows (.bat et .reg) et X11 (.desktop et .xml)
* Ajout de menus "Récemment ouverts" pour accéder aux fichiers récents dans les éditeurs de schémas et éléments.
* Ajout d'un splash screen
* La hauteur du schéma est désormais gérée via un système de lignes, dont le nombre et la hauteur sont ajustables.
* Il est également possible d'afficher ou non les en-têtes des lignes et/ou des colonnes.
* Ajout d'une option --lang-dir
* Ajout d'une description dans le dialogue des options d'impression
* Ajout de pages de manuel Unix (`man') en anglais et en français
===== Corrections de bugs =====
* Bug #12 : QET provoquait une erreur de segmentation dès son démarrage dans un environnement sans systray
* Bug #14 : il manquait un / dans le chemin proposé lors de l'impression vers un PDF
* Bug #15 : Mauvais positionnement des champs de texte sur le schéma
* Bug #16 : Mauvaise gestion des modifications du texte d'un conducteur
* La classe DiagramView écrivait sur la sortie d'erreur sans fin de ligne
* L'option --config-dir était mal prise en compte
* Après fermeture d'un schema, le menu Fenêtres n'était pas correctement mis à jour
* Les textes des éléments, des conducteurs, du cartouche ainsi que les textes indépendants utilisent désormais tous la même police.
* Remise à niveau de l'impression suite au passage à Qt 4.4
===== Code et détails techniques =====
* Corrections pour que QET compile avec gcc-4.3
* Les classes Conductor et Element héritent désormais de QObject (dépendance sur Qt 4.4)
* Affinage du constructeur de la classe QETApp
* Moins d'avertissements à la compilation (testé avec gcc 4.3)
* Moins d'inclusions non pertinentes
* Nettoyage du trunk : déplacement des sources dans un sous-répertoire

View File

@@ -0,0 +1,344 @@
# Changelog
## [Unreleased](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/HEAD)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9...HEAD)
**Closed issues:**
- error in doxygen action code [\#414](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/414)
- "NoName" is automatically inserted into empty text cells in title block [\#407](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/407)
- Apple silicon download is not working [\#400](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/400)
- Apple silicon download is not working [\#394](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/394)
- Differenciating connector for proper labeling [\#390](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/390)
- Non-perpendicular connections [\#368](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/368)
- using the wrong Application Data folder on Windows [\#325](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/325)
- Unclear which PPA to use [\#321](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/321)
- missing group functionality [\#318](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/318)
- segfault due to calling method of uninitialized object [\#311](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/311)
- Cannot open qelectrotech.app on macOS Sequoia 15.0 [\#307](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/307)
- Dark Mode [\#301](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/301)
- README 404 Not Found URL: qelectrotech.org/download.html needs to be qelectrotech.org/download.php [\#298](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/298)
- Malware warning when trying to install dev version 0.100 [\#290](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/290)
- The page sorting of folio [\#279](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/279)
- Bad file name for translations [\#278](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/278)
- Error using Portuguese Language [\#274](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/274)
- Uninstaller [\#265](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/265)
- New Maintainer [\#263](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/263)
- crash on export project db \(sqlite\) [\#262](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/262)
- https://qelectrotech.org/ is down for several days now ! [\#261](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/261)
- right click on text crashes app [\#260](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/260)
- broken link on github [\#259](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/259)
- Build on Bullseye 11.5 fails [\#254](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/254)
- Question about ARM target in future release [\#238](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/238)
- Component library disappears completely after reset of program [\#87](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/87)
- Can't change language in portable version [\#75](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/75)
- Transformation Matrix for Element Editor [\#56](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/56)
**Merged pull requests:**
- Update QCH Help file [\#416](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/416) ([Int-Circuit](https://github.com/Int-Circuit))
- no random hashes to have more constant order of XML-tags [\#415](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/415) ([plc-user](https://github.com/plc-user))
- Delete outdated QET docs [\#412](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/412) ([Int-Circuit](https://github.com/Int-Circuit))
- Fixing translation file list in CMake [\#404](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/404) ([arummler](https://github.com/arummler))
- Update dependencies to fix compilation errors [\#403](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/403) ([arummler](https://github.com/arummler))
- Minor corrections to prevent crashes [\#401](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/401) ([Evilscrack](https://github.com/Evilscrack))
- Correct compositeText alignment on copying [\#399](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/399) ([ChuckNr11](https://github.com/ChuckNr11))
- Better handling of conductors when moving [\#398](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/398) ([ChuckNr11](https://github.com/ChuckNr11))
- A few small improvements [\#395](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/395) ([ChuckNr11](https://github.com/ChuckNr11))
- Added updated automatic doxygen build on push + theme to make it fit with docs page [\#389](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/389) ([Int-Circuit](https://github.com/Int-Circuit))
- qet\_de updated [\#388](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/388) ([Bisku](https://github.com/Bisku))
- only calculate grid-point-size, when min != max [\#387](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/387) ([plc-user](https://github.com/plc-user))
- Mouse hover text for dynamic text items [\#386](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/386) ([elevatormind](https://github.com/elevatormind))
- improvement: adjust size of grid-dots with zoom-factor [\#384](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/384) ([plc-user](https://github.com/plc-user))
- adjust zoom-factor to use cosmetic-line and fixed comments [\#383](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/383) ([plc-user](https://github.com/plc-user))
- element-editor: fix jumping positions when rotate, mirror or flip [\#382](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/382) ([plc-user](https://github.com/plc-user))
- unify some more code for Qt5 & Qt6 \(and more\) [\#379](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/379) ([plc-user](https://github.com/plc-user))
- same simplifications as in \#376 "use the same code for Qt5 & Qt6" [\#377](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/377) ([plc-user](https://github.com/plc-user))
- simplify and use the same code for Qt5 & Qt6 [\#376](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/376) ([plc-user](https://github.com/plc-user))
- bordertitleblock: use same code for Qt5 & Qt6 for "numbering" rows [\#375](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/375) ([plc-user](https://github.com/plc-user))
- some minor changes [\#374](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/374) ([plc-user](https://github.com/plc-user))
- implement setting of point-size of grids [\#372](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/372) ([plc-user](https://github.com/plc-user))
- some small changes for selective move [\#370](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/370) ([plc-user](https://github.com/plc-user))
- Added slovak translation to org.qelectrotech.qelectrotech.desktop [\#369](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/369) ([prescott66](https://github.com/prescott66))
- unify calls to "setRotation" for element-primitives again [\#367](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/367) ([plc-user](https://github.com/plc-user))
- Added option to only move dynamic texts [\#365](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/365) ([scorpio810](https://github.com/scorpio810))
- New variables for conductor text formulas [\#364](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/364) ([scorpio810](https://github.com/scorpio810))
- Fix typo widht to width [\#362](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/362) ([pkess](https://github.com/pkess))
- element-editor: add mirror and flip for "text" [\#361](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/361) ([plc-user](https://github.com/plc-user))
- Add Swedish translation [\#360](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/360) ([scorpio810](https://github.com/scorpio810))
- German text for launcher and debian package code style [\#359](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/359) ([pkess](https://github.com/pkess))
- some more rotation, mirror and flip [\#358](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/358) ([plc-user](https://github.com/plc-user))
- BugFix: Flip and Mirror of terminals [\#357](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/357) ([plc-user](https://github.com/plc-user))
- element-editor: fix rotation and more [\#356](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/356) ([plc-user](https://github.com/plc-user))
- minor: mostly typos [\#355](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/355) ([plc-user](https://github.com/plc-user))
- a few translated shortcuts were still there ... fixed! [\#354](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/354) ([plc-user](https://github.com/plc-user))
- FIX: some shortcuts do not work with language set to local [\#353](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/353) ([plc-user](https://github.com/plc-user))
- fix movement of element, when origin is outside of graphics [\#352](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/352) ([plc-user](https://github.com/plc-user))
- FIX copy-and-paste in element-editor: set paste-position to meaningful values [\#351](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/351) ([plc-user](https://github.com/plc-user))
- some cleaning for element-file [\#350](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/350) ([plc-user](https://github.com/plc-user))
- fix: properties in project-file [\#348](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/348) ([plc-user](https://github.com/plc-user))
- translation: update German and English [\#347](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/347) ([plc-user](https://github.com/plc-user))
- export: set maximum width / height according limitations in QPainter [\#346](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/346) ([plc-user](https://github.com/plc-user))
- export: set maximum width / height according specifications of export-type [\#345](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/345) ([plc-user](https://github.com/plc-user))
- some clean-up for element-file and in code [\#344](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/344) ([plc-user](https://github.com/plc-user))
- minor: typos, comments, whitespace, translation [\#343](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/343) ([plc-user](https://github.com/plc-user))
- Sort names in element-file by language-code [\#342](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/342) ([plc-user](https://github.com/plc-user))
- more precise Log-Text for search of "qet\_tb\_generator" [\#341](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/341) ([plc-user](https://github.com/plc-user))
- machine\_info: add entry for QETApp::configDir\(\) also for win [\#340](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/340) ([plc-user](https://github.com/plc-user))
- remove dead code \(local variables that were never used\) [\#339](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/339) ([plc-user](https://github.com/plc-user))
- minor changes [\#338](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/338) ([plc-user](https://github.com/plc-user))
- Update of qet\_de [\#337](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/337) ([Bisku](https://github.com/Bisku))
- rewrite code for executing “qet\_tb\_generator” plugin [\#335](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/335) ([plc-user](https://github.com/plc-user))
- build-aux/snap/snapcraft.yaml: python3.8 -\> 3.10 [\#334](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/334) ([zultron](https://github.com/zultron))
- corrected a few places where QETApp::documentDir\(\) should also be used [\#333](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/333) ([plc-user](https://github.com/plc-user))
- add commandline-parameter "--data-dir" [\#332](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/332) ([plc-user](https://github.com/plc-user))
- machine\_info: fix element-count and make static text a bit shorter [\#331](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/331) ([plc-user](https://github.com/plc-user))
- formatting / whitespace - unify declarations [\#330](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/330) ([plc-user](https://github.com/plc-user))
- Set default-location for projects to documents-dir. [\#329](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/329) ([plc-user](https://github.com/plc-user))
- machine\_info.cpp: add explaining text for directory-list [\#328](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/328) ([plc-user](https://github.com/plc-user))
- set config- and data-dir to system-specific paths [\#327](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/327) ([plc-user](https://github.com/plc-user))
- Update qet\_cs.ts [\#326](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/326) ([pafri](https://github.com/pafri))
- update German translation [\#324](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/324) ([plc-user](https://github.com/plc-user))
- fix copyright-year [\#323](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/323) ([plc-user](https://github.com/plc-user))
- PT-BR language update [\#322](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/322) ([gleissonjoaquim3](https://github.com/gleissonjoaquim3))
- Fix: Only scroll diagram-view, when moved text leaves visible area [\#320](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/320) ([plc-user](https://github.com/plc-user))
- Change Sorting of ElementInfo ComboBox [\#319](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/319) ([ChuckNr11](https://github.com/ChuckNr11))
- Revert "ElementEditor elmt\_info\_cb sorting changed" [\#317](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/317) ([scorpio810](https://github.com/scorpio810))
- Fix typo and some whitespace [\#316](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/316) ([plc-user](https://github.com/plc-user))
- Fix missing company-titleblocks in properties-dialog [\#315](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/315) ([plc-user](https://github.com/plc-user))
- ElementEditor elmt\_info\_cb sorting changed [\#314](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/314) ([ChuckNr11](https://github.com/ChuckNr11))
- fix typos and whitespace [\#313](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/313) ([plc-user](https://github.com/plc-user))
- Force light mode in collections like projects [\#312](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/312) ([Arusekk](https://github.com/Arusekk))
- About QET: improvements in usability [\#310](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/310) ([plc-user](https://github.com/plc-user))
- use MessageBox to inform user about additional info when importing scaled element [\#308](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/308) ([plc-user](https://github.com/plc-user))
- make text for missing software "dxf2elmt" translatable [\#304](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/304) ([plc-user](https://github.com/plc-user))
- QET\_ElementScaler: fix error for Qt 5.9 and added mirroring [\#303](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/303) ([plc-user](https://github.com/plc-user))
- integrate "QET\_ElementScaler" as external software [\#302](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/302) ([plc-user](https://github.com/plc-user))
- move code into else-clause to avoid possible crashes [\#300](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/300) ([plc-user](https://github.com/plc-user))
- add terminal-names to connection in qet-file [\#297](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/297) ([plc-user](https://github.com/plc-user))
- fix: editing SpinBoxes with keyboard lose focus [\#296](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/296) ([plc-user](https://github.com/plc-user))
- Spanish lang update [\#295](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/295) ([joseyspain](https://github.com/joseyspain))
- More spanish translations.Josey [\#294](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/294) ([joseyspain](https://github.com/joseyspain))
- update German and English translations [\#293](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/293) ([plc-user](https://github.com/plc-user))
- hide SVG background checkbox in print preferences [\#292](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/292) ([plc-user](https://github.com/plc-user))
- fixed indentations of the remaining \*.cpp/\*.h files [\#291](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/291) ([plc-user](https://github.com/plc-user))
- correct more indentations / whitespace [\#289](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/289) ([plc-user](https://github.com/plc-user))
- update German and English translations [\#288](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/288) ([plc-user](https://github.com/plc-user))
- some minor changes [\#286](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/286) ([plc-user](https://github.com/plc-user))
- correct comments [\#285](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/285) ([plc-user](https://github.com/plc-user))
- FIX SegFault: Disable menu-entry for DB-export when no project loaded [\#284](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/284) ([plc-user](https://github.com/plc-user))
- changed some remaining "pt\_br" to "pt\_BR" [\#282](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/282) ([plc-user](https://github.com/plc-user))
- add option "transparent background" in SVG-export [\#281](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/281) ([plc-user](https://github.com/plc-user))
- Fix sizes [\#280](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/280) ([plc-user](https://github.com/plc-user))
- added folder "company-titleblocks" \(incl. language-files\) [\#277](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/277) ([plc-user](https://github.com/plc-user))
- update translations: de, en, nl [\#276](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/276) ([plc-user](https://github.com/plc-user))
- fix: set default "company-element-dir" [\#275](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/275) ([plc-user](https://github.com/plc-user))
- Fix Cmake build [\#273](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/273) ([De-Backer](https://github.com/De-Backer))
- added "company-collection" as second user-collection [\#272](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/272) ([plc-user](https://github.com/plc-user))
- corrected german texts for "line-style" [\#269](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/269) ([plc-user](https://github.com/plc-user))
- Too many parts [\#268](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/268) ([scorpio810](https://github.com/scorpio810))
- Merge Terminal strip to master [\#267](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/267) ([scorpio810](https://github.com/scorpio810))
- Terminal strip [\#266](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/266) ([scorpio810](https://github.com/scorpio810))
- Added new symbols [\#264](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/264) ([kamikazzyyyy](https://github.com/kamikazzyyyy))
## [0.9](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9) (2023-01-03)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2022/12/30...0.9)
## [0.9-dev-2022/12/30](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2022/12/30) (2022-12-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2022/08/15...0.9-dev-2022/12/30)
## [0.9-dev-2022/08/15](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2022/08/15) (2022-08-13)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2022/04/22...0.9-dev-2022/08/15)
**Closed issues:**
- Polylines always closed on dxf export [\#228](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/228)
- Refreshing after making changes to elements [\#168](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/168)
## [9-dev-2022/04/22](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2022/04/22) (2022-04-09)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/09/09...9-dev-2022/04/22)
**Closed issues:**
- File dialog should enforce suffix [\#206](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/206)
- snap: Update stable release to core20 & introduce branch for stable releases [\#201](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/201)
- Can we submit Flatpak to Flathub? [\#143](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/143)
## [9-dev-2021/09/09](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/09/09) (2021-09-08)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/06/28...9-dev-2021/09/09)
## [9-dev-2021/06/28](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/06/28) (2021-07-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/9-dev-2021/05/09...9-dev-2021/06/28)
## [9-dev-2021/05/09](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/9-dev-2021/05/09) (2021-05-09)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev-2021/05...9-dev-2021/05/09)
## [0.9-dev-2021/05](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev-2021/05) (2021-04-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8.0...0.9-dev-2021/05)
**Merged pull requests:**
- Rewrite how Properties are stored in the Project file [\#144](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/144) ([Murmele](https://github.com/Murmele))
- Xml properties rebase2 [\#80](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/80) ([Murmele](https://github.com/Murmele))
## [0.8.0](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8.0) (2021-02-21)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.9-dev...0.8.0)
## [0.9-dev](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.9-dev) (2021-02-21)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8.rc...0.9-dev)
**Closed issues:**
- QET font [\#110](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/110)
## [0.8.rc](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8.rc) (2020-12-01)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.8-dev...0.8.rc)
**Closed issues:**
- overlapping comparisons always evaluate to true [\#78](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/78)
- New snap break HiDPI [\#41](https://github.com/qelectrotech/qelectrotech-source-mirror/issues/41)
## [0.8-dev](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.8-dev) (2019-08-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.7.0...0.8-dev)
## [0.7.0](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.7.0) (2019-07-17)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2a...0.7.0)
## [0.2a](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2a) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2b...0.2a)
## [0.2b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2b) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2rc1...0.2b)
## [0.2rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2rc1) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2rc2...0.2rc1)
## [0.2rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2rc2) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.2...0.2rc2)
## [0.2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.2) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3a...0.2)
## [0.3a](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3a) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.11...0.3a)
## [0.11](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.11) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.21...0.11)
## [0.21](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.21) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.22...0.21)
## [0.22](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.22) (2019-06-26)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.70rc2...0.22)
## [0.70rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.70rc2) (2019-06-25)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.70rc1...0.70rc2)
## [0.70rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.70rc1) (2019-04-12)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.61...0.70rc1)
## [0.61](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.61) (2018-08-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6...0.61)
## [0.6](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6) (2018-03-06)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc4...0.6)
## [0.6rc4](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc4) (2018-01-12)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc3...0.6rc4)
## [0.6rc3](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc3) (2017-09-20)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc2...0.6rc3)
## [0.6rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc2) (2017-06-13)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.6rc1...0.6rc2)
## [0.6rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.6rc1) (2017-04-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5...0.6rc1)
## [0.5](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5) (2015-11-27)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5rc1...0.5)
## [0.5rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5rc1) (2015-10-30)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.5b...0.5rc1)
## [0.5b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.5b) (2015-10-04)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4...0.5b)
## [0.4](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4) (2015-02-20)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4rc2...0.4)
## [0.4rc2](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4rc2) (2014-12-27)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4rc1...0.4rc2)
## [0.4rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4rc1) (2014-11-10)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.4b...0.4rc1)
## [0.4b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.4b) (2014-11-02)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3...0.4b)
## [0.3](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3) (2013-09-28)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3rc...0.3)
## [0.3rc](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3rc) (2013-09-10)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.3b...0.3rc)
## [0.3b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.3b) (2013-06-18)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1...0.3b)
## [0.1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1) (2008-03-08)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1rc1...0.1)
## [0.1rc1](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1rc1) (2008-03-02)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/0.1b...0.1rc1)
## [0.1b](https://github.com/qelectrotech/qelectrotech-source-mirror/tree/0.1b) (2007-12-23)
[Full Changelog](https://github.com/qelectrotech/qelectrotech-source-mirror/compare/5cadf173c7b73460b62409c81568fc8999177d52...0.1b)
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*

View File

@@ -0,0 +1,233 @@
[en]
The elements collection provided along with QElectroTech is provided as is and
without any warranty of fitness for your purpose or working.
The usage, the modification and the integration of the elements into electric
diagrams is allowed without any condition, whatever the final license of the
diagrams is.
Permission is not granted to use this software or any of the associated files
as sample data for the purposes of building machine learning models.
If you redistribute all or a part of the QElectroTech collection, with or
without any modification, out of an electric diagram, you must respect the
conditions of the CC-BY license:
This work is licensed under the Creative Commons Attribution 3.0 License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[fr]
La collection d'éléments fournie avec QElectroTech est fournie telle quelle et
sans la moindre garantie qu'elle convienne à votre utilisation ou qu'elle
fonctionne.
L'utilisation, la modification et l'intégration des éléments dans des schémas
électriques est autorisée sans condition, quelle que soit la licence finale des
schémas.
L'autorisation n'est pas accordée pour utiliser ce logiciel ou l'un des fichiers associés
comme exemples de données aux fins de création de modèles dapprentissage automatique.
Si vous redistribuez tout ou partie de la collection QElectroTech, avec ou sans
modification, en dehors d'un schéma électrique, vous devrez respecter les
conditions de la licence CC-BY :
Cette création est mise à disposition selon le Contrat Paternité 3.0
disponible en ligne http://creativecommons.org/licenses/by/3.0/ ou par
courrier postal à Creative Commons, 171 Second Street, Suite 300, San Francisco,
California 94105, USA.
[de]
Die mit QElectroTech zur Verfügung gestellte Sammlung von Elementen wird ohne
Gewährleistung der Eignung für einen bestimmten Zweck oder der Funktions-
fähigkeit zur Verfügung gestellt.
Die Verwendung, Modifikation und Integration der Elemente in elektrische
Schaltpläne ist uneingeschränkt erlaubt, unabhängig von der endgültigen Lizenz
der Schaltpläne.
Es ist nicht gestattet, diese Software oder eine der zugehörigen Dateien
als Beispieldaten für die Erstellung von Modellen für maschinelles Lernen
zu verwenden.
Wenn Sie die gesamte QElectroTech-Sammlung oder Teile davon, mit oder ohne
Modifikationen, aus einem Schaltplan weitergeben, müssen Sie die Bedingungen
der CC-BY-Lizenz einhalten.
Dieses Werk steht unter einer Creative Commons Attribution 3.0 Lizenz.
Eine Kopie dieser Lizenz finden Sie unter:
http://creativecommons.org/licenses/by/3.0/
oder senden Sie einen Brief an:
Creative Commons, 171 Second Street, Suite 300,
San Francisco, Kalifornien, 94105, USA.
[ru]
Коллекция элементов, поставляемая вместе с QElectroTech, поставляется "как есть"
и без каких-либо гарантий пригодности для той или иной цели или работы.
Использование, изменение и интеграция элементов в электрическую
схему разрешается без каких-либо условий, безотносительно конечной лицензии на
схему.
Если Вы распространяете всю или часть коллекции QElectroTech, с или без
изменений, отдельно от электрической схемы, Вы должны соблюдать условия лицензии
CC-BY:
Эта работа лицензирована на условиях Creative Commons Attribution 3.0 License.
Чтобы увидеть копию этой лицензии, посетите
http://creativecommons.org/licenses/by/3.0/ или отправте письмо в Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
(данный перевод, на русский язык, является вольным и выполнен не юристом!)
[pt]
A colecção de elementos fornecida com o programa QElectroTech é fornecida como é
e sem nenhuma garantia da aptidão para o seu uso e sem garantia de que funciona.
É permitido, sem condição alguma, qualquer que seja a licença final, usar,
editar e incluir estes elementos em esquemas eléctricos.
Se você redistribuir uma parte ou toda a colecção de elementos do programa
QElectroTech, tendo editado ou não os elementos, sem ser num esquema eléctrico,
tem de respeitar as condições da licença CC-BY:
Este trabalho está licenciado de acordo com os termos da licença Creative
Commons Attribution 3.0 License.
Para ver uma cópia da licença visite http://creativecommons.org/licenses/by/3.0/
ou envie uma carta para o endereço Creative Commons, 171 Second Street, Suite
300, San Francisco, California, 94105, USA.
[es]
La colección de elementos QElectrotech es distruibida tal cual y sin ninguna
garantía a la conveniencia de su uso y sin garantía de que funciona.
Se permite sin condicion alguna, cualquiera que sea la licencia final, usar,
editar, e incluir estos elementos en esquemas eléctricos.
Si usted redistribuye una parte de la colección o toda la collección de
QElectrotech, con o sin ediciones, fuera de un esquema eléctrico, tiene que
respetar las condiciones de la licencia CC-BY:
Esta obra está bajo una licencia Reconocimiento 3.0 de Creative Commons.
Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by/3.0/ o envie una carta a Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.
[ca]
La col·lecció de símbols QElectrotech és distribuïda tal qual i sense cap
garantia d'idoneïtat d'ús ni de funcionament.
Es permet incondicionalment, amb independència de la llicència final, emprar,
editar, i incloure aquests símbols en esquemes elèctrics.
Si vostè redistribueix una part de la col·lecció de QElectrotech o tota ella,
amb condicions o sense, separadament d'un esquema elèctric, haurà de respectar
les condicions de la llicència CC-BY:
Aquesta obra es troba sota una llicència Reconeixement 3.0 de Creative Commons.
Per veure una còpia d'aquesta llicència visiti
http://creativecommons.org/licenses/by/3.0/ o enviï una carta a Creative
Commons, 171 Second Street, Suite 300, San Francisco, California 94105,
[cs]
Sbírka prvků poskytovaná společně s QElectroTechem je poskytována tak, jak je,
bez záruky nebo vhodnosti pro váš účal nebo práci.
Používání, úpravy a začlenění prvků do nákresů elektrických
obvodů se povoluje bez jakýchkoli podmínek, cokoli je konečná licence nákresu.
Pokud rozdáte celou nebo část ze sbírky QElectroTechu, s nebo bez
jakýchkoli úprav, mimo elektrický nákres, musíte brát ohledy na podmínky
licence CC-BY:
tato práce je licencována pod licencí Creative Commons Attribution 3.0 License.
Kopii této licence si můžete prohlédnout, navštivte
http://creativecommons.org/licenses/by/3.0/ nebo pošlete dopis Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[pl]
Biblioteka elementów dostarczana wraz z QElectroTech jest w formie "taka jaka jest",
bez żadnych gwarancji przydatności.
Dozwolona jest edycja, modyfikacja i użytkowanie elementów bez żadnych warunków
i bez względu na końcową licencję tworzonych schematów.
W przypadku wykorzystywania całości lub części biblioteki elementów QElectroTech
do innych celów niż tworzenie schematów elektrycznych, należy przestrzegać
warunków licencji CC-BY:
Niniejsza praca jest licencjonowana na zasadach Creative Commons Attribution 3.0 License.
Aby zobaczyć kopię licencji, należy odwiedzić stronę internetową:
http://creativecommons.org/licenses/by/3.0/ lub wysłać list do Creative
Commons, 171 Second Street, Suite 300, San Francisco, Kalifornia 94105, USA.
[it]
La collezione di elementi che si trova in QElectroTech è fornita così com'è
senza alcuna garanzia di usabilità o funzionamento.
L'uso, la modifica e l'integrazione degli elementi negli schemi elettrici
è permessa senza condizioni, qualunque si ala licenza dello schema finale.
Distribuendo tutto o parte della collezione di QElettroTech, con o senza
modifiche, fuori da uno schema elettrico, bisogna rispettare le condizioni
della licenza CC-BY:
Questo lavoro è licenziato sotto la Licenza Creative Commons 3.0.
Per vedere una copia di questa licenza, visitate il sito
http://creativecommons.org/licenses/by/3.0/ o inviate una lettera a Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[el]
Η συλλογή στοιχείων που παρέχεται μαζί με το QElectroTech παρέχεται ως έχει και
χωρίς καμία εγγύηση καταλληλότητας για συγκεκριμένο σκοπό ή την εργασία σας.
Η χρήση, η τροποποίηση και η ενσωμάτωση των στοιχείων στα ηλεκτρικά
διαγράμματα επιτρέπεται χωρίς καμία προϋπόθεση, όποια και αν είναι η τελική άδεια
των διαγραμμάτων.
Εάν αναδιανείμετε το σύνολο ή ένα μέρος της συλλογής του QElectroTech, με ή
χωρίς καμία τροποποίηση, έξω από ένα ηλεκτρικό διάγραμμα, θα πρέπει να σεβαστείτε
τους όρους της άδειας CC-BY:
Το έργο αυτό είναι υπό την άδεια Creative Commons Attribution 3.0 License.
Για να δείτε ένα αντίγραφο της άδειας αυτής, επισκεφτείτε το
http://creativecommons.org/licenses/by/3.0/ ή στείλτε μια επιστολή στο Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[nl]
De elementen collectie voorzien, samen met QElectroTech wordt geleverd als en
zonder enige garantie van geschiktheid voor uw doel of werk.
Het gebruik, de wijziging en de integratie van de elementen in elektrische
diagrammen wordt toegestaan zonder enige voorwaarden, ongeacht wat de uiteindelijke
vergunning van het diagram is.
Als u alle of een deel van de QElectroTech collectie, met of herdistribueren
zonder enige wijziging, van een elektrisch schema, moet u voldoen aan de
voorwaarden van de CC-BY-licentie:
Dit werk is gelicenseerd onder de Creative Commons Attribution 3.0-licentie.
Om een kopie van deze licentie te bekijken, bezoek
http://creativecommons.org/licenses/by/3.0/ of stuur een brief naar Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[be]
De elementen collectie welke samen met QElectroTech wordt geleverd zonder enige garantie
of deze geschikt zijn voor uw doel of de werking.
Het gebruik, wijzigen en integratie van de elementen in uw elektrische
schema's wordt toegestaan zonder enige voorwaarden, ongeacht wat de uiteindelijke
liventie van het schema is.
Als u één of meerdere elementen van de QElectroTech collectie, met of zonder wijzigingen, herdistribuer in een elektrisch schema of zonder schzma , moet u de voorwaarden van de
CC-BY-licentie volgen:
Dit werk is gelicenseerd onder de Creative Commons Attribution 3.0-licentie.
Om een kopie van deze licentie te bekijken, bezoek
http://creativecommons.org/licenses/by/3.0/ of stuur een brief naar Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[da]
Element samlinger leveret sammen med QElectroTech er tilvejebragt som er og
uden nogen garanti for egnethed til dit formål eller arbejde.
Brug, modifikation og integration af elementer til elektrisk diagrammer er
tilladt uden nogen betingelse uanset den endelige diagram licens.
Omfordeling af hele eller dele af QElectroTech samlingen, med eller
uden ændring af et elektrisk diagram, skal du respektere betingelser for CC-BY-licens:
Dette værk er licenseret under Creative Commons Attribution 3.0 License.
For at se en kopi af denne licens, besøg
http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[ja]
QElectroTech と一緒に提供される要素コレクションは現状のまま提供され、
あなたの目的や作業に適合することを保証するものではありません。
回路図での要素の利用、変更、統合は、回路図の最終的なライセンスに関わらず
無条件で許可されます。
回路図とは別に QElectroTech コレクションの全部または一部を
変更の有無に関わらず再配布する場合は CC-BY ライセンスを尊重しなければなりません:
この作品は Creative Commons Attribution 3.0 の下でライセンスされます。
ライセンスのコピーを見るには http://creativecommons.org/licenses/by/3.0/ にアクセスするか、
「Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.」に
手紙を送ってください。
[ko]
QElectroTech와 함께 제공되는 요소 컬렉션은 “있는 그대로(as is)” 제공되며,
특정 목적에 대한 적합성이나 정상 동작에 대한 어떠한 보증도 제공되지 않습니다.
요소의 사용, 수정 및 전기 도면에의 통합은 도면의 최종 라이선스와 관계없이
아무런 조건 없이 허용됩니다.
본 소프트웨어 또는 관련 파일을 기계 학습(machine learning) 모델을 구축하기 위한
샘플 데이터로 사용하는 것은 허용되지 않습니다.
전기 도면과 분리된 형태로 QElectroTech 요소 컬렉션의 전부 또는 일부를,
수정 여부와 관계없이 재배포하는 경우에는 CC-BY 라이선스 조건을 준수해야 합니다.
본 저작물은 Creative Commons Attribution 3.0 라이선스에 따라 제공됩니다.
라이선스 사본은 다음 주소에서 확인할 수 있습니다.
http://creativecommons.org/licenses/by/3.0/
또는 다음 주소로 서신을 보내실 수 있습니다.
Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

View File

@@ -0,0 +1,342 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -0,0 +1,60 @@
[ca]
QElectroTech és una aplicació Qt5 per crear esquemes elèctrics.
QET utilitza el format XML per als seus elements i esquemes i inclou un editor d'esquemes, un editor d'elements i un editor de caixetins.
[en]
QElectroTech is a Qt5 application to design electric diagrams.
It uses XML files for elements and diagrams, and includes both a diagram editor, a element editor, and an titleblock editor.
[fr]
QElectroTech est une application Qt5 pour réaliser des schémas électriques.
QET utilise le format XML pour ses éléments et ses schémas et inclut un éditeur de schémas, un éditeur d'élément, ainsi qu'un editeur de cartouche.
[de]
QElectroTech ist eine Qt5 Software, um Schaltpläne zu erstellen.
QET benutzt das XML Format für seine Bauteile und seine Projekte, und beinhaltet einen Schaltplaneditor, einen Bauteileditor sowie einen Schriftfeldeditor.
[ru]
QElectroTech - приложение написанное на Qt5 и предназначенное для разработки электрических схем.
Оно использует XML-файлы для элементов и схем, и включает, как редактор схем, так и редактор элементов.
[pt]
QElectroTech é uma aplicação baseada em Qt5 para desenhar esquemas eléctricos.
QET utiliza ficheiros XML para os elementos e para os esquemas e inclui um editor de esquemas e um editor de elementos.
[es]
QElectroTech es una aplicación Qt5 para diseñar esquemas eléctricos.
Utiliza archivos XML para los elementos y esquemas, e incluye un editor de esquemas y un editor de elementos.
[cs]
QElectroTech je aplikací Qt5 určenou pro návrh nákresů elektrických obvodů.
Pro prvky a nákresy používá soubory XML, a zahrnuje v sobě jak editor nákresů, tak editor prvků.
[pl]
QElectroTech to aplikacja napisana w Qt5, przeznaczona do tworzenia schematów elektrycznych.
Wykorzystuje XML do zapisywania plików elementów i projektów. Posiada edytor schematów i elementów.
[it]
QElectroTech è una applicazione fatta in Qt5 per disegnare schemi elettrici.
QET usa il formato XML per i suoi elementi e schemi, includendo anche un editor per gli stessi.
[el]
Το QElectroTech είναι μια εφαρμογή Qt5 για σχεδίαση ηλεκτρικών διαγραμμάτων.
Χρησιμοποιεί αρχεία XML για στοιχεία και διαγράμματα, και περιλαμβάνει επεξεργαστή διαγραμμάτων καθώς και επεξεργαστή στοιχείων.
[nl]
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en een bloksjabloon bewerker.
[be]
QElectroTech is een Qt5 toepassing voor het maken en beheren van elektrische schema's.
QET gebruikt XML voor de elementen en schema's en omvat een schematische editor, itemeditor, en een titel sjabloon editor.
[da]
QElectroTech er et Qt5 program til at redigere elektriske diagrammer.
Det bruger XML filer for symboler og diagrammer og inkluderer diagram, symbol og titelblok redigering.
[ja]
QElectroTech は電気回路図を作成する Qt5 アプリケーションです。
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。

View File

@@ -0,0 +1,229 @@
![](logo.png)
# QElectroTech
### What it is
QElectroTech, or QET in short, is a libre and open source desktop application to create diagrams and schematics.
The software is primarily intended to create electrical documentation but it can also be used to draw any kinds of diagrams, such as those made in pneumatics, hydraulics, process industries, electronics...
Generally speaking, QET is a **CAD/CAE editor focusing on schematics drawing features**.
This means that there are no embedded simulating or calculating functionalities and it is not planned to implement them.
The main goal of the developers is to provide a libre, easy to use and effective software for **schematics drawing purposes**.
### Version
The current stable version is 0.100 and was released on 2026.01.25.
Once it has been officially released, the stable version is always frozen and is no longer developed.
New functionalities, bug and issue fixings are further made in the development version (currently 0.100.1 or 0.200.0 if based on new Qt6 port), which can also be [downloaded](https://qelectrotech.org/download.php).
Users who want to test and take benefits from the last software implementations should use the development version. But... use it at your own risk, since things are sometimes broken or only partially implemented until they are done!
### License
The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
You are free to use, copy, modify and redistribute it under the terms of the license.
Like many other open source software, QElectroTech is provided as is, without any warranty.
### Development / technical choices
The development follows the classical way of free and open source software: the source code, written by a community of users, is freely accessible.
* Get sources and sub-modules
```txt
git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
```
Here are the technical choices made for the software development:
* Integrated development environment: [Qt Framework](https://www.qt.io/ide/)
* Libraries: Qt 5.x
* [KF5 Framework](https://github.com/KDE)
[Cmake](https://cmake.org/install/)
[kcoreaddons](https://github.com/KDE/kcoreaddons/tree/kf5)
[kwidgetsaddons](https://github.com/KDE/kwidgetsaddons/tree/kf5).
* Coding language: [C++](https://en.wikipedia.org/wiki/C%2B%2B)
* GUI translations: [Qt Linguist](http://doc.qt.io/qt-5/qtlinguist-index.html)
* Version control: [GIT](https://github.com/qelectrotech/qelectrotech-source-mirror.git)
* Doxygen documentation :[Doxygen](https://qelectrotech.github.io/qelectrotech-source-mirror/)
* QtCreator qch doxygen :[QElectroTech.qch](https://github.com/qelectrotech/qelectrotech-source-mirror/blob/master/doc/QElectroTech.qch)
* File format for projects, elements and titleblocks: [XML](http://www.w3schools.com/xml/xml_whatis.asp)
* Main development platform: [GNU/Linux](http://getgnulinux.org/en/linux/)
* Targeted platforms: Windows, GNU/Linux, Mac OS X, BSDs
* [Forum](https://qelectrotech.org/forum/index.php)
* [Wiki](https://qelectrotech.org/wiki_new/)
* [Mantis_bugtracker](https://qelectrotech.org/bugtracker/my_view_page.php)
If you wish to be informed of the latest developments, browse the [archive](https://listengine.tuxfamily.org/lists.tuxfamily.org/qet/) of the project mailing list where all commits (changes) are registered. This archive is publicly available, you don't need any account to access it.
# Features
QElectroTech is a free and open source software.
No need to worry about restrictive licensing, privacy violation or dependency on a company.
Zero cost and no licensing fees!
But you are welcome to make a donation to support the development
QElectroTech runs on the 3 most widespread operating systems for desktop computers in the world.
Files that were created on an OS can be edited on another OS without any conversion or restriction.
MS Windows users can even run the "ready-to-use" version of QElectroTech from an external medium with no need to install it on an access restricted computer.
Take advantage of the modern GUI
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
The GUI can fit to small or big screens, and even to multi-display configurations.
![](https://download.qelectrotech.org/qet/images-features/0030.png "GUI overview")
The GUI of QElectroTech is translated in 25 languages.
You only need to restart the application for the new selected language to take effect.
![](https://download.qelectrotech.org/qet/images-features/0040.png "Lang menu")
Create technical documentation in professional quality
Size, look and informations of the folios (sheets) are fully configurable.
You can set vertical and horizontal headers (printed rulers) individually on and off, set number of columns and rows, and set width/height of each column/row.
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
Custom variables can be defined to display the informations you wish in the titleblock.
![](https://download.qelectrotech.org/qet/images-features/0055.png "Titleblock editor")
With only 2 mouse clicks you can add a full automatic generated table of content.
Changes in the documentation are updated on the fly.
![](https://download.qelectrotech.org/qet/images-features/0060.png "Table of content")
Choose from more than 8.200 symbols...
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
The library grows at every new release thanks to an active user community.
![](https://download.qelectrotech.org/qet/images-features/0070.png "Collections")
...or create your own collection
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
Your own elements are stored in the user collection.
![](https://download.qelectrotech.org/qet/images-features/0080.png "Element editor")
Quickly find what you need
All collections can quickly be searched with the integrated search engine.
Furthermore, the search request can be restricted to the folder of your choice.
![](https://download.qelectrotech.org/qet/images-features/0090.png "Search engine")
Easily draw complex schematics
To add an element on the drawing area, it only needs a drag & drop from the collection panel.
![](https://download.qelectrotech.org/qet/images-features/0102.png "Drag and drop")
Elements are automatically connected if they are aligned, or connected from point to point by pulling a conductor with the mouse.
![](https://download.qelectrotech.org/qet/images-features/0105.png "Conductor connections")
The path of every conductor can be modified by moving its handles with the mouse.
![](https://download.qelectrotech.org/qet/images-features/0107.png "Conductor handles")
And of course, you can accurately zoom with the mouse wheel over the drawing area to catch the smallest details.
Link elements together to create cross references
Several types of element can be linked together to display a cross reference text.
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
![](https://download.qelectrotech.org/qet/images-features/0112.png "Cross ref elements")
To speed up your work, linkable elements are easily searched and shown.
![](https://download.qelectrotech.org/qet/images-features/0115.png "Cross ref search")
Export informations to a parts list
Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application.
![](https://download.qelectrotech.org/qet/images-features/0122.png "Element informations")
This way, you can make your own parts list or bill of material using the full power of a spreadsheet program.
![](https://download.qelectrotech.org/qet/images-features/0125.png "Spreadsheet")
Print to pdf and/or export your work to images
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
Alternatively, you can export to vector (svg) or pixel (png, jpg, bmp) format images.
### And much more:
* open and edit several projects at the same time
* import images (.bmp, .jpg, .png, .svg) in your diagrams
* add basic shapes (lines, rectangles, ellipses, polygons) to your drawings
* edit the thickness, the line style and the color of conductors
* define some autonum patterns for conductors, symbols and folios
* take advantage of the open xml standard of elements and projects to create custom tools
* search and replace Widget (Ctrl + F) in entire project
* conductors num can be exported to csv file.
* ***
Nomenclature
A new nomenclature tool appears in the menu: project -> Add a nomenclature.
The nomenclature is presented in the form of a configurable table separated into two parts: the display (the form) and the content (the background).
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate.
- Content: the information to display in the table and the order in which it should be displayed.
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/dialogue_nomenclature.png "nomenclature dialogue")
In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
Behind the scenes, an SQLite database does the work, so setting up the content is nothing more or less than an SQL query created using a dialog (screenshot by right).
The SQL query is configured as follows (from top to bottom in the screenshot):
- “Available information”: the information to display;
- "Filter": filter the information (is not empty, is empty, contains, does not contain, is equal to, is not equal to) only one filter can be applied per information, it is not possible combine several;
- "Type of elements": allows you to filter on what type of element you want to obtain information.
At the bottom, a checkmark "SQL query" allows you to edit a personalized query, if the basic options are not sufficient.
When a nomenclature is too large to be contained in a single folio, it is possible to separate it on several folios, the tables of each folio are then linked together. When creating a nomenclature, this option is activated by default, which has the effect of adding the necessary number of folios, adding a table in each of them and linking them together.
Finally two buttons are available in the property panel:
- "Fit the table to the folio": positions and adjusts the size and determines the number of rows in the table in relation to the folio;
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency.
And to finish a table
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/tableau.png "table")
Summary
The old summary has been completely removed from the code in order to make room for the new one which is exactly the same as the nomenclature (a large amount of the code is common), with the exception of the SQL query (and its dialog to configure it) which offers specific information for editing a summary.
Export of the internal database
The database used by the nomenclature and the summary can be exported in a “.sqlite” file.
Currently this is irrelevant, as the function was created during development for debugging purposes, we left it.
Note that the database will become increasingly important in the future of Qet.
Export of the wiring list
In order to be able to use the wiring number printers more easily, the names of conductors can be exported in CSV format, the export respects the quantity of conductors in order to print the right quantity of numbers, for example a potential numbered 240 composed of 3 wires will give 6 × 240 (2 numbers per wire × 3 wires) in the CSV.
### Story
The QElectroTech project was founded in 2007 by two french students, Xavier and Benoit.
Xavier developed the base application itself and made all technical choices about the development.
The first version of QET (0.1) was released on 09.03.2008.
However, both Xavier and Benoit do not participate anymore in the project since 2013.
Following this period, new developers and contributors took over the project and kept it alive.
The development and the many translations are actively maintained.
New functionalities and evolutions are planned to make QET ever better.
Nowadays, QET is not only used by many individuals, teachers and students but also by professional electricians and companies all over the world.
### Donate Money
If you love QElectroTech, you can help developers to buy new hardware to test
and implement new features. Thanks in advance for your generous donations.
For more information, look at [Paypal](https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=ZZHC9D7C3MDPC&ssrt=1694606609672)

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,9 @@
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Applications\qelectrotech.exe\shell\open\command]
[-HKEY_CLASSES_ROOT\.qet]
[-HKEY_CLASSES_ROOT\qet_diagram_file]
[-HKEY_CLASSES_ROOT\.elmt]
[-HKEY_CLASSES_ROOT\qet_element_file]
[-HKEY_CLASSES_ROOT\.titleblock]
[-HKEY_CLASSES_ROOT\qet_titleblock_file]

View File

@@ -0,0 +1,111 @@
@echo off
rem Enregistre les associations de fichiers de QElectroTech, a savoir les fichiers .qet
rem detecte le dossier courant et suppose que celui-ci contient bin\qelectrotech.exe ainsi que windows_icon\diagram_icon\qet-diagram.ico
set current_dir=%~dp0
cd /d %current_dir%
set expected_qet_exe=%current_dir%Lancer QET.bat
set expected_project_ico=%current_dir%ico\application-x-qet-project.ico
set expected_element_ico=%current_dir%ico\application-x-qet-element.ico
set expected_titleblock_ico=%current_dir%ico\application-x-qet-titleblock.ico
rem verifie la presence du fichier qelectrotech.exe
if not exist "%expected_qet_exe%" (
echo Le fichier %expected_qet_exe% n'a pas ete trouve. Abandon.
pause
exit /b 1
)
rem verifie la presence du fichier qet-diagram.ico
if not exist "%expected_project_ico%" (
echo Le fichier %expected_project_ico% n'a pas ete trouve. Abandon.
pause
exit /b 1
)
rem verifie la presence du fichier qet-element.ico
if not exist "%expected_element_ico%" (
echo Le fichier %expected_element_ico% n'a pas ete trouve. Abandon.
pause
exit /b 1
)
rem verifie la presence du fichier qet-titleblock.ico
if not exist "%expected_titleblock_ico%" (
echo Le fichier %expected_titleblock_ico% n'a pas ete trouve. Abandon.
pause
exit /b 1
)
rem echappe les backslashs dans les chemins absolus
set final_qet_exe=%expected_qet_exe:\=\\%
set final_project_ico=%expected_project_ico:\=\\%
set final_element_ico=%expected_element_ico:\=\\%
set final_titleblock_ico=%expected_titleblock_ico:\=\\%
rem genere le fichier .reg pour enregistrer les associations de fichiers
set reg_file=qet_install_file_associations.reg
(
echo Windows Registry Editor Version 5.00
echo.
rem Declaration de l'application
echo [HKEY_CLASSES_ROOT\Applications\qelectrotech.exe\shell\open\command]
echo @="\"%final_qet_exe%\" \"%%1\""
rem association de fichier *.qet
echo [HKEY_CLASSES_ROOT\.qet]
echo @="qet_diagram_file"
echo [HKEY_CLASSES_ROOT\qet_diagram_file]
echo @="QET diagram"
echo "EditFlags"=dword:00000000
echo "BrowserFlags"=dword:00000008
echo [HKEY_CLASSES_ROOT\qet_diagram_file\DefaultIcon]
echo @="%final_project_ico%,0"
echo [HKEY_CLASSES_ROOT\qet_diagram_file\shell\open\command]
echo @="\"%final_qet_exe%\" \"%%1\""
rem association de fichier *.elmt
echo [HKEY_CLASSES_ROOT\.elmt]
echo @="qet_element_file"
echo [HKEY_CLASSES_ROOT\qet_element_file]
echo @="QET element"
echo "EditFlags"=dword:00000000
echo "BrowserFlags"=dword:00000008
echo [HKEY_CLASSES_ROOT\qet_element_file\DefaultIcon]
echo @="%final_element_ico%,0"
echo [HKEY_CLASSES_ROOT\qet_element_file\shell\open\command]
echo @="\"%final_qet_exe%\" \"%%1\""
rem association de fichier *.titleblock
echo [HKEY_CLASSES_ROOT\.titleblock]
echo @="qet_titleblock_file"
echo [HKEY_CLASSES_ROOT\qet_titleblock_file]
echo @="QET title block template"
echo "EditFlags"=dword:00000000
echo "BrowserFlags"=dword:00000008
echo [HKEY_CLASSES_ROOT\qet_titleblock_file\DefaultIcon]
echo @="%final_titleblock_ico%,0"
echo [HKEY_CLASSES_ROOT\qet_titleblock_file\shell\open\command]
echo @="\"%final_qet_exe%\" \"%%1\""
) > %reg_file%
rem verifie que le fichier a bien ete ecrit
if not exist %reg_file% (
echo Impossible de creer le fichier %reg_file%. Abandon.
pause
exit /b 1
)
rem Applique le .reg genere
regedit.exe /s %reg_file%
if errorlevel 1 (
echo La prise en compte du fichier %reg_file% a echoue.
pause
exit /b 1
) else (
echo Les associations de fichier ont bien ete crees.
pause
exit /b 0
)

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

View File

@@ -0,0 +1,101 @@
#!/usr/bin/env python3
"""
Patch QET64.nsi for GitHub Actions Windows build.
Usage:
python3 patch_nsi.py <nsi_path> <version> <files_win_path>
Arguments:
nsi_path : path to QET64.nsi (modified in place)
version : full version string e.g. 0.100.1-r8819-abc1234_x86_64-win64
files_win_path: absolute Windows path to nsis_root/files/
e.g. D:\\a\\repo\\nsis_root\\files
"""
import sys
import re
def fix_mixed_paths(nsi, files_win):
"""
After injecting the absolute path, some sub-paths may still contain
forward slashes (e.g. files\\elements/10_electric).
Normalize all slashes inside quoted strings that contain our absolute path.
"""
marker = files_win.lower()
def fix_quoted(m):
content = m.group(1)
if marker in content.lower():
content = content.replace('/', '\\')
return '"' + content + '"'
return re.sub(r'"([^"\r\n]*)"', fix_quoted, nsi)
def main():
if len(sys.argv) != 4:
print(f"Usage: {sys.argv[0]} <nsi_path> <version> <files_win_path>")
sys.exit(1)
nsi_path = sys.argv[1]
version = sys.argv[2]
files_win = sys.argv[3].rstrip('\\/')
print(f"Patching : {nsi_path}")
print(f"Version : {version}")
print(f"Files dir: {files_win}")
with open(nsi_path, encoding='utf-8', errors='replace') as f:
nsi = f.read()
# 1. Patch SOFT_VERSION
nsi = re.sub(
r'!define SOFT_VERSION\s+.*',
f'!define SOFT_VERSION "{version}"',
nsi
)
print(" [1] SOFT_VERSION patched")
# 2. Rename QElectroTech.exe -> qelectrotech.exe (literal value, not NSIS var)
nsi = nsi.replace('/bin/QElectroTech.exe', '/bin/qelectrotech.exe')
print(" [2] Exe name patched")
# 3. Replace relative ./files/ paths with absolute Windows path + backslash
sep = '\\'
abs_files = files_win + sep
nsi = nsi.replace('./files/', abs_files)
nsi = nsi.replace('.\\files\\', abs_files)
nsi = nsi.replace('.\\\\files\\\\', abs_files)
print(f" [3] Paths ./files/ -> {abs_files}")
# 4. Normalize mixed slashes in injected absolute paths
# e.g. D:\path\files\elements/10_electric -> D:\path\files\elements\10_electric
nsi = fix_mixed_paths(nsi, files_win)
print(" [4] Mixed slashes normalized in absolute paths")
with open(nsi_path, 'w', encoding='utf-8') as f:
f.write(nsi)
# Verifications
version_found = re.search(r'!define SOFT_VERSION\s+"([^"]+)"', nsi)
if version_found:
print(f" OK SOFT_VERSION = {version_found.group(1)}")
else:
print(" ERROR: SOFT_VERSION not found after patch")
sys.exit(1)
count = nsi.count(abs_files)
print(f" OK {count} occurrences of '{abs_files}'")
mixed = re.findall(r'[A-Z]:[^"\s\r\n]*files[^"\s\r\n]*/[^"\s\r\n]*', nsi)
if mixed:
print(f" WARNING: {len(mixed)} mixed paths remaining:")
for m in mixed[:5]:
print(f" {m}")
else:
print(" OK no mixed paths remaining")
if __name__ == '__main__':
main()

View File

@@ -88,6 +88,7 @@ set(QET_RES_FILES
${QET_DIR}/sources/ui/dynamicelementtextitemeditor.ui
${QET_DIR}/sources/ui/elementinfopartwidget.ui
${QET_DIR}/sources/ui/elementinfowidget.ui
${QET_DIR}/sources/ui/terminalnumberingdialog.ui
${QET_DIR}/sources/ui/formulaassistantdialog.ui
${QET_DIR}/sources/ui/imagepropertieswidget.ui
${QET_DIR}/sources/ui/importelementdialog.ui
@@ -112,6 +113,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/conductorautonumerotation.cpp
${QET_DIR}/sources/conductorautonumerotation.h
${QET_DIR}/sources/conductornumexport.cpp
${QET_DIR}/sources/wiringlistexport.h
${QET_DIR}/sources/wiringlistexport.cpp
${QET_DIR}/sources/conductornumexport.h
${QET_DIR}/sources/conductorprofile.cpp
${QET_DIR}/sources/conductorprofile.h
@@ -251,6 +254,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/diagramevent/diagrameventaddtext.h
${QET_DIR}/sources/diagramevent/diagrameventinterface.cpp
${QET_DIR}/sources/diagramevent/diagrameventinterface.h
${QET_DIR}/sources/diagramevent/diagrameventaddmacro.cpp
${QET_DIR}/sources/diagramevent/diagrameventaddmacro.h
${QET_DIR}/sources/dvevent/dveventinterface.cpp
${QET_DIR}/sources/dvevent/dveventinterface.h
@@ -630,6 +635,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/ui/elementinfopartwidget.h
${QET_DIR}/sources/ui/elementinfowidget.cpp
${QET_DIR}/sources/ui/elementinfowidget.h
${QET_DIR}/sources/ui/terminalnumberingdialog.cpp
${QET_DIR}/sources/ui/terminalnumberingdialog.h
${QET_DIR}/sources/ui/elementpropertieswidget.cpp
${QET_DIR}/sources/ui/elementpropertieswidget.h
${QET_DIR}/sources/ui/formulaassistantdialog.cpp
@@ -710,7 +717,6 @@ set(QET_SRC_FILES
set(TS_FILES
${QET_DIR}/lang/qet_ar.ts
${QET_DIR}/lang/qet_be.ts
${QET_DIR}/lang/qet_ca.ts
${QET_DIR}/lang/qet_cs.ts
${QET_DIR}/lang/qet_da.ts
@@ -727,15 +733,19 @@ set(TS_FILES
${QET_DIR}/lang/qet_mn.ts
${QET_DIR}/lang/qet_nb.ts
${QET_DIR}/lang/qet_nl.ts
${QET_DIR}/lang/qet_nl_BE.ts
${QET_DIR}/lang/qet_no.ts
${QET_DIR}/lang/qet_pl.ts
${QET_DIR}/lang/qet_pt.ts
${QET_DIR}/lang/qet_pt_BR.ts
${QET_DIR}/lang/qet_ro.ts
${QET_DIR}/lang/qet_rs.ts
${QET_DIR}/lang/qet_ru.ts
${QET_DIR}/lang/qet_sk.ts
${QET_DIR}/lang/qet_sl.ts
${QET_DIR}/lang/qet_sr.ts
${QET_DIR}/lang/qet_sv.ts
${QET_DIR}/lang/qet_tr.ts
${QET_DIR}/lang/qet_uk.ts
${QET_DIR}/lang/qet_zh.ts
)

View File

@@ -25,5 +25,8 @@ add_definitions(-DQET_ALLOW_OVERRIDE_CTBTD_OPTION)
# Comment the line below to deactivate the --config-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_CD_OPTION)
# Comment the line below to deactivate the --data-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_DD_OPTION)
#comment the line below to disable the project database export
#add_definitions(-DQET_EXPORT_PROJECT_DB) #error Todo

3
doc/QElectroTech.qch Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b7798233e8251baac7717d4b0f991ad5fdf23a76d9fbe864d363e3b93458560
size 529821696

1841
doc/doc-utils/delete_me.css Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
<!-- HTML footer for doxygen 1.12.0-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
</small></address>
</div><!-- doc-content -->
<!--END !GENERATE_TREEVIEW-->
</body>
</html>

88
doc/doc-utils/header.html Normal file
View File

@@ -0,0 +1,88 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<!--BEGIN PROJECT_ICON-->
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
<!--END PROJECT_ICON-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<script type="text/javascript">var page_layout=1;</script>
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
<!--BEGIN COPY_CLIPBOARD-->
<script type="text/javascript" src="$relpath^clipboard.js"></script>
<!--END COPY_CLIPBOARD-->
$treeview
$search
$mathjax
$darkmode
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
<script type="text/javascript">
DoxygenAwesomeFragmentCopyButton.init()
</script>
</head>
<body>
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN FULL_SIDEBAR-->
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
<!--END FULL_SIDEBAR-->
<!--END DISABLE_INDEX-->
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign">
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber">&#160;$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td>
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<!--BEGIN !FULL_SIDEBAR-->
<td>$searchbox</td>
<!--END !FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
<!--BEGIN SEARCHENGINE-->
<!--BEGIN FULL_SIDEBAR-->
<tr><td colspan="2">$searchbox</td></tr>
<!--END FULL_SIDEBAR-->
<!--END SEARCHENGINE-->
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

1
doxygen-awesome-css Submodule

Submodule doxygen-awesome-css added at 568f56cde6

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,102 @@
Digitized data copyright (c) 2010 Google Corporation
with Reserved Font Arimo, Tinos and Cousine.
Copyright (c) 2012 Red Hat, Inc.
with Reserved Font Name Liberation.
This Font Software is licensed under the SIL Open Font License,
Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
PREAMBLE The goals of the Open Font License (OFL) are to stimulate
worldwide development of collaborative font projects, to support the font
creation efforts of academic and linguistic communities, and to provide
a free and open framework in which fonts may be shared and improved in
partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves.
The fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply to
any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such.
This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components
as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting ? in part or in whole ?
any of the components of the Original Version, by changing formats or
by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer
or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,in
Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the
corresponding Copyright Holder. This restriction only applies to the
primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole, must
be distributed entirely under this license, and must not be distributed
under any other license. The requirement for fonts to remain under
this license does not apply to any document created using the Font
Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,2 @@
"Liberation Fonts" Font Software is licensed under the
SIL Open Font License, Version 1.1

BIN
fonts/osifont-italic.ttf Normal file

Binary file not shown.

674
fonts/osifont.LICENSE Normal file
View File

@@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

13
fonts/osifont.NOTICE Normal file
View File

@@ -0,0 +1,13 @@
"osifont" Font Software is licensed under the
GNU GENERAL PUBLIC LICENSE, Version 3
As a special exception, if you create a document which uses
this font, and embed this font or unaltered portions of this
font into the document, this font does not by itself cause
the resulting document to be covered by the GNU General
Public License. This exception does not however invalidate
any other reasons why the document might be covered by the
GNU General Public License. If you modify this font, you may
extend this exception to your version of the font, but you
are not obligated to do so. If you do not wish to do so,
delete this exception statement from your version.

BIN
fonts/osifont.ttf Normal file

Binary file not shown.

BIN
ico/16x16/flip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 B

BIN
ico/16x16/mirror.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

326
lang/phrase/qet_fr_sv.qph Normal file
View File

@@ -0,0 +1,326 @@
<!DOCTYPE QPH>
<QPH sourcelanguage="fr" language="sv">
<phrase>
<source>Texte composé</source>
<target>Sammansatt text</target>
</phrase>
<phrase>
<source>Texte utilisateur</source>
<target>Egen text</target>
</phrase>
<phrase>
<source>Gauche</source>
<target>Vänster</target>
</phrase>
<phrase>
<source>Droite</source>
<target>Höger</target>
</phrase>
<phrase>
<source>Centre</source>
<target>Centrum</target>
</phrase>
<phrase>
<source>Élément</source>
<target>Objekt</target>
<definition>Vid referens av olika typer</definition>
</phrase>
<phrase>
<source>Folio</source>
<target>Blad</target>
</phrase>
<phrase>
<source>Conducteur</source>
<target>Förbindning</target>
</phrase>
<phrase>
<source>Sans nom</source>
<target>Namnlös</target>
</phrase>
<phrase>
<source>Recharger</source>
<target>Ladda om</target>
</phrase>
<phrase>
<source>Projet sans titre</source>
<target>Namnlöst projekt</target>
</phrase>
<phrase>
<source>Folio sans titre</source>
<target>Namnlöst blad</target>
</phrase>
<phrase>
<source>Nom</source>
<target>Namn</target>
</phrase>
<phrase>
<source>Sélection</source>
<target>Urval</target>
</phrase>
<phrase>
<source>Désélectionner tout</source>
<target>Avmarkera allt</target>
</phrase>
<phrase>
<source>Sélectionner tout</source>
<target>Välj allt</target>
</phrase>
<phrase>
<source>Installation</source>
<target>Anläggning</target>
</phrase>
<phrase>
<source>Localisation</source>
<target>Placering</target>
</phrase>
<phrase>
<source>Reports de folio</source>
<target>Bladhänvisningar</target>
</phrase>
<phrase>
<source>Report de folio</source>
<target>Bladhänvisning</target>
</phrase>
<phrase>
<source>Centre</source>
<target>Mitten</target>
<definition>Vid textjustering</definition>
</phrase>
<phrase>
<source>Collage multiple</source>
<target>Klistra in flera</target>
</phrase>
<phrase>
<source>Remplacer</source>
<target>Ersätt</target>
</phrase>
<phrase>
<source>Élément</source>
<target>Symbol</target>
<definition>Vid referens av symbol</definition>
</phrase>
<phrase>
<source>À</source>
<target>Till</target>
</phrase>
<phrase>
<source>De</source>
<target>Från</target>
</phrase>
<phrase>
<source>Nomenclature</source>
<target>Förteckning</target>
</phrase>
<phrase>
<source>Position du folio</source>
<target>Bladposition</target>
</phrase>
<phrase>
<source>Polygone fermé</source>
<target>Sluten polygon</target>
</phrase>
<phrase>
<source>Dossier</source>
<target>Mapp</target>
</phrase>
<phrase>
<source>Que souhaitez-vous faire</source>
<target>Vad vill du göra</target>
</phrase>
<phrase>
<source>Collection</source>
<target>Bibliotek</target>
</phrase>
<phrase>
<source>Collection de cartouches</source>
<target>Titelblockbibliotek</target>
</phrase>
<phrase>
<source>Collection company de cartouches</source>
<target>Organisationens titelblockbibliotek</target>
</phrase>
<phrase>
<source>Champ texte</source>
<target>Textfält</target>
</phrase>
<phrase>
<source>Longueur</source>
<target>Längd</target>
</phrase>
<phrase>
<source>Suivant</source>
<target>Nästa</target>
</phrase>
<phrase>
<source>Suivant</source>
<target>Följande</target>
</phrase>
<phrase>
<source>Chiffre</source>
<target>Siffra</target>
</phrase>
<phrase>
<source>Tout cocher</source>
<target>Markera allt</target>
</phrase>
<phrase>
<source>Tout décocher</source>
<target>Avmarkera allt</target>
</phrase>
<phrase>
<source>Titre</source>
<target>Titel</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Dimensioner</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Mått</target>
</phrase>
<phrase>
<source>Aperçu</source>
<target>Översikt</target>
</phrase>
<phrase>
<source>Générique</source>
<target>Generisk</target>
</phrase>
<phrase>
<source>Sans</source>
<target>Utan</target>
</phrase>
<phrase>
<source>Avec</source>
<target>Med</target>
</phrase>
<phrase>
<source>Normal</source>
<target>Normal</target>
</phrase>
<phrase>
<source>Tiret</source>
<target>Streckad</target>
</phrase>
<phrase>
<source>Pointillé</source>
<target>Punktad</target>
</phrase>
<phrase>
<source>Remplissage</source>
<target>Fyllning</target>
</phrase>
<phrase>
<source>Apparence</source>
<target>Utseende</target>
</phrase>
<phrase>
<source>Contour</source>
<target>Kontur</target>
</phrase>
<phrase>
<source>Épaisseur</source>
<target>Tjocklek</target>
</phrase>
<phrase>
<source>Géométrie</source>
<target>Geometri</target>
</phrase>
<phrase>
<source>Par defaut</source>
<target>Förinställt</target>
</phrase>
<phrase>
<source>Parcourir</source>
<target>Bläddra</target>
</phrase>
<phrase>
<source>Général</source>
<target>Allmänt</target>
</phrase>
<phrase>
<source>Borne</source>
<target>Plint</target>
</phrase>
<phrase>
<source>Coller</source>
<target>Klistra in</target>
</phrase>
<phrase>
<source>Ouvrir</source>
<target>Öppna</target>
</phrase>
<phrase>
<source>Arc</source>
<target>Båge</target>
</phrase>
<phrase>
<source>Ellipse</source>
<target>Ellips</target>
</phrase>
<phrase>
<source>Ligne</source>
<target>Linje</target>
</phrase>
<phrase>
<source>Rectangle</source>
<target>Rektangel</target>
</phrase>
<phrase>
<source>Orientation</source>
<target>Orientering</target>
</phrase>
<phrase>
<source>Nord</source>
<target>Nord</target>
</phrase>
<phrase>
<source>Est</source>
<target>Öst</target>
</phrase>
<phrase>
<source>Sud</source>
<target>Syd</target>
</phrase>
<phrase>
<source>Ouest</source>
<target>Väst</target>
</phrase>
<phrase>
<source>Police</source>
<target>Typsnitt</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Storlek</target>
</phrase>
<phrase>
<source>Sans titre</source>
<target>Namnlös</target>
</phrase>
<phrase>
<source>Borne</source>
<target>Anslutning</target>
</phrase>
<phrase>
<source>Sans titre</source>
<target>Namnlöst</target>
</phrase>
<phrase>
<source>Sans nom</source>
<target>Namnlöst</target>
</phrase>
<phrase>
<source>Décalage</source>
<target>Förkjutning</target>
</phrase>
<phrase>
<source>Afficher</source>
<target>Visa</target>
</phrase>
<phrase>
<source>Affichage</source>
<target>Visning</target>
</phrase>
</QPH>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More