Compare commits

...

1243 Commits

Author SHA1 Message Date
Laurent Trinques
1a1e8a2299 Fix Summary headline issue on german 2025-09-13 09:43:04 +02:00
Laurent Trinques
75c1485ead
Merge pull request #404 from arummler/master-fix-missing-language
Fixing translation file list in CMake
2025-09-12 10:46:37 +02:00
Laurent Trinques
4ebaf073d6 Fix bug https://qelectrotech.org/bugtracker/view.php?id=330 2025-09-12 10:44:39 +02:00
Laurent Trinques
8a96097d41 Fix Summary headline issue in German
https://qelectrotech.org/forum/viewtopic.php?pid=22082#p22082
2025-09-11 13:32:29 +02:00
Laurent Trinques
43826361a4
Merge pull request #403 from arummler/master-update-dependencies
Update dependencies to fix compilation errors
2025-09-11 12:40:53 +02:00
Andre Rummler
67b80364e1 CMAKE/FIX: BE was missing as it had been renamed to nl_BE. RS and UK were not included. 2025-09-08 23:52:27 +02:00
Andre Rummler
ea9d57cdde Update googltest library to v1.17.0 2025-09-08 13:27:56 +02:00
Andre Rummler
bad60834cc Update Catch2 library to v2.13.10 2025-09-08 13:26:54 +02:00
Laurent Trinques
6119d49d15 Add new Photovoltaïque examples found on www.. 2025-09-06 10:10:00 +02:00
Laurent Trinques
acf0eb8f6a git submodule update --remote elements 2025-09-01 05:06:50 +02:00
Laurent Trinques
3cadedaf9e
Merge pull request #401 from Evilscrack/master
Minor corrections to prevent crashes
2025-08-31 11:47:41 +02:00
Pascal Sander
84ac394d3b Refactor to more QRectF to be more compatible with QPrinter. #5 2025-08-30 12:08:54 +02:00
Pascal Sander
27b21b38aa Fixed incorrect cast from ElementCollectionItem to FileElementCollectionItem #4 2025-08-22 20:12:27 +02:00
Evilscrack
12b33e15a3
Merge branch 'qelectrotech:master' into master 2025-08-22 19:26:25 +02:00
Laurent Trinques
2ec1aecd53
Merge pull request #399 from ChuckNr11/master
Correct compositeText alignment on copying
2025-08-20 16:38:57 +02:00
achim
73ce3ae9fe Correct compositeText alignment on copying
After the commit 'Correcting dynamicElementTextItem alignment on
copying', not all composite text was displayed correctly. As soon as the
composite text contained multiple variables in a line or user text, the
alignment was no longer correct. Furthermore, the text value was not
correctly written to the clipboard, so it was no longer present when
pasting. I have corrected these errors here.
2025-08-19 20:16:31 +02:00
Laurent Trinques
6375136a50 Fix bughttps://qelectrotech.org/bugtracker/view.php?id=329
Modification of the int BACKUP_INTERVAL from 2 min to 20 min used by
KautoSaveFile.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Greetings.
2025-01-15 19:49:47 +01:00
Laurent Trinques
9bfde721bf Update pugixml to v1.15 2025-01-12 16:39:33 +01:00
Laurent Trinques
9964eee202
Merge pull request #324 from plc-user/master
update German translation
2025-01-09 11:49:53 +01:00
Laurent Trinques
03d31986b7 Update README.md 2025-01-09 05:23:56 +01:00
plc-user
33ce130296 update German translation 2025-01-08 16:17:52 +01:00
Laurent Trinques
e21536d184 git submodule update --remote elements 2025-01-05 14:09:04 +01:00
Laurent Trinques
ffba440c6e Rename (be) translation to Belgium-Flemish nl_BE 2025-01-05 13:55:48 +01:00
Laurent Trinques
ad997605ec Rename (be) translation to Belgium-Flemish nl_BE 2025-01-05 13:17:59 +01:00
Laurent Trinques
e2eace06d3
Merge pull request #323 from plc-user/master
fix copyright-year
2025-01-05 07:30:10 +01:00
plc-user
ed8728c45a fix copyright-year 2025-01-04 17:25:20 +01:00
Laurent Trinques
77bfe84a4c One year 2025-01-04 13:37:40 +01:00
Laurent Trinques
e053acb065 Add binary pt_BR translation 2025-01-03 06:50:24 +01:00
Laurent Trinques
b5d57086bc
Merge pull request #322 from gleissonjoaquim3/master
PT-BR language update
2025-01-03 06:05:12 +01:00
gleissonjoaquim3
b456bedaa3 lang/qet_pt_BR.ts
PT-BR language update
2025-01-03 01:33:13 -03:00
Laurent Trinques
db18095cfb
Merge pull request #319 from ChuckNr11/master
Change Sorting of ElementInfo ComboBox
2025-01-01 09:01:48 +01:00
Achim
3438ba9ab3 composite text of report element corrected
In the ElementEditor, incorrect variables were displayed for
CompositeText in ReportElements.  This is corrected here
2024-12-31 21:58:42 +01:00
Laurent Trinques
1078496bb1
Merge pull request #320 from plc-user/master
Fix: Only scroll diagram-view, when moved text leaves visible area
2024-12-31 16:04:26 +01:00
plc-user
711353bb58 Fix whitespace 2024-12-31 16:01:47 +01:00
plc-user
dd7955e50e Fix: Only scroll diagram-view, when moved text leaves visible area 2024-12-31 15:52:17 +01:00
Achim
7a617e72bd a few small corrections 2024-12-31 08:40:56 +01:00
Achim
e73aa3b84d ComboBox change sorting
alphabetical sorting in the ComboBox changed according to the order in
the elementInfoKeys list
2024-12-31 08:40:03 +01:00
Achim
8e0c3f4252 german language file adapted 2024-12-31 08:32:41 +01:00
Laurent Trinques
27474b0822 Refresh translation binary 2024-12-27 15:00:44 +01:00
Laurent Trinques
d6dcc85157
Update qet_be.ts 2024-12-27 14:59:06 +01:00
Laurent Trinques
b2dc6ba738 Add be-nl translation, thanks Ronny 2024-12-27 14:16:31 +01:00
Laurent Trinques
31ed09f185 Revert "Try to fix https://github.com/qelectrotech/qelectrotech-source-mirror/"
This reverts commit 3992c60c45adfbbbecca119e1e505e9d3f0bc0d7.
2024-12-22 16:17:32 +01:00
Laurent Trinques
3992c60c45 Try to fix https://github.com/qelectrotech/qelectrotech-source-mirror/
pull/314
2024-12-22 14:25:30 +01:00
Laurent Trinques
fef351df8b Typo 2024-12-22 08:44:19 +01:00
Laurent Trinques
fa322af060
Merge pull request #317 from qelectrotech/revert-314-master
Revert "ElementEditor elmt_info_cb sorting changed"
2024-12-21 13:22:10 +01:00
Laurent Trinques
34cc26a325
Revert "ElementEditor elmt_info_cb sorting changed" 2024-12-21 12:59:43 +01:00
Laurent Trinques
ba14c6112e
Merge pull request #316 from plc-user/master
Fix typo and some whitespace
2024-12-19 16:22:45 +01:00
Laurent Trinques
cb8256bd48 Add de binary translation, thanks ChuckNr11 for update translation 2024-12-19 10:52:13 +01:00
Laurent Trinques
3dd512b587
Merge pull request #314 from ChuckNr11/master
ElementEditor elmt_info_cb sorting changed
2024-12-19 10:41:58 +01:00
Laurent Trinques
31c0267cd5
Merge pull request #315 from plc-user/master
Fix missing company-titleblocks in properties-dialog
2024-12-19 09:58:37 +01:00
plc-user
88b2955b00 Fix typo and some whitespace 2024-12-18 16:48:11 +01:00
plc-user
46378ca2a7 Fix missing company-titleblocks in properties-dialog 2024-12-18 15:18:34 +01:00
Achim
c7481011e8 german language file adapted 2024-12-16 16:01:37 +01:00
Achim
15d9708c46 a few small corrections 2024-12-16 16:00:50 +01:00
Achim
3b32daf15d ComboBox change sorting
alphabetical sorting in the ComboBox changed according to the order in
the elementInfoKeys list
2024-12-16 15:55:16 +01:00
ChuckNr11
0a658d5d61
Merge branch 'qelectrotech:master' into master 2024-12-15 22:17:14 +01:00
Laurent Trinques
a140c5ad39
Update CMakeLists.txt 2024-12-15 15:05:23 +01:00
Laurent Trinques
4894284520 Fix segfault due to calling method of uninitialized object, thanks
ladmanj

