Compare commits

...

225 Commits

Author SHA1 Message Date
joshua 2d4f968348 Fix crash when collapse root item of macro element tree view
Add an icon to the macro type of FileElementCollectionItem.

The first time the model (ElementsCollectionModel) ask for decoration
role the FileElementCollectionItem check if icon is null, if true the
icon is set, if false the function return.

In the case of the macro type, befor this commit the macro have a null
icon, and so the setIcon is call each time (many) the mouse move hover
and cause a qet crash.
This commit fix that, only by setUp an icon
2026-05-06 00:20:07 +02:00
joshua 6f669e1074 Merge branch 'master' into qt6_cmake_joshua 2026-05-05 20:11:05 +02:00
Laurent Trinques b1466ec649 Update windows-build.yml
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
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
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
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
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
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
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
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
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
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
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:
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
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.
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
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
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
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
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
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
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
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
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
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
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
joshua 0b91318749 Remove several QT_VERSION_CHECK
Remove several QT_VERSION_CHECK related to Qt5 and Qt4.
2026-03-19 19:54:51 +01:00
Laurent Trinques baec0a4afb Fix https://github.com/qelectrotech/qelectrotech-source-mirror/issues/439
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
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
joshua 1ba97c7e92 Remove hoto_update_cmake_message.cmake 2026-03-03 21:45:48 +01:00
joshua cd09fc0d32 Re-enable git_update_submodules.cmake
Re-enable git_update_submodules.cmake, use for update the elements repo.
Remove the unused include : fetch_elements.cmake
2026-03-03 21:44:35 +01:00
Laurent Trinques 924fe082fb Update fr_window_build_msys2.md 2026-03-03 06:56:24 +01:00
joshua ad37b0f9a5 Add documentation for build under Windows
The documentation is available in french only.
Contributors, feel free to create a new documentation in English (create
a new directory named 'en' for this purpose).
2026-03-02 22:47:32 +01:00
joshua fedc1cb092 Made available compilation on windows with msys2
The aim of this commit is to easily build qelectrotech under windows
with qt6/cmake and the package tool MSYS2.

-Update some cmake file.
-Remove Git submodule for pugixml and single application
-Use cmake find_package for pugi xml
-Use cmake fetchContent for single application.
-Use cmake find_package for KCoreAddons and KWidgetsAddons.
-Minor change for pugi xml
-Minor change on ProjectPrintWindow class to compatible with Qt6 API.
2026-03-02 22:34:16 +01:00
Laurent Trinques 40f7889849 git add qet_cs.qm
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
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
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
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
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
joshua 5f318e09c8 Add forgotten file and folder.
Add folder and file to cmake.
2026-01-30 19:43:07 +01:00
joshua 27afeaefe2 Upgrade pugixml version.
Upgrade pugixml to be compatible with cmake >= 4.0.0.

Compatibility with CMake < 3.5 has been removed from CMake since 4.0.0.
Pugixml V1.11.4 used cmake 3.4. Latest version V1.15 use cmake VERSION
3.5...3.30
2026-01-30 18:46:21 +01:00
joshua ab2f933fdf Re-enable multi-threading to load collection
The name of the elements and folders of the collection are not displayed
until we hover the item with the mouse.
This due that QtConcurent::run was disabled at loading of collection in
the goal of use QtConcurrent::run with Qt6.
Run is made to run a function once.
Map is made to run a fonction for each item of a sequence (what we need
in this case).
Remove code of run and re-enable code for map.
2026-01-28 19:47:04 +01:00
joshua 7f718f672f Fix : can't open recent file 2026-01-28 00:15:09 +01:00
joshua 9ec02bc088 Build with qt6 and cmake
First build with qt6 and cmake.
QET compil, but a lot of things don't work.
Build tested on debian sid and ubuntu 25.04.