https://github.com/qelectrotech/qelectrotech-source-mirror/issues/311
2024-12-15 14:41:34 +01:00
Laurent Trinques
efc8745bc7
Update packaging_script_AppImage.sh 2024-12-15 09:35:26 +01:00
Laurent Trinques
406af16e94
Update org.qelectrotech.QElectroTech.json 2024-12-15 09:32:16 +01:00
Laurent Trinques
e3e48d3966
Fix snapcraft.yaml 2024-12-14 16:09:07 +01:00
Laurent Trinques
0e646aed0b
Update translations_stat.pl 2024-12-14 14:25:35 +01:00
Laurent Trinques
52d56c18a2
Try to fix icon on Wayland 2024-12-14 13:31:42 +01:00
Laurent Trinques
d3f132adc6
Try to fix icon on Wayland 2024-12-14 13:28:17 +01:00
Achim
7b50f10749 ElementEditor elmt_info_cb sorting changed
alphabetical sorting in the ComboBox changed according to the order in
the elementInfoKeys list
2024-12-08 19:36:22 +01:00
Laurent Trinques
64bb2308d8 git submodule update --remote elements 2024-12-07 17:05:23 +01:00
Laurent Trinques
dd3cee5d8e
Merge pull request #313 from plc-user/master
fix typos and whitespace
2024-11-24 08:15:23 +01:00
plc-user
6dcb6ebcb7 fix typos and whitespace 2024-11-23 21:17:39 +01:00
Laurent Trinques
a9f5e2945b
Update qetmainwindow.cpp 2024-11-23 16:01:39 +01:00
Laurent Trinques
732d317e81
Update qetmainwindow.cpp
Fix download url
2024-11-23 13:17:57 +01:00
Laurent Trinques
2b77964881 git submodule update --remote elements 2024-11-17 12:00:00 +01:00
Laurent Trinques
5702ed3d04
Merge pull request #312 from Arusekk/dark-mode-collections
Force light mode in collections like projects
2024-11-17 11:24:07 +01:00
Arkadiusz Kozdra
a2c1c5515a Force light mode in collections like projects 2024-11-16 10:03:29 +01:00
Laurent Trinques
8b66709ea3 Update en, fr translations 2024-11-03 14:59:37 +01:00
Laurent Trinques
e6d995c190 Update *ts files 2024-11-03 14:42:35 +01:00
Laurent Trinques
c1706cb055 Add new variables to elementInfoKeys
aux1, aux2, aux3, aux4
See:
https://qelectrotech.org/forum/viewtopic.php?pid=20558#p20558
2024-11-03 14:40:24 +01:00
Laurent Trinques
fe3ffd890b
Update snapcraft.yaml 2024-10-31 11:15:50 +01:00
Laurent Trinques
8b5a4cea0d Update translations *ts files 2024-10-18 16:37:29 +02:00
Laurent Trinques
ca48684b39 Update Polish translation, thanks Pawel 2024-10-13 14:28:27 +02:00
Laurent Trinques
c4fd1efb4f Minor 2024-10-13 10:02:49 +02:00
Laurent Trinques
fc0dcb6ab0 Improve message box 2024-10-13 09:55:24 +02:00
Laurent Trinques
e02ad585a9 Minor 2024-10-10 11:42:37 +02:00
Laurent Trinques
75cd943dbd Update *TS files 2024-10-10 11:06:28 +02:00
Laurent Trinques
e6d3121a32 Uniformise MessageBox
Add QObjet for translate box message
2024-10-10 10:57:09 +02:00
Laurent Trinques
429726f463
Merge pull request #310 from plc-user/master
About QET: improvements in usability
2024-10-08 16:30:40 +02:00
plc-user
b9c9d0e31f About-Dialog - Log: Scroll to most recent log-entry 2024-10-08 12:48:02 +02:00
plc-user
7918cbb7ab remove unneeded #include 2024-10-08 12:21:45 +02:00
plc-user
1454a8d4e7 About-Dialog - Log: Show most recent log file by default 2024-10-08 12:10:10 +02:00
Laurent Trinques
35018ba314
Merge pull request #308 from plc-user/master
use MessageBox to inform user about additional info when importing scaled element
2024-10-06 16:35:14 +02:00
plc-user
3bf4c852c9 use MessageBox to inform user about additional info when importing scaled element 2024-10-06 16:15:08 +02:00
Laurent Trinques
a118c33f80 add messageBox to inform user when dxf2elmt can't convert DXF file 2024-10-06 14:30:31 +02:00
Laurent Trinques
326387895a
Update qetdiagrameditor.cpp 2024-10-06 06:29:24 +02:00
Laurent Trinques
566e7f7004
Update qetdiagrameditor.cpp 2024-10-06 06:18:48 +02:00
Laurent Trinques
625e673385
Update qetdiagrameditor.cpp 2024-10-05 14:34:20 +02:00
Laurent Trinques
1863329ca0
Typo 2024-10-05 13:47:08 +02:00
Laurent Trinques
e83424459c Try to fix false positive message box warning when launching process-
>startDetached("qet_tb_generator")
Launch program "qet_tb_generator" by QET only when an project was open
2024-10-05 13:41:20 +02:00
Laurent Trinques
59253019ff
Update snapcraft.yaml 2024-09-30 06:13:24 +02:00
Laurent Trinques
c66b873631
Update qelectrotech-launch 2024-09-29 15:21:20 +02:00
Laurent Trinques
b2a999cec5
Update snapcraft.yaml 2024-09-29 14:38:39 +02:00
Laurent Trinques
f1cb63cf0c
Snap elementeditor: remove old plugin DXFtoQET 2024-09-29 14:37:25 +02:00
Laurent Trinques
4138b8998c qetelementeditor: remove old plugin DXFtoQET 2024-09-29 14:33:14 +02:00
Laurent Trinques
24929861ba Improve 2024-09-29 13:11:40 +02:00
Laurent Trinques
fcd2f68f68 dxftoelmt: add Print standard error and filepath to the log file 2024-09-29 12:54:47 +02:00
Laurent Trinques
f0b0af9a76 git submodule update --remote elements 2024-09-27 16:22:47 +02:00
Laurent Trinques
6a7f24a2af git submodule update --remote elements 2024-08-29 11:34:02 +02:00
Laurent Trinques
59e06a4087 Update Polish translation, thanks Pawel 2024-08-28 13:38:17 +02:00
Laurent Trinques
3738c79ec6
Merge pull request #304 from plc-user/master
make text for missing software "dxf2elmt" translatable
2024-08-21 09:09:43 +02:00
Laurent Trinques
4871aae59d
revert Try to improve Unable to run the app on OSX 2024-08-20 18:55:47 +02:00
plc-user
8649d21298 fix French translation 2024-08-20 16:46:10 +02:00
plc-user
de41f29e6b make text for missing software "dxf2elmt" translatable 2024-08-20 16:31:21 +02:00
Laurent Trinques
f1a8c00028 Update *TS files 2024-08-20 12:43:36 +02:00
Laurent Trinques
e4f5e8c68a
Merge pull request #303 from plc-user/master
QET_ElementScaler: fix error for Qt 5.9 and added mirroring
2024-08-20 12:38:01 +02:00
plc-user
1649e8d28b QET_ElementScaler: fix for "cancel" 2024-08-20 11:48:41 +02:00
plc-user
5e3ca46133 QET_ElementScaler: fix error for Qt 5.9 and added mirroring 2024-08-20 11:38:29 +02:00
Laurent Trinques
a162f158ad Update *Ts files 2024-08-20 00:51:31 +02:00
Laurent Trinques
6aebbfeaa7
Merge pull request #302 from plc-user/master
integrate "QET_ElementScaler" as external software
2024-08-20 00:34:07 +02:00
plc-user
5d725f6d55 fix typo 2024-08-19 09:48:11 +02:00
plc-user
85d10fc0e6 integrate "QET_ElementScaler" as external software 2024-08-19 09:19:28 +02:00
Laurent Trinques
1baf9db799
Typo 2024-08-07 12:42:39 +02:00
Laurent Trinques
32c0e04c56
Try to improve Unable to run the app on OSX
https://qelectrotech.org/bugtracker/view.php?id=290
2024-08-07 09:13:14 +02:00
Laurent Trinques
57b5819f07 Revert 2024-07-28 01:54:27 +02:00
Laurent Trinques
7c5e0135a6 Add to drag and drop the multiple selection in collections
See:https://qelectrotech.org/forum/viewtopic.php?pid=20125#p20125
2024-07-27 16:37:39 +02:00
Laurent Trinques
7d8734e192
Update README.md 2024-07-22 12:33:37 +02:00
Laurent Trinques
30184bdd06
Merge pull request #300 from plc-user/master
move code into else-clause to avoid possible crashes
2024-07-15 14:04:58 +02:00
plc-user
1062d217f0 move code into else-clause to avoid possible crashes 2024-07-15 00:01:20 +02:00
Laurent Trinques
6cad599664 git submodule update --remote elements 2024-07-06 08:19:19 +02:00
Laurent Trinques
cbd309ec5a
Fix :
Add element1_linked element2_linked informations to terminal-name
connected in qet-file
2024-06-30 15:02:42 +02:00
Laurent Trinques
23c4ba2a3e Fix segfault in previous commit 2024-06-21 17:48:57 +02:00
Laurent Trinques
dd03f0eece Add elements informations to terminal-name connected in qet-file 2024-06-21 15:28:57 +02:00
Laurent Trinques
491b8ce64c git submodule update --remote elements 2024-06-19 06:00:27 +02:00
Laurent Trinques
2d8dd2b480 git submodule update --remote elements 2024-06-17 06:41:57 +02:00
Laurent Trinques
fda314d585
Merge pull request #297 from plc-user/master
add terminal-names to connection in qet-file
2024-06-17 06:21:17 +02:00
plc-user
f9073ca5fb add terminal-names to connection in qet-file 2024-06-16 15:53:09 +02:00
Laurent Trinques
36da291be6
Merge pull request #296 from plc-user/master
fix: editing SpinBoxes with keyboard lose focus
2024-06-09 15:59:24 +02:00
plc-user
4da78939d0 fix: editing SpinBoxes with keyboard lose focus 2024-06-09 15:26:18 +02:00
Laurent Trinques
a942f42927 git submodule update --remote elements 2024-06-05 17:05:31 +02:00
Laurent Trinques
e9e2ea5b0e
Try to fix bug #307 2024-06-02 17:02:53 +02:00
Laurent Trinques
701265e393 Revert 2024-06-01 12:39:59 +02:00
Laurent Trinques
073763d9bf Try to fix bug #307 2024-06-01 12:27:26 +02:00
Laurent Trinques
ca7dc28ecf
Merge pull request #295 from joseyspain/master
Spanish lang update
2024-05-20 06:11:57 +02:00
Josey
a70cc75504 Spanish lang update
Hi, more spanish updates. Regards, Josey
2024-05-19 21:05:36 +02:00
Laurent Trinques
6cc297def1
Merge pull request #294 from joseyspain/master
More spanish translations.Josey
2024-05-14 07:33:23 +02:00
Josey
1baf9125dc More spanish translations.Josey
More spanish translations. Josey
2024-05-13 21:28:08 +02:00
Laurent Trinques
78bae2dc60
Merge pull request #293 from plc-user/master
update German and English translations
2024-05-13 06:11:58 +02:00
plc-user
d0a10ef9af modified accelerators in English translation to avoid doubles... 2024-05-12 12:00:09 +02:00
plc-user
c6bc23addc update German translations 2024-05-12 11:56:22 +02:00
Laurent Trinques
9a7da28fc5 Add spanish translation, thanks Josey 2024-05-12 07:49:17 +02:00
Laurent Trinques
dd7f295f5c Add spanish translation, thanks Josey 2024-05-11 19:16:18 +02:00
Laurent Trinques
774b604b50 Minor 2024-05-08 20:08:16 +02:00
Laurent Trinques
e36df6f7d2 git submodule update --remote elements 2024-05-08 19:36:53 +02:00
Laurent Trinques
9076d9da80 Update TS files 2024-05-08 19:35:15 +02:00
Laurent Trinques
c7d6312997 Try to fix bug #303 2024-05-08 19:18:48 +02:00
Laurent Trinques
5492cd3f71
Update org.qelectrotech.QElectroTech.json 2024-05-08 14:06:12 +02:00
Laurent Trinques
9b4bbfbf0d
Merge pull request #292 from plc-user/master
hide SVG background checkbox in print preferences
2024-05-06 20:25:37 +02:00
plc-user
b20456d0d6 hide SVG background checkbox in print preferences 2024-05-06 11:21:42 +02:00
Laurent Trinques
69338962bc
revert Update snapcraft.yaml 2024-05-05 20:46:37 +02:00
Laurent Trinques
78005f812a
Update snapcraft.yaml 2024-05-05 16:30:12 +02:00
Laurent Trinques
3479b98242
Update snapcraft.yaml 2024-05-05 16:02:41 +02:00
Laurent Trinques
f4f28b83bd git submodule update --remote elements 2024-05-05 05:56:25 +02:00
Laurent Trinques
4c8e7f4856 git submodule update --remote elements 2024-05-03 15:54:33 +02:00
Laurent Trinques
ba1123cf73
Merge pull request #291 from plc-user/master
fixed indentations of the remaining *.cpp/*.h files
2024-05-03 08:59:48 +02:00
plc-user
b3ac3c82af fixed indentations of the remaining *.cpp/*.h files 2024-05-02 08:39:27 +02:00
Laurent Trinques
e9448be986
Update README.md 2024-05-01 13:15:54 +02:00
Laurent Trinques
f72a2545bd
Update LICENSE 2024-05-01 13:15:06 +02:00
Laurent Trinques
206a48a15f
Merge pull request #289 from plc-user/master
correct more indentations / whitespace
2024-04-24 18:59:36 +02:00
plc-user
f33ea64b99 correct more indentations / whitespace (too many tabs) 2024-04-24 18:21:12 +02:00
plc-user
0d44933432 correct more indentations / whitespace 2024-04-24 18:02:00 +02:00
plc-user
fa68d545d0 correct more indentations / whitespace 2024-04-24 14:14:40 +02:00
Laurent Trinques
171f2eab4e git submodule update --remote elements 2024-04-21 12:45:50 +02:00
Laurent Trinques
ce86e18664 git submodule update --remote elements 2024-04-14 13:39:02 +02:00
Laurent Trinques
17030aaa80
Update packaging_script_Flatpak.sh 2024-04-11 15:57:13 +02:00
Laurent Trinques
09b1c0905e
Update packaging_script_AppImage.sh 2024-04-11 15:56:13 +02:00
Laurent Trinques
b453832d46
Update packaging_script_Debian_Ubuntu_Windows.sh 2024-04-11 15:54:48 +02:00
Laurent Trinques
109efa03d2
Update MacQetDeploy.sh 2024-04-11 15:53:19 +02:00
Laurent Trinques
99a8b5f46d
Update MacQetDeploy_arm64.sh 2024-04-11 15:51:51 +02:00
Laurent Trinques
d8b7fc3642
Merge pull request #288 from plc-user/master
update German and English translations
2024-04-10 15:32:49 +02:00
plc-user
5f7f72f292 update German and English translations 2024-04-10 15:21:48 +02:00
Laurent Trinques
7e6befdf0a
Merge pull request #286 from plc-user/master
some minor changes
2024-04-10 12:33:09 +02:00
plc-user
4c52c8c9d0 correct indentations / whitespace 2024-04-10 10:28:58 +02:00
plc-user
4da6465318 add Help in Project-Setting / AutoNum / elements 2024-04-09 12:49:44 +02:00
plc-user
4c7d42251c correct some indention / whitespace 2024-04-07 22:53:51 +02:00
plc-user
6dac8e2005 correct some indention / whitespace 2024-04-07 22:39:33 +02:00
plc-user
15b625021c fix warnings: "control reaches end of non-void function" 2024-04-07 15:17:04 +02:00
plc-user
f4c880dc9f fix indention to get rid of warnings: "if/else does not guard" 2024-04-07 14:46:40 +02:00
Laurent Trinques
f343395da0 Disable menu-entry for show grid, when no project is loaded 2024-04-07 11:13:39 +02:00
Laurent Trinques
6d8e9f51cd
Merge pull request #285 from plc-user/master
correct comments
2024-04-07 11:00:04 +02:00
plc-user
ef66350b30 correct comments 2024-04-07 10:55:28 +02:00
plc-user
f74616d2e4 correct comments 2024-04-07 10:42:37 +02:00
Laurent Trinques
8ce47848c2 Disable menu-entry for terminalBlock plugin, when no project is loaded 2024-04-05 12:59:55 +02:00
Laurent Trinques
d7b83140ab git submodule update --remote elements 2024-04-03 06:16:31 +02:00
Laurent Trinques
2263c798c7
Merge pull request #284 from plc-user/master
FIX SegFault: Disable menu-entry for DB-export when no project loaded
2024-04-02 12:24:36 +02:00
plc-user
cad7fa1ae7 FIX SegFault: Disable menu-entry for DB-export, when no project is loaded 2024-04-02 00:32:34 +02:00
Laurent Trinques
3a02be3f0e git submodule update --remote elements 2024-04-01 13:45:49 +02:00
Laurent Trinques
e73cf633ce 2023->2024 2024-03-29 10:09:48 +01:00
Laurent Trinques
21944b6739
Merge pull request #282 from plc-user/master
changed some remaining "pt_br" to "pt_BR"
2024-03-29 05:17:43 +01:00
plc-user
d54a8b9369 added sanity-check for 5-letter-language; adjusted comments 2024-03-28 19:40:56 +01:00
plc-user
3f796fea4b added translation to "pt_BR" 2024-03-28 17:57:12 +01:00
plc-user
73f7d44dcf changed some remaining "pt_br" to "pt_BR" 2024-03-28 17:43:15 +01:00
Laurent Trinques
c0390a4bd3 Try to fix bug #274 #278 2024-03-28 15:49:17 +01:00
Laurent Trinques
acb7a4cc4c Try to fix bug #274 #278 2024-03-28 15:45:29 +01:00
Laurent Trinques
28135a77db Try to fix bug #274 #278 2024-03-28 15:41:31 +01:00
Laurent Trinques
1b5df9733a git submodule update --remote elements 2024-03-28 15:39:52 +01:00
Laurent Trinques
c88d2b45cc Try to fix bug #274 #278
https://github.com/qelectrotech/qelectrotech-source-mirror/issues/274
2024-03-28 15:16:11 +01:00
Laurent Trinques
c4cae24ba7 Update *TS files 2024-03-28 13:24:06 +01:00
Laurent Trinques
6f22d5d37a
Merge pull request #281 from plc-user/master
add option "transparent background" in SVG-export
2024-03-28 12:49:27 +01:00
plc-user
a7a072b977 corrected English translation 2024-03-28 11:23:37 +01:00
plc-user
90fa934976 corrected German and English translations 2024-03-28 10:35:33 +01:00
plc-user
4cfe658ff0 corrected English translations 2024-03-28 10:30:26 +01:00
plc-user
b55623bfc4 added German and English translations (CheckBox SVG-background) 2024-03-28 10:19:37 +01:00
plc-user
ec3952237f simplify setting of alpha-value for SVG-background 2024-03-28 09:32:55 +01:00
plc-user
2043fc2700 fix: add alpha-channel for SVG-background 2024-03-27 20:20:37 +01:00
plc-user
4de379d884 fix: no hardcoded colors for SVG-background 2024-03-27 20:13:35 +01:00
plc-user
2e379a3024 fix: specified colors for filled and transparent SVG 2024-03-27 19:23:19 +01:00
plc-user
21d293a928 fix: add CheckBox-value "SVG-transparency" to constructor 2024-03-27 15:30:02 +01:00
plc-user
a8aa772321 fix: save setting of CheckBox "SVG-transparency" 2024-03-27 15:15:53 +01:00
plc-user
cc20c218d8 add option "transparent background" in SVG-export 2024-03-27 14:50:26 +01:00
Laurent Trinques
a2beabd559 Update *TS files 2024-03-16 16:46:35 +01:00
Laurent Trinques
0109f3bc23 Minor: When the user right-clicks on the collection tree and
selects the collection property, the collection name,
file path and number of elements will be added
to the qInfo log file.
2024-03-16 16:15:23 +01:00
Laurent Trinques
e4b6b2b180
Merge pull request #280 from plc-user/master
Fix sizes
2024-03-14 09:31:58 +01:00
plc-user
06a6e5e5f4 fix font-size of graphical elements "input" 2024-03-14 08:55:59 +01:00
plc-user
5df77291fe fix size of SVG-export 2024-03-14 08:51:53 +01:00
Laurent Trinques
8da2f980cd git submodule update --remote elements 2024-03-11 09:29:57 +01:00
Laurent Trinques
8aaa596ff2 git submodule update --remote elements 2024-03-09 17:46:43 +01:00
Laurent Trinques
3c8d612742 The Elements Collection progress bar adds the number value of all the
elements counted.
2024-02-23 12:39:23 +01:00
Laurent Trinques
667e5eccf4 New Element Wizard add Company Collection in build Step 1 tree_view 2024-02-20 13:24:25 +01:00
joshua
ff3b497da2 Element editor : minor fix
In the part list widget, the terminal name is empty if terminal haven't
got name.
Now "terminal" is always displayed and if the terminal have a name the
name is appended to "terminal".
Example :
if the terminal name is 24 then the the part list widget show "terminal
: 24"
2024-02-15 22:04:11 +01:00
Laurent Trinques
7fe4765bff Update NL translations, thanks Dik 2023-12-25 17:24:10 +01:00
Laurent Trinques
c956e60ad0 Remove wrong translation files 2023-12-22 11:05:57 +01:00
Laurent Trinques
f44abb12d7 git submodule update --remote elements
revert PR 8 & 9
2023-12-21 15:48:36 +01:00
Laurent Trinques
bd3eacd1d6 git submodule update --remote elements 2023-12-21 13:04:43 +01:00
Laurent Trinques
3e0545f6b5 Update NL translations, thanks Dik 2023-12-21 07:36:33 +01:00
Laurent Trinques
c0466c0d45 git submodule update --remote elements 2023-12-20 13:08:14 +01:00
Laurent Trinques
f62b0fc812 Update French translations 2023-12-19 10:25:17 +01:00
Laurent Trinques
a3dc317246
Merge pull request #277 from plc-user/master
added folder "company-titleblocks" (incl. language-files)
2023-12-16 11:58:40 +01:00
plc-user
f12b11bee3 added folder "company-titleblocks" \(incl. language-files\) 2023-12-16 09:32:44 +01:00
Laurent Trinques
a4495d50d1
Merge pull request #276 from plc-user/master
update translations: de, en, nl
2023-12-13 13:31:20 +01:00
plc-user
e0b0caaf14 update translations: de, en, nl 2023-12-13 12:11:13 +01:00
Laurent Trinques
ae9e2eb678 Minor Fix En translation 2023-12-13 09:57:19 +01:00
Laurent Trinques
9a2bee851c
Merge pull request #275 from plc-user/master
fix: set default "company-element-dir"
2023-12-12 09:25:18 +01:00
plc-user
3d8ad98ef2 fix: set default "company-element-dir" 2023-12-12 09:03:48 +01:00
Laurent Trinques
439463ab98 git submodule update --remote elements 2023-12-11 09:58:11 +01:00
Laurent Trinques
f7114fb0bb Update *TS files 2023-12-11 09:54:31 +01:00
Laurent Trinques
5190c0e929
Merge pull request #272 from plc-user/master
added "company-collection" as second user-collection
2023-12-11 09:43:26 +01:00
Laurent Trinques
e6aeaf6799
Merge pull request #273 from De-Backer/master
Fix Cmake build
2023-12-11 09:05:43 +01:00
Simon De Backer
d35b1623a4 Fix Cmake build
When creating new files.
Add the new files to: "cmake/qet_compilation_vars.cmake".

So that Cmake stays up to date.

thank you.
2023-12-10 22:58:31 +01:00
plc-user
2471547f70 reverted unwanted change 2023-12-10 20:18:17 +01:00
plc-user
4ca76b9993 fix: path-setting for company-collection 2023-12-10 18:00:06 +01:00
plc-user
74d022328e reverted some unwanted changes 2023-12-09 13:50:03 +01:00
plc-user
72092300ed added icons for "company-collection" 2023-12-09 12:02:52 +01:00
plc-user
f519499a66 added a second user-collection 2023-12-09 12:02:04 +01:00
Laurent Trinques
457aeb6883
Merge pull request #269 from plc-user/master
corrected german texts for "line-style"
2023-12-02 22:17:05 +01:00
plc-user
92b1e6c728 corrected german texts for "line-style" 2023-12-01 11:53:40 +01:00
Laurent Trinques
3d6ab1b050 Minor 2023-11-20 22:24:36 +01:00
Laurent Trinques
76798341b4 git submodule update --remote elements 2023-11-20 10:19:07 +01:00
Laurent Trinques
b6485353f1
Update publish-edge-snap.yml 2023-11-17 13:53:57 +01:00
Laurent Trinques
ffb2d9c63c git submodule update --remote elements 2023-11-15 16:48:24 +01:00
Laurent Trinques
55f7a2cb85 git submodule update --remote elements 2023-11-15 10:26:46 +01:00
Laurent Trinques
2ae3d3d5ae
Update snapcraft.yaml 2023-11-13 10:33:16 +01:00
Laurent Trinques
4d50136146
Update packaging_script_AppImage.sh 2023-11-10 15:00:45 +01:00
Laurent Trinques
8b64343c91
Update packaging_script_AppImage.sh 2023-11-10 14:31:27 +01:00
Laurent Trinques
5e763bc8d2
Update packaging_script_AppImage.sh 2023-11-10 14:29:21 +01:00
Laurent Trinques
7447a7fd44
Update README.md 2023-11-09 20:47:54 +01:00
Laurent Trinques
eeb6107ec7
Update README.md 2023-11-09 20:35:11 +01:00
Laurent Trinques
4d60836851
Update README.md 2023-11-09 20:34:45 +01:00
Laurent Trinques
9f2dbfa39a Update *TS files 2023-11-09 13:57:35 +01:00
Laurent Trinques
a9f6583189 Fix URL 2023-11-09 13:46:45 +01:00
Laurent Trinques
9f8abed4b8 git submodule update --remote elements 2023-11-08 14:11:36 +01:00
Laurent Trinques
29ebc6000b Fix Cmake files 2023-11-08 13:38:55 +01:00
Laurent Trinques
663068e688
Update publish-edge-snap.yml 2023-11-07 13:11:31 +01:00
Laurent Trinques
b7fc8834a2 Fix bug 293: Automatic conductor numbering does not work 2023-11-07 08:04:16 +01:00
Laurent Trinques
902a976cc3 Change weighting of second conductor color
See: https://qelectrotech.org/bugtracker/view.php?id=292
On old project you replace in text editor
dash-size="10" by dash-size="5"
2023-11-05 16:09:48 +01:00
Laurent Trinques
489bfe1a7f Delete very old 32 bits NSIS 2 script 2023-10-28 14:32:57 +02:00
Laurent Trinques
9fceb6f000
Update QET64.nsi
Fix old URL in help links
2023-10-28 14:28:43 +02:00
Laurent Trinques
1a4fcbd274
Update qelectrotech.pro 2023-10-21 00:33:16 +02:00
Laurent Trinques
2c67b831bb
Update qelectrotech.pro 2023-10-21 00:30:38 +02:00
Laurent Trinques
ae31b8270c
Update .gitmodules 2023-10-20 19:30:50 +02:00
Laurent Trinques
75d2e7c148
Update qelectrotech.pro
Try to detect OSX arch
2023-10-20 19:22:17 +02:00
joshua
fbcab7c770 Fix : new conductor have text without variable replaced
For a new conductor with the text set from the default conductor text
defined in the folio properties, and this text contain variables, in
this case the variables are not replaced.
This commit fix it.
2023-10-19 21:59:05 +02:00
Laurent Trinques
083b1d8500 git submodule update --remote https://github.com/qelectrotech/qelectrotech-elements 2023-10-19 16:38:13 +02:00
Laurent Trinques
0a4c6e7d00 Minor 2023-10-19 16:13:44 +02:00
Laurent Trinques
a8df33d1fd Add submodule qelectrotech-elements 2023-10-19 16:03:22 +02:00
Laurent Trinques
8579e117ee
Update README.md 2023-10-19 10:02:30 +02:00
joshua
471f87690c Remove unused signal 2023-10-17 23:12:05 +02:00
joshua
27dcd5ef00 Improve last commit
Remove setter function : void BorderTitleBlock::setTitle(const QString
&title)
Remove singal diagramTitleChanged from BorderTitleBlock and use instead
the signal informationChanged.
2023-10-17 22:46:04 +02:00
joshua
75746be0d8 remove unnecessary setters 2023-10-17 22:13:30 +02:00
joshua
8955ca2c82 Improve commit 73c0848fcd 2023-10-17 21:50:37 +02:00
joshua
107c59d680 diagram.cpp : remove unused #include 2023-10-16 22:31:47 +02:00
joshua
73c0848fcd Fix : conductor don't display well user defined variable as conductor text
see : https://qelectrotech.org/forum/viewtopic.php?pid=18835#p18835
2023-10-16 22:24:18 +02:00
Laurent Trinques
4ce67bb532
Update packaging_script_Flatpak.sh 2023-10-16 18:04:17 +02:00
Laurent Trinques
b29c8b8a1d
Update packaging_script_Debian_Ubuntu_Windows.sh 2023-10-16 18:03:47 +02:00
Laurent Trinques
da82fff011
Update packaging_script_AppImage.sh 2023-10-16 18:03:19 +02:00
Laurent Trinques
6224c1160e
Update MacQetDeploy_arm64.sh 2023-10-16 18:02:54 +02:00
Laurent Trinques
5955ff3d83
Update MacQetDeploy.sh 2023-10-16 17:57:38 +02:00
Laurent Trinques
5856d3e22a
Update MacQetDeploy_arm64.sh 2023-10-16 17:33:38 +02:00
Laurent Trinques
1eca1f7d74
Update MacQetDeploy.sh 2023-10-16 17:32:58 +02:00
Laurent Trinques
809575e2b4
Update packaging_script_Debian_Ubuntu_Windows.sh 2023-10-16 17:30:43 +02:00
Laurent Trinques
c43a40a455
Update packaging_script_AppImage.sh 2023-10-16 17:29:45 +02:00
Laurent Trinques
9c68414165 Fix FTBFS 2023-10-16 17:17:48 +02:00
Laurent Trinques
be94f39087 Fix FTBFS 2023-10-16 17:03:00 +02:00
Laurent Trinques
eb2e45a66d Init submodule's
using git submodule instead of copy paste code from other repos
start pugixml form https://github.com/zeux/pugixml.git
start SingleApplication from https://github.com/itay-grudev/SingleApplication.git
2023-10-16 16:48:04 +02:00
Laurent Trinques
9840c18ed1
Update ELEMENTS.LICENSE 2023-10-16 16:12:37 +02:00
Laurent Trinques
b5a6c9d189
Update ELEMENTS.LICENSE 2023-10-16 16:11:43 +02:00
Laurent Trinques
3febbcfd8c
Update LICENSE 2023-10-16 16:10:56 +02:00
Laurent Trinques
8f3d031383
Update README.md 2023-10-16 16:08:55 +02:00
Laurent Trinques
251f5aee5c
Update org.qelectrotech.QElectroTech.json 2023-10-16 09:32:10 +02:00
Laurent Trinques
92e2f18d3c
Update org.qelectrotech.QElectroTech.json 2023-10-16 09:12:48 +02:00
Laurent Trinques
9d2088c5e5 Update SingleApplication to v3.5.1 version 2023-10-15 14:47:30 +02:00
Laurent Trinques
c8ad8f2ba4 Update pugixml to 1.14 version 2023-10-15 14:44:08 +02:00
Laurent Trinques
7a222dc207
Update MacQetDeploy.sh 2023-10-13 19:33:18 +02:00
Laurent Trinques
233897550b
Update MacQetDeploy_arm64.sh 2023-10-13 19:26:57 +02:00
Laurent Trinques
60833cb0d6
Update MacQetDeploy_arm64.sh
Typo
2023-10-13 19:25:32 +02:00
Laurent Trinques
6803ac42be
Update MacQetDeploy_arm64.sh
Force MacOSX12.3.sdk
2023-10-13 19:24:28 +02:00
Laurent Trinques
13b9ae55b9
Update MacQetDeploy_arm64.sh 2023-10-13 11:20:17 +02:00
Laurent Trinques
71db1a1db5
Update MacQetDeploy.sh 2023-10-13 11:16:42 +02:00
Laurent Trinques
905a2aa570
Update MacQetDeploy.sh 2023-10-13 10:48:42 +02:00
Laurent Trinques
976877a59e
Merge pull request #268 from Murmele/TooManyParts
Too many parts
2023-10-13 09:39:24 +02:00
Laurent Trinques
4d5a235887
Update snapcraft.yaml 2023-10-13 09:13:47 +02:00
Martin Marmsoler
8bc4053d35 fix compilation 2023-10-12 21:37:04 +02:00
Martin Marmsoler
e51ddbaa42 Give the user a possibility to set the maximum number of parts during import on an dxf file. Because sometimes the dxf file can contain more than 200 elements and the user is deleting some elements afterwards 2023-10-12 20:46:09 +02:00
Laurent Trinques
0cfde21758
Update MacQetDeploy.sh 2023-10-12 12:52:50 +02:00
Laurent Trinques
52ced12ab1
Update MacQetDeploy_arm64.sh 2023-10-12 12:49:08 +02:00
Laurent Trinques
dbe8f503dd
Update packaging_script_Debian_Ubuntu_Windows.sh 2023-10-12 12:46:14 +02:00
Laurent Trinques
1f8c34491e
Update packaging_script_Flatpak.sh 2023-10-12 12:43:50 +02:00
Laurent Trinques
0780f6627f
Update Info.plist 2023-10-01 06:45:31 +02:00
Laurent Trinques
f161fecb02
Update Info.plist 2023-09-30 15:23:46 +02:00
Laurent Trinques
05b8392812
Fix chinese unicode character map, thanks Eric 2023-09-27 09:52:53 +02:00
Laurent Trinques
6be82ed4e9 Update en & fr translation 2023-09-26 14:16:29 +02:00
Laurent Trinques
bcbfdf10ae Update *TS files 2023-09-26 13:58:47 +02:00
Laurent Trinques
7543cc4122 Updated Czech translation of GUI, thanks Pavel 2023-09-26 08:35:37 +02:00
Laurent Trinques
e7ad6c4f3d
Update README.md 2023-09-20 20:30:41 +02:00
Laurent Trinques
52a314b116
Update README.md 2023-09-20 20:29:13 +02:00
Laurent Trinques
0f1b1c9b5e
Update Doxyfile 2023-09-20 19:30:14 +02:00
Laurent Trinques
103ad993c0
Merge pull request #267 from qelectrotech/terminal_strip
Merge Terminal strip to master
2023-09-20 08:29:23 +02:00
joshua
258bfd7957 terminal strip Layout editor add help preview button 2023-09-20 08:25:58 +02:00
joshua
b422d9c6c5 Demo terminal strip : add 4 level terminal strip 2023-09-20 08:24:12 +02:00
Laurent Trinques
d508ecb26b
Update README.md 2023-09-19 22:10:52 +02:00
Laurent Trinques
fbe07c129f
Update README.md 2023-09-19 22:07:39 +02:00
Laurent Trinques
0a7964209a
Merge pull request #266 from qelectrotech/terminal_strip
Terminal strip
2023-09-19 15:30:06 +02:00
joshua
12b7c7c47c Terminal strip layout editor : add preview of terminal strip layout 2023-09-19 15:23:29 +02:00
Laurent Trinques
6811388fc2
Update README.md 2023-09-13 14:08:23 +02:00
Laurent Trinques
a53b1b0462
Update README.md 2023-09-13 14:07:43 +02:00
Laurent Trinques
0b5237e90d
Update README.md 2023-09-13 14:06:26 +02:00
Laurent Trinques
c6bb1ae4ad
Update README.md 2023-09-13 14:04:17 +02:00
Laurent Trinques
7829669b07
Update snapcraft.yaml
change Environment variables 
SNAPCRAFT_*→ CRAFT_*
2023-09-06 18:35:42 +02:00
Laurent Trinques
02d31874ae
Update snapcraft.yaml 2023-09-06 17:49:52 +02:00
Laurent Trinques
525ce6124d
Update snapcraft.yaml
replace 'snapcraftctl' with 'craftctl' to 
migrate from core20 to core22
2023-09-06 17:34:07 +02:00
Laurent Trinques
f2ef554290
Update snapcraft.yaml
change to kf5-5-108-qt-5-15-10-core22-sdk
2023-09-06 16:28:57 +02:00
Laurent Trinques
92604d5d65
Update publish-edge-snap.yml 2023-09-06 12:46:24 +02:00
Laurent Trinques
e2f5b007a9
Update publish-edge-snap.yml 2023-09-06 12:26:29 +02:00
Laurent Trinques
16afd275d7
Update publish-edge-snap.yml 2023-09-06 09:34:50 +02:00
Laurent Trinques
1d159f8772
Update publish-edge-snap.yml 2023-09-05 17:23:50 +02:00
Laurent Trinques
f25e72c069
Update publish-edge-snap.yml 2023-09-05 17:20:56 +02:00
Laurent Trinques
c0f29bbfe5
Update publish-edge-snap.yml 2023-09-05 15:37:21 +02:00
Laurent Trinques
660707bf28
Update snapcraft.yaml 2023-09-05 15:06:47 +02:00
Laurent Trinques
6423dfe3cc
Update snapcraft.yaml 2023-09-05 14:43:11 +02:00
Laurent Trinques
1f75953648
Update snapcraft.yaml 2023-09-05 14:17:41 +02:00
Laurent Trinques
920274acc1
Update snapcraft.yaml 2023-09-05 14:15:44 +02:00
Laurent Trinques
9ba24337f9
Update snapcraft.yaml 2023-09-05 14:12:46 +02:00
Laurent Trinques
55297efab9
Update snapcraft.yaml 2023-09-05 14:10:08 +02:00
Laurent Trinques
fe6814c65f
Update snapcraft.yaml 2023-09-05 14:05:00 +02:00
Laurent Trinques
5289fc7527
Update snapcraft.yaml 2023-09-05 14:03:01 +02:00
Laurent Trinques
341bfa5d10
Update snapcraft.yaml 2023-09-05 13:38:13 +02:00
Laurent Trinques
8433fbeec2
Update snapcraft.yaml 2023-09-05 13:30:07 +02:00
Laurent Trinques
219d17840b
Update snapcraft.yaml 2023-09-05 12:59:02 +02:00
Laurent Trinques
2154461b1d
Update snapcraft.yaml 2023-09-05 11:53:55 +02:00
Laurent Trinques
e8c876c88e
Update snapcraft.yaml 2023-09-05 10:51:50 +02:00
Laurent Trinques
e6abff81bb
Update snapcraft.yaml 2023-09-05 10:34:04 +02:00
Laurent Trinques
6ec41f7ceb
Update snapcraft.yaml 2023-09-05 10:27:43 +02:00
Laurent Trinques
4b28b1b38a
Update publish-edge-snap.yml
Try to fix Error: The process '/usr/bin/sg' failed with exit code 2
2023-09-05 10:07:33 +02:00
Laurent Trinques
18301b6ce4
Merge pull request #264 from kamikazzyyyy/new-elements
Added new symbols
2023-09-05 09:48:15 +02:00
Baptiste HADJAB
6920b2febd Added new symbols
New symbols:
phoenix_contact
johnson_controls
sofrel
2023-09-05 08:59:34 +02:00
Laurent Trinques
0e233d6783 Update chine data QChar 2023-08-28 06:15:57 +02:00
Laurent Trinques
888c25ec02 Add Chinese switch 2023-08-27 12:36:08 +02:00
Laurent Trinques
b9cd8288fc Update Chinese translation, thanks Eric Wang 2023-08-23 10:04:20 +02:00
joshua
8ca1e0487e Add demo terminal strip class
Not available for user now.
2023-06-28 21:56:03 +02:00
plc-user
171ee5d2ae fixed and scaled Siemens front-views 2023-06-19 06:08:19 +02:00
plc-user
cafa58df73 fixed and scaled MDT front-views 2023-06-19 06:08:19 +02:00
plc-user
137d02ae43 scaled General Electric front-views 2023-06-19 06:08:19 +02:00
plc-user
856172db91 scaled and corrected Hager front-views 2023-06-19 06:08:19 +02:00
plc-user
02ad9349a7 scaled ABB front-views 2023-06-19 06:08:19 +02:00
plc-user
5240b30f81 re-sorted elements 2023-06-19 06:08:19 +02:00
plc-user
668a9848e8 re-sorted elements 2023-06-19 06:08:19 +02:00
plc-user
eb4dc48563 removed empty folder 2023-06-19 06:08:19 +02:00
Laurent Trinques
8241041c1a Add new example project 2023-06-19 06:06:11 +02:00
plc-user
c5ffff76ee removed empty directories 2023-06-14 09:07:57 +02:00
plc-user
411d8d73f7 fixed some terminal-positions to whole numbers (many left\!) 2023-06-14 09:07:57 +02:00
plc-user
7a3989e065 corrections, new terminals and new sub-dir "discontinued" 2023-06-13 09:00:13 +02:00
Laurent Trinques
08e8409ce0 Add qet_it.qm 2023-05-22 05:45:40 +02:00
clabacchio
753abff183 Fixed some italian translations 2023-05-22 05:44:38 +02:00
joshua
48f9ef7632 Add AbstractTerminalStrip class to be used by TerminalStripDrawer class 2023-05-15 22:22:12 +02:00
Laurent Trinques
4e6ea06d0d Resore qetshapeitem::polygon contextMenuEvent
reverted by commit: 0a8376c189b4deff24d26dd26ddb3ceb1c9c8a4c
see:
https://qelectrotech.org/bugtracker/view.php?id=220
and
https://qelectrotech.org/forum/viewtopic.php?pid=18204#p18204
2023-05-13 18:12:28 +02:00
Laurent Trinques
1748280b80 Try to fix Github action to build snap 2023-05-10 16:54:02 +02:00
Laurent Trinques
2a1d3ae1f1 Try to fix Github action to build snap 2023-05-10 10:20:38 +02:00
Laurent Trinques
3cd124f348 Node.js 12 actions are deprecated. update the following actions to use Node.js 16 2023-05-10 10:09:59 +02:00
Laurent Trinques
1cc6a42fd8 Add new weidmuller elements, thanks KevinarCZ 2023-05-09 09:26:19 +02:00
Laurent Trinques
de89997c4e Improve changeover contact view in list mode 2023-04-28 16:43:14 +02:00
Laurent Trinques
c989437982 Add new GCE elements 2023-04-25 10:55:19 +02:00
joshua
247b98da41 Fix minor bug : conductor text is not updated when folio id is used
See https://qelectrotech.org/forum/viewtopic.php?pid=18157#p18157
2023-04-17 22:09:18 +02:00
Laurent Trinques
31b648c2a0 MacQetDeploy_arm64.sh script add staple to the app 2023-04-11 16:59:41 +02:00
Laurent Trinques
a7590558b9 Add new arduino sensors, thanks KevinarCZ 2023-04-02 14:19:32 +02:00
Laurent
5cbb444c0a macOS fix: add Move diagram item with the keyboard arrow 2023-03-29 13:10:50 +02:00
Laurent
6919369a92 MacQetDeploy_arm64.sh add Enable hardened runtime flag to fix notarization
Add process to Upload a macOS app to be notarized and validate before upload to QET download servers
2023-03-21 14:18:33 +01:00
Laurent Trinques
6d178b324c MacQetDeploy_arm64.sh add examples in bundle 2023-03-20 14:54:15 +01:00
laurent
ea08c588db Add new MacOS arm64 build script 2023-03-20 13:37:03 +01:00
joshua
752fe032e7 Draw strong line for better sepration between terminal 2023-03-19 19:19:53 +01:00
Laurent Trinques
9e04432597 Minor 2023-03-14 10:44:07 +01:00
Laurent Trinques
a67add6c0c Add new arduino sensors, thanks KevinarCZ 2023-03-14 10:37:18 +01:00
plc-user
a6be1c8004 translations and corrected elements 2023-03-12 16:28:20 +01:00
plc-user
3f550cbbb6 translations and corrected elements 2023-03-12 16:28:20 +01:00
plc-user
9d88abeac2 translations and corrected elements 2023-03-12 16:28:19 +01:00
plc-user
c60f04da2f corrected filename and translations 2023-03-12 16:28:19 +01:00
plc-user
1d1776441d German translations and corrected directory-name 2023-03-12 16:28:19 +01:00
plc-user
fec9def35b some German translations and Element-Corrections 2023-03-12 13:42:18 +01:00
joshua
45b8cb34f3 Fix minor gui wrong behavior 2023-03-10 20:19:12 +01:00
THGSCST
0edc3a083f PT-BR Language small fixes 2023-03-03 06:47:46 +01:00
THGSCST
b0324c6654 PT-BR Titleblocks
Added pt_br attribute to titleblocks templates
2023-03-03 06:47:46 +01:00
THGSCST
55263b5b8d PT-BR Language update
Correction of spelling errors, inclusion of missing texts and adequacy of Brazilian technical terms.
2023-03-03 06:47:46 +01:00
joshua
03094e1328 Fix wrong display in widget used to link folio report 2023-03-01 19:33:26 +01:00
Laurent Trinques
32e9ee9f36 Try to fix FTBS on not c++17 system 2023-02-27 10:42:13 +01:00
Laurent Trinques
047462f226 Fix macOS Deprecated synonym for Q_OS_DARWIN 2023-02-25 14:28:02 +01:00
joshua
ec3ac92b5e Fix minor bug
When two shapes item have line and filling color and the dock widget
used for edit the current selection is visible, switching selection
between the two shapes, the last selected shape filling color change
and become the filling color of the previous shape.
2023-02-24 19:08:10 +01:00
Laurent Trinques
78644a3524 macOS update python PATH to launch qet_tb_generator to python 3.11 2023-02-22 15:40:38 +01:00
joshua
470e4a059b Add widget to edit terminal strip item layout
The widget is available in the project properties editor.
WIP
2023-02-21 21:44:28 +01:00
Laurent Trinques
c53f5fbc66 Add save as shortcut in qetdiagrameditor 2023-02-16 06:10:17 +01:00
Laurent Trinques
8857b1c731 Update hungarian translation, thanks Gabor 2023-02-12 22:25:00 +01:00
Paweł Śmiech
25e93bde56 Update polish translation 2023-02-06 16:42:56 +01:00
Laurent Trinques
6e60842d69 Improve numbering of the elements symbols for pneumatic, thanks Vbxler 2023-02-05 20:27:46 +01:00
Laurent Trinques
3d3ebc99fd Update * TS files, only add simplified Chinese code is zh-cn 2023-02-02 06:34:29 +01:00
joshua
ec5cda10db Minor : improve first and last segment position of conducteur 2023-01-31 23:13:05 +01:00
dlee99
8298f56b7e modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2023-01-30 22:30:58 +01:00
Laurent Trinques
08b0bde0d7 Add Siemens 6es5090-8ma01.elmt, thanks LievenC 2023-01-30 13:57:51 +01:00
Laurent Trinques
7023b7033f Improve 20 logic elements, thanks Vbxier 2023-01-28 14:38:41 +01:00
joshua
092b18cefd Fix wrong calculation of the bounding rect of an arc 2023-01-27 19:39:53 +01:00
Laurent Trinques
45e3e92022 Update translations binary files 2023-01-25 15:43:07 +01:00
Laurent Trinques
bfa349406d Refresh packaging_script_AppImage.sh scripts 2023-01-25 13:31:42 +01:00
Laurent Trinques
921f9109f8 Refresh packaging_script_Flatpak.sh 2023-01-25 12:57:12 +01:00
Laurent Trinques
7db9430b3c Refresh MacQetDeploy.sh scripts 2023-01-25 12:27:25 +01:00
Laurent Trinques
ede9e7f063 Minor clean in packaging_script_Debian_Ubuntu_Windows.sh scripts 2023-01-25 12:03:12 +01:00
Laurent Trinques
0f06f90516 Refresh packaging_script_Debian_Ubuntu_Windows.sh example scripts 2023-01-25 11:56:50 +01:00
dlee99
e18c7117c5 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2023-01-24 22:53:18 +01:00
Laurent Trinques
845bd38d88 Refresh splash image size 2023-01-24 17:59:47 +01:00
Laurent Trinques
c287182d4b MacQetDeploy.sh change the method for version package naming 2023-01-24 17:38:07 +01:00
Laurent Trinques
ae493f16c6 Update splash image 2023-01-24 07:28:32 +01:00
Remi Collet
880bd8f7bd Only display git revision when available 2023-01-23 16:39:03 +01:00
plc-user
15282292c9 fixed hotspots and decimals of logic-elements 2023-01-22 05:24:06 +01:00
plc-user
9a80760c71 fixed typo again 2023-01-22 05:24:06 +01:00
plc-user
a833da45b5 simplified element / corrected terminal-positions 2023-01-22 05:24:06 +01:00
plc-user
14d7ceca1a added some German phrases 2023-01-22 05:24:06 +01:00
plc-user
c03a079b89 added German part to "INSTALL" 2023-01-22 05:24:06 +01:00
plc-user
4870b070f6 added German part to Elements-Licence 2023-01-22 05:24:06 +01:00
plc-user
1671b4ca58 corrected line-numbers to original 2023-01-22 05:24:06 +01:00
plc-user
d45b84d242 some translations and whitespace-fixing 2023-01-22 05:24:06 +01:00
Laurent Trinques
be43afaf78 Update *TS file 2023-01-21 17:15:42 +01:00
Laurent Trinques
77920280c7 Add Git Revision in aboutqetdialog 2023-01-21 14:46:34 +01:00
joshua
a0970b37b9 Improve and simplify the use of versions 2023-01-19 20:18:21 +01:00
plc-user
ad4e263198 German translations (including binary file) 2023-01-14 17:48:53 +01:00
plc-user
3f27b0d007 some more German translations
left some "unfinished": maybe we'll find even better translations in the future
2023-01-14 11:18:29 +01:00
plc-user
6bbf9d30b2 small modifications and translations 2023-01-14 11:18:29 +01:00
dlee99
86487b392b modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2023-01-13 23:50:12 +01:00
Laurent Trinques
cfc5bbc6bb Force Plc-user patch 2023-01-13 18:28:58 +01:00
plc-user
53eaa2a81d more German translations 2023-01-13 18:25:34 +01:00
plc-user
9f1164a174 some German translations 2023-01-13 18:25:34 +01:00
Remi Collet
fece536b55 avoid false warning for project created by qet >= 0.100 2023-01-13 13:42:50 +01:00
Laurent Trinques
51a4cd3982 Update *TS files 2023-01-13 10:56:58 +01:00
Laurent Trinques
9f7754c3bc Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2023-01-13 10:48:24 +01:00
Laurent Trinques
28878ed53c Fix previous translations 2023-01-13 10:47:52 +01:00
Laurent Trinques
43cd9f98cb Update *TS files and add EN + FR translations 2023-01-13 09:44:31 +01:00
Laurent Trinques
289175b775 Minor 2023-01-13 09:32:05 +01:00
Laurent Trinques
45ec061cf1 Improves the warning message box when the version of the project to load
differs from the version used.
Added information about the version of the launched project and the
version currently in use.
2023-01-13 09:28:05 +01:00
Remi Collet
1be93fa581 fix comment 2023-01-12 18:24:58 +01:00
Remi Collet
812a262b63 move decl close to usage 2023-01-12 18:24:58 +01:00
Remi Collet
038d2d7033 use QVersionNumber and switch to "list of int" standard 2023-01-12 18:24:58 +01:00
Remi Collet
19d867f6a4 fix segfault on load cancelled 2023-01-12 16:56:02 +01:00
Laurent Trinques
2180805637 Update README.md 2023-01-09 12:32:32 +01:00
joshua
d3223c8ca4 Merge branch 'master' into terminal_strip
* master:
  Fix crash
  Change displayed version on master
  avoid WARNING: mime_xml.path is not defined
  Update changelog
2023-01-08 16:30:59 +01:00
joshua
b1f6b1823a Fix crash 2023-01-08 16:20:13 +01:00
Laurent Trinques
1e2bdc203b Change displayed version on master 2023-01-06 15:28:32 +01:00
Remi Collet
f75f6d3f3f avoid WARNING: mime_xml.path is not defined 2023-01-06 14:07:35 +01:00
joshua
f07e4319d3 Fix ftbfs 2023-01-05 19:20:41 +01:00
Laurent Trinques
d5f0a7932a Update changelog 2023-01-05 10:17:25 +01:00
joshua
4da7f6cd13 TerminalStripLayoutPattern is now shared
TerminalStripLayoutPattern class is now a shared pointer between all
terminal strip item.
QETProject have now a new class : ProjectPropertiesHandler
the goal of this class is to manage every kind of properties used in the
project, this class will be strongly used in future.
2023-01-04 22:40:18 +01:00
joshua
c6739b5bec Fix ftbfs on macOS 2023-01-03 22:30:13 +01:00
Laurent Trinques
cc7e185d59 Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2023-01-03 01:47:09 +01:00
Laurent Trinques
60ceab8a32 Add unicode HEX codes from a string in Ukranian: "Імпортовані
елементи"
Refresh namesListForIntegrationCategory
2023-01-02 20:13:42 +01:00
joshua
539e0a7a49 Merge branch 'terminal_strip'
* terminal_strip:
  Terminal strip item can saved / loaded to .qet file
  See previous commit...
  Move terminal strip drawer class in is own file
  Fix wrong use of QStringLiteral and QLatin1String
  Double click a TerminalStripItem open the editor
  Minor change about checkable QAction of QetDiagramEditor
  Minor : corrects a minor aesthetic defect when unbridge terminals
  Revamp code
  Add and move terminal strip item are now managed by undo command
  TerminalStripItem : Draw terminal bridge
  Terminal strip item can be added to diagram
  Minor : add QGIUtility namespace
2023-01-02 19:40:08 +01:00
Laurent Trinques
9afef79629 Update Copyright date 2023-01-01 17:05:57 +01:00
Laurent Trinques
62fcdec958 Add Qubino elements, thanks KevinarCZ 2022-12-30 12:23:42 +01:00
Laurent Trinques
2ace2ca104 macOS restore sqlite3 database export 2022-12-30 07:20:50 +01:00
Laurent Trinques
b0c3c90f3c Try to fix sqlite3 database export on macOS
Now I use macports with Digikam scripts
See:
https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/macports
2022-12-30 07:12:02 +01:00
Laurent Trinques
8c35559480 Update *TS files 2022-12-27 17:40:34 +01:00
Laurent Trinques
66614072a6 Typo 2022-12-27 17:36:59 +01:00
Laurent Trinques
bd4c7cf2ff Update *TS files 2022-12-26 11:56:18 +01:00
Laurent Trinques
4a568c4e89 Typo 2022-12-26 11:47:55 +01:00
Laurent Trinques
caf5dc5dd4 Add new Annex Projects 2022-12-26 11:36:44 +01:00
Laurent Trinques
eeadbde8d2 Add new Translators in aboutqetdialog.cpp 2022-12-26 09:06:16 +01:00
artgg7300
85892b1c54 the new Hungarian lang files 2022-12-25 11:30:03 +01:00
joshua
f54bea713e Terminal strip item can saved / loaded to .qet file 2022-12-21 19:18:49 +01:00
Laurent Trinques
949db14699 Update *TS files 2022-12-21 14:21:04 +01:00
Laurent Trinques
0753bac62f Add Ukrainian switch language 2022-12-19 13:04:19 +01:00
Laurent Trinques
808598f759 Update Ukrainian translation, thanks Yaroslav 2022-12-19 06:09:14 +01:00
plc-user
7377cf394c simplify graphics, add terminal-names 2022-12-16 08:27:44 +01:00
plc-user
555c243905 add Controller 2022-12-16 08:27:44 +01:00
dlee99
7b6f357870 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-12-14 22:34:39 +01:00
Laurent Trinques
b9f28c1567 Update *TS files 2022-12-14 19:06:07 +01:00
luz paz
6a4b250213 Fix source typo 'Hidding' 2022-12-07 12:10:34 +01:00
luz paz
4caf5e0211 Fix source typo 'cross_min_heigth' 2022-12-07 12:10:34 +01:00
luz paz
8242e4cfd7 Fix source typo 'minimumRowHeigth' 2022-12-07 12:10:34 +01:00
luz paz
a1f9d05f1c Fix source typo 'Rigth' 2022-12-07 12:10:34 +01:00
luz paz
2032ba76ed Fix various typos in source documentation and comments (cont.)
Found via `codespell`
2022-12-06 07:56:45 +01:00
luz paz
1994235bc5 Fix various typos in source documentation and comments (cont.)
Found via `codespell`
2022-12-04 20:46:32 +01:00
luz paz
a76e5446aa Fix various typos in source documentation and comments
Found via `codespell`
2022-12-04 13:30:01 +01:00
joshua
f41b5a4ed4 See previous commit...
Je suis une tête de linotte
2022-12-02 19:39:56 +01:00
joshua
1f99a40f1b Move terminal strip drawer class in is own file 2022-12-02 19:35:17 +01:00
joshua
d23a5bbdc7 Fix wrong use of QStringLiteral and QLatin1String 2022-12-02 18:26:56 +01:00
joshua
81640015e5 Double click a TerminalStripItem open the editor 2022-12-02 18:12:47 +01:00
aitolos
1eed13c617 Greek Lang update 2022-11-30 19:58:01 +02:00
aitolos
6869d20813 Greek Language Update 2022-11-29 20:46:19 +02:00
Ole Carlsen
c17492183f Danish translation updated 2022-11-24 17:54:18 +01:00
joshua
e3d1467352 Remove minimum height of project properties dialog 2022-11-23 21:58:08 +01:00
dlee99
b626130071 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-11-18 20:20:59 +01:00
Laurent Trinques
7f4bad712e In ISO 639-1, the Ukrainian language is "UK".
"UA" is the country code in ISO 3166-1.
2022-11-18 09:05:50 +01:00
joshua
300440454e Fix crash introduced in commit 5a057b1c2090cdb0ccd74fcb16705580fd9dfda1 2022-11-16 19:06:56 +01:00
Laurent Trinques
05416a5fdc Add TS file for Ukrainian language 2022-11-16 08:26:35 +01:00
Laurent Trinques
d6bcde5f8d Update pugixml to version 1.13 2022-11-15 18:22:00 +01:00
joshua
e1cb55f218 Better use of QObject inheritence 2022-11-14 22:42:27 +01:00
joshua
a18cd2461f Minor change about checkable QAction of QetDiagramEditor 2022-11-14 21:51:14 +01:00
joshua
aca3b8ad1e Minor : corrects a minor aesthetic defect when unbridge terminals 2022-11-14 21:10:38 +01:00
joshua
937afea351 Minor : check if pointer is valid 2022-11-14 20:45:16 +01:00
Laurent Trinques
3341d65a89 Workaround to fix crash when moving element by arrows keys
@driver_item item moved by mouse and don't be moved by Element mover
Disable position x, y in statusBar when moving elements by arrows keys
2022-11-12 12:14:27 +01:00
Laurent Trinques
c397bb6c1d Update translations *TS files 2022-11-11 13:06:25 +01:00
Laurent Trinques
2f72c60f64 Add shorcut for moving up/down folio by 10
add new entries for moving up/down folio by 100 and shorcut
2022-11-11 12:56:22 +01:00
joshua
9e1ef8c42f Revamp code
-Move MoveElementsCommand class from diagramcommands file to
movegraphicsitemcommand file.
-Rename the to class MoveGraphicsItemCommand.
-Minor code change to make it more modern.
2022-11-08 22:06:50 +01:00
joshua
7fede2277f Add and move terminal strip item are now managed by undo command 2022-11-08 19:20:32 +01:00
joshua
5a057b1c20 Minor
More modern c++
2022-11-08 18:17:55 +01:00
joshua
57929e6e38 Minor.
ElementsMover class :
Rename some member variable and add some indentation.
2022-11-05 13:36:46 +01:00
joshua
ae8c20bb04 Minor 2022-11-05 13:28:39 +01:00
Laurent Trinques
ad97559b7c Try to fix FTBFS on Debian Bullseye 2022-11-04 21:34:24 +01:00
Laurent Trinques
e3cc89b546 Try to fix FTBFS on Debian Bullseye 2022-11-04 21:26:08 +01:00
Laurent Trinques
0f215c2902 Try to fix FTBFS on Debian Bullseye 2022-11-04 21:12:19 +01:00
joshua
0ae0ce04cd Show x:y pos when drag element in the status bar 2022-11-04 20:25:49 +01:00
plc-user
850cc5d0f2 added some (non-electric) accessories 2022-11-01 22:57:24 +01:00
plc-user
914ae348c6 added PoE-Injectors 2022-11-01 22:57:24 +01:00
plc-user
bb47a1852e added Weidmüller-Couplers 2022-11-01 22:57:24 +01:00
plc-user
28329c3f1b simplify some Hager-Thumbnails 2022-11-01 22:57:24 +01:00
joshua
21de926367 TerminalStripItem : Draw terminal bridge 2022-10-23 19:30:58 +02:00
OlesyaGerasimenko
71297a0e45 Update Russian translation 2022-10-21 05:35:24 +02:00
plc-user
0e0b680131 added RCBO 1P+N (thanks Vbxler) and Hager-RCBO 2022-10-20 05:30:36 +02:00
plc-user
554dc388a6 new PLC-controllers 2022-10-19 09:23:31 +02:00
plc-user
33c22c72f8 fix graphic-errors and descriptions 2022-10-19 09:23:31 +02:00
plc-user
d4658e64b1 fix formatting and number of decimals 2022-10-18 08:41:05 +02:00
plc-user
9633c32c2c some new elements 2022-10-18 08:41:04 +02:00
Laurent Trinques
6f52be4145 Addd new contrôleurs TM262 of schneider, thanks Galexis 2022-10-14 11:52:15 +02:00
joshua
e26efb6c3a Fix wrong size of new element wizard on windows
See https://qelectrotech.org/bugtracker/view.php?id=264
2022-10-12 21:54:44 +02:00
Laurent Trinques
04f2094466 little modify at hungarian lang file -> publish binary update 2022-10-01 18:04:36 +02:00
plc-user
346900ecbd fix elements that could not be loaded 2022-10-01 06:33:16 +02:00
artgg7300
d80669c253 add new sew movimot mm...d drive element 2022-09-30 13:09:16 +02:00
artgg7300
922f96d79c little modify at hungarian lang file 2022-09-29 12:12:45 +02:00
joshua
0d90defcfe Remove unused include 2022-09-28 21:54:02 +02:00
joshua
ea1ede9cb3 Remove unnecessary assert
Just call :
void DynamicTextFieldEditor::disconnectConnections()
instead of use an assert if there is an active connection.
2022-09-28 21:53:30 +02:00
joshua
ffc2a7a7d7 Fix warning 2022-09-26 21:48:08 +02:00
joshua
3e75bedef0 Fix crash
https://qelectrotech.org/forum/viewtopic.php?pid=16647#p16647
2022-09-26 21:40:47 +02:00
artgg7300
05bd6b43f2 add new Allen Bradley element 2022-09-20 06:15:12 +02:00
artgg7300
718a6a6872 add new Allen Bradley element 2022-09-20 06:12:21 +02:00
artgg7300
42746aa710 delete duplicated Allen Bradley element 2022-09-19 06:25:06 +02:00
artgg7300
662ec3496b delete old Allen Bradley element 2022-09-19 06:18:25 +02:00
artgg7300
cec479aefb add new Allen Bradley element 2022-09-19 06:10:08 +02:00
artgg7300
43821bea0f add new Allen Bradley element 2022-09-19 05:59:57 +02:00
joshua
ff80453f2c Terminal strip item can be added to diagram
Initial commit about graphics item of a terminal strip, Work in
progress.
2022-08-27 21:24:25 +02:00
artgg7300
8775d1e1bd add two new Allen Bradley elements 2022-08-18 12:13:31 +02:00
artgg7300
c6f45c5862 hungarian lang files 2022-08-18 11:59:53 +02:00
dlee99
d7e1813ff3 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-08-13 16:44:36 +02:00
joshua
d6e8a1c133 Element editor : improve deletion speed 2022-08-13 13:06:46 +02:00
joshua
eee1c7fff7 Element editor : Improve responsiveness when several shapes are selected. 2022-08-13 12:40:59 +02:00
David Varley
af5d5e0aa3 Allow for open polygons (ie polylines) when saving as dxf 2022-08-13 11:57:29 +10:00
Laurent Trinques
e9931511de Update EATOn elements, thanks dmsque 2022-08-09 02:32:23 +02:00
Laurent Trinques
acf1e713fc Fix position of label XREF in 'Other' option for slave device contact
type
2022-08-08 10:39:04 +02:00
Laurent Trinques
21524ee528 Add symbol and improve 'Other' option for slave device contact type. 2022-08-06 18:42:05 +02:00
Laurent Trinques
f0919d5fa6 Minor fix in ABB element directory 2022-08-04 09:14:35 +02:00
Laurent Trinques
695e4d95aa Refresh en translation 2022-08-04 09:05:32 +02:00
joshua
02769fe881 Improve opening time of dxf 2022-08-03 13:54:39 +02:00
joshua
e57ba72d7c Fix crash 2022-08-03 12:37:32 +02:00
Ole Carlsen
1b3599e673 Danish translation updated 2022-08-01 20:28:58 +02:00
Laurent Trinques
d0d6b299e4 update polish translation, thanks Paweł 2022-07-31 14:54:17 +02:00
Laurent Trinques
56b7458951 Workaround to fix launch dxf2elmt binary from QET element editor menu on macOS 2022-07-27 18:04:48 +02:00
joshua
74a187e659 Minor 2022-07-27 14:52:50 +02:00
joshua
8b62318588 Return an empty QByteArray if something goes wrong with dxf2elmt 2022-07-27 14:52:00 +02:00
joshua
31466a65ba Fix fail to build from sources
Fix ftbfs for :
ubuntu 18.04 bionic beaver
ubuntu 20.04 focal fossa
debian 11 bullseye
2022-07-27 14:15:32 +02:00
Laurent Trinques
a7160ba9b7 Fix dxf2Elmt Binary name on macOS 2022-07-26 20:18:54 +02:00
Laurent Trinques
cacbce6cec Update *TS file and FR & EN translation 2022-07-26 18:19:27 +02:00
joshua
6fd5209364 Merge branch 'dxf2elmt'
* dxf2elmt:
  Element editor : improve code
  Element editor : improve code
  Import dxf is managed by undo command
  Add import dxf feature
2022-07-26 17:04:22 +02:00
joshua
57695bbbea Element editor : improve code
Better use of signal partsAdded and partsRemoved
2022-07-26 17:03:18 +02:00
joshua
5a497cd6b5 Element editor : improve code
Better use of signal partsAdded and partsRemoved
2022-07-26 16:17:47 +02:00
joshua
cae7cbdbd8 Import dxf is managed by undo command 2022-07-24 20:58:00 +02:00
Laurent Trinques
b65ff83805 Update en translation 2022-07-24 18:17:26 +02:00
Laurent Trinques
c1f2b345e4 Update Fr translation 2022-07-24 16:50:50 +02:00
Peter Kessen
f9600f5dbb Fix german translations 2022-07-24 10:51:12 +02:00
joshua
6e81451b46 Add import dxf feature
Use dxf2elmt to import dxf.
See https://github.com/antonioaja/dxf2elmt
2022-07-23 21:54:23 +02:00
Laurent Trinques
2a7848e1ca Update *TS files 2022-07-21 19:17:09 +02:00
Lars Biskupek
c22abdd2f8 Update of German language files 2022-07-18 18:35:22 +02:00
Laurent Trinques
9e2d4abd01 Add Nidec Leroy-Somer Digitax HD M750 servo drive, thanks Matteo 2022-07-16 16:44:14 +02:00
Laurent Trinques
acd151c9ca Improve last commit 2022-07-16 13:36:05 +02:00
Laurent Trinques
ab724377c0 Fixed a bug with many slaves of type Other, whose XREFs overlap in list
mode
2022-07-16 12:58:35 +02:00
joshua
d9a0b03e23 Minor : add QGIUtility namespace 2022-07-15 20:48:06 +02:00
Laurent Trinques
4c5d27e9af Minor 2022-07-08 21:34:10 +02:00
Laurent Trinques
8af850df44 Add the architecture of the CPU that Qt was compiled for in widget aboutqetdialog and in the logs 2022-07-08 20:50:45 +02:00
Pino Toscano
8a1f509b62 flatpak: refresh 0001-build-Fix-the-installation-paths.patch
Needed after the recent build system changes to MIME-related paths.
2022-07-05 18:16:51 +02:00
Pino Toscano
cf479bc113 Drop old mimelnk MIME types
Those desktop MIME types were needed only with KDE up to 3.x, as it
used to have its own desktop-based MIME type system. KDE 3 is EOL for
many years now, and there are already XDG MIME types.
2022-07-05 18:16:51 +02:00
Pino Toscano
08e206deeb Drop XML files autogenerated from qelectrotech.xml
These files are the bare XML definitions, and they are automatically
generated by update-mime-database (part of shared-mime-info) on update
(e.g. by distro hooks) or manually. Keeping them in the sources, and
installing them, is definitely not correct, as qelectrotech.xml is
their canonical definition.

Hence, drop them from the sources, together with references to them.
2022-07-05 18:16:51 +02:00
joshua
ba1e8381f2 Merge branch 'terminal_strip'
* terminal_strip:
  Improve execution time of some actions.
  Minor : fix little gui defect
  Improve opening time of terminal strip editor window
  Display conductor number
2022-07-04 21:45:18 +02:00
Laurent Trinques
d082c9c9a6 Minor refresh element abe7-h16210-11.elmt 2022-07-04 10:24:07 +02:00
Laurent Trinques
84631b238c Add new symbol Telefast 2022-07-02 18:42:15 +02:00
artgg7300
aa50224b00 add new element AB 1734-ep24dc 2022-07-01 06:42:46 +02:00
Laurent Trinques
d44486f468 Add new eaton_moeller easy elements, thanks dmsque 2022-06-28 18:21:57 +02:00
joshua
2a307a74da Improve execution time of some actions.
Improve the execution time when we add, change or remove
several terminals to/from terminal strip.
2022-06-23 21:36:24 +02:00
Tadeáš Pilař
1a2fea84ff Add 'Other' option for slave device contact type
This option alows for displaying XRef without contact drawing.
This is useful for spliting one physical part into multiple
logical elements when the slave element is not a switch.
2022-06-23 05:41:33 +02:00
Laurent Trinques
f603b229db Add new ABB drives, thanks dmsque 2022-06-23 05:34:08 +02:00
joshua
fa753449ad Minor : fix little gui defect
At opening of terminal strip editor window, click on free terminal
in the tree dock don't show up the free terminal table.
2022-06-22 18:56:22 +02:00
joshua
fe19b270f9 Improve opening time of terminal strip editor window
Need serious refactoring of codes who use the method
Element::actualLabel() and also actualLabel itself.
This part of code is crappy.
2022-06-22 17:34:05 +02:00
Laurent Trinques
5c96c6d773 Add new Delta As_series elements, thanks dmsque 2022-06-18 04:05:19 +02:00
Maximilian Federle
637d0bf6de publish edge snap: Adapt to snapcraft 7 2022-06-15 16:32:43 +02:00
Laurent Trinques
d917c697b0 Add new symbols 2022-06-15 14:28:40 +02:00
Laurent Trinques
1be21782fd Add new symbols 2022-06-15 14:18:48 +02:00
joshua
2e15372aab Display conductor number 2022-06-14 19:30:45 +02:00
plc-user
5c6b9f1829 changed more elements to "thumbnails" 2022-06-14 14:13:15 +02:00
plc-user
9c55378f49 added some parts of series 2003 2022-06-14 14:13:15 +02:00
plc-user
e367436358 Bugfix for "Weidmüller"-Part 2022-06-14 14:13:15 +02:00
joshua
c9ebdace04 Update some code.
Update some part of class LinkSingleElementWidget with more modern
c++ and recent change of Qet.
2022-06-13 21:06:00 +02:00
joshua
3e6e38e566 Continue revamp of elementprovider 2022-06-13 20:46:22 +02:00
joshua
c83d4e5aea Refactoring.
Refactor elementProvider class  : Use the ElementData::Types instead of
deprecated Element::kind
2022-06-13 20:27:06 +02:00
Laurent Trinques
0e9d09c62e Minor revamp last commit: Add Shelly elments... 2022-06-12 10:35:10 +02:00
Laurent Trinques
fe66caf5ac Add Shelly elments, thanks TheKilroy with add these on
qelectrotech-element-contrib
2022-06-10 12:21:50 +02:00
plc-user
c58d61594b added some parts from manufacturer "Weidmüller" 2022-06-06 13:49:03 +02:00
plc-user
3cd3535c18 changed Front-Views to "thumbnails" and added some parts "2003" 2022-06-06 13:49:03 +02:00
joshua
97ecd26749 Use QLatin1String and QStringLiteral for better performance
In class ElementData.
2022-06-01 22:45:59 +02:00
joshua
2e70d2e599 Nomenclature now use properly the element type 'thumbnail'
Use function provided by ElementData to check element type and
master type instead of use plain text (code is more strong)
2022-06-01 22:29:12 +02:00
joshua
3dd0986c4f Fix some warning and write more modern c++ 2022-05-25 23:40:08 +02:00
joshua
899caeabe9 Fix wrong behavior when edit the element information
In the diagram editor, when we edit the element information in the side
panel, each time we tip something in the text field the cursor always go
to the end if the "label" information is empty.
2022-05-25 23:16:13 +02:00
joshua
a2b73ea2bc Definitely fix the rotation problem :)
Only use space for every rotation
2022-05-25 21:47:31 +02:00
Laurent Trinques
bf32219154 Fix previous workaround
Now the shortcut for the rotate action is key_space and use key_R to
rotate terminal on the fly before placing it in the drawing.
2022-05-25 17:39:49 +02:00
Laurent Trinques
6a669f1399 Fix previous workaround
Because strange behaviour with Qt::key_space if used for keyPressEvent
and also in shortcut.
Now the shortcut for the rotate action is ctrl + R and key_space to
rotate terminal on the fly before placing it in the drawing.
2022-05-25 13:47:22 +02:00
joshua
4ab1ed7fc9 Fix previous workaround
The rotate action shortcut was 'space' before this commit and so the
keyPressEvent with space key was never propagated because always grabbed
by the rotate action.
Now the shortcut for the rotate action is ctrl + space.
Note that even if rotate exist in element editor, this doesn't work well
because the rotation is not well managed by the save/load from elmt
file.
2022-05-22 21:05:54 +02:00
Laurent Trinques
89d03e5503 Element editor : Workaround for Qt::Key_Space event not working
Use of ALT key as a replacement to rotate terminal on the fly before
placing it in the drawing.
Fix bug #262
https://qelectrotech.org/bugtracker/view.php?id=262
2022-05-21 23:28:44 +02:00
Laurent Trinques
9a6e1d2a61 Editor commands: change the rotation with the space key on the keyboard
from 90° to 15° for more precision for part lines, polygons, texts, arcs
and circles.
2022-05-20 10:18:37 +02:00
Laurent Trinques
fad6983cf1 Element::Thumbnail fix for BOM pages 2022-05-16 09:30:32 +02:00
Laurent Trinques
daeec311b2 Element::Thumbnail WIP 2022-05-16 08:59:25 +02:00
Laurent Trinques
db8c76c184 Element::Thumbnail WIP 2022-05-15 14:29:01 +02:00
Laurent Trinques
2ec7e6aa45 In 99_assembly_plan directory change link_type="simple" by link_type="thumbnail" 2022-05-15 06:28:20 +02:00
joshua
021aea1d8b Add the new element type : thumbnail
This type must be used for element who goal is to display a
thumbnail/front view of an element, notably used for cabinet contents
view and placement.
2022-05-13 20:02:29 +02:00
Laurent Trinques
1f4dfdba3f Add QPrinter::HighResolution 2022-05-05 13:37:24 +02:00
joshua
f0694f0daf Merge branch 'terminal_strip'
* terminal_strip:
  Remove terminal strip widget
  Several terminals can be removed or moved from strip in one shot
2022-05-04 18:48:46 +02:00
joshua
baf412614c Remove terminal strip widget
Since this commit, the terminals can't be moved from the tree widget,
instead we need to use the "move in" widget to move one or several
selected terminals in the table view.
2022-05-04 18:38:45 +02:00
Laurent Trinques
e1865fec62 Update Ewon elements, thanks Vbxler 2022-04-28 13:31:31 +02:00
Laurent Trinques
1e255af3be Update SingleApplication and pugixml to latest upstream release 2022-04-27 13:52:41 +02:00
Laurent Trinques
1c99cb5c2d Add Qt::AA_UseHighDpiPixmaps 2022-04-27 09:14:13 +02:00
Laurent Trinques
4ca21a3bff Add new ewon elements, thanks Vbxler 2022-04-26 13:26:07 +02:00
Laurent Trinques
189d92f2a9 Minor 2022-04-26 08:15:20 +02:00
Laurent Trinques
34a7e0f3fe Minor : machineinfo change RAM informations MB to GB 2022-04-26 07:54:41 +02:00
joshua
17290ae3b3 Try to fix fail to build for old Qt version 2022-04-25 18:24:43 +02:00
Laurent Trinques
8b65d240db Add new example found on www 2022-04-23 13:37:36 +02:00
joshua
bce6a43427 Several terminals can be removed or moved from strip in one shot 2022-04-10 13:52:45 +02:00
joshua
1c52cd71a9 Merge branch 'terminal_strip'
* terminal_strip:
  Minor fix : wrong variable name
2022-04-09 16:35:02 +02:00
joshua
898edb6c12 Minor fix : wrong variable name 2022-04-09 16:34:30 +02:00
joshua
de3fa988b1 Fix some clazy warning 2022-04-09 13:07:47 +02:00
joshua
b42aec7bdf Minor
Block database signal when a project is currently being deleted.
Among other things, this avoid the multiple show of the dialog "table
limitation".
2022-04-09 12:46:07 +02:00
joshua
ea46a92f3f Merge branch 'terminal_strip'
* terminal_strip:
  Several real terminal can be added to terminal strip in one shot
  Minor : avoid unnecessary multiple function call
  The free terminal properties can be edited by batch.
  Change made inside the free terminal table can be applied
  Hide/show apply/reset buttons according to current displayed widget
  Edited data of terminal strip can be applied
  Change terminal strip editor class
  Add free terminal editor widget
  Add toolbar and buttons
  Start to move terminal strip editor from QDialog to QMainWindow
  Add table widget and item model for free terminal
  Revamp code
  Improve undo command when add/move/remove terminal in/from/to terminal strip
  Revamp code.
  Revamp code, make it more simple
  Remove the real terminal uuid, and use instead the uuid of the terminal element itself
  RealTerminal is created by the TerminalElement itself
  Change relationship betwen classes RealTerminal PhysicalTerminald and TerminalElement
  QTreeWidget "terminal explorer" : improve item text
  minor : remove unused code
2022-04-09 11:54:58 +02:00
joshua
6197d0215a Several real terminal can be added to terminal strip in one shot
User can select several real terminals in the free terminal editor
and add it with one operation on a terminal strip.
2022-04-08 20:48:32 +02:00
Laurent Trinques
6fd342e265 Fix typo 2022-04-07 17:01:23 +02:00
Laurent Trinques
395d968ab5 Minor 2022-04-07 16:48:37 +02:00
Laurent Trinques
e41b7f7d6c Machine_info add disk and partition informations 2022-04-07 16:33:20 +02:00
Laurent Trinques
fabf0109ff Remove element surpresseur_mono_hyd.elmt 2022-04-02 19:58:29 +02:00
Laurent Trinques
cabfdc0a54 Add reworked pneumatic symbols, thanks Vbxler 2022-04-02 19:52:17 +02:00
joshua
6f4122f65c Fix a funny bug
When we create a summary table and uncheck the option "adjust the size
of the table to the folio" an infinity of new diagram are added to the
project.
2022-04-01 20:41:07 +02:00
joshua
ce21a812c0 Fix bug 244
I was thinking that the commit 5a51f6bace3115bb597ba472eb8938566c9d0fcf
fix the bug 244, but not they only fix this bug :
https://qelectrotech.org/forum/viewtopic.php?pid=16022#p16022

This commit really fix the bug 244
2022-04-01 20:04:17 +02:00
joshua
5a51f6bace Fix crash
See bug N°244
https://qelectrotech.org/bugtracker/view.php?id=244
2022-03-31 19:05:45 +02:00
joshua
a38d97896d Minor : avoid unnecessary multiple function call
TerminalStripTreeDockWidget::on_m_tree_view_currentItemChanged
call setCurrentStrip only when current strip changed, and not every time
when user click in another item on the tree view.
2022-03-30 20:30:57 +02:00
joshua
c4b0c1435c The free terminal properties can be edited by batch. 2022-03-25 19:49:31 +01:00
joshua
a4445c411d Change made inside the free terminal table can be applied 2022-03-25 19:25:46 +01:00
joshua
e92bd36f9b Hide/show apply/reset buttons according to current displayed widget 2022-03-25 19:00:09 +01:00
Laurent Trinques
61ff8884e0 Minor 2022-03-24 06:25:28 +01:00
Laurent Trinques
b8af2e9d1d Minor : add informations in aboutqetdialog widget 2022-03-24 06:13:03 +01:00
joshua
8084fa8f29 Edited data of terminal strip can be applied 2022-03-23 21:18:22 +01:00
plc-user
1066e55262 rework and new elements (Hager) 2022-03-21 05:19:01 +01:00
joshua
edfb23be23 Change terminal strip editor class
Change parent class from QDialog to QWidget.
Terminal strip editor is now embedded in TerminalStripEditorWindow.
2022-03-20 18:25:25 +01:00
plc-user
516a1a7826 more cleanup, rework and new elements 2022-03-19 15:18:29 +01:00
plc-user
be1d87c5d4 cleanup, rework and new elements 2022-03-17 08:38:38 +01:00
joshua
b48ba939de Add free terminal editor widget 2022-03-16 22:44:08 +01:00
joshua
b1ad16d482 Add toolbar and buttons
Add 'add terminal strip' button.
Add 'remove terminal strip' button
Add 'reload' button
2022-03-16 18:58:36 +01:00
joshua
ceb54fbc6a Start to move terminal strip editor from QDialog to QMainWindow 2022-03-14 17:56:18 +01:00
plc-user
e42bcb5ec9 bugfix, rework and new elements 2022-03-12 22:01:25 +01:00
joshua
9cbc3a2265 Add table widget and item model for free terminal
WIP, the change made in the table widget can't be applied.
2022-03-12 19:07:49 +01:00
plc-user
e93990a6e4 rework of some Elements and some new Terminals 2022-02-26 15:50:07 +01:00
Laurent Trinques
bb1a0767a3 Change &amp; by undferscore in qet_labels.xml 2022-02-24 13:33:06 +01:00
Laurent Trinques
0b7afe4781 Flatpak & AppImage : restore Sqlite3 for database export 2022-02-21 13:45:55 +01:00
plc-user
9a3de1f780 rework of some Elements an some new ones 2022-02-21 13:36:09 +01:00
joshua
0ff099fb52 Revamp code
Change the way to know who is the physical terminal of a real terminal
when we got only the real terminal.
2022-02-20 13:13:29 +01:00
joshua
05a2e4b37b Improve undo command when add/move/remove terminal in/from/to terminal strip 2022-02-19 12:34:38 +01:00
Laurent Trinques
830a70ac94 Add Linux pc.gpu.RAM informations,
but need glxinfo dependency
2022-02-17 19:01:56 +01:00
Laurent Trinques
e63a8c8482 Minor 2022-02-16 13:57:04 +01:00
Laurent Trinques
855162bb03 Improve QElapsedTimer in seconds to compute time used for reload element collection 2022-02-16 12:34:04 +01:00
Ole Carlsen
d2c15cf57b Update Danish translation 2022-02-14 19:37:51 +01:00
artgg7300
02ce65b3a9 little mod on element 2022-02-14 05:20:11 +01:00
pavelfric
0bf1f89c13 Updated Czech translations of elements. 2022-02-13 11:28:37 +01:00
joshua
74c3ab1b82 Fix can't resize QetGraphicsTableItem
User can't grab the handler item.
2022-02-10 19:13:59 +01:00
joshua
062ae6e9eb Fix intensive call of updateUi when move a QetGraphicsTableItem 2022-02-10 19:11:06 +01:00
joshua
dcc5a4dd0b Revamp code.
Remove a QVector member variable and use instead a function who
return the same vector, but created on the fly
2022-02-09 19:15:45 +01:00
joshua
ba638f52e5 Revamp code, make it more simple 2022-02-09 18:57:27 +01:00
joshua
ffd904749e Remove the real terminal uuid, and use instead the uuid of the terminal element itself 2022-02-09 18:13:35 +01:00
joshua
c037d3ea0a RealTerminal is created by the TerminalElement itself 2022-02-09 18:08:20 +01:00
artgg7300
087c8980f0 little modif on element 2022-02-09 06:07:42 +01:00
joshua
70f50ff362 Change relationship betwen classes RealTerminal PhysicalTerminald and TerminalElement 2022-02-08 19:24:16 +01:00
artgg7300
904e805935 add new elements and remove a old 2022-02-08 06:27:36 +01:00
artgg7300
04d478882e add new element Dahlander motor 2022-02-06 17:34:01 +01:00
joshua
35cd790c8f Fix crash 2022-02-06 16:36:00 +01:00
joshua
1a26133a78 Add a QElapsedTimer to compute time used for reload element collection 2022-02-06 15:50:25 +01:00
joshua
a028b774bf QTreeWidget "terminal explorer" : improve item text
In the QTreeWidget "terminal explorer", when the physical terminal is
composed by several real terminal, the text of the QTreeWidgetItem
display the label of each real terminal.
2022-02-06 15:05:24 +01:00
Laurent Trinques
72b7bc210f Minor 2022-02-06 14:03:49 +01:00
Laurent Trinques
5fe2efca1a Minor 2022-02-05 15:36:44 +01:00
Laurent Trinques
3ce09775ac Minor 2022-02-05 13:12:11 +01:00
joshua
3a53c2d53b minor : remove unused code 2022-02-05 12:02:59 +01:00
joshua
7ba27ec9d9 Fix very weird bug
see
https://linuxfr.org/forums/programmation-c/posts/erreur-de-compilation-aucun-fichier-ou-dossier-de-ce-type
2022-02-05 11:40:47 +01:00
Laurent Trinques
d74dcdea6c Minor 2022-02-04 16:16:34 +01:00
joshua
9cb86a7e54 Fix fail to build for older version of Qt 2022-02-01 11:29:06 +01:00
joshua
826991e6d6 Improve how real terminals are grouped 2022-02-01 11:13:23 +01:00
joshua
53157afd12 Minor : rebuild terminal vector everywhere is needed 2022-02-01 10:30:42 +01:00
joshua
a165a3cb28 When undo an ungroup terminal command, the terminal keep the same level. 2022-02-01 09:53:06 +01:00
joshua
1d20018a26 Merge branch 'terminal_strip'
* terminal_strip:
  Terminal strip bridge are now save in .qet file
Minor : don't push an undo command when change bridge color by the
same color
2022-01-31 18:17:27 +01:00
joshua
c02238cab8 Terminal strip bridge are now save in .qet file 2022-01-31 18:11:21 +01:00
joshua
35a40f1aba Fix fail to build from sources for some Qt version 2022-01-31 17:25:10 +01:00
Laurent Trinques
6e55a630b4 Rename Folder names containing the '&' character cause the PHP file _exist() function to fail. 2022-01-30 11:24:11 +01:00
Laurent Trinques
9a17c8f72c Rename Folder names containing the '&' character cause the PHP file _exist() function to fail. 2022-01-30 11:21:59 +01:00
Laurent Trinques
04c17ac5ac Rename Folder names containing the '&' character cause the PHP file _exist() function to fail. 2022-01-30 10:50:21 +01:00
Laurent Trinques
686bd8dff1 Rename Folder names containing the '&' character cause the PHP file _exist() function to fail. 2022-01-30 10:36:18 +01:00
joshua
bd635b8e43 Minor : don't push an undo command when change bridge color by the same color 2022-01-28 18:37:40 +01:00
joshua
0bd0476cb1 Merge branch 'terminal_strip'
* terminal_strip:
  Fix fail to build from sources
  Minor improvement about undo/redo for bridge creation
  Minor Fix : undo command for unbridge strip don't work
  Minor : add undo text
2022-01-28 18:09:20 +01:00
joshua
d562ca8a39 Fix fail to build from sources 2022-01-28 18:08:16 +01:00
joshua
a31bd6eb0d Minor improvement about undo/redo for bridge creation
When a new bridge is created, an undo command is created for that.
When undo the action and redo it, all terminals are bridged to a new
bridge instead of the first one, who continue to exist but is now
empty and 'lost' because he will never be reused.
In addition of that, if a more recent undo command (we call it undo2)
use this bridge,
there is a unknown behavior, because the status of the bridge is not the
same as when the undo2  was created.
2022-01-27 20:00:46 +01:00
joshua
d114b097bf Minor Fix : undo command for unbridge strip don't work 2022-01-27 19:45:33 +01:00
joshua
993eb58d46 Minor : add undo text 2022-01-27 19:07:49 +01:00
joshua
7aa048740b Merge branch 'terminal_strip'
* terminal_strip:
  TerminalStripBridge color can be edited.
  Use QSharedPointer instead of QWeakPointer + remove unused include
  Change struct TerminalStripBridge to class
  Revamp terminalStrip feature code
  Revamp PhysicalTerminal class
  Revamp RealTerminal class...... again
  Improve bridge edition
  Improve code readability
  Fix copy constructo warning
  Make code less spaghetti
  Draw bridge pixmap in the tableview (wip)
  REmove unused method : levelCellCount
  Remove isXrefCell method...
  Add terminal bridge feature
2022-01-27 19:02:43 +01:00
Maximilian Federle
306f4c7b54 projectview: Only append .qet if not snap or flatpak 2022-01-27 12:02:08 +01:00
Laurent Trinques
4334c8ec8c Add new symbols, thanks Vbxler 2022-01-26 11:47:16 +01:00
dlee99
7aabdd1781 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-01-21 21:55:02 +01:00
artgg7300
bb48c4607a translated hungarian files 2022-01-20 10:49:33 +01:00
dlee99
0600b85e8a modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-01-19 22:30:42 +01:00
Maximilian Federle
688d9fe4c1 projectview: Re-enable appending qet suffix if not running as flatpak
It was removed in b121dad for all platforms.
Only disable appending the suffix for the flatpak platform
by testing for the FLATPAK_ID environment variable.
2022-01-19 20:29:34 +01:00
joshua
683095173e TerminalStripBridge color can be edited. 2022-01-18 11:24:07 +01:00
dlee99
0d70ed53a9 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2022-01-15 21:45:46 +01:00
joshua
7d33b48b3a Merge branch 'master' into terminal_strip
* master:
  BugFix : default element collection path is wrong
  snap: Remove framework snap prompt
  Update translation and add cn chinese ts files
  Danish translation updated
  Danish translation
  Danish translation
  Add new thumbnail element
  Flatpak add --share=network
Flatpak : add --socket=cups see :
https://github.com/flathub/org.libreoffice.LibreOffice/issues/90
  Graphics item handler is bigger when overred
  Add toolbar widget for edit size of handler in diagram editor.
  Fix Multiple translation in elements
  Fix Multiple translation in elements
  Fix segfault.
  new Analog-In - Module
  cleanup and upgraded elements
  modified:   lang/qet_nl.qm 	modified:   lang/qet_nl.ts
  Add Russian translation, thanks "А.Разживин"
  little modification in hungarian language
  Fixed typo
2022-01-14 19:47:28 +01:00
joshua
d7e2ef283a BugFix : default element collection path is wrong 2022-01-14 19:04:53 +01:00
Maximilian Federle
782eaff4d2 snap: Remove framework snap prompt
Now that https://github.com/snapcore/snapcraft/pull/3596 has been
released in snapcraft 6.0.1, drop the prompt that tells users to
disconnect the old framework snap.

Also drop --enable-experimental-extensions from CI  because kde-neon
has been declared stable for core20.
2022-01-14 18:12:45 +01:00
Laurent Trinques
9bd2ea22f3 Update translation and add cn chinese ts files 2022-01-11 10:03:22 +01:00
Ole Carlsen
ee4ce5db4e Danish translation updated 2022-01-09 18:45:25 +01:00
Ole Carlsen
b90d06aa5c Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2022-01-09 16:29:35 +01:00
Ole Carlsen
ba47a11282 Danish translation 2022-01-09 16:28:30 +01:00
Ole Carlsen
4041073c96 Danish translation 2022-01-09 16:24:53 +01:00
joshua
8830204c0c Add new thumbnail element 2022-01-07 16:41:04 +01:00
Laurent Trinques
d932f8ea01 Flatpak add --share=network 2022-01-05 11:16:22 +01:00
Laurent Trinques
8cfa852077 Flatpak : add --socket=cups see :
https://github.com/flathub/org.libreoffice.LibreOffice/issues/90
2022-01-05 07:24:56 +01:00
joshua
1a75eb19d0 Graphics item handler is bigger when overred 2022-01-04 18:41:46 +01:00
joshua
ae9faa2192 Add toolbar widget for edit size of handler in diagram editor.
Add a combo box in the tool bar of diagram editor
to quickly change the size of the graphics handler item.

The sarto commit :D

NOTE
only available for diagram editor, element editor will
come later.
2022-01-03 21:01:25 +01:00
Laurent Trinques
e087270b6d Fix Multiple translation in elements 2021-12-31 13:29:17 +01:00
Laurent Trinques
b8263b03bc Fix Multiple translation in elements 2021-12-31 13:23:03 +01:00
joshua
778837a770 Fix segfault.
Fix bug 249.
https://qelectrotech.org/bugtracker/view.php?id=249
2021-12-28 15:25:35 +01:00
joshua
09694ddec9 Use QSharedPointer instead of QWeakPointer + remove unused include 2021-12-26 18:48:11 +01:00
joshua
1572fafabe Change struct TerminalStripBridge to class
And move it in a new file
2021-12-26 18:43:17 +01:00
joshua
5709f469fc Revamp terminalStrip feature code
Move RealTerminal class in a new file
Move PhysicalTerminal class in a new file.
Remove the use of QWeakPointer and use instead QSharedPointer
in a big part of the revamp.
2021-12-26 17:26:00 +01:00
joshua
2ea9f8a2c6 Revamp PhysicalTerminal class 2021-12-23 22:17:37 +01:00
joshua
a2e5989f3b Revamp RealTerminal class...... again
I don't know what I want, I'm crazy :D.
Next commit will also revamp PhysicalTerminal
and TerminalStripBridge class, code will be more clear and
easy to understand.
2021-12-23 18:37:17 +01:00
plc-user
e556abbab3 new Analog-In - Module 2021-12-23 09:06:00 +01:00
plc-user
337dd7c13b cleanup and upgraded elements 2021-12-23 09:05:59 +01:00
dlee99
34a3325ba9 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-12-22 21:04:59 +01:00
joshua
02b385e0b7 Improve bridge edition 2021-12-22 19:21:54 +01:00
joshua
e2454faa36 Improve code readability 2021-12-19 21:05:48 +01:00
joshua
57e80e7b5e Fix copy constructo warning 2021-12-19 20:03:26 +01:00
joshua
6505330b5f Make code less spaghetti
Not finished yet.
2021-12-19 14:55:02 +01:00
Laurent Trinques
56685d0f30 Add Russian translation, thanks "А.Разживин" 2021-12-17 16:29:26 +01:00
artgg7300
ee7a752a52 little modification in hungarian language 2021-12-16 15:51:32 +01:00
Jop Huttenhuis
7084f5bcf0 Fixed typo
Fixed a typo which caused a wrong summary table header.
2021-12-12 18:08:55 +01:00
joshua
cd914c8726 Merge branch 'master' into terminal_strip
* master: (21 commits)
  Minor: remove spaces in filenames
  minor: remove capital letters
  Add new symbols Fibaro, thanks Bertus
  Update Hungarian translation, thanks Gubányi
  modified:   lang/qet_nl.qm 	modified:   lang/qet_nl.ts
  Add preprocessor to check Qt version
  Update *TS files
  Add possibility to user to choose hdpi round policy
  Minor improvement for function QETApp::customElementsDir() and QETApp::commonElementsDir()
  Add new GCE symbol
  Flatpak: update qet_tb_generator to version 1.3.1
  Add new symbol nodemcu_v3, thanks Bertus
  Add new symbols
  ci: Build edge snaps on GitHub & release to store
  snap: Port to core20
  Flatpak update qet_tb_generator to 1.3.0 version
  Fix typo in URL
  SNAP change Github source to https://github.com/raulroda/qet_tb_generator-plugin
  modified:   lang/qet_nl.qm 	modified:   lang/qet_nl.ts
  upgraded elements and renamed company
  ...
2021-12-11 21:27:34 +01:00
joshua
beee4a06c8 Draw bridge pixmap in the tableview (wip) 2021-12-11 21:25:40 +01:00
Laurent Trinques
98960f5b2b Minor: remove spaces in filenames 2021-12-07 14:35:29 +01:00
Laurent Trinques
2bdecd3bd2 minor: remove capital letters 2021-12-07 14:32:34 +01:00
Laurent Trinques
c22f3c84bb Add new symbols Fibaro, thanks Bertus 2021-12-07 14:31:05 +01:00
Laurent Trinques
959dee7889 Update Hungarian translation, thanks Gubányi 2021-12-06 19:11:13 +01:00
dlee99
dd82a705d6 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-12-04 22:05:11 +01:00
joshua
c744356b0f Add preprocessor to check Qt version
Use to check if Qt is 5.14 for using
QGuiApplication::setHighDpiScaleFactorRoundingPolicy
2021-12-04 19:12:11 +01:00
Laurent Trinques
1073ebeebc Update *TS files 2021-12-04 15:18:39 +01:00
joshua
b94ec0938b Add possibility to user to choose hdpi round policy
Add combo box in general configuration dialog to let user
choose the round policy to use with hdpi screen.
2021-12-04 14:38:41 +01:00
joshua
eed1223c1d Minor improvement for function QETApp::customElementsDir() and QETApp::commonElementsDir()
the path is set the first time the function is called.
Each other call will immediately return the previously setted path
instead of check again what path to return.
2021-12-04 12:22:47 +01:00
joshua
291e163ee2 REmove unused method : levelCellCount 2021-12-02 18:55:56 +01:00
joshua
6e68e6047a Remove isXrefCell method...
and use instead columnTypeForIndex method
2021-12-02 18:54:45 +01:00
joshua
ce8bd7fae3 Add terminal bridge feature 2021-12-01 21:27:04 +01:00
Laurent Trinques
94f66553ac Add new GCE symbol 2021-11-29 04:59:58 +01:00
Laurent Trinques
c7579db674 Flatpak: update qet_tb_generator to version 1.3.1 2021-11-28 13:56:31 +01:00
Laurent Trinques
478c7771b7 Add new symbol nodemcu_v3, thanks Bertus 2021-11-28 00:01:35 +01:00
Laurent Trinques
b46bf67c58 Add new symbols 2021-11-27 07:20:05 +01:00
Maximilian Federle
8c09399804 ci: Build edge snaps on GitHub & release to store 2021-11-20 16:57:45 +01:00
Maximilian Federle
5055e93114 snap: Port to core20 2021-11-20 16:57:45 +01:00
Laurent Trinques
c70eb65259 Flatpak update qet_tb_generator to 1.3.0 version 2021-11-16 13:36:13 +01:00
Laurent Trinques
ebeeb04aa4 Fix typo in URL 2021-11-16 13:31:52 +01:00
Laurent Trinques
f0413ce9a5 SNAP change Github source to https://github.com/raulroda/qet_tb_generator-plugin 2021-11-16 13:30:02 +01:00
dlee99
21bb3f8426 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-11-09 22:14:23 +01:00
plc-user
acf7478c8b upgraded elements and renamed company 2021-11-07 15:50:20 +01:00
Laurent Trinques
f08811aca0 Add Loxome symbols 2021-11-07 10:16:30 +01:00
dlee99
ea26f0b04e modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-11-04 19:39:04 +01:00
Laurent Trinques
9485e3360b Update *TS files 2021-11-04 09:39:59 +01:00
joshua
3e5713a512 Fix FTBFS for ubuntu bionic beaver 2021-11-01 13:36:41 +01:00
joshua
58a3e72abe Fix FTBFS for ubuntu Bionic Beaver 2021-11-01 12:41:43 +01:00
joshua
2252feca16 Fix some FTBS for older version of Qt and std c++ 2021-11-01 11:53:16 +01:00
joshua
985988ee53 Remove the use of c++17 if initializer 2021-10-29 20:57:11 +02:00
joshua
1cc162867f Fix fail to build for QT version lesser than 5.14 2021-10-29 19:37:02 +02:00
joshua
91ac46df83 Fix wrong use of static method QUuid::fromString() 2021-10-29 18:53:36 +02:00
joshua
f01b15d00a Merge branch 'master' into terminal_strip
* master:
  Danish translation updated
  translated hungarian files
  Update of German Language File, thanks Lars
2021-10-27 20:56:19 +02:00
joshua
3fdba11c73 Add buttons to quickly edit the type, function and led of several terminal at once. 2021-10-27 20:54:34 +02:00
Ole Carlsen
7afa1b8a59 Danish translation updated 2021-10-25 19:31:37 +02:00
artgg7300
6f197c2bb7 translated hungarian files 2021-10-22 20:04:22 +02:00
Laurent Trinques
5b788c177b Update of German Language File, thanks Lars 2021-10-22 06:41:57 +02:00
joshua
204b53cd00 Merge branch 'master' into terminal_strip
* master: (55 commits)
  modified:   lang/qet_nl.qm 	modified:   lang/qet_nl.ts
  Update *TS files
  Fix some misprint
  new and upgraded elements
  fix typo
  add terminals to thermo-couples
  upgraded elements and descriptions
  upgraded / added elements and descriptions
  updated descriptions
  more elements and descriptions
  fix typos
  update element-descriptions
  update elements / more element-descriptions
  fix designations / update descriptions
  fix designations / update descriptions
  update element-descriptions
  fix typo
  update element-descriptions
  update / add elements
  update element-descriptions
  ...
2021-10-20 21:32:45 +02:00
dlee99
a646359d51 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-10-19 22:55:30 +02:00
Laurent Trinques
91f034272c Update *TS files 2021-10-19 06:17:19 +02:00
joshua
aefae7b73b Fix some misprint
When print on printer with low resolution, some lines are not printed
because to thin.
Thin line of elements : set width to 0.5 instead of 0 and set cosmetic
option to false.
Folio border and titleblock : set width to 1 and set cosmetic option to
false.
2021-10-16 10:15:45 +02:00
joshua
107d7ff806 Level of real terminal can be edited
The level of each real terminal who compose a physical terminal can be
edited. Several real terminal can be edited in one shot.
2021-10-12 19:25:35 +02:00
joshua
8b1f2fb0d9 Change the way how multi-level terminals are sorted 2021-10-10 10:58:38 +02:00
joshua
7c6fca2aac Ungroup terminal is now managed by undo stack 2021-10-09 14:45:54 +02:00
joshua
c6e3e385ff Clear code 2021-10-09 12:08:18 +02:00
joshua
089f260d9b Group terminals together is now managed by undo stack 2021-10-09 11:58:10 +02:00
plc-user
09e345ee4a new and upgraded elements 2021-10-06 06:14:55 +02:00
joshua
828424cae8 Level terminals can be disassembled 2021-10-04 21:26:51 +02:00
joshua
dca643f7aa Multi-level terminal can be created. 2021-10-03 13:22:21 +02:00
plc-user
cc327cb761 fix typo 2021-10-01 14:56:15 +02:00
plc-user
c03f2b605f add terminals to thermo-couples 2021-10-01 14:56:15 +02:00
plc-user
7ce23598e4 upgraded elements and descriptions 2021-10-01 14:56:15 +02:00
plc-user
3097a59c68 upgraded / added elements and descriptions 2021-10-01 14:56:15 +02:00
plc-user
53178cf17a updated descriptions 2021-09-30 04:29:56 +02:00
plc-user
6d02cd1779 more elements and descriptions 2021-09-30 04:29:56 +02:00
plc-user
1839e988f6 fix typos 2021-09-29 09:45:24 +02:00
plc-user
543c706e0c update element-descriptions 2021-09-29 09:45:24 +02:00
plc-user
5af8665e24 update elements / more element-descriptions 2021-09-29 09:45:24 +02:00
plc-user
86595f4114 fix designations / update descriptions 2021-09-26 07:09:50 +02:00
plc-user
f8cc42e3a7 fix designations / update descriptions 2021-09-25 05:53:10 +02:00
plc-user
085f56d192 update element-descriptions 2021-09-25 05:53:10 +02:00
plc-user
b580c2bb73 fix typo 2021-09-25 05:53:10 +02:00
plc-user
c6e168bb20 update element-descriptions 2021-09-25 05:53:10 +02:00
plc-user
a2a0c166d9 update / add elements 2021-09-25 05:53:10 +02:00
plc-user
96d6e21e2f update element-descriptions 2021-09-24 18:16:59 +02:00
plc-user
4093d1fa27 update translations and elements / added elements 2021-09-24 18:16:59 +02:00
Peter Keresztes Schmidt
de80d10f5e Build fix for non-C++17 compatible systems
std::variant/std::visit was only introduced with C++17. Remove its usage.
We don't even need it in these cases since QColor has an implicit constructor accepting Qt::GlobalColor.

Follow-up for b69c7b10277257fcd2b4b993e303049f41061a6f
2021-09-23 21:50:37 +02:00
joshua
1699ad9dd8 Add a push button to automatically reorder the terminal strip 2021-09-22 23:02:33 +02:00
Peter Keresztes Schmidt
e9a5fded5c DiagramContextWidget: Fix verification of keys 2021-09-22 21:54:00 +02:00
Peter Keresztes Schmidt
a8d42b0f9a Add MSVC support to MachineInfo 2021-09-22 21:53:21 +02:00
Peter Keresztes Schmidt
b69c7b1027 Refactor deeply nested statements
Compilation using MSVC fails with a C1061 error since MSVC has a hard limit on block nesting.
Refactor the code in question to use map lookups instead.
2021-09-22 21:53:21 +02:00
Olivier
7b0a581008 Correct a writing mistake in a name 2021-09-21 04:00:57 +02:00
Olivier
4f1a6d55e5 Redraw some switches and organize the folder a bit 2021-09-21 04:00:57 +02:00
Olivier
1048cef845 IEC 60617: Modification of group names 2021-09-21 04:00:57 +02:00
Olivier
dccbf92964 IEC 60617: Adding English names of elements 2021-09-21 04:00:57 +02:00
Olivier
626bf4ce9c IEC 60617: Manual changes in element names 2021-09-21 04:00:57 +02:00
Olivier
1f22a5a0a8 IEC 60617: Correction of a file name 2021-09-21 04:00:57 +02:00
Olivier
ce4729e1c0 IEC 60617: Correction of wrong file names 2021-09-21 04:00:57 +02:00
Olivier
d99b035aa6 IEC 60617: Rename two elements that had wrong names 2021-09-21 04:00:57 +02:00
Olivier
ad77482235 IEC 60617: Rename files that had wrong names. 2021-09-21 04:00:57 +02:00
Olivier
b02ed7fe51 IEC 60617: Correct two elements 2021-09-21 04:00:57 +02:00
Olivier
58efc14633 IEC 60617: Rename files that had wrong names. 2021-09-21 04:00:57 +02:00
Olivier
b03deb8e3e IEC 60617: Manual adjustment of "qet_directory" files 2021-09-21 04:00:57 +02:00
Olivier
580bb07685 IEC 60617: Addition of English in "qet_directory" files. 2021-09-21 04:00:57 +02:00
Olivier
818e5ef484 IEC 60617: manual change for some "qet_directory" files. 2021-09-21 04:00:57 +02:00
Olivier
bd6920e049 Correction of the family names in IEC 60617 2021-09-21 04:00:57 +02:00
joshua
377f8b1521 Overridden properties of terminal elements are now saved/loaded from project
The overridden properties of terminal elements made in the terminal
strip dialog are now saved and loaded from/to the project file.
2021-09-20 18:34:48 +02:00
joshua
67dbc798aa Minor 2021-09-20 18:21:23 +02:00
plc-user
6d17f3d0ad declare terminals as such / more element-descriptions 2021-09-20 14:50:18 +02:00
plc-user
5fc5a33543 some more element-descriptions 2021-09-18 10:13:56 +02:00
plc-user
337a2a45b4 added element-descriptions and elements 2021-09-18 10:13:56 +02:00
plc-user
8cb2fcc09c more element-descriptions / new elements 2021-09-17 10:02:37 +02:00
plc-user
8547940ab2 more element-descriptions 2021-09-16 14:05:46 +02:00
plc-user
f52ed8cf51 upgrade descriptions, new elements 2021-09-16 14:05:46 +02:00
Adrien Allain
ccfb46b354 Implemented QET coding style (replaced 4 space with tab) 2021-09-14 09:35:14 +02:00
Adrien Allain
c640d96bca * Added the m_rotate_action to qetelementeditor.ui * Adding QAction to qetelementeditor.cpp and connecting it to new slot RotateElementsCommand defined in editorcommands.cpp
* Some types of elements need to specialize the setRotation method in order to behave correctly :
- PartTerminal needs to call setOrientation
- PartLine, PartRectangle and PartPolygon need a different rotation center.
2021-09-14 09:35:14 +02:00
joshua
37e74b397e Use RealTerminalData struct instead of TerminalStripIndex class 2021-09-12 12:49:12 +02:00
plc-user
9135099dbf cleanup, upgrade descriptions, new elements 2021-09-12 12:13:18 +02:00
plc-user
76d68f5025 upgraded some descriptions 2021-09-12 12:13:18 +02:00
plc-user
710067969e upgraded some elements 2021-09-12 12:13:18 +02:00
plc-user
ddc171cfa2 removed some un-necessary line-breaks 2021-09-12 12:13:18 +02:00
plc-user
896ffb9c72 upgrade some elements 2021-09-12 12:13:18 +02:00
plc-user
db8529c536 moved DIN-rails to separate directory; new elements 2021-09-12 12:13:18 +02:00
plc-user
fcab77420d added/fixed translations and added elements 2021-09-12 12:13:18 +02:00
joshua
8c554e875d Use QLatin1String 2021-09-10 23:43:36 +02:00
joshua
5ef073b6c1 Merge branch 'terminal_strip' into merge_confli_master_terminal_strip
* terminal_strip:
  User can edit the label of terminal inside the terminal strip editor
  Code refactoring
  Double click on Xref cell show the terminal in the diagram
  terminal function can be edited, edted value is applied to element
  Table widget : led and type is editable
  Minor gui change
  Remove position section of terminalStripModel
2021-09-10 23:31:26 +02:00
joshua
895417c98c Revert "Revert "Add terminalStripModel class""
This reverts commit 4615e6d06005ca7c6d12da28ad0c32fb5e3475af.
2021-09-10 23:30:49 +02:00
joshua
374805d6ab Revert "Revert "Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet into terminal_strip""
This reverts commit bb26954bd498cacf31a06a568cc4f9dc93deff6f.
2021-09-10 23:30:20 +02:00
joshua
b08c2bd90b User can edit the label of terminal inside the terminal strip editor 2021-09-10 21:01:03 +02:00
plc-user
543447aa31 added element-descriptions 2021-09-08 13:23:16 +02:00
plc-user
4622df84e3 added element-descriptions 2021-09-08 13:23:16 +02:00
plc-user
9e3cca101d added translations 2021-09-08 13:23:16 +02:00
plc-user
5627295002 added element-descriptions and some elements 2021-09-08 13:23:16 +02:00
joshua
a765fe24be Bug fix : in some condition element are not loaded when open a project
If an element are overwrite by a modified element and the terminals of
the modified element are moved, the old element is not loaded because
some terminal are not found.
This commit remove the checking of not found terminal because it's
useless now.
2021-09-07 22:23:43 +02:00
sdeffaux
07e38236d2 add and update symbols 2021-09-07 12:54:37 +02:00
sdeffaux
6e03e022e1 Add and update symbols 2021-09-07 12:54:37 +02:00
sdeffaux
883bee496c Update symbols 2021-09-07 12:54:37 +02:00
pavelfric
9e5267aeb9 Updated Czech translation. 2021-09-06 10:02:51 +02:00
plc-user
ec367e847b added translations 2021-09-02 14:19:44 +02:00
plc-user
77d38d80ea adjusted terminals and text / added elements 2021-09-02 14:19:44 +02:00
plc-user
915e553a2f added translations / simplified graphics 2021-09-02 14:19:44 +02:00
plc-user
318c49897c removed duplicate elements 2021-09-02 14:19:44 +02:00
plc-user
87f8b1f154 fix typo in filename 2021-08-31 15:16:39 +02:00
plc-user
d6fd14dd5f fixed fonts / added schematics for MID-Counters 2021-08-31 15:16:39 +02:00
plc-user
f4464ab5a3 added RF-modules and front-views of MID-Counters 2021-08-27 05:36:08 +02:00
plc-user
38e957f078 add translations 2021-08-25 13:59:55 +02:00
plc-user
62b23aa530 fix typos, add translations, add elements 2021-08-25 13:59:55 +02:00
joshua
4dd2dc259f Code refactoring 2021-08-23 20:44:53 +02:00
joshua
f3811d3035 Add annex project 2021-08-20 17:41:08 +02:00
joshua
5288cd8c8b Add tab "annex project" to about qelectrotech dialog
The goal is to list annex project of QElectroTech.
2021-08-20 17:31:37 +02:00
Laurent Trinques
d1974349e0 Restore Wago 2206_terminals symbols 2021-08-19 10:20:11 +02:00
joshua
80601a415a Double click on Xref cell show the terminal in the diagram 2021-08-17 20:49:48 +02:00
sdeffaux
f3171dc0db Add symbols 2021-08-15 22:57:20 +02:00
sdeffaux
359a09f40a update symbols
ajout de symboles et traduction
2021-08-15 22:57:20 +02:00
plc-user
1899ef0336 further bugfixing and new elements 2021-08-13 08:47:36 +02:00
plc-user
0fa171470c some new elements 2021-08-13 08:47:36 +02:00
plc-user
7a08847522 BugFixing, Labelling & Beautification of some elements 2021-08-13 08:47:36 +02:00
Simon De Backer
a3dfc3efa6 Fix Cmake
See:
3220a58b969e1c999db9fd925cec0985d31b78ba ("Move file", 2021-05-14)
2021-07-27 20:45:13 +02:00
Laurent Trinques
e730800a98 Add new symbols, thanks Vbxler 2021-07-19 07:18:15 +02:00
dlee99
63c98225ef modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-07-18 23:02:27 +02:00
joshua
cc6f66ad11 terminal function can be edited, edted value is applied to element 2021-07-17 13:44:44 +02:00
dlee99
8ac9d0d9a8 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-07-16 21:18:48 +02:00
joshua
30dc34ebe1 Table widget : led and type is editable
But not applied yet to the terminal strip
2021-07-13 12:27:08 +02:00
joshua
efed7ab5c0 Minor gui change 2021-07-12 19:16:01 +02:00
dlee99
1e7dfb8f5a modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-07-11 00:12:44 +02:00
Laurent Trinques
6f736cb785 Add new ewon element, thanks Vbxler 2021-07-06 19:55:57 +02:00
joshua
52e884b793 Minor fix : slave Xref item is not updated when variable %F is used 2021-06-28 21:31:15 +02:00
joshua
5912a99c16 Minor fix : master XRef is not updated when variable %F is used 2021-06-28 21:24:28 +02:00
joshua
8f051fc612 Remove table useless qetgraphicstableitem when model is reseted
When the model of a qetgraphicstableitem is reseted (for exemple when
the sql query is modified) we check if there is useless tables (table
with 0 row displayed) and remove it.
2021-06-24 19:46:18 +02:00
joshua
bd96faa14f Fix crash
When a qetgraphicstable is deleted, the next and previous table is not
aware about the deletion and keep a dangled pointer of the deleted table
who cause a segfault.
2021-06-24 19:15:24 +02:00
joshua
f410fbf7e2 Remove position section of terminalStripModel 2021-06-07 21:56:27 +02:00
joshua
bb26954bd4 Revert "Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet into terminal_strip"
This reverts commit 364bce618cc8a2a77329261cc485a40f4825eac5, reversing
changes made to efb4a8dd71b9e19ac55c5ac8911f1f53e3b43c22.
2021-06-07 20:00:52 +02:00
joshua
4615e6d060 Revert "Add terminalStripModel class"
This reverts commit a1e18d2bbab70502df3d8ec87ad2d0a895878611.
2021-06-07 19:45:45 +02:00
joshua
a1e18d2bba Add terminalStripModel class 2021-06-07 19:26:41 +02:00
joshua
364bce618c Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet into terminal_strip 2021-06-07 19:25:30 +02:00
artgg7300
efb4a8dd71 translated hungarian element names 2021-06-05 07:43:06 +02:00
plc-user
f1e353b342 added some additional front-views (100mm->200px) 2021-06-04 21:43:38 +02:00
plc-user
78a48e48c1 changed scaling of front-views to 100mm->200px 2021-06-04 21:43:38 +02:00
Kevin Tee
b448c26d71 Fix typo.
Fix typo.
Also, can we add more screenshots?
2021-05-26 22:40:15 +02:00
Laurent Trinques
c7648fe2af Snap : try to add PySimpleGUI python-packages 2021-05-21 19:38:11 +02:00
joshua
6660caa70f Merge branch 'master' into terminal_strip 2021-05-21 19:18:16 +02:00
joshua
fdbfca9a8c Change ElementData enum
Change enum value 'ground' from enum 'function' to enum 'type'
2021-05-21 19:15:26 +02:00
Laurent Trinques
93b164d077 Update Flatpak, thanks kevinsmia1939 2021-05-20 16:10:01 +02:00
Laurent Trinques
8ed4e742f5 Minor 2021-05-18 08:09:36 +02:00
joshua
c1fdc1adaa Fix xrefproperties bug
Change only slave Xrefproperties is not applied due to overload operator
== who don't compare the formula string of slave.
2021-05-15 18:58:26 +02:00
joshua
789e195ace Fix include path from previous commit 2021-05-14 19:50:30 +02:00
joshua
3220a58b96 Move file 2021-05-14 19:37:36 +02:00
joshua
21c35bc744 Minor improvement at element picture creation
Call once the uuid() method of element location instead of four (and so
parse once time the xml) to store the uuid/picture and uuid/primitive to
hash.
2021-05-14 16:15:49 +02:00
joshua
fd9ab47041 Load project from xml is a little more faster
Like previous commit, in the method loadDiadrams() we call the method
diagramAdded(), in this method we call rebuildDiagramsMap()
updateAllTabsTitle() and these methods operate a loop for each existing
DiagramView.

Now loadDiagrams don't call diagramAdded (which must be used only when
user add a diagram during the use of QElectroTech) but make operations
itself and when all DiagramView are added, call rebuildDiagramsMap()
updateAllTabsTitle() only once.
2021-05-14 15:47:10 +02:00
joshua
71636ba874 Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2021-05-14 13:39:33 +02:00
joshua
0aea48bdaa Open project is a litle more faster
In the methods readDiagramsXml we call addDiagram for each diagrams
loaded from xml, inside the addDiagram method we call the method
updateDiagramsFolioData() and to finish this method operate a loop for
each existing diagram.

Then when we load a project from xml of
10 folios, loop inside updateDiagramsFolioData() is called 55 time.
50 folios, loop inside updateDiagramsFolioData() is called 1275 time.
100 folios, loop inside updateDiagramsFolioData() is called 5050 time.

Now instead of call addDiagram, we add diagram directly inside the
methods readDiagramsXml and call the method updateDiagramsFolioData()
only once when all diagrams are loaded.
2021-05-14 13:38:59 +02:00
Ole Carlsen
dd51819403 Updated Danish Translation 2021-05-13 21:39:48 +02:00
joshua
ffabeb9caa Avoid excessive debug outputs
Avoid excessive debug outputs when terminal type doesn't exist (99.99%
of actual elements collections).
2021-05-13 20:48:56 +02:00
dlee99
bfc1df633e modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-05-12 21:06:49 +02:00
joshua
507c1b4f73 Minor gui behavior improvement 2021-05-11 18:46:12 +02:00
joshua
580ebe8b97 Terminal strip can now be edited and managed by undo command 2021-05-11 18:20:46 +02:00
joshua
e0579b3040 Add widgets to edit terminal strip data (WIP) 2021-05-11 18:20:46 +02:00
joshua
ded4ea555f Terminal element can be removed from a terminal strip 2021-05-11 18:20:46 +02:00
joshua
f07f4cb150 Fix drag and drop bug 2021-05-11 18:20:46 +02:00
joshua
dbb21373e1 Read terminal strip from xml 2021-05-11 18:20:46 +02:00
joshua
89f3ce1eb3 terminal strip can be saved to xml 2021-05-11 18:20:46 +02:00
joshua
36068abce7 Add a reload push button
Add a reload push button to quickly reload/update the gui according to
the current state of the terminal strip.
2021-05-11 18:20:46 +02:00
joshua
d551c8e6b9 Improve undo command when remove a terminal strip 2021-05-11 18:20:46 +02:00
joshua
2572e1c25d Display terminals owned by terminal strip in the tree view 2021-05-11 18:20:46 +02:00
joshua
b158984464 Set parent terminal strip of terminal element
Call the method :
void TerminalElement::setParentTerminalStrip(TerminalStrip *strip)
when a terminal element is added to a terminal strip.
2021-05-11 18:20:46 +02:00
joshua
256d42d030 Add and move terminal element to strip is managed by undo 2021-05-11 18:20:46 +02:00
joshua
171e95fb17 Enable drag and drop of terminal tree widget item 2021-05-11 18:20:46 +02:00
joshua
d3ad490b84 Initial comit to use drag and drop 2021-05-11 18:20:46 +02:00
joshua
df07f373d8 Terminal strip add/remove is managed by undo stack 2021-05-11 18:20:46 +02:00
joshua
5d17461c6e Add RemoveTerminalStripCommand class 2021-05-11 18:20:46 +02:00
joshua
2cf5ea11fd Fix : undo code is executed in redo function and vice versa
Need to sleep ?
2021-05-11 18:20:46 +02:00
joshua
573c0c236a Add undo command for add/remove a terminal strip 2021-05-11 18:20:46 +02:00
joshua
63429ab087 Terminal strip editor display the free terminal elements 2021-05-11 18:20:46 +02:00
joshua
00846c1418 Add "parent terminal" strip member to TerminalElement class 2021-05-11 18:20:46 +02:00
joshua
a3f776b7db Add 'comment' to terminal strip 2021-05-11 18:20:46 +02:00
joshua
91db58bb64 Add dialog to create terminal strip + display existing terminal strip 2021-05-11 18:20:46 +02:00
joshua
0a2ec297bf Minor 2021-05-11 18:20:46 +02:00
joshua
bbfe9ed377 Add terminal strip editor widget 2021-05-11 18:20:46 +02:00
joshua
39aee4ad07 Add terminal strip data class 2021-05-11 18:20:46 +02:00
joshua
49674e7d33 Add terminal strip class 2021-05-11 18:20:46 +02:00
joshua
12c0dbd8d1 Minor gui change 2021-05-11 18:20:19 +02:00
artgg7300
734e70ffb1 translated hungarian lang files 2021-05-11 06:11:43 +02:00
Laurent Trinques
480066cc6d Update *TS files 2021-05-09 12:46:47 +02:00
joshua
74dcf96e4b Element editor: make element text option "keep visual rotation" editable. 2021-05-08 22:14:15 +02:00
Laurent Trinques
222c86f550 Minor update README.md 2021-05-06 23:34:18 +02:00
Laurent Trinques
b255423245 Update README.md 2021-05-06 23:27:09 +02:00
9152 changed files with 216825 additions and 597446 deletions

22
.github/workflows/publish-edge-snap.yml vendored Normal file
View File

@ -0,0 +1,22 @@
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

10
.gitmodules vendored Normal file
View File

@ -0,0 +1,10 @@
[submodule "pugixml"]
path = pugixml
url = https://github.com/zeux/pugixml.git
[submodule "SingleApplication"]
path = SingleApplication
url = https://github.com/itay-grudev/SingleApplication.git
[submodule "elements"]
path = elements
url = https://github.com/qelectrotech/qelectrotech-elements.git

View File

@ -31,7 +31,7 @@ set(QET_DIR ${PROJECT_SOURCE_DIR})
# Add sub directories
option(PACKAGE_TESTS "Build the tests" ON)
if(PACKAGE_TESTS)
message("Add sub directorie tests")
message("Add sub directory tests")
add_subdirectory(tests)
endif()
@ -125,7 +125,7 @@ target_include_directories(
${QET_DIR}/sources/NameList
${QET_DIR}/sources/NameList/ui
${QET_DIR}/sources/utils
${QET_DIR}/sources/pugixml
${QET_DIR}/pugixml/src
${QET_DIR}/sources/dataBase
${QET_DIR}/sources/dataBase/ui
${QET_DIR}/sources/factory/ui
@ -146,15 +146,7 @@ install(DIRECTORY elements DESTINATION share/qelectrotech)
install(DIRECTORY examples DESTINATION share/qelectrotech)
install(DIRECTORY titleblocks DESTINATION share/qelectrotech)
install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share/doc/qelectrotech)
install(FILES misc/qelectrotech.desktop DESTINATION share/applications)
install(FILES misc/x-qet-element.xml
misc/x-qet-project.xml
misc/x-qet-titleblock.xml
DESTINATION share/mime/application)
install(FILES misc/x-qet-element.desktop
misc/x-qet-project.desktop
misc/x-qet-titleblock.desktop
DESTINATION share/mimelnk/application)
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})

View File

@ -1,3 +1,54 @@
====== ChangeLog from 0.8 to 0.9 ======
*Diagram editor :
Improved QElectroTech speed (launch qet, open project, function)
A drop-down list has been added to the toolbar to change the size of the resize handles.
*Element Editor:
The "keep visual rotation" property of element texts is editable from the element editor.
Thanks to the work of antonioaja it is now possible to import a dxf directly from the element editor in a completely transparent way for the user.
In the background QElectroTech uses the dxf2elmt software. https://qelectrotech.org/forum/viewtopic.php?id=2265 https://github.com/antonioaja/dxf2elmt
Improved responsiveness when multiple shapes are selected or deleted, especially when working on a large converted DXF element.
https://qelectrotech.org/forum/viewtopic.php?pid=16612#p16612
*Other:
Add a "side project" tab in the "about" window.
In the general QElectroTech configuration, a drop down list allows to choose the scaling method for hdpi screens.
Allow open polygons (i.e. polylines) when saving in dxf format.
https://qelectrotech.org/forum/viewtopic.php?pid=16611#p16611
Added 'Other' option for slave device contact type.
https://github.com/qelectrotech/qelectrotech-source-mirror/pull/222
https://qelectrotech.org/forum/viewtopic.php?id=2264
*Logs:
Added a QElapsedTimer to calculate the time used to reload the item collection.
Improved QElapsedTimer to calculate the time used to reload the item collection in seconds instead of ms.
Added Linux pc.gpu.RAM information, but requires mesa-utils dependency on the Linux OS.
Added information about mounted disk volumes.
Added CPU architecture for which Qt was compiled in the aboutqetdialog widget and in the logs.
Added MSVC support to MachineInfo.
Added RAM information on Windows of available RAM.
Added QElectroTech version to the log file.
* Elements collection :
Improve collection 8274 elements in 1097 categories (i.e. 9371 files).
* macOS :
Fix sqlite3 database export on macOS, now I use macports with Digikam scripts instead off Homebrew Package Manager.
See: https://invent.kde.org/graphics/digikam/-/tree/master/project/bundles/macports
*Bug fix:
see: https://git.tuxfamily.org/qet/qet.git/log/?h=0.8.1
====== ChangeLog from 0.7 to 0.8 ======

View File

@ -38,7 +38,7 @@ PROJECT_NAME = QElectroTech
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = " 0.8-dev"
PROJECT_NUMBER = " 0.100.0-dev"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@ -4,6 +4,10 @@ without any warranty of fitness for your purpose or working.
The usage, the modification and the integration of the elements into electric
diagrams is allowed without any condition, whatever the final license of the
diagrams is.
Permission is not granted to use this software or any of the associated files
as sample data for the purposes of building machine learning models.
If you redistribute all or a part of the QElectroTech collection, with or
without any modification, out of an electric diagram, you must respect the
conditions of the CC-BY license:
@ -19,6 +23,9 @@ fonctionne.
L'utilisation, la modification et l'intégration des éléments dans des schémas
électriques est autorisée sans condition, quelle que soit la licence finale des
schémas.
L'autorisation n'est pas accordée pour utiliser ce logiciel ou l'un des fichiers associés
comme exemples de données aux fins de création de modèles dapprentissage automatique.
Si vous redistribuez tout ou partie de la collection QElectroTech, avec ou sans
modification, en dehors d'un schéma électrique, vous devrez respecter les
conditions de la licence CC-BY :
@ -27,6 +34,26 @@ disponible en ligne http://creativecommons.org/licenses/by/3.0/ ou par
courrier postal à Creative Commons, 171 Second Street, Suite 300, San Francisco,
California 94105, USA.
[de]
Die mit QElectroTech zur Verfügung gestellte Sammlung von Elementen wird ohne
Gewährleistung der Eignung für einen bestimmten Zweck oder der Funktions-
fähigkeit zur Verfügung gestellt.
Die Verwendung, Modifikation und Integration der Elemente in elektrische
Schaltpläne ist uneingeschränkt erlaubt, unabhängig von der endgültigen Lizenz
der Schaltpläne.
Es ist nicht gestattet, diese Software oder eine der zugehörigen Dateien
als Beispieldaten für die Erstellung von Modellen für maschinelles Lernen
zu verwenden.
Wenn Sie die gesamte QElectroTech-Sammlung oder Teile davon, mit oder ohne
Modifikationen, aus einem Schaltplan weitergeben, müssen Sie die Bedingungen
der CC-BY-Lizenz einhalten.
Dieses Werk steht unter einer Creative Commons Attribution 3.0 Lizenz.
Eine Kopie dieser Lizenz finden Sie unter:
http://creativecommons.org/licenses/by/3.0/
oder senden Sie einen Brief an:
Creative Commons, 171 Second Street, Suite 300,
San Francisco, Kalifornien, 94105, USA.
[ru]
Коллекция элементов, поставляемая вместе с QElectroTech, поставляется "как есть"
и без каких-либо гарантий пригодности для той или иной цели или работы.
@ -136,7 +163,6 @@ http://creativecommons.org/licenses/by/3.0/ ή στείλτε μια επιστ
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[nl]
De elementen collectie voorzien, samen met QElectroTech wordt geleverd als en
zonder enige garantie van geschiktheid voor uw doel of werk.
Het gebruik, de wijziging en de integratie van de elementen in elektrische
@ -151,8 +177,7 @@ http://creativecommons.org/licenses/by/3.0/ of stuur een brief naar Creative
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
[be]
De elementen collectie welke samen met QElectroTech wordt geleverd zonder enige garantie
De elementen collectie welke samen met QElectroTech wordt geleverd zonder enige garantie
of deze geschikt zijn voor uw doel of de werking.
Het gebruik, wijzigen en integratie van de elementen in uw elektrische
schema's wordt toegestaan zonder enige voorwaarden, ongeacht wat de uiteindelijke

11
INSTALL
View File

@ -20,6 +20,17 @@ $ make
# umask 0022
# make install
[de]
Abhängigkeiten:
libQt5 (Pakete libqt5*)
cupsys-bsd zum Drucken
Kompilieren:
$ qmake (qmake-qt5 für Debian-basierende Systeme)
$ make
# umask 0022
# make install
[ru]
Зависимости:
libQt5 (пакет libqt5*)

View File

@ -7,6 +7,7 @@
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your

2
README
View File

@ -8,7 +8,7 @@ QET utilise le format XML pour ses éléments et ses schémas et inclut un édit
[de]
QElectroTech ist eine Qt5 Software, um Schaltpläne zu erstellen.
QET benutzt das XML Format für seine Bauteile und seine Projekte, und beinhaltet einen Schaltplaneditor, einen Bauteileditor sowie einen Zeichnungskopfeditor.
QET benutzt das XML Format für seine Bauteile und seine Projekte, und beinhaltet einen Schaltplaneditor, einen Bauteileditor sowie einen Schriftfeldeditor.
[ru]

104
README.md
View File

@ -15,25 +15,27 @@ The main goal of the developers is to provide a libre, easy to use and effective
### Version
The current stable version is 0.80 and was released on 2021.02.21.
Once it has been officialy released, the stable version is always frozen and is no longer developed.
The current stable version is 0.90 and was released on 2023.01.06.
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.9), which can also be [downloaded](https://qelectrotech.org/download.html).
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).
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 partialy implemented until they are done!
Users who want to test and take benefits from the last software implementations should use the development version. But... use it at your own risk, since things are sometimes broken or only partially implemented until they are done!
### License
The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
You are free to use, copy, modify and redistribute it under the terms of the license.
Like many other open source softwares, QElectroTech is provided as it is, without any warranty.
Like many other open source software, QElectroTech is provided as is, without any warranty.
### Development / technical choices
The development follows the classical way of free and open source software: the source code, written by a community of users, is freely accessible.
If you are reading this on Github, be aware that this is an hourly synced mirror. Our real code repository [is located here](https://git.tuxfamily.org/qet/qet.git/).
* Get sources and sub-modules
```txt
git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
```
Here are the technical choices made for the software development:
@ -41,11 +43,13 @@ Here are the technical choices made for the software development:
* Libraries: Qt 5.x
* [KF5 Framework](https://github.com/KDE)
[Cmake](https://cmake.org/install/)
[kcoreaddons](https://github.com/KDE/kcoreaddons)
[kwidgetsaddons](https://github.com/KDE/kwidgetsaddons).
[kcoreaddons](https://github.com/KDE/kcoreaddons/tree/kf5)
[kwidgetsaddons](https://github.com/KDE/kwidgetsaddons/tree/kf5).
* Coding language: [C++](https://en.wikipedia.org/wiki/C%2B%2B)
* GUI translations: [Qt Linguist](http://doc.qt.io/qt-5/qtlinguist-index.html)
* Version control: [GIT](https://git.tuxfamily.org/qet/qet.git/)
* 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/)
* 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
@ -73,12 +77,12 @@ Take advantage of the modern GUI
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
The GUI can fit to small or big screens, and even to multi-display configurations.
![](https://download.tuxfamily.org/qet/images-features/0030.png "GUI overview")
![](https://download.qelectrotech.org/qet/images-features/0030.png "GUI overview")
The GUI of QElectroTech is translated in 19 languages.
The GUI of QElectroTech is translated in 25 languages.
You only need to restart the application for the new selected language to take effect.
![](https://download.tuxfamily.org/qet/images-features/0040.png "Lang menu")
![](https://download.qelectrotech.org/qet/images-features/0040.png "Lang menu")
Create technical documentation in professional quality
@ -87,56 +91,56 @@ You can set vertical and horizontal headers (printed rulers) individually on and
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
Custom variables can be defined to display the informations you wish in the titleblock.
![](https://download.tuxfamily.org/qet/images-features/0055.png "Titleblock editor")
![](https://download.qelectrotech.org/qet/images-features/0055.png "Titleblock editor")
With only 2 mouse clicks you can add a full automatic generated table of content.
Changes in the documentation are updated on the fly.
![](https://download.tuxfamily.org/qet/images-features/0060.png "Table of content")
![](https://download.qelectrotech.org/qet/images-features/0060.png "Table of content")
Choose from more than 7.000 symbols...
Choose from more than 8.200 symbols...
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
The library grows at every new release thanks to an active user community.
![](https://download.tuxfamily.org/qet/images-features/0070.png "Collections")
![](https://download.qelectrotech.org/qet/images-features/0070.png "Collections")
...or create your own collection
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
Your own elements are stored in the user collection.
![](https://download.tuxfamily.org/qet/images-features/0080.png "Element editor")
![](https://download.qelectrotech.org/qet/images-features/0080.png "Element editor")
Quickly find what you need
All collections can quickly be searched with the integrated search engine.
Furthermore, the search request can be restricted to the folder of your choice.
![](https://download.tuxfamily.org/qet/images-features/0090.png "Search engine")
![](https://download.qelectrotech.org/qet/images-features/0090.png "Search engine")
Easily draw complex schematics
To add an element on the drawing area, it only needs a drag & drop from the collection panel.
![](https://download.tuxfamily.org/qet/images-features/0102.png "Drag and drop")
![](https://download.qelectrotech.org/qet/images-features/0102.png "Drag and drop")
Elements are automatically connected if they are aligned, or connected from point to point by pulling a conductor with the mouse.
![](https://download.tuxfamily.org/qet/images-features/0105.png "Conductor connections")
![](https://download.qelectrotech.org/qet/images-features/0105.png "Conductor connections")
The path of every conductor can be modified by moving its handles with the mouse.
![](https://download.tuxfamily.org/qet/images-features/0107.png "Conductor handles")
![](https://download.qelectrotech.org/qet/images-features/0107.png "Conductor handles")
And of course, you can accurately zoom with the mouse wheel over the drawing area to catch the smallest details.
Link elements together to create cross references
Several types of element can be linked together to display a cross reference text.
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
![](https://download.tuxfamily.org/qet/images-features/0112.png "Cross ref elements")
![](https://download.qelectrotech.org/qet/images-features/0112.png "Cross ref elements")
To speed up your work, linkable elements are easily searched and shown.
![](https://download.tuxfamily.org/qet/images-features/0115.png "Cross ref search")
![](https://download.qelectrotech.org/qet/images-features/0115.png "Cross ref search")
Export informations to a parts list
Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application.
![](https://download.tuxfamily.org/qet/images-features/0122.png "Element informations")
![](https://download.qelectrotech.org/qet/images-features/0122.png "Element informations")
This way, you can make your own parts list or bill of material using the full power of a spreadsheet program.
![](https://download.tuxfamily.org/qet/images-features/0125.png "Spreadsheet")
![](https://download.qelectrotech.org/qet/images-features/0125.png "Spreadsheet")
Print to pdf and/or export your work to images
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
@ -154,6 +158,52 @@ Alternatively, you can export to vector (svg) or pixel (png, jpg, bmp) format im
* conductors num can be exported to csv file.
* ***
Nomenclature
A new nomenclature tool appears in the menu: project -> Add a nomenclature.
The nomenclature is presented in the form of a configurable table separated into two parts: the display (the form) and the content (the background).
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate.
- Content: the information to display in the table and the order in which it should be displayed.
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/dialogue_nomenclature.png "nomenclature dialogue")
In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
Behind the scenes, an SQLite database does the work, so setting up the content is nothing more or less than an SQL query created using a dialog (screenshot by right).
The SQL query is configured as follows (from top to bottom in the screenshot):
- “Available information”: the information to display;
- "Filter": filter the information (is not empty, is empty, contains, does not contain, is equal to, is not equal to) only one filter can be applied per information, it is not possible combine several;
- "Type of elements": allows you to filter on what type of element you want to obtain information.
At the bottom, a checkmark "SQL query" allows you to edit a personalized query, if the basic options are not sufficient.
When a nomenclature is too large to be contained in a single folio, it is possible to separate it on several folios, the tables of each folio are then linked together. When creating a nomenclature, this option is activated by default, which has the effect of adding the necessary number of folios, adding a table in each of them and linking them together.
Finally two buttons are available in the property panel:
- "Fit the table to the folio": positions and adjusts the size and determines the number of rows in the table in relation to the folio;
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency.
And to finish a table
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/tableau.png "table")
Summary
The old summary has been completely removed from the code in order to make room for the new one which is exactly the same as the nomenclature (a large amount of the code is common), with the exception of the SQL query (and its dialog to configure it) which offers specific information for editing a summary.
Export of the internal database
The database used by the nomenclature and the summary can be exported in a “.sqlite” file.
Currently this is irrelevant, as the function was created during development for debugging purposes, we left it.
Note that the database will become increasingly important in the future of Qet.
Export of the wiring list
In order to be able to use the wiring number printers more easily, the names of conductors can be exported in CSV format, the export respects the quantity of conductors in order to print the right quantity of numbers, for example a potential numbered 240 composed of 3 wires will give 6 × 240 (2 numbers per wire × 3 wires) in the CSV.
### Story
The QElectroTech project was founded in 2007 by two french students, Xavier and Benoit.
@ -173,7 +223,7 @@ Nowadays, QET is not only used by many individuals, teachers and students but al
If you love QElectroTech, you can help developers to buy new hardware to test
and implement new features. Thanks in advance for your generous donations.
For more information, look at [Paypal](https://www.paypal.com/donate/?token=rqf80cP0Ck1F2jn4Y46G7tIPv9bq7x0crXkwt3GZ6OZYG6ihJYi8lZxmmQ8itsFwMUdd1G&country.x=GB&locale.x=GB)
For more information, look at [Paypal](https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=ZZHC9D7C3MDPC&ssrt=1694606609672)

1
SingleApplication Submodule

@ -0,0 +1 @@
Subproject commit cbe496bc01e6515f9692824bf36d5136e8208c85

View File

@ -1,295 +0,0 @@
Changelog
=========
If by accident I have forgotten to credit someone in the CHANGELOG, email me and I will fix it.
__3.2.0__
---------
* Added support for Qt 6 - _Jonas Kvinge_
* Fixed warning in `Qt 5.9` with `min`/`max` functions on Windows - _Nick Korotysh_
* Fix return value of connectToPrimary() when connect is successful - _Jonas Kvinge_
* Fix build issue with MinGW GCC pedantic mode - _Iakov Kirilenko_
* Fixed conversion from `int` to `quint32` and Clang Tidy warnings - _Hennadii Chernyshchyk_
__3.1.5__
---------
* Improved library stability in edge cases and very rapid process initialisation
* Fixed Bug where the shared memory block may have been modified without a lock
* Fixed Bug causing `instanceStarted()` to not get emitted when a second instance
has been started before the primary has initiated it's `QLocalServer`.
__3.1.4__
---------
* Officially supporting and build-testing against Qt 5.15
* Fixed an MSVC C4996 warning that suggests using `strncpy_s`.
_Hennadii Chernyshchyk_
__3.1.3.1__
---------
* CMake build system improvements
* Fixed Clang Tidy warnings
_Hennadii Chernyshchyk_
__3.1.3__
---------
* Improved `CMakeLists.txt`
_Hennadii Chernyshchyk_
__3.1.2__
---------
* Fix a crash when exiting an application on Android and iOS
_Emeric Grange_
__3.1.1a__
----------
* Added currentUser() method that returns the user the current instance is running as.
_Leander Schulten_
__3.1.0a__
----------
* Added primaryUser() method that returns the user the primary instance is running as.
__3.0.19__
----------
* Fixed code warning for depricated functions in Qt 5.10 related to `QTime` and `qrand()`.
_Hennadii Chernyshchyk_
_Anton Filimonov_
_Jonas Kvinge_
__3.0.18__
----------
* Fallback to standard QApplication class on iOS and Android systems where
the library is not supported.
* Added Build CI tests to verify the library builds successfully on Linux, Windows and MacOS across multiple Qt versions.
_Anton Filimonov_
__3.0.17__
----------
* Fixed compilation warning/error caused by `geteuid()` on unix based systems.
_Iakov Kirilenko_
* Added CMake support
_Hennadii Chernyshchyk_
__3.0.16__
----------
* Use geteuid and getpwuid to get username on Unix, fallback to environment variable.
_Jonas Kvinge_
__3.0.15__
----------
* Bug Fix: sendMessage() might return false even though data was actually written.
_Jonas Kvinge_
__3.0.14__
----------
* Fixed uninitialised variables in the `SingleApplicationPrivate` constructor.
__3.0.13a__
----------
* Process socket events asynchronously
* Fix undefined variable error on Windows
_Francis Giraldeau_
__3.0.12a__
----------
* Removed signal handling.
__3.0.11a__
----------
* Fixed bug where the message sent by the second process was not received
correctly when the message is sent immediately following a connection.
_Francis Giraldeau_
* Refactored code and implemented shared memory block consistency checks
via `qChecksum()` (CRC-16).
* Explicit `qWarning` and `qCritical` when the library is unable to initialise
correctly.
__3.0.10__
----------
* Removed C style casts and eliminated all clang warnings. Fixed `instanceId`
reading from only one byte in the message deserialization. Cleaned up
serialization code using `QDataStream`. Changed connection type to use
`quint8 enum` rather than `char`.
* Renamed `SingleAppConnectionType` to `ConnectionType`. Added initialization
values to all `ConnectionType` enum cases.
_Jedidiah Buck McCready_
__3.0.9__
---------
* Added SingleApplicationPrivate::primaryPid() as a solution to allow
bringing the primary window of an application to the foreground on
Windows.
_Eelco van Dam from Peacs BV_
__3.0.8__
---------
* Bug fix - changed QApplication::instance() to QCoreApplication::instance()
_Evgeniy Bazhenov_
__3.0.7a__
----------
* Fixed compilation error with Mingw32 in MXE thanks to Vitaly Tonkacheyev.
* Removed QMutex used for thread safe behaviour. The implementation now uses
QCoreApplication::instance() to get an instance to SingleApplication for
memory deallocation.
__3.0.6a__
----------
* Reverted GetUserName API usage on Windows. Fixed bug with missing library.
* Fixed bug in the Calculator example, preventing it's window to be raised
on Windows.
Special thanks to Charles Gunawan.
__3.0.5a__
----------
* Fixed a memory leak in the SingleApplicationPrivate destructor.
_Sergei Moiseev_
__3.0.4a__
----------
* Fixed shadow and uninitialised variable warnings.
_Paul Walmsley_
__3.0.3a__
----------
* Removed Microsoft Windows specific code for getting username due to
multiple problems and compiler differences on Windows platforms. On
Windows the shared memory block in User mode now includes the user's
home path (which contains the user's username).
* Explicitly getting absolute path of the user's home directory as on Unix
a relative path (`~`) may be returned.
__3.0.2a__
----------
* Fixed bug on Windows when username containing wide characters causes the
library to crash.
_Le Liu_
__3.0.1a__
----------
* Allows the application path and version to be excluded from the server name
hash. The following flags were added for this purpose:
* `SingleApplication::Mode::ExcludeAppVersion`
* `SingleApplication::Mode::ExcludeAppPath`
* Allow a non elevated process to connect to a local server created by an
elevated process run by the same user on Windows
* Fixes a problem with upper case letters in paths on Windows
_Le Liu_
__v3.0a__
---------
* Deprecated secondary instances count.
* Added a sendMessage() method to send a message to the primary instance.
* Added a receivedMessage() signal, emitted when a message is received from a
secondary instance.
* The SingleApplication constructor's third parameter is now a bool
specifying if the current instance should be allowed to run as a secondary
instance if there is already a primary instance.
* The SingleApplication constructor accept a fourth parameter specifying if
the SingleApplication block should be User-wide or System-wide.
* SingleApplication no longer relies on `applicationName` and
`organizationName` to be set. It instead concatenates all of the following
data and computes a `SHA256` hash which is used as the key of the
`QSharedMemory` block and the `QLocalServer`. Since at least
`applicationFilePath` is always present there is no need to explicitly set
any of the following prior to initialising `SingleApplication`.
* `QCoreApplication::applicationName`
* `QCoreApplication::applicationVersion`
* `QCoreApplication::applicationFilePath`
* `QCoreApplication::organizationName`
* `QCoreApplication::organizationDomain`
* User name or home directory path if in User mode
* The primary instance is no longer notified when a secondary instance had
been started by default. A `Mode` flag for this feature exists.
* Added `instanceNumber()` which represents a unique identifier for each
secondary instance started. When called from the primary instance will
return `0`.
__v2.4__
--------
* Stability improvements
* Support for secondary instances.
* The library now recovers safely after the primary process has crashed
and the shared memory had not been deleted.
__v2.3__
--------
* Improved pimpl design and inheritance safety.
_Vladislav Pyatnichenko_
__v2.2__
--------
* The `QAPPLICATION_CLASS` macro can now be defined in the file including the
Single Application header or with a `DEFINES+=` statement in the project file.
__v2.1__
--------
* A race condition can no longer occur when starting two processes nearly
simultaneously.
Fix issue [#3](https://github.com/itay-grudev/SingleApplication/issues/3)
__v2.0__
--------
* SingleApplication is now being passed a reference to `argc` instead of a
copy.
Fix issue [#1](https://github.com/itay-grudev/SingleApplication/issues/1)
* Improved documentation.

View File

@ -1,40 +0,0 @@
cmake_minimum_required(VERSION 3.7.0)
project(SingleApplication LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
add_library(${PROJECT_NAME} STATIC
singleapplication.cpp
singleapplication_p.cpp
)
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
if(NOT QT_DEFAULT_MAJOR_VERSION)
set(QT_DEFAULT_MAJOR_VERSION 5 CACHE STRING "Qt version to use (5 or 6), defaults to 5")
endif()
# Find dependencies
set(QT_COMPONENTS Core Network)
set(QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Core Qt${QT_DEFAULT_MAJOR_VERSION}::Network)
if(QAPPLICATION_CLASS STREQUAL QApplication)
list(APPEND QT_COMPONENTS Widgets)
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Widgets)
elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication)
list(APPEND QT_COMPONENTS Gui)
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Gui)
else()
set(QAPPLICATION_CLASS QCoreApplication)
endif()
find_package(Qt${QT_DEFAULT_MAJOR_VERSION} COMPONENTS ${QT_COMPONENTS} REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC ${QT_LIBRARIES})
if(WIN32)
target_link_libraries(${PROJECT_NAME} PRIVATE advapi32)
endif()
target_compile_definitions(${PROJECT_NAME} PUBLIC QAPPLICATION_CLASS=${QAPPLICATION_CLASS})
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

View File

@ -1,24 +0,0 @@
The MIT License (MIT)
Copyright (c) Itay Grudev 2015 - 2020
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Note: Some of the examples include code not distributed under the terms of the
MIT License.

View File

@ -1,304 +0,0 @@
SingleApplication
=================
[![CI](https://github.com/itay-grudev/SingleApplication/workflows/CI:%20Build%20Test/badge.svg)](https://github.com/itay-grudev/SingleApplication/actions)
This is a replacement of the QtSingleApplication for `Qt5` and `Qt6`.
Keeps the Primary Instance of your Application and kills each subsequent
instances. It can (if enabled) spawn secondary (non-related to the primary)
instances and can send data to the primary instance from secondary instances.
Usage
-----
The `SingleApplication` class inherits from whatever `Q[Core|Gui]Application`
class you specify via the `QAPPLICATION_CLASS` macro (`QCoreApplication` is the
default). Further usage is similar to the use of the `Q[Core|Gui]Application`
classes.
You can use the library as if you use any other `QCoreApplication` derived
class:
```cpp
#include <QApplication>
#include <SingleApplication.h>
int main( int argc, char* argv[] )
{
SingleApplication app( argc, argv );
return app.exec();
}
```
To include the library files I would recommend that you add it as a git
submodule to your project. Here is how:
```bash
git submodule add git@github.com:itay-grudev/SingleApplication.git singleapplication
```
**Qmake:**
Then include the `singleapplication.pri` file in your `.pro` project file.
```qmake
include(singleapplication/singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QApplication
```
**CMake:**
Then include the subdirectory in your `CMakeLists.txt` project file.
```cmake
set(QAPPLICATION_CLASS QApplication CACHE STRING "Inheritance class for SingleApplication")
add_subdirectory(src/third-party/singleapplication)
target_link_libraries(${PROJECT_NAME} SingleApplication::SingleApplication)
```
The library sets up a `QLocalServer` and a `QSharedMemory` block. The first
instance of your Application is your Primary Instance. It would check if the
shared memory block exists and if not it will start a `QLocalServer` and listen
for connections. Each subsequent instance of your application would check if the
shared memory block exists and if it does, it will connect to the QLocalServer
to notify the primary instance that a new instance had been started, after which
it would terminate with status code `0`. In the Primary Instance
`SingleApplication` would emit the `instanceStarted()` signal upon detecting
that a new instance had been started.
The library uses `stdlib` to terminate the program with the `exit()` function.
Also don't forget to specify which `QCoreApplication` class your app is using if it
is not `QCoreApplication` as in examples above.
The `Instance Started` signal
-----------------------------
The SingleApplication class implements a `instanceStarted()` signal. You can
bind to that signal to raise your application's window when a new instance had
been started, for example.
```cpp
// window is a QWindow instance
QObject::connect(
&app,
&SingleApplication::instanceStarted,
&window,
&QWindow::raise
);
```
Using `SingleApplication::instance()` is a neat way to get the
`SingleApplication` instance for binding to it's signals anywhere in your
program.
__Note:__ On Windows the ability to bring the application windows to the
foreground is restricted. See [Windows specific implementations](Windows.md)
for a workaround and an example implementation.
Secondary Instances
-------------------
If you want to be able to launch additional Secondary Instances (not related to
your Primary Instance) you have to enable that with the third parameter of the
`SingleApplication` constructor. The default is `false` meaning no Secondary
Instances. Here is an example of how you would start a Secondary Instance send
a message with the command line arguments to the primary instance and then shut
down.
```cpp
int main(int argc, char *argv[])
{
SingleApplication app( argc, argv, true );
if( app.isSecondary() ) {
app.sendMessage( app.arguments().join(' ')).toUtf8() );
app.exit( 0 );
}
return app.exec();
}
```
*__Note:__ A secondary instance won't cause the emission of the
`instanceStarted()` signal by default. See `SingleApplication::Mode` for more
details.*
You can check whether your instance is a primary or secondary with the following
methods:
```cpp
app.isPrimary();
// or
app.isSecondary();
```
*__Note:__ If your Primary Instance is terminated a newly launched instance
will replace the Primary one even if the Secondary flag has been set.*
Examples
--------
There are three examples provided in this repository:
* Basic example that prevents a secondary instance from starting [`examples/basic`](https://github.com/itay-grudev/SingleApplication/tree/master/examples/basic)
* An example of a graphical application raising it's parent window [`examples/calculator`](https://github.com/itay-grudev/SingleApplication/tree/master/examples/calculator)
* A console application sending the primary instance it's command line parameters [`examples/sending_arguments`](https://github.com/itay-grudev/SingleApplication/tree/master/examples/sending_arguments)
API
---
### Members
```cpp
SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSecondary = false, Options options = Mode::User, int timeout = 100, QString userData = QString() )
```
Depending on whether `allowSecondary` is set, this constructor may terminate
your app if there is already a primary instance running. Additional `Options`
can be specified to set whether the SingleApplication block should work
user-wide or system-wide. Additionally the `Mode::SecondaryNotification` may be
used to notify the primary instance whenever a secondary instance had been
started (disabled by default). `timeout` specifies the maximum time in
milliseconds to wait for blocking operations. Setting `userData` provides additional data that will isolate this instance from other instances that do not have the same (or any) user data set.
*__Note:__ `argc` and `argv` may be changed as Qt removes arguments that it
recognizes.*
*__Note:__ `Mode::SecondaryNotification` only works if set on both the primary
and the secondary instance.*
*__Note:__ Operating system can restrict the shared memory blocks to the same
user, in which case the User/System modes will have no effect and the block will
be user wide.*
---
```cpp
bool SingleApplication::sendMessage( QByteArray message, int timeout = 100 )
```
Sends `message` to the Primary Instance. Uses `timeout` as a the maximum timeout
in milliseconds for blocking functions
---
```cpp
bool SingleApplication::isPrimary()
```
Returns if the instance is the primary instance.
---
```cpp
bool SingleApplication::isSecondary()
```
Returns if the instance is a secondary instance.
---
```cpp
quint32 SingleApplication::instanceId()
```
Returns a unique identifier for the current instance.
---
```cpp
qint64 SingleApplication::primaryPid()
```
Returns the process ID (PID) of the primary instance.
---
```cpp
QString SingleApplication::primaryUser()
```
Returns the username the primary instance is running as.
---
```cpp
QString SingleApplication::currentUser()
```
Returns the username the current instance is running as.
### Signals
```cpp
void SingleApplication::instanceStarted()
```
Triggered whenever a new instance had been started, except for secondary
instances if the `Mode::SecondaryNotification` flag is not specified.
---
```cpp
void SingleApplication::receivedMessage( quint32 instanceId, QByteArray message )
```
Triggered whenever there is a message received from a secondary instance.
---
### Flags
```cpp
enum SingleApplication::Mode
```
* `Mode::User` - The SingleApplication block should apply user wide. This adds
user specific data to the key used for the shared memory and server name.
This is the default functionality.
* `Mode::System` The SingleApplication block applies system-wide.
* `Mode::SecondaryNotification` Whether to trigger `instanceStarted()` even
whenever secondary instances are started.
* `Mode::ExcludeAppPath` Excludes the application path from the server name
(and memory block) hash.
* `Mode::ExcludeAppVersion` Excludes the application version from the server
name (and memory block) hash.
*__Note:__ `Mode::SecondaryNotification` only works if set on both the primary
and the secondary instance.*
*__Note:__ Operating system can restrict the shared memory blocks to the same
user, in which case the User/System modes will have no effect and the block will
be user wide.*
---
Versioning
----------
Each major version introduces either very significant changes or is not
backwards compatible with the previous version. Minor versions only add
additional features, bug fixes or performance improvements and are backwards
compatible with the previous release. See [`CHANGELOG.md`](CHANGELOG.md) for
more details.
Implementation
--------------
The library is implemented with a QSharedMemory block which is thread safe and
guarantees a race condition will not occur. It also uses a QLocalSocket to
notify the main process that a new instance had been spawned and thus invoke the
`instanceStarted()` signal and for messaging the primary instance.
Additionally the library can recover from being forcefully killed on *nix
systems and will reset the memory block given that there are no other
instances running.
License
-------
This library and it's supporting documentation are released under
`The MIT License (MIT)` with the exception of the Qt calculator examples which
is distributed under the BSD license.

View File

@ -1 +0,0 @@
#include "singleapplication.h"

View File

@ -1,46 +0,0 @@
Windows Specific Implementations
================================
Setting the foreground window
-----------------------------
In the `instanceStarted()` example in the `README` we demonstrated how an
application can bring it's primary instance window whenever a second copy
of the application is started.
On Windows the ability to bring the application windows to the foreground is
restricted, see [`AllowSetForegroundWindow()`][AllowSetForegroundWindow] for more
details.
The background process (the primary instance) can bring its windows to the
foreground if it is allowed by the current foreground process (the secondary
instance). To bypass this `SingleApplication` must be initialized with the
`allowSecondary` parameter set to `true` and the `options` parameter must
include `Mode::SecondaryNotification`, See `SingleApplication::Mode` for more
details.
Here is an example:
```cpp
if( app.isSecondary() ) {
// This API requires LIBS += User32.lib to be added to the project
AllowSetForegroundWindow( DWORD( app.primaryPid() ) );
}
if( app.isPrimary() ) {
QObject::connect(
&app,
&SingleApplication::instanceStarted,
this,
&App::instanceStarted
);
}
```
```cpp
void App::instanceStarted() {
QApplication::setActiveWindow( [window/widget to set to the foreground] );
}
```
[AllowSetForegroundWindow]: https://msdn.microsoft.com/en-us/library/windows/desktop/ms632668.aspx

View File

@ -1,12 +0,0 @@
cmake_minimum_required(VERSION 3.7.0)
project(basic LANGUAGES CXX)
# SingleApplication base class
set(QAPPLICATION_CLASS QCoreApplication)
add_subdirectory(../.. SingleApplication)
add_executable(basic main.cpp)
target_link_libraries(${PROJECT_NAME} SingleApplication::SingleApplication)

View File

@ -1,5 +0,0 @@
# Single Application implementation
include(../../singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QCoreApplication
SOURCES += main.cpp

View File

@ -1,11 +0,0 @@
#include <singleapplication.h>
int main(int argc, char *argv[])
{
// Allow secondary instances
SingleApplication app( argc, argv );
qWarning() << "Started a new instance";
return app.exec();
}

View File

@ -1,21 +0,0 @@
cmake_minimum_required(VERSION 3.7.0)
project(calculator LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
# SingleApplication base class
set(QAPPLICATION_CLASS QApplication)
add_subdirectory(../.. SingleApplication)
find_package(Qt${QT_DEFAULT_MAJOR_VERSION} COMPONENTS Core REQUIRED)
add_executable(${PROJECT_NAME}
button.h
calculator.h
button.cpp
calculator.cpp
main.cpp
)
target_link_libraries(${PROJECT_NAME} SingleApplication::SingleApplication)

View File

@ -1,73 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWidgets>
#include "button.h"
//! [0]
Button::Button(const QString &text, QWidget *parent)
: QToolButton(parent)
{
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
setText(text);
}
//! [0]
//! [1]
QSize Button::sizeHint() const
//! [1] //! [2]
{
QSize size = QToolButton::sizeHint();
size.rheight() += 20;
size.rwidth() = qMax(size.width(), size.height());
return size;
}
//! [2]

View File

@ -1,68 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef BUTTON_H
#define BUTTON_H
#include <QToolButton>
//! [0]
class Button : public QToolButton
{
Q_OBJECT
public:
explicit Button(const QString &text, QWidget *parent = 0);
QSize sizeHint() const Q_DECL_OVERRIDE;
};
//! [0]
#endif

View File

@ -1,406 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWidgets>
#include <cmath>
#include "button.h"
#include "calculator.h"
//! [0]
Calculator::Calculator(QWidget *parent)
: QWidget(parent)
{
sumInMemory = 0.0;
sumSoFar = 0.0;
factorSoFar = 0.0;
waitingForOperand = true;
//! [0]
//! [1]
display = new QLineEdit("0");
//! [1] //! [2]
display->setReadOnly(true);
display->setAlignment(Qt::AlignRight);
display->setMaxLength(15);
QFont font = display->font();
font.setPointSize(font.pointSize() + 8);
display->setFont(font);
//! [2]
//! [4]
for (int i = 0; i < NumDigitButtons; ++i) {
digitButtons[i] = createButton(QString::number(i), SLOT(digitClicked()));
}
Button *pointButton = createButton(".", SLOT(pointClicked()));
Button *changeSignButton = createButton("\302\261", SLOT(changeSignClicked()));
Button *backspaceButton = createButton("Backspace", SLOT(backspaceClicked()));
Button *clearButton = createButton("Clear", SLOT(clear()));
Button *clearAllButton = createButton("Clear All", SLOT(clearAll()));
Button *clearMemoryButton = createButton("MC", SLOT(clearMemory()));
Button *readMemoryButton = createButton("MR", SLOT(readMemory()));
Button *setMemoryButton = createButton("MS", SLOT(setMemory()));
Button *addToMemoryButton = createButton("M+", SLOT(addToMemory()));
Button *divisionButton = createButton("\303\267", SLOT(multiplicativeOperatorClicked()));
Button *timesButton = createButton("\303\227", SLOT(multiplicativeOperatorClicked()));
Button *minusButton = createButton("-", SLOT(additiveOperatorClicked()));
Button *plusButton = createButton("+", SLOT(additiveOperatorClicked()));
Button *squareRootButton = createButton("Sqrt", SLOT(unaryOperatorClicked()));
Button *powerButton = createButton("x\302\262", SLOT(unaryOperatorClicked()));
Button *reciprocalButton = createButton("1/x", SLOT(unaryOperatorClicked()));
Button *equalButton = createButton("=", SLOT(equalClicked()));
//! [4]
//! [5]
QGridLayout *mainLayout = new QGridLayout;
//! [5] //! [6]
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
mainLayout->addWidget(display, 0, 0, 1, 6);
mainLayout->addWidget(backspaceButton, 1, 0, 1, 2);
mainLayout->addWidget(clearButton, 1, 2, 1, 2);
mainLayout->addWidget(clearAllButton, 1, 4, 1, 2);
mainLayout->addWidget(clearMemoryButton, 2, 0);
mainLayout->addWidget(readMemoryButton, 3, 0);
mainLayout->addWidget(setMemoryButton, 4, 0);
mainLayout->addWidget(addToMemoryButton, 5, 0);
for (int i = 1; i < NumDigitButtons; ++i) {
int row = ((9 - i) / 3) + 2;
int column = ((i - 1) % 3) + 1;
mainLayout->addWidget(digitButtons[i], row, column);
}
mainLayout->addWidget(digitButtons[0], 5, 1);
mainLayout->addWidget(pointButton, 5, 2);
mainLayout->addWidget(changeSignButton, 5, 3);
mainLayout->addWidget(divisionButton, 2, 4);
mainLayout->addWidget(timesButton, 3, 4);
mainLayout->addWidget(minusButton, 4, 4);
mainLayout->addWidget(plusButton, 5, 4);
mainLayout->addWidget(squareRootButton, 2, 5);
mainLayout->addWidget(powerButton, 3, 5);
mainLayout->addWidget(reciprocalButton, 4, 5);
mainLayout->addWidget(equalButton, 5, 5);
setLayout(mainLayout);
setWindowTitle("Calculator");
}
//! [6]
//! [7]
void Calculator::digitClicked()
{
Button *clickedButton = qobject_cast<Button *>(sender());
int digitValue = clickedButton->text().toInt();
if (display->text() == "0" && digitValue == 0.0)
return;
if (waitingForOperand) {
display->clear();
waitingForOperand = false;
}
display->setText(display->text() + QString::number(digitValue));
}
//! [7]
//! [8]
void Calculator::unaryOperatorClicked()
//! [8] //! [9]
{
Button *clickedButton = qobject_cast<Button *>(sender());
QString clickedOperator = clickedButton->text();
double operand = display->text().toDouble();
double result = 0.0;
if (clickedOperator == "Sqrt") {
if (operand < 0.0) {
abortOperation();
return;
}
result = std::sqrt(operand);
} else if (clickedOperator == "x\302\262") {
result = std::pow(operand, 2.0);
} else if (clickedOperator == "1/x") {
if (operand == 0.0) {
abortOperation();
return;
}
result = 1.0 / operand;
}
display->setText(QString::number(result));
waitingForOperand = true;
}
//! [9]
//! [10]
void Calculator::additiveOperatorClicked()
//! [10] //! [11]
{
Button *clickedButton = qobject_cast<Button *>(sender());
QString clickedOperator = clickedButton->text();
double operand = display->text().toDouble();
//! [11] //! [12]
if (!pendingMultiplicativeOperator.isEmpty()) {
//! [12] //! [13]
if (!calculate(operand, pendingMultiplicativeOperator)) {
abortOperation();
return;
}
display->setText(QString::number(factorSoFar));
operand = factorSoFar;
factorSoFar = 0.0;
pendingMultiplicativeOperator.clear();
}
//! [13] //! [14]
if (!pendingAdditiveOperator.isEmpty()) {
//! [14] //! [15]
if (!calculate(operand, pendingAdditiveOperator)) {
abortOperation();
return;
}
display->setText(QString::number(sumSoFar));
} else {
sumSoFar = operand;
}
//! [15] //! [16]
pendingAdditiveOperator = clickedOperator;
//! [16] //! [17]
waitingForOperand = true;
}
//! [17]
//! [18]
void Calculator::multiplicativeOperatorClicked()
{
Button *clickedButton = qobject_cast<Button *>(sender());
QString clickedOperator = clickedButton->text();
double operand = display->text().toDouble();
if (!pendingMultiplicativeOperator.isEmpty()) {
if (!calculate(operand, pendingMultiplicativeOperator)) {
abortOperation();
return;
}
display->setText(QString::number(factorSoFar));
} else {
factorSoFar = operand;
}
pendingMultiplicativeOperator = clickedOperator;
waitingForOperand = true;
}
//! [18]
//! [20]
void Calculator::equalClicked()
{
double operand = display->text().toDouble();
if (!pendingMultiplicativeOperator.isEmpty()) {
if (!calculate(operand, pendingMultiplicativeOperator)) {
abortOperation();
return;
}
operand = factorSoFar;
factorSoFar = 0.0;
pendingMultiplicativeOperator.clear();
}
if (!pendingAdditiveOperator.isEmpty()) {
if (!calculate(operand, pendingAdditiveOperator)) {
abortOperation();
return;
}
pendingAdditiveOperator.clear();
} else {
sumSoFar = operand;
}
display->setText(QString::number(sumSoFar));
sumSoFar = 0.0;
waitingForOperand = true;
}
//! [20]
//! [22]
void Calculator::pointClicked()
{
if (waitingForOperand)
display->setText("0");
if (!display->text().contains('.'))
display->setText(display->text() + ".");
waitingForOperand = false;
}
//! [22]
//! [24]
void Calculator::changeSignClicked()
{
QString text = display->text();
double value = text.toDouble();
if (value > 0.0) {
text.prepend("-");
} else if (value < 0.0) {
text.remove(0, 1);
}
display->setText(text);
}
//! [24]
//! [26]
void Calculator::backspaceClicked()
{
if (waitingForOperand)
return;
QString text = display->text();
text.chop(1);
if (text.isEmpty()) {
text = "0";
waitingForOperand = true;
}
display->setText(text);
}
//! [26]
//! [28]
void Calculator::clear()
{
if (waitingForOperand)
return;
display->setText("0");
waitingForOperand = true;
}
//! [28]
//! [30]
void Calculator::clearAll()
{
sumSoFar = 0.0;
factorSoFar = 0.0;
pendingAdditiveOperator.clear();
pendingMultiplicativeOperator.clear();
display->setText("0");
waitingForOperand = true;
}
//! [30]
//! [32]
void Calculator::clearMemory()
{
sumInMemory = 0.0;
}
void Calculator::readMemory()
{
display->setText(QString::number(sumInMemory));
waitingForOperand = true;
}
void Calculator::setMemory()
{
equalClicked();
sumInMemory = display->text().toDouble();
}
void Calculator::addToMemory()
{
equalClicked();
sumInMemory += display->text().toDouble();
}
//! [32]
//! [34]
Button *Calculator::createButton(const QString &text, const char *member)
{
Button *button = new Button(text);
connect(button, SIGNAL(clicked()), this, member);
return button;
}
//! [34]
//! [36]
void Calculator::abortOperation()
{
clearAll();
display->setText("####");
}
//! [36]
//! [38]
bool Calculator::calculate(double rightOperand, const QString &pendingOperator)
{
if (pendingOperator == "+") {
sumSoFar += rightOperand;
} else if (pendingOperator == "-") {
sumSoFar -= rightOperand;
} else if (pendingOperator == "\303\227") {
factorSoFar *= rightOperand;
} else if (pendingOperator == "\303\267") {
if (rightOperand == 0.0)
return false;
factorSoFar /= rightOperand;
}
return true;
}
//! [38]

View File

@ -1,117 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef CALCULATOR_H
#define CALCULATOR_H
#include <QWidget>
QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE
class Button;
//! [0]
class Calculator : public QWidget
{
Q_OBJECT
public:
Calculator(QWidget *parent = 0);
private slots:
void digitClicked();
void unaryOperatorClicked();
void additiveOperatorClicked();
void multiplicativeOperatorClicked();
void equalClicked();
void pointClicked();
void changeSignClicked();
void backspaceClicked();
void clear();
void clearAll();
void clearMemory();
void readMemory();
void setMemory();
void addToMemory();
//! [0]
//! [1]
private:
//! [1] //! [2]
Button *createButton(const QString &text, const char *member);
void abortOperation();
bool calculate(double rightOperand, const QString &pendingOperator);
//! [2]
//! [3]
double sumInMemory;
//! [3] //! [4]
double sumSoFar;
//! [4] //! [5]
double factorSoFar;
//! [5] //! [6]
QString pendingAdditiveOperator;
//! [6] //! [7]
QString pendingMultiplicativeOperator;
//! [7] //! [8]
bool waitingForOperand;
//! [8]
//! [9]
QLineEdit *display;
//! [9] //! [10]
enum { NumDigitButtons = 10 };
Button *digitButtons[NumDigitButtons];
};
//! [10]
#endif

View File

@ -1,11 +0,0 @@
QT += widgets
HEADERS = button.h \
calculator.h
SOURCES = button.cpp \
calculator.cpp \
main.cpp
# Single Application implementation
include(../../singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QApplication

View File

@ -1,71 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** BSD License Usage
** Alternatively, you may use this file under the terms of the BSD license
** as follows:
**
** "Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are
** met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
** * Neither the name of The Qt Company Ltd nor the names of its
** contributors may be used to endorse or promote products derived
** from this software without specific prior written permission.
**
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QApplication>
#include <singleapplication.h>
#include "calculator.h"
int main(int argc, char *argv[])
{
SingleApplication app(argc, argv);
Calculator calc;
QObject::connect( &app, &SingleApplication::instanceStarted, [ &calc ]() {
calc.raise();
calc.activateWindow();
});
calc.show();
return app.exec();
}

View File

@ -1,20 +0,0 @@
cmake_minimum_required(VERSION 3.7.0)
project(sending_arguments LANGUAGES CXX)
set(CMAKE_AUTOMOC ON)
# SingleApplication base class
set(QAPPLICATION_CLASS QCoreApplication)
add_subdirectory(../.. SingleApplication)
find_package(Qt${QT_DEFAULT_MAJOR_VERSION} COMPONENTS Core REQUIRED)
add_executable(${PROJECT_NAME}
main.cpp
messagereceiver.cpp
messagereceiver.h
main.cpp
)
target_link_libraries(${PROJECT_NAME} SingleApplication::SingleApplication)

View File

@ -1,28 +0,0 @@
#include <singleapplication.h>
#include "messagereceiver.h"
int main(int argc, char *argv[])
{
// Allow secondary instances
SingleApplication app( argc, argv, true );
MessageReceiver msgReceiver;
// If this is a secondary instance
if( app.isSecondary() ) {
app.sendMessage( app.arguments().join(' ').toUtf8() );
qDebug() << "App already running.";
qDebug() << "Primary instance PID: " << app.primaryPid();
qDebug() << "Primary instance user: " << app.primaryUser();
return 0;
} else {
QObject::connect(
&app,
&SingleApplication::receivedMessage,
&msgReceiver,
&MessageReceiver::receivedMessage
);
}
return app.exec();
}

View File

@ -1,12 +0,0 @@
#include <QDebug>
#include "messagereceiver.h"
MessageReceiver::MessageReceiver(QObject *parent) : QObject(parent)
{
}
void MessageReceiver::receivedMessage(int instanceId, QByteArray message)
{
qDebug() << "Received message from instance: " << instanceId;
qDebug() << "Message Text: " << message;
}

View File

@ -1,15 +0,0 @@
#ifndef MESSAGERECEIVER_H
#define MESSAGERECEIVER_H
#include <QObject>
class MessageReceiver : public QObject
{
Q_OBJECT
public:
explicit MessageReceiver(QObject *parent = 0);
public slots:
void receivedMessage( int instanceId, QByteArray message );
};
#endif // MESSAGERECEIVER_H

View File

@ -1,9 +0,0 @@
# Single Application implementation
include(../../singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QCoreApplication
SOURCES += main.cpp \
messagereceiver.cpp
HEADERS += \
messagereceiver.h

View File

@ -1,274 +0,0 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2020
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#include <QtCore/QElapsedTimer>
#include <QtCore/QByteArray>
#include <QtCore/QSharedMemory>
#include "singleapplication.h"
#include "singleapplication_p.h"
/**
* @brief Constructor. Checks and fires up LocalServer or closes the program
* if another instance already exists
* @param argc
* @param argv
* @param allowSecondary Whether to enable secondary instance support
* @param options Optional flags to toggle specific behaviour
* @param timeout Maximum time blocking functions are allowed during app load
*/
SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSecondary, Options options, int timeout, const QString &userData )
: app_t( argc, argv ), d_ptr( new SingleApplicationPrivate( this ) )
{
Q_D( SingleApplication );
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
// On Android and iOS since the library is not supported fallback to
// standard QApplication behaviour by simply returning at this point.
qWarning() << "SingleApplication is not supported on Android and iOS systems.";
return;
#endif
// Store the current mode of the program
d->options = options;
// Add any unique user data
if ( ! userData.isEmpty() )
d->addAppData( userData );
// Generating an application ID used for identifying the shared memory
// block and QLocalServer
d->genBlockServerName();
// To mitigate QSharedMemory issues with large amount of processes
// attempting to attach at the same time
SingleApplicationPrivate::randomSleep();
#ifdef Q_OS_UNIX
// By explicitly attaching it and then deleting it we make sure that the
// memory is deleted even after the process has crashed on Unix.
d->memory = new QSharedMemory( d->blockServerName );
d->memory->attach();
delete d->memory;
#endif
// Guarantee thread safe behaviour with a shared memory block.
d->memory = new QSharedMemory( d->blockServerName );
// Create a shared memory block
if( d->memory->create( sizeof( InstancesInfo ) )){
// Initialize the shared memory block
if( ! d->memory->lock() ){
qCritical() << "SingleApplication: Unable to lock memory block after create.";
abortSafely();
}
d->initializeMemoryBlock();
} else {
if( d->memory->error() == QSharedMemory::AlreadyExists ){
// Attempt to attach to the memory segment
if( ! d->memory->attach() ){
qCritical() << "SingleApplication: Unable to attach to shared memory block.";
abortSafely();
}
if( ! d->memory->lock() ){
qCritical() << "SingleApplication: Unable to lock memory block after attach.";
abortSafely();
}
} else {
qCritical() << "SingleApplication: Unable to create block.";
abortSafely();
}
}
auto *inst = static_cast<InstancesInfo*>( d->memory->data() );
QElapsedTimer time;
time.start();
// Make sure the shared memory block is initialised and in consistent state
while( true ){
// If the shared memory block's checksum is valid continue
if( d->blockChecksum() == inst->checksum ) break;
// If more than 5s have elapsed, assume the primary instance crashed and
// assume it's position
if( time.elapsed() > 5000 ){
qWarning() << "SingleApplication: Shared memory block has been in an inconsistent state from more than 5s. Assuming primary instance failure.";
d->initializeMemoryBlock();
}
// Otherwise wait for a random period and try again. The random sleep here
// limits the probability of a collision between two racing apps and
// allows the app to initialise faster
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory for random wait.";
qDebug() << d->memory->errorString();
}
SingleApplicationPrivate::randomSleep();
if( ! d->memory->lock() ){
qCritical() << "SingleApplication: Unable to lock memory after random wait.";
abortSafely();
}
}
if( inst->primary == false ){
d->startPrimary();
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory after primary start.";
qDebug() << d->memory->errorString();
}
return;
}
// Check if another instance can be started
if( allowSecondary ){
d->startSecondary();
if( d->options & Mode::SecondaryNotification ){
d->connectToPrimary( timeout, SingleApplicationPrivate::SecondaryInstance );
}
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory after secondary start.";
qDebug() << d->memory->errorString();
}
return;
}
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory at end of execution.";
qDebug() << d->memory->errorString();
}
d->connectToPrimary( timeout, SingleApplicationPrivate::NewInstance );
delete d;
::exit( EXIT_SUCCESS );
}
SingleApplication::~SingleApplication()
{
Q_D( SingleApplication );
delete d;
}
/**
* Checks if the current application instance is primary.
* @return Returns true if the instance is primary, false otherwise.
*/
bool SingleApplication::isPrimary() const
{
Q_D( const SingleApplication );
return d->server != nullptr;
}
/**
* Checks if the current application instance is secondary.
* @return Returns true if the instance is secondary, false otherwise.
*/
bool SingleApplication::isSecondary() const
{
Q_D( const SingleApplication );
return d->server == nullptr;
}
/**
* Allows you to identify an instance by returning unique consecutive instance
* ids. It is reset when the first (primary) instance of your app starts and
* only incremented afterwards.
* @return Returns a unique instance id.
*/
quint32 SingleApplication::instanceId() const
{
Q_D( const SingleApplication );
return d->instanceNumber;
}
/**
* Returns the OS PID (Process Identifier) of the process running the primary
* instance. Especially useful when SingleApplication is coupled with OS.
* specific APIs.
* @return Returns the primary instance PID.
*/
qint64 SingleApplication::primaryPid() const
{
Q_D( const SingleApplication );
return d->primaryPid();
}
/**
* Returns the username the primary instance is running as.
* @return Returns the username the primary instance is running as.
*/
QString SingleApplication::primaryUser() const
{
Q_D( const SingleApplication );
return d->primaryUser();
}
/**
* Returns the username the current instance is running as.
* @return Returns the username the current instance is running as.
*/
QString SingleApplication::currentUser() const
{
return SingleApplicationPrivate::getUsername();
}
/**
* Sends message to the Primary Instance.
* @param message The message to send.
* @param timeout the maximum timeout in milliseconds for blocking functions.
* @return true if the message was sent successfuly, false otherwise.
*/
bool SingleApplication::sendMessage( const QByteArray &message, int timeout )
{
Q_D( SingleApplication );
// Nobody to connect to
if( isPrimary() ) return false;
// Make sure the socket is connected
if( ! d->connectToPrimary( timeout, SingleApplicationPrivate::Reconnect ) )
return false;
d->socket->write( message );
bool dataWritten = d->socket->waitForBytesWritten( timeout );
d->socket->flush();
return dataWritten;
}
/**
* Cleans up the shared memory block and exits with a failure.
* This function halts program execution.
*/
void SingleApplication::abortSafely()
{
Q_D( SingleApplication );
qCritical() << "SingleApplication: " << d->memory->error() << d->memory->errorString();
delete d;
::exit( EXIT_FAILURE );
}
QStringList SingleApplication::userData() const
{
Q_D( const SingleApplication );
return d->appData();
}

View File

@ -1,154 +0,0 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2018
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#ifndef SINGLE_APPLICATION_H
#define SINGLE_APPLICATION_H
#include <QtCore/QtGlobal>
#include <QtNetwork/QLocalSocket>
#ifndef QAPPLICATION_CLASS
#define QAPPLICATION_CLASS QCoreApplication
#endif
#include QT_STRINGIFY(QAPPLICATION_CLASS)
class SingleApplicationPrivate;
/**
* @brief The SingleApplication class handles multiple instances of the same
* Application
* @see QCoreApplication
*/
class SingleApplication : public QAPPLICATION_CLASS
{
Q_OBJECT
using app_t = QAPPLICATION_CLASS;
public:
/**
* @brief Mode of operation of SingleApplication.
* Whether the block should be user-wide or system-wide and whether the
* primary instance should be notified when a secondary instance had been
* started.
* @note Operating system can restrict the shared memory blocks to the same
* user, in which case the User/System modes will have no effect and the
* block will be user wide.
* @enum
*/
enum Mode {
User = 1 << 0,
System = 1 << 1,
SecondaryNotification = 1 << 2,
ExcludeAppVersion = 1 << 3,
ExcludeAppPath = 1 << 4
};
Q_DECLARE_FLAGS(Options, Mode)
/**
* @brief Intitializes a SingleApplication instance with argc command line
* arguments in argv
* @arg {int &} argc - Number of arguments in argv
* @arg {const char *[]} argv - Supplied command line arguments
* @arg {bool} allowSecondary - Whether to start the instance as secondary
* if there is already a primary instance.
* @arg {Mode} mode - Whether for the SingleApplication block to be applied
* User wide or System wide.
* @arg {int} timeout - Timeout to wait in milliseconds.
* @note argc and argv may be changed as Qt removes arguments that it
* recognizes
* @note Mode::SecondaryNotification only works if set on both the primary
* instance and the secondary instance.
* @note The timeout is just a hint for the maximum time of blocking
* operations. It does not guarantee that the SingleApplication
* initialisation will be completed in given time, though is a good hint.
* Usually 4*timeout would be the worst case (fail) scenario.
* @see See the corresponding QAPPLICATION_CLASS constructor for reference
*/
explicit SingleApplication( int &argc, char *argv[], bool allowSecondary = false, Options options = Mode::User, int timeout = 1000, const QString &userData = {} );
~SingleApplication() override;
/**
* @brief Returns if the instance is the primary instance
* @returns {bool}
*/
bool isPrimary() const;
/**
* @brief Returns if the instance is a secondary instance
* @returns {bool}
*/
bool isSecondary() const;
/**
* @brief Returns a unique identifier for the current instance
* @returns {qint32}
*/
quint32 instanceId() const;
/**
* @brief Returns the process ID (PID) of the primary instance
* @returns {qint64}
*/
qint64 primaryPid() const;
/**
* @brief Returns the username of the user running the primary instance
* @returns {QString}
*/
QString primaryUser() const;
/**
* @brief Returns the username of the current user
* @returns {QString}
*/
QString currentUser() const;
/**
* @brief Sends a message to the primary instance. Returns true on success.
* @param {int} timeout - Timeout for connecting
* @returns {bool}
* @note sendMessage() will return false if invoked from the primary
* instance.
*/
bool sendMessage( const QByteArray &message, int timeout = 100 );
/**
* @brief Get the set user data.
* @returns {QStringList}
*/
QStringList userData() const;
Q_SIGNALS:
void instanceStarted();
void receivedMessage( quint32 instanceId, QByteArray message );
private:
SingleApplicationPrivate *d_ptr;
Q_DECLARE_PRIVATE(SingleApplication)
void abortSafely();
};
Q_DECLARE_OPERATORS_FOR_FLAGS(SingleApplication::Options)
#endif // SINGLE_APPLICATION_H