Dependency needed under debian and ubuntu :
qtcreator cmake qt6-tools-dev qt6-svg-dev libsqlite3-dev
libkf6coreaddons-dev extra-cmake-modules libkf6widgetsaddons-dev
2026-01-27 23:31:34 +01:00
Laurent Trinques 0c62f291f0 Set QetVersion::VersionType VERSION_TYPE = QetVersion::dev; return
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
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;
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
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
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
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
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
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
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
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
673 changed files with 70400 additions and 21460 deletions
+1
View File
@@ -0,0 +1 @@
*.qch filter=lfs diff=lfs merge=lfs -text
+68
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
-22
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
+288
View File
@@ -0,0 +1,288 @@
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
- name: Install MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
cache: true
install: >-
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: Force Qt5 — supprimer 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 "AUCUN windeployqt trouve !"
- name: Build with cmake
shell: msys2 {0}
run: |
set -euo pipefail
cd "$GITHUB_WORKSPACE"
mkdir build && cd build
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 \
..
ninja
- 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: aucun qelectrotech.exe trouve dans build/"
find "$GITHUB_WORKSPACE/build" -maxdepth 3 -name "*.exe" || true
exit 1
fi
SIZE=$(stat -c%s "$EXE")
echo "Exe trouve : $EXE ($SIZE octets)"
[ "$SIZE" -gt 100000 ] || { echo "ERROR: exe trop petit"; exit 1; }
- name: Deploy — copie 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 "Copie exe : $EXE -> $BIN/QElectroTech.exe"
cp "$EXE" "$BIN/QElectroTech.exe"
cd "$BIN"
/ucrt64/bin/windeployqt-qt5 \
--release \
--no-translations \
--no-compiler-runtime \
--no-opengl-sw \
./QElectroTech.exe || true
ls -lh "$BIN/QElectroTech.exe" || { echo "ERROR: exe absent de bin/"; exit 1; }
DLL_COUNT=$(find "$BIN" -name "*.dll" | wc -l)
echo "DLLs presentes : $DLL_COUNT"
[ "$DLL_COUNT" -gt 5 ] || { echo "ERROR: trop peu de DLLs"; exit 1; }
cd "$GITHUB_WORKSPACE"
# --- DLLs runtime compilateur (non copiées par windeployqt) ---
# --- DLLs runtime : copie automatique via ldd ---
# On copie d'abord les DLLs garanties (runtime GCC + KF5 + ICU)
# car ldd ne les liste pas toujours toutes (chargement dynamique).
echo "=== Copie DLLs runtime garanties ==="
UCRT=/ucrt64/bin
for dll in \
libgcc_s_seh-1.dll \
libstdc++-6.dll \
libwinpthread-1.dll \
libgomp-1.dll; do
[ -f "$UCRT/$dll" ] && cp -v "$UCRT/$dll" "$BIN/" || echo "WARN: $dll non trouve"
done
cp -v "$UCRT"/libicu*.dll "$BIN/" 2>/dev/null || echo "WARN: libicu*.dll non trouvees"
cp -v "$UCRT"/KF5*.dll "$BIN/" 2>/dev/null || echo "WARN: KF5*.dll non trouvees"
# Copie automatique de toutes les dependances UCRT64 detectees par ldd
echo "=== Copie automatique dependances ldd ==="
ldd "$BIN/QElectroTech.exe" \
| grep -i '/ucrt64/bin/' \
| awk '{print $3}' \
| while read -r dep; do
cp -v "$dep" "$BIN/" 2>/dev/null || true
done
# Passe recursive : certaines DLLs ont elles-memes des dependances UCRT64
echo "=== Passe recursive sur les DLLs copiees ==="
find "$BIN" -maxdepth 1 -name "*.dll" | while read -r lib; do
ldd "$lib" 2>/dev/null \
| grep -i '/ucrt64/bin/' \
| awk '{print $3}' \
| while read -r dep; do
[ -f "$BIN/$(basename "$dep")" ] || cp -v "$dep" "$BIN/" 2>/dev/null || true
done
done
echo "DLLs totales apres runtime : $(find "$BIN" -name '*.dll' | wc -l)"
# --- Diagnostic final ---
echo "=== ldd — dependances non resolues ==="
ldd "$BIN/QElectroTech.exe" | grep -i "not found" || echo "Aucune dependance manquante detectee"
cp -r "$GITHUB_WORKSPACE/elements" "$FILES/elements" || true
cp -r "$GITHUB_WORKSPACE/lang" "$FILES/lang" || 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/ico" "$FILES/ico" || true
for f in LICENSE ChangeLog CREDIT README ELEMENTS.LICENSE \
qet_uninstall_file_associations.reg register_filetypes.bat; do
cp "$GITHUB_WORKSPACE/$f" "$FILES/$f" 2>/dev/null || true
done
cp "$GITHUB_WORKSPACE/build-aux/windows/QET64.nsi" "$NSIS_ROOT/"
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra.nsh" "$NSIS_ROOT/" || true
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra_fr.nsh" "$NSIS_ROOT/" || true
cp "$GITHUB_WORKSPACE/build-aux/windows/lang_extra_missing.nsh" "$NSIS_ROOT/" || true
cp -r "$GITHUB_WORKSPACE/build-aux/windows/images" "$NSIS_ROOT/" || true
if [ -f "$GITHUB_WORKSPACE/build-aux/windows/Lancer QET.bat" ]; then
cp "$GITHUB_WORKSPACE/build-aux/windows/Lancer QET.bat" "$NSIS_ROOT/"
else
printf '@echo off\r\nstart "" "%%~dp0bin\\QElectroTech.exe" %%*\r\n' \
> "$NSIS_ROOT/Lancer QET.bat"
fi
- name: Ensure NSIS images (wizard.bmp + header.bmp)
shell: msys2 {0}
run: |
set -euo pipefail
IMG_SRC="$GITHUB_WORKSPACE/build-aux/windows/images"
IMG_DST="$GITHUB_WORKSPACE/nsis_root/images"
mkdir -p "$IMG_DST"
if [ -f "$IMG_SRC/wizard.bmp" ] && [ -f "$IMG_SRC/header.bmp" ]; then
echo "Images trouvees dans le repo, copie directe."
cp "$IMG_SRC/wizard.bmp" "$IMG_DST/wizard.bmp"
cp "$IMG_SRC/header.bmp" "$IMG_DST/header.bmp"
else
echo "Images absentes du repo — generation avec ImageMagick."
# wizard.bmp : 164x314 px, fond bleu QET, texte blanc
convert \
-size 164x314 \
gradient:"#1a3a5c"-"#2e6da4" \
-gravity Center \
-fill white \
-pointsize 13 \
-annotate 0 "QElectroTech" \
-type TrueColor \
BMP3:"$IMG_DST/wizard.bmp"
# header.bmp : 150x57 px, même palette
convert \
-size 150x57 \
gradient:"#1a3a5c"-"#2e6da4" \
-gravity Center \
-fill white \
-pointsize 11 \
-annotate 0 "QElectroTech" \
-type TrueColor \
BMP3:"$IMG_DST/header.bmp"
echo "BMPs generes."
fi
echo "Contenu de nsis_root/images/ :"
ls -lh "$IMG_DST/"
- name: Extract version for installer name
shell: msys2 {0}
id: qet_version
run: |
set -euo pipefail
VERSION=$(grep -A5 '^project(' "$GITHUB_WORKSPACE/CMakeLists.txt" \
| grep -oP '(?<=VERSION )[0-9]+\.[0-9]+[0-9.]*' | head -1 || true)
[ -z "$VERSION" ] && VERSION="dev"
GIT_SHORT=$(git -C "$GITHUB_WORKSPACE" rev-parse --short HEAD 2>/dev/null || echo "unknown")
FULL_VERSION="${VERSION}+git${GIT_SHORT}_x86_64-win64"
echo "version=$FULL_VERSION" >> "$GITHUB_OUTPUT"
echo "Detected version: $FULL_VERSION"
- name: Patch QET64.nsi — version uniquement
shell: msys2 {0}
run: |
set -euo pipefail
VERSION="${{ steps.qet_version.outputs.version }}"
NSI="$GITHUB_WORKSPACE/nsis_root/QET64.nsi"
# Patch version uniquement.
# Tous les chemins du .nsi sont relatifs (./files/, .\images\) et
# sont resolus par makensis depuis nsis_root/ — aucun patch necessaire.
sed -i "s|!define SOFT_VERSION .*|!define SOFT_VERSION \"${VERSION}\"|" "$NSI"
echo '=== SOFT_VERSION ==='
grep 'SOFT_VERSION' "$NSI"
echo '=== Structure nsis_root ==='
ls "$GITHUB_WORKSPACE/nsis_root/"
echo '=== Contenu files/bin (premiers fichiers) ==='
ls "$GITHUB_WORKSPACE/nsis_root/files/bin/" | head -10
- name: Build NSIS installer
shell: msys2 {0}
run: |
set -euo pipefail
cd "$GITHUB_WORKSPACE/nsis_root"
makensis QET64.nsi
- name: Move installer to dist/
shell: msys2 {0}
run: |
set -euo pipefail
mkdir -p "$GITHUB_WORKSPACE/dist"
mv "$GITHUB_WORKSPACE/nsis_root"/Installer_QElectroTech-*.exe \
"$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/ sans installeur)
uses: actions/upload-artifact@v4
with:
name: qelectrotech-windows-portable
path: nsis_root/files/
retention-days: 14
- name: Upload NSIS installer
uses: actions/upload-artifact@v4
with:
name: qelectrotech-windows-installer
path: dist/Installer_QElectroTech-*.exe
retention-days: 14
+3 -1
View File
@@ -3,5 +3,7 @@
# Qt build output
*.user
# doxygen Doxyfile output
doc/
doc/*
!doc/QElectroTech.qch
QElectroTech.tag
!doc/doc-utils
+3
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
+27 -36
View File
@@ -14,12 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
include(cmake/hoto_update_cmake_message.cmake)
cmake_minimum_required(VERSION 3.14...3.19 FATAL_ERROR)
cmake_minimum_required(VERSION 3.5...4.2)
project(qelectrotech
VERSION 0.9.0
VERSION 0.100.0
DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features."
HOMEPAGE_URL "https://qelectrotech.org/"
LANGUAGES CXX)
@@ -27,9 +25,16 @@ project(qelectrotech
include(cmake/copyright_message.cmake)
set(QET_DIR ${PROJECT_SOURCE_DIR})
include(cmake/qet_compilation_vars.cmake)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS ${QET_COMPONENTS})
qt_standard_project_setup()
# Add sub directories
option(PACKAGE_TESTS "Build the tests" ON)
option(PACKAGE_TESTS "Build the tests" NO)
if(PACKAGE_TESTS)
message("Add sub directory tests")
add_subdirectory(tests)
@@ -43,42 +48,16 @@ include(cmake/git_last_commit_sha.cmake)
include(cmake/fetch_kdeaddons.cmake)
include(cmake/fetch_singleapplication.cmake)
include(cmake/fetch_pugixml.cmake)
include(cmake/qet_compilation_vars.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
SET(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(
QT
NAMES
Qt6
Qt5
COMPONENTS
${QET_COMPONENTS}
REQUIRED
)
find_package(
Qt${QT_VERSION_MAJOR}
COMPONENTS
${QET_COMPONENTS}
REQUIRED)
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt5_add_translation(QM_FILES ${TS_FILES})
# als laatse
include(cmake/define_definitions.cmake)
add_executable(
qt_add_executable(
${PROJECT_NAME}
${QET_RES_FILES}
${QET_SRC_FILES}
@@ -86,13 +65,24 @@ add_executable(
${QET_DIR}/qelectrotech.qrc
)
if(QMFILES_AS_RESOURCE)
qt_add_translations(${PROJECT_NAME} TS_FILES ${TS_FILES} RESOURCE_PREFIX "/lang")
else()
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt_add_translation(QM_FILES ${TS_FILES})
endif()
find_package(SQLite3 REQUIRED)
target_link_libraries(
${PROJECT_NAME}
PUBLIC
PRIVATE
pugixml::pugixml
SingleApplication::SingleApplication
${KF5_PRIVATE_LIBRARIES}
SQLite::SQLite3
${KF6_PRIVATE_LIBRARIES}
${QET_PRIVATE_LIBRARIES}
)
@@ -125,11 +115,11 @@ target_include_directories(
${QET_DIR}/sources/NameList
${QET_DIR}/sources/NameList/ui
${QET_DIR}/sources/utils
${QET_DIR}/pugixml/src
${QET_DIR}/sources/dataBase
${QET_DIR}/sources/dataBase/ui
${QET_DIR}/sources/factory/ui
${QET_DIR}/sources/print
${QET_DIR}/sources/svg
)
install(TARGETS ${PROJECT_NAME})
@@ -149,6 +139,7 @@ install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share
install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications)
install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages)
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
if(NOT QMFILES_AS_RESOURCE)
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
endif()
endif()
+32
View File
@@ -266,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
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 ======
+6
View File
@@ -6,6 +6,8 @@
**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)
@@ -35,12 +37,16 @@
**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))
+748 -445
View File
File diff suppressed because it is too large Load Diff
+2535
View File
File diff suppressed because it is too large Load Diff
+17
View File
@@ -214,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.
+7 -4
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
@@ -59,6 +59,9 @@ Here are the technical choices made for the software development:
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.
### Build QElectroTech under Windows
To build QElectroTech under microsoft Windows, please follow [these instructions (french)](md/fr/fr_window_build_summary.md)
# Features
@@ -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": "23c793bad2429f4a81eee9f50e2d07ae845b7785"
}
],
"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"
}
]
}
}
]
}
@@ -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
@@ -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
@@ -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"]
+40
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"
}
]
}
]
}
+58
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"
}
]
}
]
}
-191
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
-128
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
+118
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
+505 -407
View File
@@ -1,407 +1,505 @@
; this file is part of installer for QElectroTech
; Copyright (C)2015 QElectroTech Team <scorpio@qelectrotech.org>
;
; 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., 675 Mass Ave, Cambridge, MA 02139, USA.
; WebSite : http://qelectrotech.org/
;--------------------------------
;Include Modern UI
!include x64.nsh
!include "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro Locate
!include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions
!ifndef PROC
!define PROC 32 ;
!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
;--------------------------------
;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"
!define MUI_WELCOMEFINISHPAGE_BITMAP ".\images\wizard.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP ".\images\header.bmp" ; optional
;--------------------------------
;Language Selection Dialog Settings
;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"
;--------------------------------
;Pages
!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
; 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_LANGUAGE "Swedish"
!insertmacro MUI_RESERVEFILE_LANGDLL
!include lang_extra.nsh
!include lang_extra_fr.nsh
SetOverwrite on
Section "Main Program"
SectionIn RO ; Read only, always installed
Setoutpath "$INSTDIR\bin\"
File "./files/bin/${SOFT_NAME}.exe"
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 /r "./files/ico"
SectionEnd
;---------------------------
SetOverwrite on
SubSection "$(Elements)" SEC01
SetOverwrite on
Section "$(Electric)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/10_electric"
SectionEnd
SetOverwrite on
Section "$(Logic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/20_logic"
SectionEnd
SetOverwrite on
Section "$(Hydraulic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/30_hydraulic"
SectionEnd
SetOverwrite on
Section "$(Pneumatic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/50_pneumatic"
SectionEnd
;---------------------------------
SubSection "$(Energy)"
SetOverwrite on
Section "$(water)"
SetOutPath "$INSTDIR\elements\60_energy"
File /r "./files/elements/60_energy/11_water"
File /r "./files/elements/60_energy/"
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
;-------------------------------
SetOverwrite on
Section "$(Lang)" SEC02
SetOutPath "$INSTDIR\lang"
File "./files/lang/*.qm"
SectionEnd
SetOverwrite on
Section "$(Titleblocks)" SEC03
SetOutPath "$INSTDIR"
File /r "./files/titleblocks"
SectionEnd
SetOverwrite on
Section "$(Examples)" SEC04
SetOutPath "$INSTDIR"
File /r "./files/examples"
SectionEnd
;--------------------------------
!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_FUNCTION_DESCRIPTION_END
;--------------------------------
;Installer Sections
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
; 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
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"
; 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$\""
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
; 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"
;changing $INSTDIR\elements\ *.elmt to read-only attribute
${Locate} "$INSTDIR\elements\" "/L=FD /M=*.elmt" "LocateCallback"
IfErrors 0 +2
;MessageBox MB_OK "Error"
SectionEnd
Function LocateCallback
SetFileAttributes $R9 FILE_ATTRIBUTE_READONLY
Push $0
FunctionEnd
;--------------------------------
;Installer Functions
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
${If} ${RunningX64}
${Else}
MessageBox MB_OK|MB_ICONSTOP $(wrongArch)
Abort $(wrongArch)
${EndIf}
;Auto-uninstall old before installing new
ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"UninstallString"
StrCmp $R0 "" done
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"$(installed)" \
IDOK uninst
Abort
;Run the uninstaller
uninst:
ClearErrors
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
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:
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
Section "Uninstall"
SetShellVarContext all ; all users
; remove start menu shortcuts
RMDir /r "$SMPROGRAMS\${SOFT_NAME}"
; remove shortcut on the desktop
Delete "$DESKTOP\QElectroTech.lnk"
; remove the 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!" IDOK 0 ; skipped if file doesn't exist
NoErrorMsg:
SectionEnd
;--------------------------------
;Uninstaller Functions
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
; this file is part of installer for QElectroTech
; Copyright (C)2015 QElectroTech Team <scorpio@qelectrotech.org>
;
; 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., 675 Mass Ave, Cambridge, MA 02139, USA.
; 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
;==============================================================================
;--------------------------------
; 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 64
!endif
;--------------------------------
; 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"
;--------------------------------
; General settings
CRCCheck force
BrandingText "${SOFT_NAME}-${SOFT_VERSION}-${SOFT_BUILD}"
; 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
; Name and output 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
; 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
;--------------------------------
; 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
;--------------------------------
; MUI Interface Settings
!define MUI_ABORTWARNING
; 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"
!define MUI_WELCOMEFINISHPAGE_BITMAP ".\images\wizard.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP ".\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
!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 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 désinstallation de la version précédente a échoué.$\nVeuillez désinstaller QElectroTech manuellement avant de continuer."
;==============================================================================
; SECTIONS
;==============================================================================
SetOverwrite on
Section "Main Program"
SectionIn RO ; Read-only always installed
SetOutPath "$INSTDIR\bin\"
File "./files/bin/${SOFT_NAME}.exe"
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 /r "./files/ico"
SectionEnd
;---------------------------
SetOverwrite on
SubSection "$(Elements)" SEC01
SetOverwrite on
Section "$(Electric)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/10_electric"
SectionEnd
SetOverwrite on
Section "$(Logic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/20_logic"
SectionEnd
SetOverwrite on
Section "$(Hydraulic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/30_hydraulic"
SectionEnd
SetOverwrite on
Section "$(Pneumatic)"
SetOutPath "$INSTDIR\elements"
File /r "./files/elements/50_pneumatic"
SectionEnd
;---------------------------------
SubSection "$(Energy)"
SetOverwrite on
Section "$(water)"
SetOutPath "$INSTDIR\elements\60_energy"
File /r "./files/elements/60_energy/11_water"
File /r "./files/elements/60_energy/"
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
;-------------------------------
SetOverwrite on
Section "$(Lang)" SEC02
SetOutPath "$INSTDIR\lang"
File "./files/lang/*.qm"
SectionEnd
SetOverwrite on
Section "$(Titleblocks)" SEC03
SetOutPath "$INSTDIR"
File /r "./files/titleblocks"
SectionEnd
SetOverwrite on
Section "$(Examples)" SEC04
SetOutPath "$INSTDIR"
File /r "./files/examples"
SectionEnd
SetOverwrite on
Section "$(Fonts)" SEC05
SetOutPath "$INSTDIR"
File /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 ${SEC05} $(var5)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Hidden section: registry, shortcuts, file associations
Section ""
SetOutPath "$INSTDIR"
; 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
; Store installation folder
WriteRegStr HKCU "Software\${SOFT_NAME}" "" $INSTDIR
; 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"'
; Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
; 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"
; 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
SectionEnd
;--------------------------------
; Locate callback sets FILE_ATTRIBUTE_READONLY on each .elmt file
Function LocateCallback
SetFileAttributes $R9 FILE_ATTRIBUTE_READONLY
Push $0
FunctionEnd
;==============================================================================
; INSTALLER FUNCTIONS
;==============================================================================
Function .onInit
; NSIS 3: SetRegView in .onInit ensures InstallDirRegKey reads the right hive
SetRegView 64
!insertmacro MUI_LANGDLL_DISPLAY
; Abort if not running on a 64-bit OS
${IfNot} ${RunningX64}
MessageBox MB_OK|MB_ICONSTOP $(wrongArch)
Abort
${EndIf}
; ----------------------------------------------------------------
; Auto-uninstall previous version before installing new one
; ----------------------------------------------------------------
ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${SOFT_NAME}" \
"UninstallString"
; 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
uninst:
; Remove surrounding quotes from the UninstallString if present
; (some installers write: "C:\path\Uninstall.exe" — ExecWait needs clean path)
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:
; Run the uninstaller silently, keeping it in its own directory
; _?= prevents NSIS from copying the uninstaller to a temp folder,
; so it can delete itself and the whole $INSTDIR tree.
ClearErrors
${If} $R1 != ""
ExecWait '"$R0" /S _?=$R1' ; silent uninstall using saved install dir
${Else}
ExecWait '"$R0" /S' ; fallback if install dir unknown
${EndIf}
IfErrors uninstall_failed
; Verify the old installation is gone before continuing
${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
;==============================================================================
; UNINSTALLER SECTION
;==============================================================================
Section "Uninstall"
SetRegView 64 ; NSIS 3: required so we delete from the correct hive
SetShellVarContext all
; Remove Start Menu shortcuts
RMDir /r "$SMPROGRAMS\${SOFT_NAME}"
; Remove Desktop shortcut
Delete "$DESKTOP\QElectroTech.lnk"
; 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:
SectionEnd
;==============================================================================
; UNINSTALLER FUNCTIONS
;==============================================================================
Function un.onInit
SetRegView 64 ; NSIS 3: match the view used during install
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
+213 -164
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,8 +18,34 @@
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ę."
LangString wrongArch ${LANG_POLISH} "To oprogramowanie jest przeznaczone wyłącznie dla komputerów 64 bitowych."
LangString Elements ${LANG_POLISH} "Elementy"
@@ -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."
+7 -4
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."
+335
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}。"
+10 -5
View File
@@ -62,10 +62,15 @@ message("PROJECT_SOURCE_DIR :" ${PROJECT_SOURCE_DIR})
message("QET_DIR :" ${QET_DIR})
message("GIT_COMMIT_SHA :" ${GIT_COMMIT_SHA})
if(BUILD_WITH_KF5)
message("KF5_GIT_TAG :" ${KF5_GIT_TAG})
else()
add_definitions(-DBUILD_WITHOUT_KF5)
if(BUILD_WITH_KF6 AND BUILD_KF6)
message("KF6_GIT_TAG :" ${KF6_GIT_TAG})
endif()
if(NOT BUILD_WITH_KF6)
add_definitions(-DBUILD_WITHOUT_KF6)
endif()
message("QET_COMPONENTS :" ${QET_COMPONENTS})
message("QT_VERSION_MAJOR :" ${QT_VERSION_MAJOR})
message("Qt version :" ${Qt6_VERSION})
if(QMFILES_AS_RESOURCE)
add_definitions(-DQMFILES_AS_RESOURCE)
endif()
+5 -2
View File
@@ -31,5 +31,8 @@ add_definitions(-DQT_MESSAGELOGCONTEXT)
# In order to do so, uncomment the following line.
#add_definitions(-DTODO_LIST)
# Build with KF5
option(BUILD_WITH_KF5 "Build with KF5" ON)
# Build with KF6
option(BUILD_WITH_KF6 "Build with KF6" ON)
# Use translations as a Qt resource
option(QMFILES_AS_RESOURCE "Use .qm files as Qt resource" ON)
+26 -38
View File
@@ -1,4 +1,4 @@
# Copyright 2006 The QElectroTech Team
# Copyright 2006-2026 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
@@ -14,54 +14,42 @@
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - fetch_kdeaddons")
option(BUILD_KF6 "Build KF6 libraries, use system ones otherwise" OFF)
if(BUILD_KF6)
block(PROPAGATE KF6_GIT_TAG)
message(STATUS " - fetch_kdeaddons")
set(KDE_SKIP_TEST_SETTINGS ON)
set(KCOREADDONS_USE_QML OFF)
set(KWIDGETSADDONS_USE_QML OFF)
set(BUILD_TESTING OFF)
set(BUILD_DESIGNERPLUGIN OFF)
set(BUILD_QCH OFF)
set(BUILD_SHARED_LIBS OFF)
if(DEFINED BUILD_WITH_KF5)
Include(FetchContent)
Include(FetchContent)
option(BUILD_KF5 "Build KF5 libraries, use system ones otherwise" YES)
if(BUILD_KF5)
if(NOT DEFINED KF5_GIT_TAG)
#https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
set(KF5_GIT_TAG v5.77.0)
if(NOT DEFINED KF6_GIT_TAG)
set(KF6_GIT_TAG v6.22.0)
endif()
# Fix stop the run autotests of kcoreaddons
# see
# https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98
# issue:
# CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
# Cannot find source file:
# see
# https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
set(KDE_SKIP_TEST_SETTINGS "TRUE")
set(BUILD_TESTING "0")
FetchContent_Declare(
ecm
GIT_REPOSITORY https://invent.kde.org/frameworks/extra-cmake-modules.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(ecm)
FetchContent_Declare(
kcoreaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git
GIT_TAG ${KF5_GIT_TAG})
GIT_TAG ${KF6_GIT_TAG})
FetchContent_MakeAvailable(kcoreaddons)
FetchContent_Declare(
kwidgetsaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git
GIT_TAG ${KF5_GIT_TAG})
GIT_TAG ${KF6_GIT_TAG})
FetchContent_MakeAvailable(kwidgetsaddons)
else()
find_package(KF5CoreAddons REQUIRED)
find_package(KF5WidgetsAddons REQUIRED)
endif()
set(KF5_PRIVATE_LIBRARIES
KF5::WidgetsAddons
KF5::CoreAddons
)
endblock()
else()
find_package(KF6CoreAddons REQUIRED)
find_package(KF6WidgetsAddons REQUIRED)
endif()
set(KF6_PRIVATE_LIBRARIES
KF6::CoreAddons
KF6::WidgetsAddons
)
+5 -9
View File
@@ -1,4 +1,4 @@
# Copyright 2006 The QElectroTech Team
# Copyright 2006-2026 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
@@ -14,18 +14,14 @@
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - fetch_pugixml")
Include(FetchContent)
option(BUILD_PUGIXML "Build pugixml library, use system one otherwise" YES)
option(BUILD_PUGIXML "Build pugixml library, use system one otherwise" OFF)
if(BUILD_PUGIXML)
Include(FetchContent)
message(" - fetch pugixml")
FetchContent_Declare(
pugixml
GIT_REPOSITORY https://github.com/zeux/pugixml.git
GIT_TAG v1.11.4)
GIT_TAG v1.15)
FetchContent_MakeAvailable(pugixml)
else()
+2 -5
View File
@@ -1,4 +1,4 @@
# Copyright 2006 The QElectroTech Team
# Copyright 2006-2026 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
@@ -16,9 +16,6 @@
message(" - fetch_singleapplication")
# https://github.com/itay-grudev/SingleApplication/issues/18
#qmake
#DEFINES += QAPPLICATION_CLASS=QGuiApplication
set(QAPPLICATION_CLASS QApplication)
Include(FetchContent)
@@ -26,6 +23,6 @@ Include(FetchContent)
FetchContent_Declare(
SingleApplication
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
GIT_TAG v3.2.0)
GIT_TAG v3.5.4)
FetchContent_MakeAvailable(SingleApplication)
-25
View File
@@ -1,25 +0,0 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech 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.
#
# QElectroTech 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 QElectroTech. If not, see <http://www.gnu.org/licenses/>.
if(${CMAKE_VERSION} VERSION_LESS 3.14)
message(
"_____________________________________________________________________")
message("to update Cmake on linux:")
message("https://github.com/Kitware/CMake/")
message("linux => cmake-3.19.1-Linux-x86_64.sh")
message(" sudo ./cmake.sh --prefix=/usr/local/ --exclude-subdir")
message("windows good luck :)")
endif()
+21 -7
View File
@@ -17,6 +17,8 @@
message(" - qet_compilation_vars")
set(QET_COMPONENTS
Core
Gui
LinguistTools
PrintSupport
Xml
@@ -88,6 +90,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
@@ -109,9 +112,17 @@ set(QET_SRC_FILES
${QET_DIR}/sources/borderproperties.h
${QET_DIR}/sources/bordertitleblock.cpp
${QET_DIR}/sources/bordertitleblock.h
# ${QET_DIR}/sources/colorbutton.cpp
# ${QET_DIR}/sources/colorbutton.h
# ${QET_DIR}/sources/colorcombobox.cpp
# ${QET_DIR}/sources/colorcombobox.h
# ${QET_DIR}/sources/colorcomboboxdelegate.cpp
# ${QET_DIR}/sources/colorcomboboxdelegate.h
${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 +262,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
@@ -413,10 +426,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.cpp
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.h
${QET_DIR}/pugixml/src/pugiconfig.hpp
${QET_DIR}/pugixml/src/pugixml.cpp
${QET_DIR}/pugixml/src/pugixml.hpp
${QET_DIR}/sources/qetgraphicsitem/conductor.cpp
${QET_DIR}/sources/qetgraphicsitem/conductor.h
${QET_DIR}/sources/qetgraphicsitem/conductortextitem.cpp
@@ -495,6 +504,9 @@ set(QET_SRC_FILES
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.cpp
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.h
${QET_DIR}/sources/svg/qetsvg.cpp
${QET_DIR}/sources/svg/qetsvg.h
${QET_DIR}/sources/titleblock/dimension.cpp
${QET_DIR}/sources/titleblock/dimension.h
${QET_DIR}/sources/titleblock/dimensionwidget.cpp
@@ -630,6 +642,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
@@ -706,6 +720,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/xml/terminalstripitemxml.cpp
${QET_DIR}/sources/xml/terminalstripitemxml.h
${QET_DIR}/sources/xml/terminalstriplayoutpatternxml.cpp
${QET_DIR}/sources/xml/terminalstriplayoutpatternxml.h
)
set(TS_FILES
@@ -726,19 +742,17 @@ 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_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
)
+3
View File
@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b7798233e8251baac7717d4b0f991ad5fdf23a76d9fbe864d363e3b93458560
size 529821696
File diff suppressed because it is too large Load Diff
+18
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
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.
Submodule doxygen-awesome-css added at 568f56cde6
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+1184 -819
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+1005 -674
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+961 -625
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+957 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+952 -625
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+14620
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+14621
View File
File diff suppressed because it is too large Load Diff
+948 -623
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+950 -624
View File
File diff suppressed because it is too large Load Diff
+1106 -746
View File
File diff suppressed because it is too large Load Diff
+948 -623
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+948 -622
View File
File diff suppressed because it is too large Load Diff
+76
View File
@@ -0,0 +1,76 @@
.TH QELECTROTECH 1 "AOÛT 2008" QElectroTech "사용자 설명서"
.SH 이름
qelectrotech \- 전기 도면 편집기
.SH 사용법
.B qelectrotech
.B [\-\-common\-elements\-dir\fR=\fI경로\fB]
.B [\-\-config\-dir\fR=\fI경로\fB]
.B [\-\-lang\-dir\fR=\fI경로\fB]
.B [\-\-help]
.B [\-v\fR|\fB\-\-version]
.B [\-\-license]
.B [\fI파일\fB]...
.SH 설명
QElectroTech는 전기 도면 편집기입니다. 도면(*.qet)과 전기 요소(*.elmt)는 XML 형식으로 저장됩니다.
도면에서 사용할 수 있는 요소는 공용 컬렉션 또는 사용자 컬렉션에서 가져올 수 있습니다.
일반적으로 공용 컬렉션은 모든 사용자가 접근할 수 있지만 사용자가 편집할 수는 없습니다.
사용자 컬렉션은 각 사용자에게 고유하며 사용자가 원하는 대로 수정할 수 있습니다.
.SH 옵션
.TP
\fB\-\-common\-elements\-dir\fR=\fI경로\fR
공용 요소(Elements) 컬렉션의 루트로 \fI경로\fR 폴더를 사용합니다.
참고: 이 옵션은 컴파일 시 QET_ALLOW_OVERRIDE_CED_OPTION 지시문이 지정된 경우에만 활성화됩니다.
.TP
\fB\-\-config\-dir\fR=\fI경로\fR
현재 사용자의 설정 폴더로 \fI경로\fR 폴더를 사용합니다.
이 폴더에는 애플리케이션 설정을 담은 qelectrotech.conf 파일과, 사용자 요소 컬렉션을 담는 elements 하위 폴더가 포함됩니다.
참고: 이 옵션은 컴파일 시 QET_ALLOW_OVERRIDE_CD_OPTION 지시문이 지정된 경우에만 활성화됩니다.
.TP
\fB\-\-lang\-dir\fR=\fI경로\fR
애플리케이션 번역 파일을 \fI경로\fR 폴더에서 찾습니다.
.TP
\fB\-\-help\fR
사용 가능한 옵션에 대한 간단한 설명을 표시합니다.
.TP
\fB\-v\fR, \fB\-\-version\fR
애플리케이션 버전을 표시합니다(예: 0.1).
.TP
\fB\-\-license\fR
애플리케이션 라이선스(GNU/GPL)를 표시합니다.
.P
참고: 위 옵션 중 마지막 3개(\-\-lang\-dir, \-\-help, \-\-version, \-\-license 관련)는 명령행에서 지정되면
해당 정보를 표시한 뒤 프로그램이 종료됩니다.
사용자가 이미 애플리케이션을 실행 중인 경우에는, 실행 중인 인스턴스가 명령행을 처리하며 특히 열 파일 목록에 적용됩니다.
다만 폴더를 재정의하는 옵션(공용 컬렉션/설정 폴더/언어 파일 폴더)은 적용되지 않습니다.
열 파일의 확장자가 .elmt로 끝나면 QElectroTech는 요소 편집기로 열려고 시도합니다.
그 외에는 도면 파일로 간주합니다.
.SH 작성자
Benoît Ansieau <benoit@qelectrotech.org>
.br
Xavier Guerrin <xavier@qelectrotech.org>
.br
Laurent Trinques <scorpio@qelectrotech.org>
.br
Joshua Claveau <joshua@qelectrotech.org>
.br
Cyril.frausti <cyril@qelectrotech.org>
.br
.SH 버그 신고
애플리케이션에서 비정상 동작이 의심되면, FAQ <http://qelectrotech.org/wiki/doku.php?id=doc:faq> 와
BugTracker <http://qelectrotech.org/bugtracker/> 를 확인하여 이미 알려진 문제인지 확인해 주세요.
해당 문제가 없다면 BugTracker를 통해 버그 리포트를 제출해 주세요.
.SH 저작권
Copyright © QElectroTech 개발자
.br
라이선스: GNU/GPL v2+ : <http://www.gnu.org/licenses/old\-licenses/gpl\-2.0.html>
.br
이 프로그램은 자유 소프트웨어입니다. 수정 및 재배포할 수 있습니다. 이 프로그램은 “있는 그대로(as is)” 제공되며 어떠한 보증도 없습니다.
.SH 참고
공식 사이트: <http://qelectrotech.org/>
Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

+101
View File
@@ -0,0 +1,101 @@
Compiler QElectroTech sous microsoft Windows 10 et 11 avec MSYS2
================================
Ce document décrit les étapes nécessaire afin de compilé QElectroTech sous Windows avec Qt6 et cmake en utilisant MSYS2.
# MSYS2
L'ensemble des outils nécessaire au développement et à la compilation de QElectroTech sous Windows sera installé par lintermédiaire de [MSYS2](https://www.msys2.org/). Cela comprend entre autre le framework [Qt6](https://www.qt.io/development/qt-framework/qt6), les outils cmake, les dépendances ([kde framework](https://develop.kde.org/docs/), [sqlite](https://sqlite.org/), [pugixml](https://pugixml.org/)), les outils de compilation [minGW](https://www.mingw-w64.org/)...
>Il sera nécessaire d'utiliser [winget](https://learn.microsoft.com/fr-fr/windows/package-manager/winget/), celui-ci est présent par défaut sous Windows 11, dans le cas de Windows 10, winget peut necessité d'être activé manuellement
# Installer GIT et MSYS2 avec winget
Avec power shell.
```
winget install Git.Git
```
puis
```
winget install MSYS2.MSYS2
```
## Mise à jour de MSYS2
Lors de la première utilisation de MSYS2 il est nécessaire de mettre celui-ci à jour.
Lancer "MSYS2 MSYS" depuis le menu démarré de Windows.
Une fenêtre avec un shell s'ouvre, dans celui-ci lancer la commande :
```
pacman -Syu
```
A la fin de la mise à jour MSYS2 MSYS se fermera automatiquement. Ouvrez le à nouveau et relancé la commande
```
pacman -Syu
```
## Installation des outils de devellopement
Toujours dans le shell MSYS2 MSYS lancer la commande suivante.
```
pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-qt6-svg mingw-w64-ucrt-x86_64-qt6-base mingw-w64-ucrt-x86_64-sqlite3 mingw-w64-ucrt-x86_64-pugixml mingw-w64-ucrt-x86_64-kcoreaddons mingw-w64-ucrt-x86_64-kwidgetsaddons mingw-w64-ucrt-x86_64-extra-cmake-modules mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-qt6-translations mingw-w64-ucrt-x86_64-qt6-tools
```
> La quantité de paquets à installer est conséquent, en fonction de votre connexion internet cela peut prendre plusieurs dizaine de minute
L'ensemble des outils est mantenant installé 😀
# Installer Qt creator
Télécharger [l'installateur online de Qt](https://www.qt.io/development/download-qt-installer-oss) et lancer l'installation en suivant les indications de ce dernier.
>Dans le cas où vous comptez utilisé Qt Creator uniquement pour développez QElectroTech, lors de l'installation choisissez l'option "installation personnalisée" puis dans la page suivante sélectionné uniquement Qt Creator.
## Configurer Qt creator
Ouvrir Qt creator puis rendez vous dans "édition -> préférence -> kit"
### Versions de Qt
- Cliquer sur _ajouter_
- Renseigner _Chemin de qmake_ (exemple C:\\msys64\\ucrt64\\bin\\qmake.exe).
- Dans le champ _Nom :_ ajouter (msys2).
![](assets/windows_msys2_setup/qt_version.png)
### Compilateurs
- Cliquer sur _ajouter_ puis choisir _MinGW_.
- Renseigner _Emplacement du compilateur C_ (exemple C:\\msys64\\ucrt64\\bin\\g++.exe).
- Dans le champ _Nom :_ ajouter (msys2).
![](assets/windows_msys2_setup/compiler.png)
### Débogueurs
- Cliquer sur _ajouter_
- Renseigner _Chemin :_ (exemple C:\\msys64\\ucrt64\\bin\\gdb.exe).
- Dans le champ _Nom :_ ajouter (msys2).
![](assets/windows_msys2_setup/debugger.png)
### cmake
- Outils -> _Ajouter_
- Renseigner _Chemin :_ (exemple C:\\msys64\\ucrt64\\bin\\cmake.exe).
- Dans le champ _Nom :_ ajouter (msys2).
![](assets/windows_msys2_setup/cmake.png)
### KIT
Maintenant que tous les prérequis sont fait nous allons crée un kit utilisant les outils fournis par MSYS2. Cliquer sur _Ajouter_, un nouveau kit _manuel_ apparaît, nommer celui-ci par exemple _Qt6 msys2_ puis renseigner le compilateur, le débogueur, la version de Qt et Outils CMake en choisissant à chaque fois ceux que nous venons de créer.
puis cliquer sur _appliquer_.
![](assets/windows_msys2_setup/kit.png)
Bravo 🥳🥳 vous avez terminé l'installation de la totalité des outils de développement.
# Clonez le dépôts de QElectrotech
Clonez le dépôt de QElectroTech comme vous le faite habituellement, sinon utilisez les commandes suivante dans power shell.
Crée et/ou se rendre dans le dossier dans lequel vous voulez clonez le dépôt (dans l'exemple nous allons crée un dossier QElectroTech dans C:)
```
mkdir C:\QElectroTech
cd C:\QElectroTech
git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
```
Une fois le dépôt cloné lancer Qt creator puis choisir d'ouvrir un projet existant, en choisissant le _CMakeLists.txt_ se trouvant à la racine du projet QElectroTech, enfin dans l'assistant de création de projet choisir comme kit le kit que nous avons créer précédemment.
+13
View File
@@ -0,0 +1,13 @@
Compiler QElectroTech sous microsoft Windows 10 et 11
================================
Compiler QElectroTech pour et/ou sous Windows peut être effectué avec plusieurs méthode différente.
Ce document énumère uniquement les différentes méthode possible
N'est mentionné que les étapes nécessaire afin de compilé QElectroTech sous Windows avec Qt6 et cmake. Ce document ne traite pas la compilation avec Qt5 et qmake.
>QElectroTech 0.100 est la dernière version à utiliser Qt5. Les version suivante sont développé avec Qt6 et utilise cmake au lieu de qmake.
Il existe deux méthodes pour cela :
1. [Utiliser msys2 (méthode recommandé)](fr_window_build_msys2.md)
2. Télécharger et compiler l'ensemble des dépendances (non rédigé)
+25 -1
View File
@@ -7,7 +7,7 @@ Icon=qelectrotech
Terminal=false
Type=Application
MimeType=application/x-qet-project;application/x-qet-element;application/x-qet-titleblock;
Categories=Graphics;Qt;VectorGraphics;Science;Electricity;Engineering;
Categories=Graphics;
Keywords=Graphics;Science;Electricity;Engineering;
Comment=Edit electrical diagrams.
Comment[ar]=تحرير مخططات كهربائية
@@ -22,11 +22,23 @@ Comment[fr]=Éditer des schémas électriques.
Comment[hr]=Uredi elektro sheme
Comment[it]=Disegnare schemi elettrici
Comment[ja]=電気回路図の編集。
Comment[ko]=전기 도면을 편집합니다.
Comment[nl]=Bewerken bedradingsdiagrammen.
Comment[pl]=Edycja schematów elektrycznych
Comment[pt]=Criar esquemas eléctricos.
Comment[ru]=Создание и редактирование электрических схем.
Comment[sk]=Úprava elektrických schém.
Comment[hu]=Elektromos kapcsolási rajzok szerkesztése.
Comment[mn]=Цахилгааны схем засварлах.
Comment[nb]=Rediger elektriske diagrammer.
Comment[pt_BR]=Editar diagramas elétricos.
Comment[ro]=Editați diagrame electrice.
Comment[sl]=Uredite električne sheme.
Comment[sr]=Уређивање електричних дијаграма.
Comment[sv]=Redigera elektriska diagram.
Comment[tr]=Elektrik şemalarını düzenleyin.
Comment[uk]=Редагування електричних схем.
Comment[zh]=编辑电气图。
GenericName=Electrical diagram editor
GenericName[ar]=مُحرّر مخططات كهربائية
GenericName[be]=Elektrische schema editor
@@ -40,8 +52,20 @@ GenericName[fr]=Éditeur de schémas électriques
GenericName[hr]=Editor elektro sheme
GenericName[it]=Programma per disegnare schemi elettrici
GenericName[ja]=電気回路図エディタ
GenericName[ko]=전기 도면 편집기
GenericName[nl]=Elektrische schema editor
GenericName[pl]=Edytor schematów elektrycznych
GenericName[pt]=Editor de esquemas eléctricos.
GenericName[ru]=Редактор электрических схем
GenericName[sk]=Editor elektrických schém
GenericName[hu]=Elektromos kapcsolási rajz szerkesztő
GenericName[mn]=Цахилгааны схемийн засварлагч
GenericName[nb]=Elektrisk diagram editor
GenericName[pt_BR]=Editor de diagramas elétricos
GenericName[ro]=Editor de diagrame electrice
GenericName[sl]=Urejevalnik električnih shem
GenericName[sr]=Уређивач електричних дијаграма
GenericName[sv]=Elektriskt diagramredigerare
GenericName[tr]=Elektrik şeması düzenleyici
GenericName[uk]=Редактор електричних схем
GenericName[zh]=电气图编辑器
+93 -11
View File
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2006-2025 The QElectroTech Team -->
<application>
<id type="desktop">qelectrotech.desktop</id>
<!-- Copyright 2006-2026 The QElectroTech Team -->
<component type="desktop-application">
<id>org.qelectrotech.QElectroTech</id>
<launchable type="desktop-id">org.qelectrotech.QElectroTech.desktop</launchable>
<metadata_license>MIT</metadata_license>
<project_license>GPL-2.0-or-later</project_license>
<name>QElectroTech</name>
@@ -13,18 +14,32 @@
<summary xml:lang="da">Elektrisk diagram redigering</summary>
<summary xml:lang="de">Zeichenprogramm für Schaltpläne</summary>
<summary xml:lang="el">Επεξεργαστής ηλεκτρικών διαγραμμάτων</summary>
<summary xml:lang="ex">Editor de esquemas eléctricos</summary>
<summary xml:lang="es">Editor de esquemas eléctricos</summary>
<summary xml:lang="fr">Éditeur de schémas électriques</summary>
<summary xml:lang="hr">Editor elektro sheme</summary>
<summary xml:lang="it">Programma per disegnare schemi elettrici</summary>
<summary xml:lang="ja">電気回路図エディタ</summary>
<summary xml:lang="ko">전기 도면 편집기</summary>
<summary xml:lang="nl">Elektrische schema bewerker</summary>
<summary xml:lang="pl">Edytor schematów elektrycznych</summary>
<summary xml:lang="pt">Editor de esquemas eléctricos</summary>
<summary xml:lang="ru">Редактор электрических схем</summary>
<summary xml:lang="en">Electrical diagram editor</summary>
<summary xml:lang="hu">Elektromos kapcsolási rajz szerkesztő</summary>
<summary xml:lang="mn">Цахилгааны схемийн засварлагч</summary>
<summary xml:lang="nb">Elektrisk diagram editor</summary>
<summary xml:lang="pt_BR">Editor de diagramas elétricos</summary>
<summary xml:lang="ro">Editor de diagrame electrice</summary>
<summary xml:lang="sk">Editor elektrických schém</summary>
<summary xml:lang="sl">Urejevalnik električnih shem</summary>
<summary xml:lang="sr">Уређивач електричних дијаграма</summary>
<summary xml:lang="sv">Elektriskt diagramredigerare</summary>
<summary xml:lang="tr">Elektrik şeması düzenleyici</summary>
<summary xml:lang="uk">Редактор електричних схем</summary>
<summary xml:lang="zh">电气图编辑器</summary>
<content_rating type="oars-1.1"/>
<releases>
<release version="0.9-dev" date="2021-02-21"/>
<release version="0.100.1-dev" date="2026"/>
</releases>
<description>
<p>
@@ -71,6 +86,10 @@
QElectroTech は電気回路図を作成する Qt5 アプリケーションです。
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
</p>
<p xml:lang="ko">
QElectroTech는 전기 도면을 설계하기 위한 Qt5 기반 애플리케이션입니다.
요소와 도면을 XML 형식으로 관리하며, 도면 편집기, 요소 편집기, 표제란 편집기를 포함하고 있습니다.
</p>
<p xml:lang="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.
@@ -87,10 +106,73 @@
QElectroTech - приложение написанное на Qt5 и предназначено для разработки электрических схем.
Приложение использует для хранения проектов и библиотек элементов файлы в XML формате. Приложение помимо редактора электричесих схем, содержит также редакторы элементов и редактор шаблонов листов.
</p>
<p xml:lang="hr">
QElectroTech je Qt5 aplikacija za projektiranje elektro shema.
Koristi XML datoteke za elemente i sheme, te uključuje uređivač shema, uređivač elemenata i uređivač zaglavlja.
</p>
<p xml:lang="hu">
A QElectroTech egy Qt5 alapú alkalmazás elektromos kapcsolási rajzok tervezéséhez.
XML fájlokat használ az elemekhez és rajzokhoz, és tartalmaz egy rajzszerkesztőt, egy elemszerkesztőt és egy fejlécszerkesztőt.
</p>
<p xml:lang="mn">
QElectroTech нь Qt5 дээр суурилсан цахилгааны схем зохиох програм юм.
Элемент болон схемүүдэд XML файл ашигладаг бөгөөд схем засварлагч, элемент засварлагч, гарчгийн блок засварлагчийг агуулдаг.
</p>
<p xml:lang="nb">
QElectroTech er et Qt5-program for å lage elektriske skjemaer.
Det bruker XML-filer for elementer og skjemaer, og inkluderer en skjemaeditor, en elementeditor og en tittelblokkreditor.
</p>
<p xml:lang="pt_BR">
QElectroTech é uma aplicação Qt5 para desenhar diagramas elétricos.
Utiliza arquivos XML para os elementos e diagramas, e inclui um editor de diagramas, um editor de elementos e um editor de cartuchos.
</p>
<p xml:lang="ro">
QElectroTech este o aplicație Qt5 pentru proiectarea schemelor electrice.
Utilizează fișiere XML pentru elemente și scheme, și include un editor de scheme, un editor de elemente și un editor de cartușe.
</p>
<p xml:lang="sk">
QElectroTech je Qt5 aplikácia na navrhovanie elektrických schém.
Pre prvky a schémy používa súbory XML a zahŕňa editor schém, editor prvkov a editor titulkových blokov.
</p>
<p xml:lang="sl">
QElectroTech je aplikacija Qt5 za načrtovanje električnih shem.
Za elemente in sheme uporablja datoteke XML ter vključuje urejevalnik shem, urejevalnik elementov in urejevalnik naslovnih blokov.
</p>
<p xml:lang="sr">
QElectroTech је Qt5 апликација за пројектовање електричних шема.
Користи XML датотеке за елементе и шеме, и укључује уређивач шема, уређивач елемената и уређивач заглавља.
</p>
<p xml:lang="sv">
QElectroTech är ett Qt5-program för att rita elektriska schema.
Det använder XML-filer för element och schema, och inkluderar en schemaredigerare, en elementredigerare och en titelblocksredigerare.
</p>
<p xml:lang="tr">
QElectroTech, elektrik şemaları tasarlamak için bir Qt5 uygulamasıdır.
Elemanlar ve şemalar için XML dosyaları kullanır; şema düzenleyicisi, eleman düzenleyicisi ve başlık bloğu düzenleyicisini içerir.
</p>
<p xml:lang="uk">
QElectroTech — це Qt5 застосунок для проектування електричних схем.
Використовує XML-файли для елементів і схем, і включає редактор схем, редактор елементів та редактор основних написів.
</p>
<p xml:lang="zh">
QElectroTech 是一款基于 Qt5 的电气图设计应用程序。
它使用 XML 文件存储元件和图纸,包含图纸编辑器、元件编辑器和标题栏编辑器。
</p>
</description>
<url type="homepage">http://qelectrotech.org</url>
<screenshots>
<screenshot type="default">http://download.tuxfamily.org/qet/screens/qelectrotech5.png</screenshot>
</screenshots>
<updatecontact>qet@lists.tuxfamily.org</updatecontact>
</application>
<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>
<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>
<update_contact>scorpio@qelectrotech.org</update_contact>
</component>

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