View File

@ -1,20 +0,0 @@
QT += core network
CONFIG += c++11
HEADERS += $$PWD/SingleApplication \
$$PWD/singleapplication.h \
$$PWD/singleapplication_p.h
SOURCES += $$PWD/singleapplication.cpp \
$$PWD/singleapplication_p.cpp
INCLUDEPATH += $$PWD
win32 {
msvc:LIBS += Advapi32.lib
gcc:LIBS += -ladvapi32
}
DISTFILES += \
$$PWD/README.md \
$$PWD/CHANGELOG.md \
$$PWD/Windows.md

View File

@ -1,486 +0,0 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2020
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
// W A R N I N G !!!
// -----------------
//
// This file is not part of the SingleApplication API. It is used purely as an
// implementation detail. This header file may change from version to
// version without notice, or may even be removed.
//
#include <cstdlib>
#include <cstddef>
#include <QtCore/QDir>
#include <QtCore/QThread>
#include <QtCore/QByteArray>
#include <QtCore/QDataStream>
#include <QtCore/QElapsedTimer>
#include <QtCore/QCryptographicHash>
#include <QtNetwork/QLocalServer>
#include <QtNetwork/QLocalSocket>
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
#include <QtCore/QRandomGenerator>
#else
#include <QtCore/QDateTime>
#endif
#include "singleapplication.h"
#include "singleapplication_p.h"
#ifdef Q_OS_UNIX
#include <unistd.h>
#include <sys/types.h>
#include <pwd.h>
#endif
#ifdef Q_OS_WIN
#ifndef NOMINMAX
#define NOMINMAX 1
#endif
#include <windows.h>
#include <lmcons.h>
#endif
SingleApplicationPrivate::SingleApplicationPrivate( SingleApplication *q_ptr )
: q_ptr( q_ptr )
{
server = nullptr;
socket = nullptr;
memory = nullptr;
instanceNumber = 0;
}
SingleApplicationPrivate::~SingleApplicationPrivate()
{
if( socket != nullptr ){
socket->close();
delete socket;
}
if( memory != nullptr ){
memory->lock();
auto *inst = static_cast<InstancesInfo*>(memory->data());
if( server != nullptr ){
server->close();
delete server;
inst->primary = false;
inst->primaryPid = -1;
inst->primaryUser[0] = '\0';
inst->checksum = blockChecksum();
}
memory->unlock();
delete memory;
}
}
QString SingleApplicationPrivate::getUsername()
{
#ifdef Q_OS_WIN
wchar_t username[UNLEN + 1];
// Specifies size of the buffer on input
DWORD usernameLength = UNLEN + 1;
if( GetUserNameW( username, &usernameLength ) )
return QString::fromWCharArray( username );
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0)
return QString::fromLocal8Bit( qgetenv( "USERNAME" ) );
#else
return qEnvironmentVariable( "USERNAME" );
#endif
#endif
#ifdef Q_OS_UNIX
QString username;
uid_t uid = geteuid();
struct passwd *pw = getpwuid( uid );
if( pw )
username = QString::fromLocal8Bit( pw->pw_name );
if ( username.isEmpty() ){
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0)
username = QString::fromLocal8Bit( qgetenv( "USER" ) );
#else
username = qEnvironmentVariable( "USER" );
#endif
}
return username;
#endif
}
void SingleApplicationPrivate::genBlockServerName()
{
QCryptographicHash appData( QCryptographicHash::Sha256 );
appData.addData( "SingleApplication", 17 );
appData.addData( SingleApplication::app_t::applicationName().toUtf8() );
appData.addData( SingleApplication::app_t::organizationName().toUtf8() );
appData.addData( SingleApplication::app_t::organizationDomain().toUtf8() );
if ( ! appDataList.isEmpty() )
appData.addData( appDataList.join( "" ).toUtf8() );
if( ! (options & SingleApplication::Mode::ExcludeAppVersion) ){
appData.addData( SingleApplication::app_t::applicationVersion().toUtf8() );
}
if( ! (options & SingleApplication::Mode::ExcludeAppPath) ){
#ifdef Q_OS_WIN
appData.addData( SingleApplication::app_t::applicationFilePath().toLower().toUtf8() );
#else
appData.addData( SingleApplication::app_t::applicationFilePath().toUtf8() );
#endif
}
// User level block requires a user specific data in the hash
if( options & SingleApplication::Mode::User ){
appData.addData( getUsername().toUtf8() );
}
// Replace the backslash in RFC 2045 Base64 [a-zA-Z0-9+/=] to comply with
// server naming requirements.
blockServerName = appData.result().toBase64().replace("/", "_");
}
void SingleApplicationPrivate::initializeMemoryBlock() const
{
auto *inst = static_cast<InstancesInfo*>( memory->data() );
inst->primary = false;
inst->secondary = 0;
inst->primaryPid = -1;
inst->primaryUser[0] = '\0';
inst->checksum = blockChecksum();
}
void SingleApplicationPrivate::startPrimary()
{
// Reset the number of connections
auto *inst = static_cast <InstancesInfo*>( memory->data() );
inst->primary = true;
inst->primaryPid = QCoreApplication::applicationPid();
qstrncpy( inst->primaryUser, getUsername().toUtf8().data(), sizeof(inst->primaryUser) );
inst->checksum = blockChecksum();
instanceNumber = 0;
// Successful creation means that no main process exists
// So we start a QLocalServer to listen for connections
QLocalServer::removeServer( blockServerName );
server = new QLocalServer();
// Restrict access to the socket according to the
// SingleApplication::Mode::User flag on User level or no restrictions
if( options & SingleApplication::Mode::User ){
server->setSocketOptions( QLocalServer::UserAccessOption );
} else {
server->setSocketOptions( QLocalServer::WorldAccessOption );
}
server->listen( blockServerName );
QObject::connect(
server,
&QLocalServer::newConnection,
this,
&SingleApplicationPrivate::slotConnectionEstablished
);
}
void SingleApplicationPrivate::startSecondary()
{
auto *inst = static_cast <InstancesInfo*>( memory->data() );
inst->secondary += 1;
inst->checksum = blockChecksum();
instanceNumber = inst->secondary;
}
bool SingleApplicationPrivate::connectToPrimary( int msecs, ConnectionType connectionType )
{
QElapsedTimer time;
time.start();
// Connect to the Local Server of the Primary Instance if not already
// connected.
if( socket == nullptr ){
socket = new QLocalSocket();
}
if( socket->state() == QLocalSocket::ConnectedState ) return true;
if( socket->state() != QLocalSocket::ConnectedState ){
while( true ){
randomSleep();
if( socket->state() != QLocalSocket::ConnectingState )
socket->connectToServer( blockServerName );
if( socket->state() == QLocalSocket::ConnectingState ){
socket->waitForConnected( static_cast<int>(msecs - time.elapsed()) );
}
// If connected break out of the loop
if( socket->state() == QLocalSocket::ConnectedState ) break;
// If elapsed time since start is longer than the method timeout return
if( time.elapsed() >= msecs ) return false;
}
}
// Initialisation message according to the SingleApplication protocol
QByteArray initMsg;
QDataStream writeStream(&initMsg, QIODevice::WriteOnly);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
writeStream.setVersion(QDataStream::Qt_5_6);
#endif
writeStream << blockServerName.toLatin1();
writeStream << static_cast<quint8>(connectionType);
writeStream << instanceNumber;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
quint16 checksum = qChecksum(QByteArray(initMsg, static_cast<quint32>(initMsg.length())));
#else
quint16 checksum = qChecksum(initMsg.constData(), static_cast<quint32>(initMsg.length()));
#endif
writeStream << checksum;
// The header indicates the message length that follows
QByteArray header;
QDataStream headerStream(&header, QIODevice::WriteOnly);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
headerStream.setVersion(QDataStream::Qt_5_6);
#endif
headerStream << static_cast <quint64>( initMsg.length() );
socket->write( header );
socket->write( initMsg );
bool result = socket->waitForBytesWritten( static_cast<int>(msecs - time.elapsed()) );
socket->flush();
return result;
}
quint16 SingleApplicationPrivate::blockChecksum() const
{
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
quint16 checksum = qChecksum(QByteArray(static_cast<const char*>(memory->constData()), offsetof(InstancesInfo, checksum)));
#else
quint16 checksum = qChecksum(static_cast<const char*>(memory->constData()), offsetof(InstancesInfo, checksum));
#endif
return checksum;
}
qint64 SingleApplicationPrivate::primaryPid() const
{
qint64 pid;
memory->lock();
auto *inst = static_cast<InstancesInfo*>( memory->data() );
pid = inst->primaryPid;
memory->unlock();
return pid;
}
QString SingleApplicationPrivate::primaryUser() const
{
QByteArray username;
memory->lock();
auto *inst = static_cast<InstancesInfo*>( memory->data() );
username = inst->primaryUser;
memory->unlock();
return QString::fromUtf8( username );
}
/**
* @brief Executed when a connection has been made to the LocalServer
*/
void SingleApplicationPrivate::slotConnectionEstablished()
{
QLocalSocket *nextConnSocket = server->nextPendingConnection();
connectionMap.insert(nextConnSocket, ConnectionInfo());
QObject::connect(nextConnSocket, &QLocalSocket::aboutToClose,
[nextConnSocket, this](){
auto &info = connectionMap[nextConnSocket];
Q_EMIT this->slotClientConnectionClosed( nextConnSocket, info.instanceId );
}
);
QObject::connect(nextConnSocket, &QLocalSocket::disconnected, nextConnSocket, &QLocalSocket::deleteLater);
QObject::connect(nextConnSocket, &QLocalSocket::destroyed,
[nextConnSocket, this](){
connectionMap.remove(nextConnSocket);
}
);
QObject::connect(nextConnSocket, &QLocalSocket::readyRead,
[nextConnSocket, this](){
auto &info = connectionMap[nextConnSocket];
switch(info.stage){
case StageHeader:
readInitMessageHeader(nextConnSocket);
break;
case StageBody:
readInitMessageBody(nextConnSocket);
break;
case StageConnected:
Q_EMIT this->slotDataAvailable( nextConnSocket, info.instanceId );
break;
default:
break;
};
}
);
}
void SingleApplicationPrivate::readInitMessageHeader( QLocalSocket *sock )
{
if (!connectionMap.contains( sock )){
return;
}
if( sock->bytesAvailable() < ( qint64 )sizeof( quint64 ) ){
return;
}
QDataStream headerStream( sock );
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
headerStream.setVersion( QDataStream::Qt_5_6 );
#endif
// Read the header to know the message length
quint64 msgLen = 0;
headerStream >> msgLen;
ConnectionInfo &info = connectionMap[sock];
info.stage = StageBody;
info.msgLen = msgLen;
if ( sock->bytesAvailable() >= (qint64) msgLen ){
readInitMessageBody( sock );
}
}
void SingleApplicationPrivate::readInitMessageBody( QLocalSocket *sock )
{
Q_Q(SingleApplication);
if (!connectionMap.contains( sock )){
return;
}
ConnectionInfo &info = connectionMap[sock];
if( sock->bytesAvailable() < ( qint64 )info.msgLen ){
return;
}
// Read the message body
QByteArray msgBytes = sock->read(info.msgLen);
QDataStream readStream(msgBytes);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
readStream.setVersion( QDataStream::Qt_5_6 );
#endif
// server name
QByteArray latin1Name;
readStream >> latin1Name;
// connection type
ConnectionType connectionType = InvalidConnection;
quint8 connTypeVal = InvalidConnection;
readStream >> connTypeVal;
connectionType = static_cast <ConnectionType>( connTypeVal );
// instance id
quint32 instanceId = 0;
readStream >> instanceId;
// checksum
quint16 msgChecksum = 0;
readStream >> msgChecksum;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
const quint16 actualChecksum = qChecksum(QByteArray(msgBytes, static_cast<quint32>(msgBytes.length() - sizeof(quint16))));
#else
const quint16 actualChecksum = qChecksum(msgBytes.constData(), static_cast<quint32>(msgBytes.length() - sizeof(quint16)));
#endif
bool isValid = readStream.status() == QDataStream::Ok &&
QLatin1String(latin1Name) == blockServerName &&
msgChecksum == actualChecksum;
if( !isValid ){
sock->close();
return;
}
info.instanceId = instanceId;
info.stage = StageConnected;
if( connectionType == NewInstance ||
( connectionType == SecondaryInstance &&
options & SingleApplication::Mode::SecondaryNotification ) )
{
Q_EMIT q->instanceStarted();
}
if (sock->bytesAvailable() > 0){
Q_EMIT this->slotDataAvailable( sock, instanceId );
}
}
void SingleApplicationPrivate::slotDataAvailable( QLocalSocket *dataSocket, quint32 instanceId )
{
Q_Q(SingleApplication);
Q_EMIT q->receivedMessage( instanceId, dataSocket->readAll() );
}
void SingleApplicationPrivate::slotClientConnectionClosed( QLocalSocket *closedSocket, quint32 instanceId )
{
if( closedSocket->bytesAvailable() > 0 )
Q_EMIT slotDataAvailable( closedSocket, instanceId );
}
void SingleApplicationPrivate::randomSleep()
{
#if QT_VERSION >= QT_VERSION_CHECK( 5, 10, 0 )
QThread::msleep( QRandomGenerator::global()->bounded( 8u, 18u ));
#else
qsrand( QDateTime::currentMSecsSinceEpoch() % std::numeric_limits<uint>::max() );
QThread::msleep( 8 + static_cast <unsigned long>( static_cast <float>( qrand() ) / RAND_MAX * 10 ));
#endif
}
void SingleApplicationPrivate::addAppData(const QString &data)
{
appDataList.push_back(data);
}
QStringList SingleApplicationPrivate::appData() const
{
return appDataList;
}

View File

@ -1,104 +0,0 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2020
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
// W A R N I N G !!!
// -----------------
//
// This file is not part of the SingleApplication API. It is used purely as an
// implementation detail. This header file may change from version to
// version without notice, or may even be removed.
//
#ifndef SINGLEAPPLICATION_P_H
#define SINGLEAPPLICATION_P_H
#include <QtCore/QSharedMemory>
#include <QtNetwork/QLocalServer>
#include <QtNetwork/QLocalSocket>
#include "singleapplication.h"
struct InstancesInfo {
bool primary;
quint32 secondary;
qint64 primaryPid;
char primaryUser[128];
quint16 checksum; // Must be the last field
};
struct ConnectionInfo {
qint64 msgLen = 0;
quint32 instanceId = 0;
quint8 stage = 0;
};
class SingleApplicationPrivate : public QObject {
Q_OBJECT
public:
enum ConnectionType : quint8 {
InvalidConnection = 0,
NewInstance = 1,
SecondaryInstance = 2,
Reconnect = 3
};
enum ConnectionStage : quint8 {
StageHeader = 0,
StageBody = 1,
StageConnected = 2,
};
Q_DECLARE_PUBLIC(SingleApplication)
SingleApplicationPrivate( SingleApplication *q_ptr );
~SingleApplicationPrivate() override;
static QString getUsername();
void genBlockServerName();
void initializeMemoryBlock() const;
void startPrimary();
void startSecondary();
bool connectToPrimary( int msecs, ConnectionType connectionType );
quint16 blockChecksum() const;
qint64 primaryPid() const;
QString primaryUser() const;
void readInitMessageHeader(QLocalSocket *socket);
void readInitMessageBody(QLocalSocket *socket);
static void randomSleep();
void addAppData(const QString &data);
QStringList appData() const;
SingleApplication *q_ptr;
QSharedMemory *memory;
QLocalSocket *socket;
QLocalServer *server;
quint32 instanceNumber;
QString blockServerName;
SingleApplication::Options options;
QMap<QLocalSocket*, ConnectionInfo> connectionMap;
QStringList appDataList;
public Q_SLOTS:
void slotConnectionEstablished();
void slotDataAvailable( QLocalSocket*, quint32 );
void slotClientConnectionClosed( QLocalSocket*, quint32 );
};
#endif // SINGLEAPPLICATION_P_H

View File

@ -1,10 +1,11 @@
{
"id": "org.qelectrotech.QElectroTech",
"base-version": "5.15-23.08",
"runtime": "org.kde.Platform",
"runtime-version": "5.15",
"runtime-version": "5.15-23.08",
"sdk": "org.kde.Sdk",
"command": "qelectrotech",
"rename-desktop-file": "qelectrotech.desktop",
"rename-desktop-file": "org.qelectrotech.qelectrotech.desktop",
"rename-appdata-file": "qelectrotech.appdata.xml",
"rename-icon": "qelectrotech",
"copy-icon": true,
@ -13,6 +14,8 @@
"--socket=fallback-x11",
"--device=dri",
"--share=ipc",
"--share=network",
"--socket=cups",
"--filesystem=host"
],
"modules": [
@ -26,7 +29,7 @@
{
"type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "2301112d142ebaf7532b25600c77d1a2edc9ef04"
"commit": "23c793bad2429f4a81eee9f50e2d07ae845b7785"
}
],
"modules": [
@ -78,18 +81,17 @@
]
},
{
"name": "python3.6.0",
"name": "python3-PySimpleGUI",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} PySimpleGUI"
],
"sources": [
{
"type": "archive",
"url": "https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz",
"sha256": "b0c5f904f685e32d9232f7bdcbece9819a892929063b6e385414ad2dd6a23622"
"type": "file",
"url": "https://files.pythonhosted.org/packages/d0/c3/c1ce811a1e48d5e0f2df0b393ff189fae4842ec840bb6e4db79c8da55e74/PySimpleGUI-4.41.2.tar.gz",
"sha256": "cf42d9f61f28c8e790a9c031ce900a9cee5fd2f950da2f055ed36bbc487dcf11"
}
],
"config-opts": ["--enable-shared"],
"post-install": [
"chmod +w ${FLATPAK_DEST}/lib/libpython3.6m.so.1.0",
"chmod +w ${FLATPAK_DEST}/lib/libpython3.so"
]
},
{
@ -101,25 +103,10 @@
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/9e/c3/aaad3309a5f2ca08e2fa0ab01123bb6fafb15a92854bff88042039192a67/qet_tb_generator-1.1.7.tar.gz",
"sha256": "f626ab7bf4d9091fc85f63d33136585e611272b347499b448ece4e33cc04eeed"
"url": "https://files.pythonhosted.org/packages/70/aa/ebde0dddfbde799a4e8cf0564e52f95089105a7f562739ee1d16ff5a495a/qet_tb_generator-1.3.1.tar.gz",
"sha256": "52c9836387d54bc30ea29272068ec156fc65c3905e0cb863afd9418abc3c0907"
}
]
},
{
"name": "DXFtoQET-2020-1",
"buildsystem": "qmake",
"sources": [
{
"type": "git",
"url": "https://github.com/qelectrotech/DXFtoQET-2020.git",
"commit": "01fbb2afe0fe66782cb1d1f901c73616c7d5299d"
}
],
"post-install": [
"mkdir -p ${FLATPAK_DEST}/bin",
"cp DXFtoQET ${FLATPAK_DEST}/bin/"
]
}
]
}

View File

@ -1,17 +1,17 @@
From 2a390b5188fe070295090b1bd37273d12963b371 Mon Sep 17 00:00:00 2001
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 | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
qelectrotech.pro | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/qelectrotech.pro b/qelectrotech.pro
index 2901a30d5..1019a9870 100644
index 7baddbb08..5dcda04b6 100644
--- a/qelectrotech.pro
+++ b/qelectrotech.pro
@@ -5,20 +5,20 @@
@@ -5,18 +5,18 @@
# Chemins utilises pour la compilation et l'installation de QET
unix {
# Chemins UNIX
@ -25,12 +25,8 @@ index 2901a30d5..1019a9870 100644
QET_LANG_PATH = 'share/qelectrotech/lang/'
QET_EXAMPLES_PATH = 'share/qelectrotech/examples/'
- QET_LICENSE_PATH = 'doc/qelectrotech/'
- QET_MIME_XML_PATH = '../share/mime/application/'
- QET_MIME_DESKTOP_PATH = '../share/mimelnk/application/'
- QET_MIME_PACKAGE_PATH = '../share/mime/packages/'
+ QET_LICENSE_PATH = 'share/doc/qelectrotech/'
+ QET_MIME_XML_PATH = 'share/mime/application/'
+ QET_MIME_DESKTOP_PATH = 'share/mimelnk/application/'
+ QET_MIME_PACKAGE_PATH = 'share/mime/packages/'
QET_DESKTOP_PATH = 'share/applications/'
QET_ICONS_PATH = 'share/icons/hicolor/'
@ -40,5 +36,5 @@ index 2901a30d5..1019a9870 100644
}
win32 {
--
2.28.0
2.35.1

20
build-aux/snap/local/launchers/qelectrotech-launch Executable file → Normal file
View File

@ -1,15 +1,5 @@
#!/bin/sh
# a KDE session forces the KDE Plasma platformtheme which is incompatible with QET
# unset the ENV vars in that case to prevent loading of the theme
if [ ! -z "$KDE_FULL_SESSION" ]; then
unset KDE_FULL_SESSION
fi
if echo "$XDG_CURRENT_DESKTOP" | grep -q KDE; then
unset XDG_CURRENT_DESKTOP
fi
# migrate .qet directory from SNAP_USER_DATA to SNAP_USER_COMMON
from="$SNAP_USER_DATA/.qet"
to="$SNAP_USER_COMMON/.qet"
@ -19,16 +9,6 @@ if [ ! -d "$to" ] && [ -d "$from" ]; then
cp -av "$from/." "$to"
fi
# link DXFtoQET so that QET finds it
mkdir -p "$HOME/.qet"
ln -snf "$SNAP/bin/DXFtoQET" "$HOME/.qet/DXFtoQET"
# start desktop portal. Open & save dialogs might fail if it is not running
dbus-send --print-reply \
--dest=org.freedesktop.DBus \
/org/freedesktop/DBus \
org.freedesktop.DBus.StartServiceByName \
string:org.freedesktop.portal.Desktop \
uint32:0
exec "${@}"

View File

@ -1,6 +1,6 @@
name: qelectrotech
title: QElectroTech
base: core18
base: core22
adopt-info: qelectrotech
license: GPL-2.0
summary: Electrical diagram editor
@ -10,45 +10,39 @@ description: |
grade: stable
confinement: strict
compression: lzo
architectures:
- build-on: amd64
run-on: amd64
build-for: amd64
- build-on: arm64
build-for: arm64
layout:
/usr/local/share/qelectrotech:
symlink: $SNAP/usr/local/share/qelectrotech
/usr/share/libdrm/amdgpu.ids:
symlink: $SNAP/kf5/usr/share/libdrm/amdgpu.ids
apps:
qelectrotech:
command: usr/local/bin/qelectrotech
command-chain:
- bin/qelectrotech-launch
desktop: usr/local/share/applications/qelectrotech.desktop
extensions: [kde-neon]
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control]
common-id: qelectrotech.desktop
extensions:
- kde-neon
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control, wayland, x11]
environment: &env
__EGL_VENDOR_LIBRARY_DIRS: $SNAP/kf5/usr/share/glvnd/egl_vendor.d:$SNAP/usr/share/glvnd/egl_vendor.d
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
QT_QPA_PLATFORMTHEME: gtk3
QT_AUTO_SCREEN_SCALE_FACTOR: 1
HOME: $SNAP_USER_COMMON
PYTHONPATH: $SNAP:$SNAP/lib/python3.6/site-packages:$SNAP/usr/lib/python3.6:$SNAP/usr/lib/python3.6/lib-dynload
PYTHONPATH: $SNAP:$SNAP/lib/python3.10/site-packages:$SNAP/usr/lib/python3.10:$SNAP/usr/lib/python3.10/lib-dynload
qet-tb-generator:
command: bin/qelectrotech-launch $SNAP/bin/qet_tb_generator
extensions: [kde-neon]
command: bin/qet_tb_generator
extensions:
- kde-neon
plugs: *plugs
environment: *env
dxf-to-qet:
command: bin/DXFtoQET
extensions: [kde-neon]
plugs: *plugs
environment: *env
parts:
launchers:
plugin: dump
@ -58,8 +52,8 @@ parts:
qet-tb-generator:
plugin: python
python-version: python3
source: https://github.com/qelectrotech/qet_tb_generator.git
source: https://github.com/raulroda/qet_tb_generator-plugin.git
python-packages: [PySimpleGUI]
stage-packages:
- python3-lxml
- python3-tk
@ -68,57 +62,50 @@ parts:
kde-sdk-setup:
plugin: nil
build-snaps:
- kde-frameworks-5-core18-sdk
- kf5-5-110-qt-5-15-11-core22-sdk
build-packages:
- g++
- mesa-common-dev
- libglvnd-dev
- rsync
override-build: |
rsync -a --ignore-existing /snap/kde-frameworks-5-core18-sdk/current/ /
dxf-to-qet:
after: [kde-sdk-setup]
plugin: nil
source: https://github.com/qelectrotech/DXFtoQET-2020.git
override-build: |
qmake "$SNAPCRAFT_PART_SRC/DXFtoQET.pro"
make -j$(nproc)
mkdir -p "$SNAPCRAFT_PART_INSTALL/bin"
cp DXFtoQET "$SNAPCRAFT_PART_INSTALL/bin/"
rsync -a --ignore-existing /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/ /
qelectrotech:
after: [kde-sdk-setup]
plugin: nil
source: .
stage-packages: [ git, sqlite3 ]
stage-packages: [ git, sqlite3, xdg-user-dirs ]
build-packages:
- git
- libsqlite3-dev
override-pull: |
snapcraftctl pull
snap_version=$(git describe --dirty)
modified_displayed_version=$snap_version".snap"
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
snapcraftctl set-version "$snap_version"
override-build: |
qmake "$SNAPCRAFT_PART_SRC/qelectrotech.pro"
make -j$(nproc)
make install INSTALL_ROOT="$SNAPCRAFT_PART_INSTALL"
displayed_version=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g')
snap_version="${displayed_version}-g$(git rev-parse --short=8 HEAD)"
modified_displayed_version="${snap_version}.snap"
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
craftctl set version="$snap_version"
qmake "$CRAFT_PART_SRC/qelectrotech.pro"
make -j${CRAFT_PARALLEL_BUILD_COUNT}
make install INSTALL_ROOT="$CRAFT_PART_INSTALL"
override-stage: |
snapcraftctl stage
craftctl default
# patch desktop file with correct icon path
SED_CMD="sed -i -E s|^Icon=(.*)|Icon=\${SNAP}/usr/local/share/icons/hicolor/128x128/apps/\1.png|g"
$SED_CMD usr/local/share/applications/qelectrotech.desktop
$SED_CMD usr/local/share/applications/org.qelectrotech.qelectrotech.desktop
cleanup:
after: [qelectrotech, dxf-to-qet, qet-tb-generator]
after: [qelectrotech, qet-tb-generator]
plugin: nil
build-snaps: [core18, kde-frameworks-5-core18]
build-snaps: [kf5-5-110-qt-5-15-11-core22]
override-prime: |
# Remove all files from snap that are already included in the base snap or in
# any connected content snaps
set -eux
for snap in "core18" "kde-frameworks-5-core18"; do # List all content-snaps and base snaps you're using here
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" \;
for snap in "kf5-5-110-qt-5-15-11-core22"; do # List all content-snaps you're using here
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$CRAFT_PRIME/{}" "$CRAFT_PRIME/usr/{}" \;
done
for cruft in bug lintian man; do
rm -rf $CRAFT_PRIME/usr/share/$cruft
done
find $CRAFT_PRIME/usr/share/doc/ -type f -not -name 'copyright' -delete
find $CRAFT_PRIME/usr/share -type d -empty -delete

7
build-aux/windows/Lancer QET.bat Normal file → Executable file
View File

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

View File

@ -1,391 +0,0 @@
; 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 "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro Locate
!include FileFunc.nsh
!insertmacro GetParameters
!insertmacro GetOptions
; MUI Settings
;--------------------------------
;General
; General Product Description Definitions
!define SOFT_NAME "QElectroTech"
!define SOFT_VERSION "0.5-dev+4113"
!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 "$PROGRAMFILES\${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_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"
; 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" "" "Schéma 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" "" "Élément 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"
; 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.tuxfamily.org/qet/manual_0.7/build/index.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_Russian.url" "InternetShortcut" "URL" "https://download.tuxfamily.org/qet/joshua/html/QET_ru.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Upgrade\Download.url" "InternetShortcut" "URL" "https://download.tuxfamily.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
;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

View File

@ -125,6 +125,7 @@
!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
@ -266,13 +267,13 @@ Section ""
; 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" "" "Schéma QET"
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" "" "Élément QET"
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"
@ -295,9 +296,9 @@ Section ""
; 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.tuxfamily.org/qet/manual_0.7/build/index.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Manual\Manual_Russian.url" "InternetShortcut" "URL" "https://download.tuxfamily.org/qet/joshua/html/QET_ru.html"
WriteINIStr "$SMPROGRAMS\${SOFT_NAME}\Upgrade\Download.url" "InternetShortcut" "URL" "https://download.tuxfamily.org/qet/builds/nightly/"
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

View File

@ -104,7 +104,7 @@
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."
LangString wrongArch ${LANG_GERMAN} "Dieses Programm läuft ausschließlich unter Windows 64 Bits."
LangString wrongArch ${LANG_GERMAN} "Dieses Programm läuft ausschließlich unter Windows 64 Bit."
LangString Elements ${LANG_GERMAN} "Bauteile"
LangString Electric ${LANG_GERMAN} "Elektrik"
LangString Logic ${LANG_GERMAN} "Logik"
@ -115,13 +115,13 @@
LangString Refrigeration ${LANG_GERMAN} "Kältetechnik"
LangString Solar_thermal ${LANG_GERMAN} "Solar-Wärmetechnik"
LangString Lang ${LANG_GERMAN} "Sprachen"
LangString Titleblocks ${LANG_GERMAN} "Zeichnungsköpfe"
LangString Titleblocks ${LANG_GERMAN} "Schriftfelder"
LangString Examples ${LANG_GERMAN} "Beispiele"
LangString Check ${LANG_GERMAN} "Check to start ${SOFT_NAME}"
LangString var1 ${LANG_GERMAN} "Elements of the official collection"
LangString var2 ${LANG_GERMAN} "languagues files"
LangString var3 ${LANG_GERMAN} "Examples of cartridges"
LangString var4 ${LANG_GERMAN} "Examples of diagrams"
LangString Check ${LANG_GERMAN} "Ankreuzen zum Starten von ${SOFT_NAME}"
LangString var1 ${LANG_GERMAN} "Elemente der offiziellen Sammlung"
LangString var2 ${LANG_GERMAN} "Sprachdateien"
LangString var3 ${LANG_GERMAN} "Schriftfeld-Beispiele"
LangString var4 ${LANG_GERMAN} "Schaltplan-Beispiele"
LangString installed ${LANG_RUSSIAN} "${SOFT_NAME} уже установлен. $\n$\nДля удаления предыдущей версии нажмите `OK` или `Cancel` для отмены обновления."

View File

@ -47,8 +47,6 @@ endif()
endif()
message("QET_LICENSE_PATH " ${QET_LICENSE_PATH})
message("QET_MIME_XML_PATH " ${QET_MIME_XML_PATH})
message("QET_MIME_DESKTOP_PATH " ${QET_MIME_DESKTOP_PATH})
message("QET_MIME_PACKAGE_PATH " ${QET_MIME_PACKAGE_PATH})
message("QET_DESKTOP_PATH " ${QET_DESKTOP_PATH})
message("QET_ICONS_PATH " ${QET_ICONS_PATH})

View File

@ -28,8 +28,6 @@ if(UNIX AND NOT APPLE)
set(QET_LANG_PATH "share/qelectrotech/lang/")
set(QET_EXAMPLES_PATH "share/qelectrotech/examples/")
set(QET_LICENSE_PATH "doc/qelectrotech/")
set(QET_MIME_XML_PATH "../share/mime/application/")
set(QET_MIME_DESKTOP_PATH "../share/mimelnk/application/")
set(QET_MIME_PACKAGE_PATH "../share/mime/packages/")
set(QET_DESKTOP_PATH "share/applications/")
set(QET_ICONS_PATH "share/icons/hicolor/")
@ -47,8 +45,6 @@ if(APPLE)
set(QET_LANG_PATH "../Resources/lang/")
set(QET_EXAMPLES_PATH "share/qelectrotech/examples/")
set(QET_LICENSE_PATH "doc/qelectrotech/")
set(QET_MIME_XML_PATH "../share/mime/application/")
set(QET_MIME_DESKTOP_PATH "../share/mimelnk/application/")
set(QET_DESKTOP_PATH "share/applications/")
set(QET_ICONS_PATH "share/icons/hicolor/")
set(QET_MAN_PATH "man/")

View File

@ -66,6 +66,13 @@ set(QET_RES_FILES
${QET_DIR}/sources/SearchAndReplace/ui/replaceelementdialog.ui
${QET_DIR}/sources/SearchAndReplace/ui/replacefoliowidget.ui
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.ui
${QET_DIR}/sources/TerminalStrip/ui/addterminalstripitemdialog.ui
${QET_DIR}/sources/TerminalStrip/ui/freeterminaleditor.ui
${QET_DIR}/sources/TerminalStrip/ui/terminalstripcreatordialog.ui
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditor.ui
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditorwindow.ui
${QET_DIR}/sources/TerminalStrip/ui/terminalstriplayouteditor.ui
${QET_DIR}/sources/TerminalStrip/ui/terminalstriptreedockwidget.ui
${QET_DIR}/sources/ui/aboutqetdialog.ui
${QET_DIR}/sources/ui/alignmenttextdialog.ui
${QET_DIR}/sources/ui/bomexportdialog.ui
@ -75,6 +82,7 @@ set(QET_RES_FILES
${QET_DIR}/sources/ui/conductorpropertieswidget.ui
${QET_DIR}/sources/ui/configsaveloaderwidget.ui
${QET_DIR}/sources/ui/diagramcontextwidget.ui
${QET_DIR}/sources/ui/diagrameditorhandlersizewidget.ui
${QET_DIR}/sources/ui/diagramselection.ui
${QET_DIR}/sources/ui/dialogwaiting.ui
${QET_DIR}/sources/ui/dynamicelementtextitemeditor.ui
@ -91,6 +99,7 @@ set(QET_RES_FILES
${QET_DIR}/sources/ui/potentialselectordialog.ui
${QET_DIR}/sources/ui/reportpropertiewidget.ui
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.ui
${QET_DIR}/sources/ui/thirdpartybinaryinstalldialog.ui
${QET_DIR}/sources/ui/titleblockpropertieswidget.ui
${QET_DIR}/sources/ui/xrefpropertieswidget.ui
${QET_DIR}/sources/ui/configpage/generalconfigurationpage.ui
@ -113,9 +122,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/conductorsegmentprofile.h
${QET_DIR}/sources/configdialog.cpp
${QET_DIR}/sources/configdialog.h
${QET_DIR}/sources/configpage.h
${QET_DIR}/sources/configpages.cpp
${QET_DIR}/sources/configpages.h
${QET_DIR}/sources/createdxf.cpp
${QET_DIR}/sources/createdxf.h
${QET_DIR}/sources/diagramcommands.cpp
@ -161,8 +167,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/main.cpp
${QET_DIR}/sources/newelementwizard.cpp
${QET_DIR}/sources/newelementwizard.h
${QET_DIR}/sources/projectconfigpages.cpp
${QET_DIR}/sources/projectconfigpages.h
${QET_DIR}/sources/projectview.cpp
${QET_DIR}/sources/projectview.h
${QET_DIR}/sources/qetapp.cpp
@ -189,6 +193,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/qetresult.h
${QET_DIR}/sources/qetxml.cpp
${QET_DIR}/sources/qetxml.h
${QET_DIR}/sources/qetversion.cpp
${QET_DIR}/sources/qetversion.h
${QET_DIR}/sources/qfilenameedit.cpp
${QET_DIR}/sources/qfilenameedit.h
${QET_DIR}/sources/qgimanager.cpp
@ -249,6 +255,12 @@ set(QET_SRC_FILES
${QET_DIR}/sources/dvevent/dveventinterface.cpp
${QET_DIR}/sources/dvevent/dveventinterface.h
${QET_DIR}/sources/dxf/dxftoelmt.cpp
${QET_DIR}/sources/dxf/dxftoelmt.h
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.cpp
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.h
${QET_DIR}/sources/editor/arceditor.cpp
${QET_DIR}/sources/editor/arceditor.h
${QET_DIR}/sources/editor/editorcommands.cpp
@ -327,6 +339,12 @@ set(QET_SRC_FILES
${QET_DIR}/sources/editor/UndoCommand/pastepartscommand.cpp
${QET_DIR}/sources/editor/UndoCommand/pastepartscommand.h
${QET_DIR}/sources/editor/UndoCommand/openelmtcommand.cpp
${QET_DIR}/sources/editor/UndoCommand/openelmtcommand.h
${QET_DIR}/sources/editor/UndoCommand/deletepartscommand.cpp
${QET_DIR}/sources/editor/UndoCommand/deletepartscommand.h
${QET_DIR}/sources/editor/UndoCommand/addpartcommand.cpp
${QET_DIR}/sources/editor/UndoCommand/addpartcommand.h
${QET_DIR}/sources/ElementsCollection/elementcollectionhandler.cpp
${QET_DIR}/sources/ElementsCollection/elementcollectionhandler.h
@ -373,6 +391,9 @@ set(QET_SRC_FILES
${QET_DIR}/sources/print/projectprintwindow.cpp
${QET_DIR}/sources/print/projectprintwindow.h
${QET_DIR}/sources/project/projectpropertieshandler.cpp
${QET_DIR}/sources/project/projectpropertieshandler.h
${QET_DIR}/sources/properties/elementdata.cpp
${QET_DIR}/sources/properties/elementdata.h
${QET_DIR}/sources/properties/propertiesinterface.cpp
@ -392,9 +413,9 @@ set(QET_SRC_FILES
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.cpp
${QET_DIR}/sources/PropertiesEditor/propertieseditorwidget.h
${QET_DIR}/sources/pugixml/pugiconfig.hpp
${QET_DIR}/sources/pugixml/pugixml.cpp
${QET_DIR}/sources/pugixml/pugixml.hpp
${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
@ -433,7 +454,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/qetgraphicsitem/terminalelement.h
${QET_DIR}/sources/qetgraphicsitem/terminal.h
${QET_DIR}/sources/qetgraphicsitem/ViewItem/projectdbmodel.cpp
${QET_DIR}/sources/qetgraphicsitem/ViewItem/projectdbmodel.h
${QET_DIR}/sources/qetgraphicsitem/ViewItem/qetgraphicsheaderitem.cpp
@ -513,6 +533,65 @@ set(QET_SRC_FILES
${QET_DIR}/sources/titleblock/templatevisualcell.cpp
${QET_DIR}/sources/titleblock/templatevisualcell.h
${QET_DIR}/sources/TerminalStrip/physicalterminal.cpp
${QET_DIR}/sources/TerminalStrip/physicalterminal.h
${QET_DIR}/sources/TerminalStrip/realterminal.cpp
${QET_DIR}/sources/TerminalStrip/realterminal.h
${QET_DIR}/sources/TerminalStrip/terminalstripbridge.cpp
${QET_DIR}/sources/TerminalStrip/terminalstripbridge.h
${QET_DIR}/sources/TerminalStrip/terminalstrip.cpp
${QET_DIR}/sources/TerminalStrip/terminalstrip.h
${QET_DIR}/sources/TerminalStrip/terminalstripdata.cpp
${QET_DIR}/sources/TerminalStrip/terminalstripdata.h
${QET_DIR}/sources/TerminalStrip/ui/addterminalstripitemdialog.cpp
${QET_DIR}/sources/TerminalStrip/ui/addterminalstripitemdialog.h
${QET_DIR}/sources/TerminalStrip/ui/freeterminaleditor.cpp
${QET_DIR}/sources/TerminalStrip/ui/freeterminaleditor.h
${QET_DIR}/sources/TerminalStrip/ui/freeterminalmodel.cpp
${QET_DIR}/sources/TerminalStrip/ui/freeterminalmodel.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstripcreatordialog.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstripcreatordialog.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditor.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditor.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditorwindow.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstripeditorwindow.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstriplayouteditor.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstriplayouteditor.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstripmodel.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstripmodel.h
${QET_DIR}/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp
${QET_DIR}/sources/TerminalStrip/ui/terminalstriptreedockwidget.h
${QET_DIR}/sources/TerminalStrip/ui/ConfigPage/terminalstripprojectconfigpage.cpp
${QET_DIR}/sources/TerminalStrip/ui/ConfigPage/terminalstripprojectconfigpage.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/addterminalstripcommand.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/addterminalstripcommand.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/addterminaltostripcommand.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/addterminaltostripcommand.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/bridgeterminalscommand.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminallevel.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminallevel.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminalstripcolor.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminalstripcolor.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminalstripdata.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/changeterminalstripdata.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/groupterminalscommand.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/groupterminalscommand.h
${QET_DIR}/sources/TerminalStrip/UndoCommand/sortterminalstripcommand.cpp
${QET_DIR}/sources/TerminalStrip/UndoCommand/sortterminalstripcommand.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/demoterminalstrip.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/demoterminalstrip.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/terminalstripitem.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/terminalstripitem.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/trueterminalstrip.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/trueterminalstrip.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/terminalstripdrawer.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/terminalstripdrawer.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/properties/terminalstriplayoutpattern.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/properties/terminalstriplayoutpattern.h
${QET_DIR}/sources/TerminalStrip/GraphicsItem/properties/terminalstriplayoutshandler.cpp
${QET_DIR}/sources/TerminalStrip/GraphicsItem/properties/terminalstriplayoutshandler.h
${QET_DIR}/sources/ui/aboutqetdialog.cpp
${QET_DIR}/sources/ui/aboutqetdialog.h
${QET_DIR}/sources/ui/abstractelementpropertieseditorwidget.cpp
@ -533,6 +612,8 @@ set(QET_SRC_FILES
${QET_DIR}/sources/ui/configsaveloaderwidget.h
${QET_DIR}/sources/ui/diagramcontextwidget.cpp
${QET_DIR}/sources/ui/diagramcontextwidget.h
${QET_DIR}/sources/ui/diagrameditorhandlersizewidget.cpp
${QET_DIR}/sources/ui/diagrameditorhandlersizewidget.h
${QET_DIR}/sources/ui/diagrampropertiesdialog.cpp
${QET_DIR}/sources/ui/diagrampropertiesdialog.h
${QET_DIR}/sources/ui/diagrampropertieseditordockwidget.cpp
@ -577,18 +658,26 @@ set(QET_SRC_FILES
${QET_DIR}/sources/ui/reportpropertiewidget.h
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.cpp
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.h
${QET_DIR}/sources/ui/thirdpartybinaryinstalldialog.cpp
${QET_DIR}/sources/ui/thirdpartybinaryinstalldialog.h
${QET_DIR}/sources/ui/titleblockpropertieswidget.cpp
${QET_DIR}/sources/ui/titleblockpropertieswidget.h
${QET_DIR}/sources/ui/xrefpropertieswidget.cpp
${QET_DIR}/sources/ui/xrefpropertieswidget.h
${QET_DIR}/sources/ui/configpage/configpage.h
${QET_DIR}/sources/ui/configpage/configpages.cpp
${QET_DIR}/sources/ui/configpage/configpages.h
${QET_DIR}/sources/ui/configpage/generalconfigurationpage.cpp
${QET_DIR}/sources/ui/configpage/generalconfigurationpage.h
${QET_DIR}/sources/ui/configpage/projectconfigpages.cpp
${QET_DIR}/sources/ui/configpage/projectconfigpages.h
${QET_DIR}/sources/undocommand/addelementtextcommand.cpp
${QET_DIR}/sources/undocommand/addelementtextcommand.h
${QET_DIR}/sources/undocommand/addgraphicsobjectcommand.cpp
${QET_DIR}/sources/undocommand/addgraphicsobjectcommand.h
${QET_DIR}/sources/undocommand/changeelementdatacommand.cpp
${QET_DIR}/sources/undocommand/changeelementdatacommand.h
${QET_DIR}/sources/undocommand/changeelementinformationcommand.cpp
${QET_DIR}/sources/undocommand/changeelementinformationcommand.h
${QET_DIR}/sources/undocommand/changetitleblockcommand.cpp
@ -603,43 +692,53 @@ set(QET_SRC_FILES
${QET_DIR}/sources/undocommand/rotateselectioncommand.h
${QET_DIR}/sources/undocommand/rotatetextscommand.cpp
${QET_DIR}/sources/undocommand/rotatetextscommand.h
${QET_DIR}/sources/undocommand/movegraphicsitemcommand.cpp
${QET_DIR}/sources/undocommand/movegraphicsitemcommand.h
${QET_DIR}/sources/utils/conductorcreator.cpp
${QET_DIR}/sources/utils/conductorcreator.h
${QET_DIR}/sources/utils/macosxopenevent.cpp
${QET_DIR}/sources/utils/macosxopenevent.h
${QET_DIR}/sources/utils/qetsettings.cpp
${QET_DIR}/sources/utils/qetsettings.h
${QET_DIR}/sources/utils/qetutils.cpp
${QET_DIR}/sources/utils/qetutils.h
${QET_DIR}/sources/xml/terminalstripitemxml.cpp
${QET_DIR}/sources/xml/terminalstripitemxml.h
)
set(TS_FILES
${QET_DIR}/lang/qet_ca.ts
${QET_DIR}/lang/qet_de.ts
${QET_DIR}/lang/qet_es.ts
${QET_DIR}/lang/qet_fr.ts
${QET_DIR}/lang/qet_it.ts
${QET_DIR}/lang/qet_mn.ts
${QET_DIR}/lang/qet_pt_br.ts
${QET_DIR}/lang/qet_ru.ts
${QET_DIR}/lang/qet_sr.ts
${QET_DIR}/lang/qet_zh.ts
${QET_DIR}/lang/qet_be.ts
${QET_DIR}/lang/qet_da.ts
${QET_DIR}/lang/qet_en.ts
${QET_DIR}/lang/qet_fi.ts
${QET_DIR}/lang/qet_hu.ts
${QET_DIR}/lang/qet_nl.ts
${QET_DIR}/lang/qet_pl.ts
${QET_DIR}/lang/qet_ro.ts
${QET_DIR}/lang/qet_sk.ts
${QET_DIR}/lang/qet_ar.ts
${QET_DIR}/lang/qet_ca.ts
${QET_DIR}/lang/qet_cs.ts
${QET_DIR}/lang/qet_da.ts
${QET_DIR}/lang/qet_de.ts
${QET_DIR}/lang/qet_el.ts
${QET_DIR}/lang/qet_en.ts
${QET_DIR}/lang/qet_es.ts
${QET_DIR}/lang/qet_fi.ts
${QET_DIR}/lang/qet_fr.ts
${QET_DIR}/lang/qet_hr.ts
${QET_DIR}/lang/qet_hu.ts
${QET_DIR}/lang/qet_it.ts
${QET_DIR}/lang/qet_ja.ts
${QET_DIR}/lang/qet_mn.ts
${QET_DIR}/lang/qet_nb.ts
${QET_DIR}/lang/qet_nl.ts
${QET_DIR}/lang/qet_nl_BE.ts
${QET_DIR}/lang/qet_no.ts
${QET_DIR}/lang/qet_pl.ts
${QET_DIR}/lang/qet_pt.ts
${QET_DIR}/lang/qet_pt_BR.ts
${QET_DIR}/lang/qet_ro.ts
${QET_DIR}/lang/qet_rs.ts
${QET_DIR}/lang/qet_ru.ts
${QET_DIR}/lang/qet_sk.ts
${QET_DIR}/lang/qet_sl.ts
${QET_DIR}/lang/qet_sr.ts
${QET_DIR}/lang/qet_sv.ts
${QET_DIR}/lang/qet_tr.ts
${QET_DIR}/lang/qet_uk.ts
${QET_DIR}/lang/qet_zh.ts
)

View File

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

View File

@ -11,6 +11,7 @@ DiagramImageItem + 1007
QetShapItem + 1008
crossRefItem + 1009
DynamiqueElementTextItem + 1010
TerminalStripItem +1011
ElementPrimitiveDecorator + 2200
###ELEMENT EDITOR###

1
elements Submodule

@ -0,0 +1 @@
Subproject commit 9f20b039b7c384fe29d7e7190fa62b67c8aae471

View File

@ -1,28 +0,0 @@
<definition height="20" version="0.80" width="30" hotspot_x="8" link_type="previous_report" hotspot_y="10" type="element">
<uuid uuid="{994d5b97-25b5-49aa-93ae-c1857ab866ea}"/>
<names>
<name lang="ar">الصفحة السابقة</name>
<name lang="ru">Предыдущая страница</name>
<name lang="es">folio anterior</name>
<name lang="it">Foglio precedente</name>
<name lang="de">Vorherige Folie</name>
<name lang="el">Προηγούμενη σελίδα</name>
<name lang="en">Coming arrow</name>
<name lang="cs">Předchozí list</name>
<name lang="fr">Folio précédent</name>
<name lang="pl">Wejście adresowe</name>
<name lang="hu">Beérkező hivatkozás</name>
<name lang="nl">Referentie Vorig</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<polygon x2="-1" y2="4" y4="-4" x1="-1" x3="9" y3="0" closed="false" style="line-style:normal;line-weight:normal;filling:black;color:black" y1="-4" x4="-1" antialias="true"/>
<line length2="1.5" x2="12" end2="none" y2="0" length1="1.5" x1="9" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" end1="none" antialias="false"/>
<dynamic_text x="-44" rotation="0" uuid="{8ec41ce2-36d6-4fe3-b299-c8a48cb2182c}" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0" text_from="ElementInfo" y="-11.5" Valignment="AlignTop" z="3" frame="false" text_width="-1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal x="13" uuid="{d7fd0bec-9f05-4651-a50b-29d7ffabeb41}" name="" y="0" orientation="e"/>
</description>
</definition>

View File

@ -1,28 +0,0 @@
<definition hotspot_x="21" hotspot_y="10" version="0.80" type="element" height="20" link_type="next_report" width="30">
<uuid uuid="{2e596a05-ef45-4895-b826-942d28c2d038}"/>
<names>
<name lang="de">Nächste Folie</name>
<name lang="ar">الصفحة التالية</name>
<name lang="fr">Folio suivant</name>
<name lang="hu">Elmenő hivatkozás</name>
<name lang="it">Foglio successivo</name>
<name lang="el">Επόμενη σελίδα</name>
<name lang="en">Going arrow</name>
<name lang="es">Folio siguiente</name>
<name lang="nl">Referentie volgend</name>
<name lang="pl">Wyjście adresowe</name>
<name lang="ru">Следующая страница</name>
<name lang="cs">Další list</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<polygon y3="0" y2="4" x4="-9" x3="2" x1="-9" x2="-9" y4="-4" style="line-style:normal;line-weight:normal;filling:black;color:black" y1="-4" closed="false" antialias="true"/>
<line y2="0" x1="-9" x2="-12" length1="1.5" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" end1="none" length2="1.5" antialias="false"/>
<dynamic_text Valignment="AlignTop" Halignment="AlignLeft" rotation="0" font="Sans Serif,9,-1,5,50,0,0,0,0,0" uuid="{93888a84-3ffd-438d-acef-5396acba0750}" text_width="-1" x="6" frame="false" z="3" y="-11.5" text_from="ElementInfo">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal uuid="{975add6f-4ba5-44af-a4c0-e1f1c2024601}" name="" x="-13" orientation="w" y="0"/>
</description>
</definition>

View File

@ -1,19 +0,0 @@
<qet-directory>
<names>
<name lang="ru">Точки разрыва</name>
<name lang="ar">إحالات</name>
<name lang="cs">Odkazování listů</name>
<name lang="de">Folienverweise</name>
<name lang="el">Αναφορές σελίδας</name>
<name lang="en">Folio referencing</name>
<name lang="fr">Reports de folio</name>
<name lang="it">Riferimenti</name>
<name lang="pl">Odsyłacze</name>
<name lang="pt_br">Referências</name>
<name lang="es">Referencias</name>
<name lang="nl">Referenties</name>
<name lang="da">Ark henvisninger</name>
<name lang="ja">フォリオ参照</name>
<name lang="hu">Tervlap hivatkozások</name>
</names>
</qet-directory>

View File

@ -1,38 +0,0 @@
<definition type="element" height="80" hotspot_y="40" version="0.70" width="50" hotspot_x="23" link_type="simple">
<uuid uuid="{65b9e889-c2eb-4d85-aa9e-c1dff55678f5}"/>
<names>
<name lang="en">Three-pole source + PEN</name>
<name lang="el">Τριφασικό + PEN</name>
<name lang="es">Fuente tripolar + PEN</name>
<name lang="nl">driefasen + aardenul</name>
<name lang="pl">Linia trójfazowa (PEN)</name>
<name lang="it">Sorgente tripolare + PEN</name>
<name lang="de">Drehstrom + PEN</name>
<name lang="ru">Трёхполюсный + PEN</name>
<name lang="fr">Source tripolaire + PEN</name>
<name lang="ar">مصدر ثلاثي القطبيّة + PEN</name>
<name lang="cs">Přípojnice 3f+PEN pravá</name>
<name lang="hu">3F + PEN</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<dynamic_text z="1" Valignment="AlignTop" x="-7" text_from="ElementInfo" font="Sans Serif,9,-1,5,50,0,0,0,0,0" rotation="0" uuid="{7c68cf51-b979-4e89-97b2-a93b5ad61f95}" y="-60.45" Halignment="AlignLeft" frame="false" text_width="-1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="33" text="PEN" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="13" text="L3" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="-7" text="L2" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="-27" text="L1" color="#000000"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="-30" end1="none" y1="-30" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="-10" end1="none" y1="-10" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="10" end1="none" y1="10" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-14" y2="30" end1="none" y1="30" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<terminal orientation="w" x="-15" y="-30"/>
<terminal orientation="w" x="-15" y="-10"/>
<terminal orientation="w" x="-15" y="30"/>
<terminal orientation="w" x="-15" y="10"/>
</description>
</definition>

View File

@ -1,41 +0,0 @@
<definition type="element" height="100" hotspot_y="40" version="0.70" width="40" hotspot_x="20" link_type="simple">
<uuid uuid="{b4b70d3d-8784-4323-b17b-d8ff3677cdc1}"/>
<names>
<name lang="en">Three-pole source + N + PE</name>
<name lang="el">Τριφασικό + PEN</name>
<name lang="es">Fuente tripolar + PEN</name>
<name lang="nl">driefasen + aardenul</name>
<name lang="pl">Linia trójfazowa (PEN)</name>
<name lang="it">Sorgente tripolare + PEN</name>
<name lang="de">Drehstrom + PEN</name>
<name lang="ru">Трёхполюсный + PEN</name>
<name lang="fr">Source tripolaire + PEN</name>
<name lang="ar">مصدر ثلاثي القطبيّة + PEN</name>
<name lang="cs">Přípojnice 3f+N+PE pravá</name>
<name lang="hu">3F + N + PE</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<dynamic_text z="1" Valignment="AlignTop" x="-7" text_from="ElementInfo" font="Sans Serif,9,-1,5,50,0,0,0,0,0" rotation="0" uuid="{1955f25e-b33b-4106-8b36-46862006122c}" y="-60.45" Halignment="AlignLeft" frame="false" text_width="-1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="53" text="PE" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="33" text="N" color="#000000"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="50" end1="none" y1="50" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="13" text="L3" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="-7" text="L2" color="#000000"/>
<text x="7" font="Sans Serif,5,-1,5,50,0,0,0,0,0" rotation="0" y="-27" text="L1" color="#000000"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="-30" end1="none" y1="-30" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="-10" end1="none" y1="-10" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="10" end1="none" y1="10" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<line style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" x1="-15" y2="30" end1="none" y1="30" length1="1.5" length2="1.5" antialias="false" x2="-5"/>
<terminal orientation="w" x="-15" y="50"/>
<terminal orientation="w" x="-15" y="-30"/>
<terminal orientation="w" x="-15" y="-10"/>
<terminal orientation="w" x="-15" y="30"/>
<terminal orientation="w" x="-15" y="10"/>
</description>
</definition>

View File

@ -1,43 +0,0 @@
<definition height="50" width="30" link_type="terminal" hotspot_x="16" version="0.80" type="element" hotspot_y="29">
<uuid uuid="{a98ac40d-9055-4b9b-88ab-cffe6b08ed37}"/>
<names>
<name lang="ro">Masă</name>
<name lang="pt">Massa</name>
<name lang="cs">Kostra</name>
<name lang="it">Massa</name>
<name lang="nl">Massa</name>
<name lang="el">Γείωση</name>
<name lang="ru">Шасси</name>
<name lang="de">Masse</name>
<name lang="en">Ground</name>
<name lang="pl">Masa</name>
<name lang="es">Masa</name>
<name lang="ar">هيكل معدني</name>
<name lang="fr">Masse</name>
<name lang="hu">Test</name>
</names>
<elementInformations>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1"></elementInformation>
<elementInformation name="designation" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="unity" show="1"></elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
</elementInformations>
<informations>titus
titus0818@yahoo.com</informations>
<description>
<line y1="-16" x1="0" style="line-style:normal;line-weight:hight;filling:none;color:black" end2="none" y2="13" length2="1.5" length1="1.5" x2="0" end1="none" antialias="false"/>
<line y1="14" x1="-13.6493" style="line-style:normal;line-weight:hight;filling:none;color:black" end2="none" y2="14" length2="1.5" length1="1.5" x2="12.62" end1="none" antialias="false"/>
<dynamic_text uuid="{7f02ce13-533d-4501-980d-6cb67bd1110d}" Halignment="AlignLeft" frame="false" x="8" Valignment="AlignTop" text_from="ElementInfo" y="-9" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="3" rotation="0" text_width="-1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal x="0" y="-20" orientation="n"/>
</description>
</definition>

View File

@ -1,31 +0,0 @@
<definition width="20" link_type="simple" version="0.5" hotspot_x="9" height="30" hotspot_y="20" type="element">
<uuid uuid="{5983fe6f-de69-4368-a387-a6ce3b9c2951}"/>
<names>
<name lang="pt">Massa</name>
<name lang="es">Masa</name>
<name lang="nl">Massa</name>
<name lang="el">Σασί</name>
<name lang="de">Masse</name>
<name lang="cs">Kostra</name>
<name lang="pl">Masa</name>
<name lang="it">Massa</name>
<name lang="ar">هيكل معدني</name>
<name lang="en">Chassis</name>
<name lang="fr">Masse</name>
<name lang="ru">Шасси</name>
<name lang="hu">Vázszerkezet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="3" y="-12.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="5" end2="none" x1="7.5" end1="none" y2="3" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0.5"/>
<line antialias="false" length1="1.5" x2="1.5" end2="none" x1="-1" end1="none" y2="0.5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3"/>
<line antialias="false" length1="1.5" x2="-4.5" end2="none" x1="-7" end1="none" y2="0.5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3"/>
<line antialias="false" length1="1.5" x2="4.5" end2="none" x1="2" end1="none" y2="0.5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3"/>
<line antialias="false" length1="1.5" x2="-1.5" end2="none" x1="-4" end1="none" y2="0.5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="3"/>
<line antialias="false" length1="1.5" x2="8" end2="none" x1="-7" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="false" length1="1.5" x2="0" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<terminal x="0" y="-11" orientation="n"/>
</description>
</definition>

View File

@ -1,18 +0,0 @@
<qet-directory>
<names>
<name lang="ru">Подвод питания, сеть</name>
<name lang="en">Network sources</name>
<name lang="fr">Sources réseau</name>
<name lang="it">Alimentazione da rete</name>
<name lang="pl">Sieć elektroenergetyczna</name>
<name lang="pt_br">Alimentação</name>
<name lang="de">Netzquellen</name>
<name lang="el">Παροχές δικτύου</name>
<name lang="nl">Netvoedingen</name>
<name lang="cs">Napájení</name>
<name lang="es">Fuentes de red</name>
<name lang="da">Netværkskilder</name>
<name lang="ja">電源網</name>
<name lang="hu">Hálózati források</name>
</names>
</qet-directory>

View File

@ -1,31 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="60" hotspot_y="30" type="element">
<uuid uuid="{35f2834a-308b-4e79-bc2a-1c00486b24e7}"/>
<names>
<name lang="es">Fuente unipolo + PE +N</name>
<name lang="nl">1 fase + aarde + nul</name>
<name lang="el">Μονοφασικό +N +PE</name>
<name lang="de">Wechselstrom + PE +N</name>
<name lang="cs">Přípojnice 1f+N+PE</name>
<name lang="pl">Linia jednofazowa (trójprzewodowa)</name>
<name lang="it">Sorgente unipolare + PE +N</name>
<name lang="ar">مصدر وحيد القطبية + أرضي PE + محايد N</name>
<name lang="en">Single-pole source + PE +N</name>
<name lang="fr">Source unipolaire + PE +N</name>
<name lang="ru">Однополюсный + PE +N</name>
<name lang="hu">F + N + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-12" y="-34.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20"/>
<text x="-12" y="23" size="5" text="PE"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<text x="-12" y="3" size="5" text="N"/>
<text x="-12" y="-17" size="5" text="L"/>
<terminal x="10" y="0" orientation="e"/>
<terminal x="10" y="20" orientation="e"/>
<terminal x="10" y="-20" orientation="e"/>
</description>
</definition>

View File

@ -1,28 +0,0 @@
<definition width="40" link_type="simple" version="0.5" hotspot_x="22" height="40" hotspot_y="20" type="element">
<uuid uuid="{fd042050-e73b-4f95-b4c1-834aa403b07a}"/>
<names>
<name lang="es">Fuente unipolo + PEN</name>
<name lang="nl">1 fase + aardenul</name>
<name lang="el">Μονοφασικό +PEN</name>
<name lang="de">Wechselstrom + PEN</name>
<name lang="cs">Přípojnice 1f+PEN</name>
<name lang="pl">Linia jednofazowa (TN-C)</name>
<name lang="it">Sorgente unipolare + PEN</name>
<name lang="ar">مصدر وحيد القطبية +PEN</name>
<name lang="en">Single-pole source +PEN</name>
<name lang="fr">Source unipolaire + PEN</name>
<name lang="ru">Однополюсный + PEN</name>
<name lang="hu">F + PEN</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-7" y="-23.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<text x="-16" y="12" size="5" text="PEN"/>
<text x="-15" y="-7" size="5" text="L"/>
<terminal x="10" y="-10" orientation="e"/>
<terminal x="10" y="10" orientation="e"/>
</description>
</definition>

View File

@ -1,29 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="40" hotspot_y="20" type="element">
<uuid uuid="{457a0c01-871c-40fd-83d7-14033333fb95}"/>
<names>
<name lang="pt">Fonte unipolar + neutro</name>
<name lang="es">Fuente unipolo + neutro</name>
<name lang="nl">Wisselspanning L + nul N</name>
<name lang="el">Μονοφασικό + Ουδέτερος</name>
<name lang="de">Wechselstrom L + N</name>
<name lang="cs">Přípojnice 1f+N</name>
<name lang="pl">Linia jednofazowa (dwuprzewodowa)</name>
<name lang="it">Sorgente unipolare + neutro</name>
<name lang="ar">مصدر وحيد القطبية + محايد N</name>
<name lang="en">Single-pole source + neutral</name>
<name lang="fr">Source unipolaire + neutre</name>
<name lang="ru">Однополюсный + нейтраль</name>
<name lang="hu">F + N</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-5" y="-25.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<text x="-12" y="13" size="5" text="N"/>
<text x="-12" y="-7" size="5" text="L"/>
<terminal x="10" y="-10" orientation="e"/>
<terminal x="10" y="10" orientation="e"/>
</description>
</definition>

View File

@ -1,32 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="60" hotspot_y="30" type="element">
<uuid uuid="{03b9e482-cb45-4bee-8030-96b93624fc60}"/>
<names>
<name lang="pt">Fonte tripolar</name>
<name lang="es">Fuente tripolar</name>
<name lang="nl">3fasen</name>
<name lang="el">Τριφασικό</name>
<name lang="de">Drehstrom</name>
<name lang="cs">Přípojnice 3f</name>
<name lang="pl">Linia trójfazowa (trójprzewodowa)</name>
<name lang="it">Sorgente tripolare</name>
<name lang="ar">مصدر ثلاثي القطبيّة</name>
<name lang="en">Three-pole source</name>
<name lang="fr">Source tripolaire</name>
<name lang="ru">Трёхполюсный</name>
<name lang="hu">3F</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-2" y="-34.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<text x="-12" y="23" size="5" text="L3"/>
<text x="-12" y="3" size="5" text="L2"/>
<text x="-12" y="-17" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20"/>
<terminal x="10" y="-20" orientation="e"/>
<terminal x="10" y="0" orientation="e"/>
<terminal x="10" y="20" orientation="e"/>
</description>
</definition>

View File

@ -1,37 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="100" hotspot_y="50" type="element">
<uuid uuid="{0e017749-6c0f-44c0-8726-6804be8bbee7}"/>
<names>
<name lang="es">Fuente tripolar + PE +N</name>
<name lang="nl">driefase + aarde + nul</name>
<name lang="el">Τριφασικό +N +PE</name>
<name lang="de">Drehstrom + PE +N</name>
<name lang="cs">Přípojnice 3f+N+PE</name>
<name lang="pl">Linia trójfazowa (pięcioprzewodowa)</name>
<name lang="it">Sorgente tripolare +PE + N</name>
<name lang="ar">مصدر ثلاثي القطبية + PE + N</name>
<name lang="en">Three-pole source + PE +N</name>
<name lang="fr">Source tripolaire + PE +N</name>
<name lang="ru">Трёхполюсный + PE +N</name>
<name lang="hu">3F + N + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="3" y="-59.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="40" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="40"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<text x="-12" y="43" size="5" text="PE"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-20"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="20" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20"/>
<text x="-12" y="23" size="5" text="N"/>
<text x="-12" y="3" size="5" text="L3"/>
<text x="-12" y="-17" size="5" text="L2"/>
<text x="-12" y="-37" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-40" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-40"/>
<terminal x="10" y="-20" orientation="e"/>
<terminal x="10" y="-40" orientation="e"/>
<terminal x="10" y="0" orientation="e"/>
<terminal x="10" y="20" orientation="e"/>
<terminal x="10" y="40" orientation="e"/>
</description>
</definition>

View File

@ -1,34 +0,0 @@
<definition width="40" link_type="simple" version="0.5" hotspot_x="23" height="80" hotspot_y="41" type="element">
<uuid uuid="{c0913e95-3b3c-4dc2-a74d-bc73ded78c32}"/>
<names>
<name lang="es">Fuente tripolar + PEN</name>
<name lang="nl">driefasen + aardenul</name>
<name lang="el">Τριφασικό + PEN</name>
<name lang="de">Drehstrom + PEN</name>
<name lang="cs">Přípojnice 3f+PEN</name>
<name lang="pl">Linia trójfazowa (PEN)</name>
<name lang="it">Sorgente tripolare + PEN</name>
<name lang="ar">مصدر ثلاثي القطبيّة + PEN</name>
<name lang="en">Three-pole source + PEN</name>
<name lang="fr">Source tripolaire + PEN</name>
<name lang="ru">Трёхполюсный + PEN</name>
<name lang="hu">3F + PEN</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-7" y="-49.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30"/>
<text x="-18" y="32" size="5" text="PEN"/>
<text x="-18" y="12" size="5" text="L3"/>
<text x="-18" y="-8" size="5" text="L2"/>
<text x="-18" y="-28" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30"/>
<terminal x="10" y="-30" orientation="e"/>
<terminal x="10" y="-10" orientation="e"/>
<terminal x="10" y="10" orientation="e"/>
<terminal x="10" y="30" orientation="e"/>
</description>
</definition>

View File

@ -1,35 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="80" hotspot_y="40" type="element">
<uuid uuid="{8bfb1790-0735-47d5-88a2-8b4d91aba2f1}"/>
<names>
<name lang="pt">Fonte tripolar + neutro</name>
<name lang="es">Fuente tripolar + neutro</name>
<name lang="nl">Driefasen + nul</name>
<name lang="el">Τριφασικό + Ουδέτερος</name>
<name lang="de">Dreiphasig + Neutral</name>
<name lang="cs">Přípojnice 3f+N</name>
<name lang="pl">Linia trójfazowa (czteroprzewodowa)</name>
<name lang="it">Sorgente tripolare + neutro</name>
<name lang="ar">مصدر ثلاثي القطبيّة + محايد</name>
<name lang="en">Three-pole source + neutral</name>
<name lang="fr">Source tripolaire + neutre</name>
<name lang="ru">Трёхполюсный + нейтраль</name>
<name lang="hu">3F + N</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-7" y="-44.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30"/>
<text x="-12" y="33" size="5" text="N"/>
<text x="-12" y="13" size="5" text="L3"/>
<text x="-12" y="-7" size="5" text="L2"/>
<text x="-12" y="-27" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="-30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30"/>
<terminal x="10" y="10" orientation="e"/>
<terminal x="10" y="30" orientation="e"/>
<terminal x="10" y="-30" orientation="e"/>
<terminal x="10" y="-10" orientation="e"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="20" hotspot_y="10" type="element">
<uuid uuid="{b5ad2e41-804d-4745-99be-e8951cffdf98}"/>
<names>
<name lang="pt">Fonte de neutro</name>
<name lang="es">Fuente neutro</name>
<name lang="nl">Nul voeding</name>
<name lang="el">Ουδέτερος</name>
<name lang="de">Neutralleiter</name>
<name lang="cs">Přípojnice N</name>
<name lang="pl">Przewód neutralny</name>
<name lang="it">Sorgente neutro</name>
<name lang="ar">مصدر محايد</name>
<name lang="en">Neutral source</name>
<name lang="fr">Source neutre</name>
<name lang="ru">Нейтраль</name>
<name lang="hu">N</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<input x="-5" y="-14.45" tagg="label" size="9" rotate="true" text="_"/>
<text x="-12" y="3" size="5" text="N"/>
<terminal x="10" y="0" orientation="e"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="20" hotspot_y="10" type="element">
<uuid uuid="{7693c5e0-762b-4309-8d97-cb74619f9efd}"/>
<names>
<name lang="pt">Fonte de fase</name>
<name lang="es">Fuente fase</name>
<name lang="nl">Fase</name>
<name lang="el">Φάση</name>
<name lang="de">Phase</name>
<name lang="cs">Přípojnice L</name>
<name lang="pl">Przewód liniowy</name>
<name lang="it">Sorgente fase</name>
<name lang="ar">مصدر وجه</name>
<name lang="en">Phase source</name>
<name lang="fr">Source phase</name>
<name lang="ru">Фаза</name>
<name lang="hu">F</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-6" y="-14.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="0" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<text x="-12" y="3" size="5" text="L"/>
<terminal x="10" y="0" orientation="e"/>
</description>
</definition>

View File

@ -1,49 +0,0 @@
<definition width="70" link_type="simple" version="0.5" hotspot_x="34" height="100" hotspot_y="40" type="element">
<uuid uuid="{4b9794cf-e7c0-4f59-aa0a-bb1fce4dfe48}"/>
<names>
<name lang="es">Punto de distribución TN-C > TN-S</name>
<name lang="nl">Net TN-C > TN-S</name>
<name lang="de">Netz TNC > TNS</name>
<name lang="cs">Bod rozdělení TN-C > TN-S</name>
<name lang="pl">Linia trójfazowa (TN-C-S)</name>
<name lang="it">Punto di distribuzione TN-C</name>
<name lang="ar">نقطة توزيع TN-C &lt; TN-S </name>
<name lang="en">Distribution point TN-C >TN-S</name>
<name lang="fr">Point de distribution TN-C >TN-S</name>
<name lang="ru">Распределительный пункт TN-C >TN-S</name>
<name lang="hu">3F + PEN szétválasztva TN-C-ről TN-S-re</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="false" length1="1.5" x2="28" end2="none" x1="24" end1="none" y2="-30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30"/>
<input x="-17" y="-49.45" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="28" end2="none" x1="24" end1="none" y2="50" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="50"/>
<line antialias="false" length1="1.5" x2="28" end2="none" x1="24" end1="none" y2="30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30"/>
<line antialias="false" length1="1.5" x2="28" end2="none" x1="24" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<line antialias="false" length1="1.5" x2="28" end2="none" x1="24" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="-4" end2="none" x1="-6" end1="none" y2="54" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="54"/>
<line antialias="false" length1="1.5" x2="-2" end2="none" x1="-8" end1="none" y2="52" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="52"/>
<line antialias="false" length1="1.5" x2="0" end2="none" x1="-10" end1="none" y2="50" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="50"/>
<text x="13" y="53" size="5" text="PE"/>
<text x="13" y="33" size="5" text="N"/>
<text x="13" y="13" size="5" text="L3"/>
<text x="13" y="-7" size="5" text="L2"/>
<text x="13" y="-27" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="12" end2="none" x1="-13" end1="none" y2="10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10"/>
<line antialias="false" length1="1.5" x2="12" end2="none" x1="7" end1="none" y2="50" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="50"/>
<line antialias="false" length1="1.5" x2="12" end2="none" x1="-13" end1="none" y2="-10" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-10"/>
<line antialias="false" length1="1.5" x2="12" end2="none" x1="-13" end1="none" y2="30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="30"/>
<text x="-30" y="33" size="5" text="PEN"/>
<text x="-30" y="13" size="5" text="L3"/>
<text x="-30" y="-7" size="5" text="L2"/>
<text x="-30" y="-27" size="5" text="L1"/>
<line antialias="false" length1="1.5" x2="12" end2="none" x1="-13" end1="none" y2="-30" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-30"/>
<polygon antialias="true" x2="-5" x1="7" x3="-5" y2="30" y3="49" closed="false" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="50"/>
<terminal x="30" y="-10" orientation="e"/>
<terminal x="30" y="10" orientation="e"/>
<terminal x="30" y="30" orientation="e"/>
<terminal x="30" y="50" orientation="e"/>
<terminal x="30" y="-30" orientation="e"/>
</description>
</definition>

View File

@ -1,44 +0,0 @@
<definition height="30" width="20" link_type="terminal" hotspot_x="10" version="0.80" type="element" hotspot_y="19">
<uuid uuid="{e4e753a8-9fde-4e8e-9256-0cf99d67e3de}"/>
<names>
<name lang="pt">Terra</name>
<name lang="cs">Uzemnění</name>
<name lang="it">Terra</name>
<name lang="el">Γείωση</name>
<name lang="nl">Aarde</name>
<name lang="ru">Земля</name>
<name lang="de">Erde</name>
<name lang="en">Ground</name>
<name lang="pl">Uziemienie</name>
<name lang="es">Tierra</name>
<name lang="ar">تأريض</name>
<name lang="fr">Terre</name>
<name lang="hu">Földelő</name>
</names>
<elementInformations>
<elementInformation name="comment" show="1"></elementInformation>
<elementInformation name="machine_manufacturer_reference" show="1"></elementInformation>
<elementInformation name="manufacturer_reference" show="1"></elementInformation>
<elementInformation name="description" show="1"></elementInformation>
<elementInformation name="manufacturer" show="1"></elementInformation>
<elementInformation name="designation" show="1"></elementInformation>
<elementInformation name="quantity" show="1"></elementInformation>
<elementInformation name="unity" show="1"></elementInformation>
<elementInformation name="supplier" show="1"></elementInformation>
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
</elementInformations>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<dynamic_text uuid="{0af57a27-1887-4576-8b51-200ca996e582}" Halignment="AlignLeft" frame="false" x="2" Valignment="AlignTop" text_from="ElementInfo" y="-22.5" font="Sans Serif,9,-1,5,50,0,0,0,0,0" z="1" rotation="0" text_width="-1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line y1="4" x1="-3" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" y2="4" length2="1.5" length1="1.5" x2="3" end1="none" antialias="false"/>
<line y1="2" x1="-5" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" y2="2" length2="1.5" length1="1.5" x2="5" end1="none" antialias="false"/>
<line y1="0" x1="-7" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" y2="0" length2="1.5" length1="1.5" x2="7" end1="none" antialias="false"/>
<line y1="-10" x1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" y2="0" length2="1.5" length1="1.5" x2="0" end1="none" antialias="false"/>
<terminal x="0" y="-11" orientation="n"/>
</description>
</definition>

View File

@ -1,17 +0,0 @@
<definition width="20" height="20" hotspot_y="9" type="element" link_type="simple" hotspot_x="9" version="0.60">
<uuid uuid="{079913f8-18b5-4524-84bd-aadf75dfefbf}"/>
<names>
<name lang="cs">Bod</name>
<name lang="de">Verbindung</name>
<name lang="hu">Keresztezés pont alakzatban</name>
</names>
<informations></informations>
<description>
<circle diameter="4" style="line-style:normal;line-weight:normal;filling:black;color:black" antialias="false" y="-2" x="-2"/>
<input rotate="true" text=" " tagg="label" size="9" y="-3" x="-11"/>
<terminal orientation="e" y="0" x="2"/>
<terminal orientation="w" y="0" x="-2"/>
<terminal orientation="s" y="2" x="0"/>
<terminal orientation="n" y="-2" x="0"/>
</description>
</definition>

View File

@ -1,27 +0,0 @@
<definition hotspot_x="11" hotspot_y="4" version="0.70" type="element" height="20" link_type="terminal" width="30">
<uuid uuid="{141e7e1e-4f7f-456d-9f04-52c32109b969}"/>
<names>
<name lang="en">Combine</name>
<name lang="de">Klemmstelle (2)</name>
<name lang="fr">Jonction</name>
<name lang="es">Unión</name>
<name lang="it">Collegamento</name>
<name lang="pl">Połączenie 1</name>
<name lang="ar">وصلة</name>
<name lang="ru">Соединение</name>
<name lang="cs">Spoj</name>
<name lang="hu">Egyesítő három vezetékhez</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<line end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" antialias="false" x1="7" length1="1.5" x2="1" y2="0" length2="1.5" end1="none"/>
<dynamic_text text_from="UserText" y="8.5" uuid="{43af2b14-2822-4ba2-988b-bda2005f69fd}" x="2" frame="false" z="2" rotation="0" text_width="-1" font_size="1">
<text>_</text>
</dynamic_text>
<line end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="6" antialias="false" x1="0" length1="1.5" x2="6" y2="0" length2="1.5" end1="none"/>
<terminal y="0" x="-4" orientation="w"/>
<terminal y="10" x="0" orientation="s"/>
<terminal y="0" x="10" orientation="e"/>
</description>
</definition>

View File

@ -1,25 +0,0 @@
<definition link_type="terminal" width="20" height="20" hotspot_y="7" type="element" version="0.80" hotspot_x="11">
<uuid uuid="{95725a69-d9bf-4186-938c-1f1b9256530b}"/>
<names>
<name lang="it">Angolo</name>
<name lang="fr">Coin</name>
<name lang="pl">Narożnik</name>
<name lang="ar">ركن</name>
<name lang="es">Esquina</name>
<name lang="ru">Угол</name>
<name lang="en">Corner</name>
<name lang="de">Ecke</name>
<name lang="cs">Roh</name>
<name lang="hu">Sarok</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text rotation="0" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" text_width="-1" x="-0.5" z="1" Halignment="AlignLeft" Valignment="AlignTop" text_from="UserText" frame="false" y="-5.45" uuid="{9b8dd22d-096a-4989-b6f7-1de9e0339f53}">
<text>_</text>
</dynamic_text>
<polygon style="line-style:normal;line-weight:normal;filling:none;color:black" x1="-4" y2="0" y1="0" antialias="false" x2="0" x3="0" y3="4" closed="false"/>
<terminal name="" orientation="w" x="-4" y="0" uuid="{e1ea331a-7456-47f0-b991-0a2299d3023c}"/>
<terminal name="" orientation="s" x="0" y="4" uuid="{eacfd29f-4682-41c2-9783-cedb80773f13}"/>
</description>
</definition>

View File

@ -1,29 +0,0 @@
<definition hotspot_y="9" link_type="terminal" height="20" hotspot_x="9" version="0.80" type="element" width="20">
<uuid uuid="{30794dcd-a269-4b6b-8231-c88d89a91e27}"/>
<names>
<name lang="cs">Kříž</name>
<name lang="ar">صليب</name>
<name lang="hu">Kereszt alakú</name>
<name lang="it">Croce</name>
<name lang="pl">Połączenie 2</name>
<name lang="ru">Пересечение</name>
<name lang="fr">Croix</name>
<name lang="de">Kreuz</name>
<name lang="en">Cross</name>
<name lang="es">Cruzar</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<circle y="-1" x="-1" antialias="true" diameter="2" style="line-style:normal;line-weight:normal;filling:black;color:black"/>
<dynamic_text y="-9.45" text_width="-1" x="-0.5" text_from="UserText" Valignment="AlignTop" rotation="0" Halignment="AlignLeft" z="2" frame="false" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" uuid="{fc5c039b-1fca-40d9-a6ff-a9e1775de38b}">
<text>_</text>
</dynamic_text>
<line y1="0" y2="0" x1="-4" antialias="false" end1="none" length1="1.5" length2="1.5" x2="4" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line y1="-4" y2="4" x1="0" antialias="false" end1="none" length1="1.5" length2="1.5" x2="0" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal y="-4" name="" x="0" orientation="n" uuid="{667d83d2-8840-40ec-bf41-8dc659926fe2}"/>
<terminal y="4" name="" x="0" orientation="s" uuid="{c9b40e74-5d24-4cd5-9dc7-3be318007661}"/>
<terminal y="0" name="" x="-4" orientation="w" uuid="{935e3f1e-3dc0-4b41-8252-6e7ee9f1a3e1}"/>
<terminal y="0" name="" x="4" orientation="e" uuid="{340c983a-1f7e-4939-b844-c50c8e28302d}"/>
</description>
</definition>

View File

@ -1,25 +0,0 @@
<definition width="10" hotspot_y="14" hotspot_x="5" height="30" link_type="terminal" version="0.70" type="element">
<uuid uuid="{b5abb4c2-455d-45ff-95f2-328521f4e2e1}"/>
<names>
<name lang="en">Jump</name>
<name lang="de">Sprung</name>
<name lang="fr">Saut</name>
<name lang="ar">قفز</name>
<name lang="cs">Skok</name>
<name lang="it">Salto</name>
<name lang="pl">Brak połączenia</name>
<name lang="ru">Перемычка</name>
<name lang="es">Puente</name>
<name lang="hu">Átugrás összekötés nélkül</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<arc x="-3" antialias="true" style="line-style:normal;line-weight:normal;filling:none;color:black" width="6" start="90" y="-3" height="6" angle="-180"/>
<dynamic_text font_size="1" x="1.5" text_from="UserText" z="2" y="-11.45" rotation="0" uuid="{1a3e4d91-15cc-424b-99d0-25930d779fb6}" frame="false" text_width="-1">
<text>_</text>
</dynamic_text>
<terminal x="0" y="-7" orientation="n"/>
<terminal x="0" y="7" orientation="s"/>
</description>
</definition>

View File

@ -1,22 +0,0 @@
<definition hotspot_x="14" height="30" link_type="simple" width="30" version="0.80" type="element" hotspot_y="12">
<uuid uuid="{0b6817fe-dd44-42a8-8e7c-3c110d13b8a2}"/>
<names>
<name lang="hu">Egyesítő négy vezetékhez</name>
<name lang="de">Klemmstelle (3)</name>
<name lang="cs">Všestranný spoj</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text Valignment="AlignTop" x="-13" text_from="ElementInfo" text_width="-1" z="2" uuid="{14c0b70c-c028-49ef-bf72-3c3c9cd64669}" y="-12" rotation="0" frame="false" Halignment="AlignLeft" font="Sans Serif,9,-1,5,50,0,0,0,0,0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<polygon x1="-10" y5="0" x3="0" x5="10" y2="0" y3="5" closed="false" style="line-style:normal;line-weight:normal;filling:none;color:black" x4="5" x2="-5" antialias="false" y4="0" y1="0"/>
<line x1="0" end1="none" y2="10" style="line-style:normal;line-weight:normal;filling:none;color:black" x2="0" length1="1.5" antialias="false" end2="none" y1="-5" length2="1.5"/>
<terminal x="10" orientation="e" uuid="{06bf5c9f-6986-45bf-b11f-02e876abc4b8}" y="0" name=""/>
<terminal x="0" orientation="n" uuid="{33c03677-8555-4b42-ae2c-4b4308978086}" y="-5" name=""/>
<terminal x="-10" orientation="w" uuid="{95bef6e9-343e-45d7-9705-4aa81f62bed0}" y="0" name=""/>
<terminal x="0" orientation="s" uuid="{e9329e22-255b-4763-9dc6-65da277e1ac7}" y="10" name=""/>
</description>
</definition>

View File

@ -1,18 +0,0 @@
<qet-directory>
<names>
<name lang="ru">Соединения</name>
<name lang="de">Verbindungen</name>
<name lang="en">Connections</name>
<name lang="fr">Connections</name>
<name lang="it">Collegamenti</name>
<name lang="pl">Połączenia</name>
<name lang="pt_br">Conexões</name>
<name lang="cs">Spojení</name>
<name lang="el">Ενώσεις</name>
<name lang="nl">Verbindingen</name>
<name lang="es">Conexiones</name>
<name lang="da">Forbindelser</name>
<name lang="ja">接続</name>
<name lang="hu">Csatlakozások</name>
</names>
</qet-directory>

View File

@ -1,26 +0,0 @@
<definition width="30" version="0.80" hotspot_x="17" hotspot_y="4" link_type="terminal" type="element" height="20">
<uuid uuid="{5a3d6c01-db95-45ec-be2c-dd861938525b}"/>
<names>
<name lang="fr">Epissure</name>
<name lang="cs">Spojka</name>
<name lang="es">Empalme</name>
<name lang="pl">Połączenie 3</name>
<name lang="it">Spaziatura</name>
<name lang="en">Splice</name>
<name lang="de">Spleiß</name>
<name lang="hu">Egyesítő három vezetékhez</name>
<name lang="ru">Сращивание</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text Valignment="AlignTop" y="-1.45" text_width="-1" frame="false" x="1.5" Halignment="AlignLeft" uuid="{b653b162-d4c8-4660-a5ca-e6ca05a56de9}" text_from="ElementInfo" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" rotation="0" z="1">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<polygon y1="0" y2="0" style="line-style:normal;line-weight:normal;filling:none;color:black" x4="0" y4="5" x3="-5" antialias="false" x2="-10" y5="10" x5="0" closed="false" x1="4" y3="0"/>
<terminal y="10" x="0" uuid="{1d3bb613-e8e2-4bcd-8515-ff9a0459b3c3}" name="" orientation="s"/>
<terminal y="0" x="-10" uuid="{367dd739-791b-4d8f-9e49-4a70fd990b19}" name="" orientation="w"/>
<terminal y="0" x="4" uuid="{f75b8c8d-508b-4346-a6df-8cda82201d98}" name="" orientation="e"/>
</description>
</definition>

View File

@ -1,27 +0,0 @@
<definition height="20" version="0.80" hotspot_x="17" link_type="terminal" width="30" type="element" hotspot_y="4">
<uuid uuid="{3dd412d9-6882-42ae-9f5f-eb04f2224214}"/>
<names>
<name lang="hu">Balra továbbmenő leágazás</name>
<name lang="es">A la izquierda</name>
<name lang="ar">ربط يسار</name>
<name lang="pl">Połączenie 4</name>
<name lang="it">Collegamento sinistro</name>
<name lang="ru">Справа налево</name>
<name lang="de">Abzweig links</name>
<name lang="en">Thru left</name>
<name lang="fr">Liaison gauche</name>
<name lang="cs">Levé spojení</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text text_width="-1" text_from="UserText" Valignment="AlignTop" x="1.5" frame="false" rotation="0" uuid="{5ff9bef8-b6a8-4cf8-ba82-4dabe7b1820f}" z="1" y="-1.45" Halignment="AlignLeft" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal">
<text>_</text>
</dynamic_text>
<polygon y1="0" x4="0" x2="-5" x3="0" antialias="false" y2="0" y3="5" style="line-style:normal;line-weight:normal;filling:none;color:black" y4="10" x1="-10" closed="false"/>
<polygon y1="10" x2="0" x3="4" antialias="false" y2="0" y3="0" style="line-style:normal;line-weight:normal;filling:none;color:black" x1="0" closed="false"/>
<terminal x="0" uuid="{46980c8f-3fb1-4993-b1ec-6f3b60832fab}" orientation="s" name="" y="10"/>
<terminal x="-10" uuid="{401a02b0-a3d8-4f09-bd65-c4a6ad782686}" orientation="w" name="" y="0"/>
<terminal x="4" uuid="{223e7aaa-f9ff-47e6-b901-89471848b8de}" orientation="e" name="" y="0"/>
</description>
</definition>

View File

@ -1,27 +0,0 @@
<definition width="30" type="element" hotspot_x="14" version="0.80" hotspot_y="4" height="20" link_type="terminal">
<uuid uuid="{8e68cb1a-e9d8-42e4-aa67-aca8b6e6b32d}"/>
<names>
<name lang="it">Collegamento destro</name>
<name lang="fr">Liaison droite</name>
<name lang="ru">Слева направо</name>
<name lang="hu">Jobbra továbbmenő leágazás</name>
<name lang="cs">Pravé spojení</name>
<name lang="de">Abzweig rechts</name>
<name lang="en">Thru right</name>
<name lang="es">A la derecha</name>
<name lang="pl">Połączenie 5</name>
<name lang="ar">ربط يمين</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text z="1" Halignment="AlignLeft" text_width="-1" y="-0.45" uuid="{ab829572-e7d6-4e5c-9c6e-a0852fea788e}" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" Valignment="AlignTop" text_from="UserText" x="5.5" frame="false" rotation="0">
<text>_</text>
</dynamic_text>
<polygon y4="0" x4="10" x1="0" y2="5" style="line-style:normal;line-weight:normal;filling:none;color:black" x3="5" closed="false" y1="10" y3="0" x2="0" antialias="false"/>
<polygon x1="0" y2="0" style="line-style:normal;line-weight:normal;filling:none;color:black" x3="-10" closed="false" y1="10" y3="0" x2="0" antialias="false"/>
<terminal y="0" uuid="{53d9bb7f-b045-4581-bc2d-7a9198286e89}" name="" orientation="w" x="-10"/>
<terminal y="10" uuid="{7883adda-c1cd-4e21-93f5-330d9c7461ea}" name="" orientation="s" x="0"/>
<terminal y="0" uuid="{053ce092-f1df-46a5-8960-e4c6fcea95d1}" name="" orientation="e" x="10"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="120" version="0.3" hotspot_x="71" hotspot_y="10" height="40" type="element">
<names>
<name lang="ar">كايبل طورين + تأريض</name>
<name lang="de">Kabel 3G</name>
<name lang="ru">Кабель 2 жилы + PE</name>
<name lang="it">Cavo 2 fasi + terra</name>
<name lang="fr">Cable 2 phases+terre</name>
<name lang="pl">Oznaczenie przewodu czterożyłowego</name>
<name lang="es">Cable 2 fases+tierra</name>
<name lang="cs">Kabel 3G</name>
<name lang="hu">Kábel 2 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<text x="12" y="9" size="4" text="2"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="26.95" y2="11.95" x2="30.95"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="8" y2="12" x2="12"/>
<text x="30.5" y="8.55" size="4" text="GNYE"/>
<input x="-68" y="17" size="3" rotate="true" text="210007&#xa;4G1,5 mm²&#xa; 4m"/>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="-39.9373" y2="10" x2="37.932"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="-32" y2="12" x2="-28"/>
<text x="-28" y="9" size="4" text="1"/>
<input x="-61" y="1" size="5" rotate="true" text="+"/>
</description>
</definition>

View File

@ -1,28 +0,0 @@
<definition width="120" version="0.3" hotspot_x="70" hotspot_y="10" height="40" type="element">
<names>
<name lang="ar">كايبل ثلاثي الطور + تأريض</name>
<name lang="de">Kabel 4G</name>
<name lang="ru">Кабель 3 жилы + PE</name>
<name lang="it">Cavo 3 fasi + terra</name>
<name lang="fr">Cable 3 phases+terre</name>
<name lang="pl">Oznaczenie przewodu czterożyłowego</name>
<name lang="es">Cable 3 fases+tierra</name>
<name lang="cs">Kabel 4G</name>
<name lang="hu">Kábel 3 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="-12.05" y2="11.95" x2="-8.05"/>
<text x="-9" y="9" size="4" text="2"/>
<text x="12" y="9" size="4" text="3"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="26.95" y2="11.95" x2="30.95"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="8" y2="12" x2="12"/>
<text x="32" y="9" size="4" text="GNYE"/>
<input x="-68" y="17" size="3" rotate="true" text="210007&#xa;4G1,5 mm²&#xa; 4m"/>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="-39.9373" y2="10" x2="37.932"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="-32" y2="12" x2="-28"/>
<text x="-28" y="9" size="4" text="1"/>
<input x="-61" y="1" size="5" rotate="true" text="+"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="100" version="0.3" hotspot_x="60" hotspot_y="10" height="40" type="element">
<names>
<name lang="ar">كايبل بطورين و تأريض</name>
<name lang="de">Kabel 3G</name>
<name lang="ru">Кабель 2 жилы + PE</name>
<name lang="it">Cavo 2 fasi + terra</name>
<name lang="fr">Cable 2 phases+terre</name>
<name lang="pl">Oznaczenie przewodu czterożyłowego</name>
<name lang="es">Cable 2 fases+tierra</name>
<name lang="cs">Kabel 3G</name>
<name lang="hu">Kábel 2 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="17.95" y2="11.95" x2="21.95"/>
<text x="2" y="9" size="4" text="2"/>
<text x="23" y="9" size="4" text="GNYE"/>
<input x="-58" y="17" size="3" rotate="true" text="210007&#xa;4G1,5 mm²&#xa; 4m"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="-2.05" y2="11.95" x2="1.95"/>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="-30.2509" y2="10" x2="27.2717"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="-22" y2="12" x2="-18"/>
<text x="-18" y="9" size="4" text="1"/>
<input x="-51" y="1" size="5" rotate="true" text="+"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="130" version="0.3" hotspot_x="88" hotspot_y="18" height="40" type="element">
<names>
<name lang="ar">كايبل رباعي النواة</name>
<name lang="It">Cavo ? 4G</name>
<name lang="fr">Cable 4G</name>
<name lang="pl">Przewód czterożyłowy</name>
<name lang="es">Cable 4G</name>
<name lang="cs">Kabel 4G</name>
<name lang="hu">Kábel 3 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="-33.05" y2="11.95" x2="-29.05"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="7.95" x1="-13.05" y2="11.95" x2="-9.05"/>
<text x="31" y="9" size="4" text="3"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="27" y2="12" x2="31"/>
<text x="-10" y="9" size="4" text="1"/>
<text x="11" y="9" size="4" text="2"/>
<line length1="1.5" length2="1.5" antialias="true" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="8" x1="7" y2="12" x2="11"/>
<input x="-82" y="2.5" size="6" rotate="true" text="type?&#xa;4G_ mm²"/>
<line length1="1.5" length2="1.5" antialias="false" end1="none" end2="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="10" x1="-31" y2="10" x2="29"/>
<text x="-31" y="9" size="4" text="GNYE"/>
<input x="-62" y="1" size="5" rotate="true" text=""/>
</description>
</definition>

View File

@ -1,28 +0,0 @@
<definition hotspot_y="3" version="0.51" hotspot_x="47" link_type="simple" width="100" type="element" height="20">
<uuid uuid="{9923c1a5-b49a-4243-923e-cde9d916ea2b}"/>
<names>
<name lang="fr">Cable 5G</name>
<name lang="it">Cavo Type 5G</name>
<name lang="es">Cable 5G</name>
<name lang="pl">Przewód pięciożyłowy</name>
<name lang="cs">Kabel 5G</name>
<name lang="hu">Kábel 4 + N + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line end1="none" x1="-42.05" y1="7.95" x2="-38.05" length1="1.5" y2="11.95" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line end1="none" x1="-22.05" y1="7.95" x2="-18.05" length1="1.5" y2="11.95" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="2" size="4" y="9" x="22"/>
<line end1="none" x1="18" y1="8" x2="22" length1="1.5" y2="12" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="BL" size="4" y="9" x="-19"/>
<text text="1" size="4" y="9" x="2"/>
<line end1="none" x1="37.95" y1="7.95" x2="41.95" length1="1.5" y2="11.95" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line end1="none" x1="-2" y1="8" x2="2" length1="1.5" y2="12" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="3" size="4" y="9" x="43"/>
<input text="Type?&#xa;5G_ mm²" size="6" rotate="true" y="2" x="-85" tagg="label"/>
<line end1="none" x1="-40" y1="10" x2="40" length1="1.5" y2="10" antialias="false" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="GNYE" size="4" y="9" x="-40"/>
<input text="" size="5" rotate="true" y="1" x="-71" tagg="none"/>
</description>
</definition>

View File

@ -1,24 +0,0 @@
<definition hotspot_y="3" version="0.51" hotspot_x="29" link_type="simple" width="60" type="element" height="20">
<uuid uuid="{5f981421-4c54-4cd5-929e-7f77dab94fef}"/>
<names>
<name lang="It">Cavo ? 3G</name>
<name lang="fr">Cable 3G</name>
<name lang="es">Cable 3G</name>
<name lang="pl">Przewód trójżyłowy</name>
<name lang="cs">Kabel 3G</name>
<name lang="hu">Kábel 2 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line end1="none" x1="-23.05" y1="7.95" x2="-19.05" length1="1.5" y2="11.95" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line end1="none" x1="-3.05" y1="7.95" x2="0.95" length1="1.5" y2="11.95" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="1" size="4" y="9" x="0"/>
<text text="2" size="4" y="9" x="21"/>
<line end1="none" x1="17" y1="8" x2="21" length1="1.5" y2="12" antialias="true" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<input text="type?&#xa;3G_ mm²" size="6" rotate="true" y="2.5" x="-72" tagg="label"/>
<line end1="none" x1="-21" y1="10" x2="20" length1="1.5" y2="10" antialias="false" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<text text="GNYE" size="4" y="9" x="-21"/>
<input text="" size="5" rotate="true" y="1" x="-52" tagg="none"/>
</description>
</definition>

View File

@ -1,26 +0,0 @@
<definition width="70" link_type="simple" version="0.5" hotspot_x="15" height="20" hotspot_y="9" type="element">
<uuid uuid="{4b9a04b1-0d35-4d54-b5cb-b573ed3a9b0d}"/>
<names>
<name lang="de">Kabel 3x</name>
<name lang="cs">Kabel 3x</name>
<name lang="pl">Oznaczenie przewodu trójżyłowego</name>
<name lang="it">Cavo a 3 conduttori</name>
<name lang="en">Cable 3 wires</name>
<name lang="es">Cable 3 alambres</name>
<name lang="fr">Cable 3 brins</name>
<name lang="ru">Кабель 3 жилы</name>
<name lang="hu">Kábel 3 + PE</name>
</names>
<informations></informations>
<description>
<line antialias="false" length1="1.5" x2="50" end2="none" x1="-10" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<input x="-36" y="-6" tagg="label" size="7" rotate="true" text="-W?"/>
<input x="-56" y="4.5" tagg="none" size="5" rotate="true" text="ÖLFLEX 100"/>
<terminal x="0" y="-5" orientation="n"/>
<terminal x="20" y="-5" orientation="n"/>
<terminal x="40" y="-5" orientation="n"/>
<terminal x="0" y="5" orientation="s"/>
<terminal x="20" y="5" orientation="s"/>
<terminal x="40" y="5" orientation="s"/>
</description>
</definition>

View File

@ -1,24 +0,0 @@
<definition width="60" link_type="simple" version="0.5" hotspot_x="21" height="10" hotspot_y="-6" type="element">
<uuid uuid="{822e6fc1-0104-4d3a-ba3c-995c24c79cf2}"/>
<names>
<name lang="nl">Scherm</name>
<name lang="el">Πλέγμα</name>
<name lang="de">Schirm</name>
<name lang="cs">Stínění</name>
<name lang="pl">Ekran 3</name>
<name lang="it">Schermo</name>
<name lang="ar">شاشة</name>
<name lang="en">Screen</name>
<name lang="es">Pantalla</name>
<name lang="fr">Ecran</name>
<name lang="ru">Экран</name>
<name lang="hu">Árnyékolás</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<ellipse width="50" x="-15" antialias="true" y="7.5" height="5" style="line-style:dotted;line-weight:normal;filling:none;color:black"/>
<input x="-9" y="-2.45" tagg="label" size="9" rotate="true" text="_"/>
<terminal x="-15" y="10" orientation="w"/>
</description>
</definition>

View File

@ -1,22 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="20" hotspot_y="9" type="element">
<uuid uuid="{6ac285f9-6492-40cb-be58-9ba565ea1921}"/>
<names>
<name lang="de">Kabelader</name>
<name lang="cs">Vodič kabelu</name>
<name lang="pl">Połączenie przewodu</name>
<name lang="it">Conduttore di un cavo</name>
<name lang="en">Wire of cable</name>
<name lang="es">Alambre del cable</name>
<name lang="fr">Fil de cable</name>
<name lang="ru">Жила кабеля</name>
<name lang="hu">Kábelér</name>
</names>
<informations></informations>
<description>
<line antialias="false" length1="1.5" x2="9.82672" end2="none" x1="-9.76313" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<input x="1" y="-11.5" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="0" end2="none" x1="0" end1="none" y2="4.11304" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-4.10435"/>
<terminal x="0" y="5" orientation="s"/>
<terminal x="0" y="-5" orientation="n"/>
</description>
</definition>

View File

@ -1,21 +0,0 @@
<definition width="20" link_type="simple" version="0.5" hotspot_x="10" height="20" hotspot_y="9" type="element">
<uuid uuid="{374ed6b3-7329-4cad-ac8c-200b17508460}"/>
<names>
<name lang="de">Verdrahtung</name>
<name lang="cs">Vodič kabelu</name>
<name lang="pl">Oznaczenie przewodu</name>
<name lang="it">Conduttura</name>
<name lang="en">Wiring</name>
<name lang="es">Alambrado</name>
<name lang="fr">Filerie</name>
<name lang="hu">Vezeték</name>
</names>
<informations></informations>
<description>
<line antialias="false" length1="1.5" x2="-5" end2="none" x1="5" end1="none" y2="5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-5"/>
<input x="0" y="-2.5" tagg="label" size="9" rotate="true" text="_"/>
<line antialias="false" length1="1.5" x2="0" end2="none" x1="0" end1="none" y2="5" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-5"/>
<terminal x="0" y="-5" orientation="n"/>
<terminal x="0" y="5" orientation="s"/>
</description>
</definition>

View File

@ -1,34 +0,0 @@
<definition width="70" hotspot_x="35" hotspot_y="5" version="0.80" type="element" height="10" link_type="simple">
<uuid uuid="{3cfdc90d-f114-4ecd-9ab2-37786c279287}"/>
<names>
<name lang="de">Kabel 3G</name>
<name lang="fr">Cable 3G</name>
<name lang="cs">Kabel 3G</name>
<name lang="hu">Kábel 2 + PE</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line x2="1.95" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2.05" length2="1.5" antialias="true" y2="1.95" end2="none" x1="-2.05" length1="1.5"/>
<line x2="22" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2" length2="1.5" antialias="true" y2="2" end2="none" x1="18" length1="1.5"/>
<dynamic_text text_width="-1" font="Sans Serif,7,-1,5,50,0,0,0,0,0" Halignment="AlignLeft" z="3" Valignment="AlignTop" frame="false" x="-50" uuid="{fe752adf-2e2b-4005-a272-42dd6976c493}" y="0.5" text_from="UserText" rotation="0">
<text>3G</text>
</dynamic_text>
<line x2="30" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" length2="1.5" antialias="false" y2="0" end2="none" x1="-29.9373" length1="1.5"/>
<line x2="-18" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2" length2="1.5" antialias="true" y2="2" end2="none" x1="-22" length1="1.5"/>
<dynamic_text text_width="-1" font="Sans Serif,7,-1,5,50,0,0,0,0,0" Halignment="AlignLeft" z="6" Valignment="AlignTop" frame="false" x="-51" uuid="{65bfd07e-7af5-4193-a5ba-b3dc967da121}" y="-18.5" text_from="ElementInfo" rotation="0">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<dynamic_text text_width="-1" font="Sans Serif,4,-1,5,25,0,0,0,0,0" Halignment="AlignLeft" z="7" Valignment="AlignTop" frame="false" x="-22" uuid="{df01c7dd-b2e7-4b24-9057-b8bc3478ff67}" y="-11" text_from="UserText" rotation="0">
<text>1</text>
</dynamic_text>
<dynamic_text text_width="-1" font="Sans Serif,4,-1,5,25,0,0,0,0,0" Halignment="AlignLeft" z="8" Valignment="AlignTop" frame="false" x="-2" uuid="{ce5a0030-5247-47ab-a975-63256db0d2bd}" y="-11" text_from="UserText" rotation="0">
<text>2</text>
</dynamic_text>
<dynamic_text text_width="-1" font="Sans Serif,4,-1,5,25,0,0,0,0,0" Halignment="AlignLeft" z="9" Valignment="AlignTop" frame="false" x="18" uuid="{e0a00f86-dd76-48fe-be8b-8ff6f510e651}" y="-11" text_from="UserText" rotation="0">
<text>PE</text>
</dynamic_text>
</description>
</definition>

View File

@ -1,28 +0,0 @@
<definition type="element" height="10" link_type="simple" version="0.60" hotspot_x="36" hotspot_y="5" width="90">
<uuid uuid="{e02f4582-b5dd-4f81-ba71-e3d5521b4152}"/>
<names>
<name lang="ru">Кабель 3 жилы + PE</name>
<name lang="pl">Oznaczenie przewodu czterożyłowego</name>
<name lang="cs">Kabel 4G</name>
<name lang="de">Kabel 4G</name>
<name lang="es">Cable 3 fases+tierra</name>
<name lang="it">Cavo 3 fasi + terra</name>
<name lang="fr">Cable 3 phases+terre</name>
<name lang="hu">Kábel 3 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line x1="-2.05" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="1.95" y2="1.95" antialias="true"/>
<line x1="37.95" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="41.95" y2="1.95" antialias="true"/>
<line x1="18" y1="-2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="22" y2="2" antialias="true"/>
<input size="7" tagg="none" rotate="true" x="-50" y="10" text="4G"/>
<line x1="-29.9373" y1="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="47.932" y2="0" antialias="false"/>
<line x1="-22" y1="-2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="-18" y2="2" antialias="true"/>
<input size="7" tagg="label" rotate="true" x="-51" y="-9" text="_"/>
<input size="4" tagg="none" rotate="true" x="-22" y="-4" text="1"/>
<input size="4" tagg="none" rotate="true" x="-2" y="-4" text="2"/>
<input size="4" tagg="none" rotate="true" x="18" y="-4" text="3"/>
<input size="4" tagg="none" rotate="true" x="38" y="-4" text="PE"/>
</description>
</definition>

View File

@ -1,34 +0,0 @@
<definition type="element" height="10" link_type="simple" version="0.60" hotspot_x="73" hotspot_y="5" width="150">
<uuid uuid="{d1007c67-032b-4925-8560-aac9e547d6ae}"/>
<names>
<name lang="ru">Кабель 6 жилы + PE</name>
<name lang="pl">Oznaczenie przewodu czterożyłowego</name>
<name lang="cs">Kabel 7G</name>
<name lang="de">Kabel 7G</name>
<name lang="es">Cable 6 fases+tierra</name>
<name lang="it">Cavo fasi + terra</name>
<name lang="fr">Cable 6 phases+terre</name>
<name lang="hu">Kábel 6 + PE</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input size="4" tagg="none" rotate="true" x="38" y="-4" text="6"/>
<input size="4" tagg="none" rotate="true" x="18" y="-4" text="5"/>
<input size="4" tagg="none" rotate="true" x="-2" y="-4" text="4"/>
<line x1="57.95" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="61.95" y2="1.95" antialias="true"/>
<line x1="-42.05" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="-38.05" y2="1.95" antialias="true"/>
<line x1="37.95" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="41.95" y2="1.95" antialias="true"/>
<line x1="17.95" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="21.95" y2="1.95" antialias="true"/>
<line x1="-2.05" y1="-2.05" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="1.95" y2="1.95" antialias="true"/>
<line x1="-22" y1="-2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="-18" y2="2" antialias="true"/>
<input size="7" tagg="none" rotate="true" x="-89" y="10" text="7G"/>
<line x1="-67.9373" y1="0" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="71" y2="0" antialias="false"/>
<line x1="-62" y1="-2" end1="none" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" length1="1.5" length2="1.5" x2="-58" y2="2" antialias="true"/>
<input size="7" tagg="label" rotate="true" x="-90" y="-9" text="_"/>
<input size="4" tagg="none" rotate="true" x="-62" y="-4" text="1"/>
<input size="4" tagg="none" rotate="true" x="-42" y="-4" text="2"/>
<input size="4" tagg="none" rotate="true" x="-22" y="-4" text="3"/>
<input size="4" tagg="none" rotate="true" x="58" y="-4" text="PE"/>
</description>
</definition>

View File

@ -1,23 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="14" height="20" hotspot_y="4" type="element">
<uuid uuid="{a0e9e33a-ee38-4c08-8f40-c307da8d822b}"/>
<names>
<name lang="el">Διατομή αγωγού</name>
<name lang="es">Clasificación de sección</name>
<name lang="nl">Doorsnede</name>
<name lang="de">Verdrahtungsquerschnitt</name>
<name lang="cs">Průřez vodiče</name>
<name lang="pl">Pole przekróju przewodu</name>
<name lang="it">Sezione della nomenclatura</name>
<name lang="ar">تسمية مساحة المقطع </name>
<name lang="en">Wiring section</name>
<name lang="fr">Section de fil</name>
<name lang="hu">Vezeték keresztmetszet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<input x="-40" y="10" tagg="label" size="6" rotate="true" text="_"/>
<text x="8" y="6.3334" size="4" text="2"/>
<text x="-10" y="10" size="6" text="mm"/>
</description>
</definition>

View File

@ -1,18 +0,0 @@
<qet-directory>
<names>
<name lang="ru">Кабели и провода</name>
<name lang="en">Cables and wiring</name>
<name lang="es">Cables y alambres</name>
<name lang="fr">Câbles et filerie</name>
<name lang="it">Cavi e collegamenti</name>
<name lang="pl">Przewody i kable</name>
<name lang="pt_br">Cabos e fiação</name>
<name lang="de">Kabel und Verdrahtung</name>
<name lang="el">Καλώδια και καλωδίωση</name>
<name lang="nl">Kabels en draden</name>
<name lang="cs">Kabely a vodiče</name>
<name lang="da">Kabler og ledninger</name>
<name lang="ja">ケーブルと配線</name>
<name lang="hu">Kábelek és vezetékek</name>
</names>
</qet-directory>

View File

@ -1,19 +0,0 @@
<definition width="30" link_type="simple" version="0.5" hotspot_x="15" height="10" hotspot_y="5" type="element">
<uuid uuid="{b96a76a6-a798-497b-a044-dd933756d175}"/>
<names>
<name lang="de">Verdrahtungsdefinition 1 Leiter</name>
<name lang="cs">Označení vodiče</name>
<name lang="pl">Oznaczenie pola przekroju przewodu jednożyłowego</name>
<name lang="it">Sezione 1 conduttore</name>
<name lang="fr">Section 1 conducteur</name>
<name lang="es">Sección 1 conductor</name>
<name lang="hu">1 ér keresztmetszet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="false" length1="1.5" x2="9.91885" end2="none" x1="-10.8483" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="true" length1="1.5" x2="2" end2="none" x1="-2" end1="none" y2="2" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2"/>
<input x="-44" y="2" tagg="label" size="4" rotate="true" text="1,5 mm²&#xa; "/>
</description>
</definition>

View File

@ -1,20 +0,0 @@
<definition width="70" link_type="simple" version="0.5" hotspot_x="16" height="10" hotspot_y="5" type="element">
<uuid uuid="{448ac784-f459-4f8f-bd3f-d911802b3369}"/>
<names>
<name lang="de">Verdrahtungsdefinition 2 Leiter</name>
<name lang="cs">Označení žil 2 vodiče</name>
<name lang="pl">Oznaczenie pola przekroju przewodu dwużyłowego</name>
<name lang="it">Sezione 2 conduttori</name>
<name lang="fr">Section 2 conducteurs</name>
<name lang="es">Sección 2 conductores</name>
<name lang="hu">2 ér keresztmetszet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="true" length1="1.5" x2="41.95" end2="none" x1="37.95" end1="none" y2="1.95" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2.05"/>
<line antialias="false" length1="1.5" x2="47.2717" end2="none" x1="-10.2509" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="true" length1="1.5" x2="2" end2="none" x1="-2" end1="none" y2="2" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2"/>
<input x="-44" y="2" tagg="label" size="4" rotate="true" text="1,5 mm²&#xa; "/>
</description>
</definition>

View File

@ -1,20 +0,0 @@
<definition width="40" link_type="simple" version="0.5" hotspot_x="14" height="10" hotspot_y="5" type="element">
<uuid uuid="{c94d9e16-e3bb-4117-b037-466a15edcb14}"/>
<names>
<name lang="de">Verdrahtungsdefinition 2 Leiter</name>
<name lang="cs">Označení žil 2 vodiče</name>
<name lang="pl">Oznaczenie pola przekroju przewodu dwużyłowego</name>
<name lang="it">Sezione 2 conduttori</name>
<name lang="fr">Section 2 conducteurs</name>
<name lang="es">Sección 2 conductores</name>
<name lang="hu">2 ér keresztmetszet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="true" length1="1.5" x2="21.95" end2="none" x1="17.95" end1="none" y2="1.95" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2.05"/>
<line antialias="false" length1="1.5" x2="19.8781" end2="none" x1="-10.8107" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="true" length1="1.5" x2="2" end2="none" x1="-2" end1="none" y2="2" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2"/>
<input x="-44" y="2" tagg="label" size="4" rotate="true" text="1,5 mm²&#xa; "/>
</description>
</definition>

View File

@ -1,21 +0,0 @@
<definition width="70" link_type="simple" version="0.5" hotspot_x="16" height="10" hotspot_y="5" type="element">
<uuid uuid="{9d939952-9c2b-4b12-898f-262abc91e845}"/>
<names>
<name lang="de">Verdrahtungsdefinition 3 Leiter</name>
<name lang="cs">Označení žil 3 vodiče</name>
<name lang="pl">Oznaczenie pola przekroju przewodu trójżyłowego</name>
<name lang="it">Sezione 3 conduttori</name>
<name lang="fr">Section 3 conducteurs</name>
<name lang="es">Sección 3 conductores</name>
<name lang="hu">3 ér keresztmetszet</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<line antialias="true" length1="1.5" x2="41.95" end2="none" x1="37.95" end1="none" y2="1.95" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2.05"/>
<line antialias="true" length1="1.5" x2="21.95" end2="none" x1="17.95" end1="none" y2="1.95" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2.05"/>
<line antialias="false" length1="1.5" x2="47.2717" end2="none" x1="-10.2509" end1="none" y2="0" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="true" length1="1.5" x2="2" end2="none" x1="-2" end1="none" y2="2" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="-2"/>
<input x="-44" y="2" tagg="label" size="4" rotate="true" text="1,5 mm²&#xa; "/>
</description>
</definition>

View File

@ -1,19 +0,0 @@
<definition height="80" hotspot_y="39" hotspot_x="17" version="0.5" width="40" link_type="simple" type="element">
<uuid uuid="{9d2d8902-b36a-4974-b46d-4de6741f6b9b}"/>
<names>
<name lang="en">Terminal strip label</name>
<name lang="es">Etiqueta de clemas</name>
<name lang="fr">Label de bornier</name>
<name lang="de">Klemmleisten-BMK</name>
<name lang="pl">Etykieta listwy zaciskowej</name>
<name lang="cs">Štítek svorkovnice</name>
<name lang="hu">Sorkapocstömb jelölő</name>
</names>
<informations/>
<description>
<input tagg="label" x="1" rotation="270" y="21" rotate="true" text="_" size="11"/>
<rect height="71" x="-15" y="-35" style="line-style:normal;line-weight:hight;filling:none;color:black" antialias="false" width="30"/>
<line end1="none" length1="1.5" style="line-style:normal;line-weight:hight;filling:none;color:black" x2="20" antialias="false" y2="-30" x1="15" end2="none" length2="1.5" y1="-30"/>
<line end1="none" length1="1.5" style="line-style:normal;line-weight:hight;filling:none;color:black" x2="20" antialias="false" y2="30" x1="15" end2="none" length2="1.5" y1="30"/>
</description>
</definition>

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