Compare commits

...

858 Commits

Author SHA1 Message Date
Laurent Trinques
c7891bc4c2 Update changelog 2023-01-03 13:21:24 +01:00
Laurent Trinques
cbbe4a6cae Change displayed version 2023-01-03 12:58:43 +01:00
Laurent Trinques
46077144d3 Refresh splash image to 0.9 version 2023-01-03 12:56:05 +01:00
Laurent Trinques
49cfd6b753 Add array of unicode HEX codes from a string in Ukranian: "Імпортовані
елементи", thanks Yaroslav
2023-01-03 01:25:58 +01:00
joshua
c5b4e033c4 Remove terminal strip menu entry. 2023-01-02 19:57:02 +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
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
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 5a057b1c20 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
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
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
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
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
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 5a51f6bace
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 & 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 b69c7b1027
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 4615e6d060.
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 bb26954bd4.
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:
3220a58b96 ("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 364bce618c, reversing
changes made to efb4a8dd71.
2021-06-07 20:00:52 +02:00
joshua
4615e6d060 Revert "Add terminalStripModel class"
This reverts commit a1e18d2bba.
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
joshua
09c0929040 Element editor gui fix
When select a primitive an unparented windows appear and can't be
deleted. Fix it.
2021-04-30 20:27:24 +02:00
Laurent Trinques
7312d06cc4 Minor 2021-04-30 11:52:44 +02:00
Laurent Trinques
5c75bc4194 OSX update qet_tb_generator PATH to python 3.9 2021-04-30 11:34:32 +02:00
Laurent Trinques
760a1f6c43 Try to improve HIGHDPI_SCALING 2021-04-21 09:38:48 +02:00
joshua
b6cfc8c755 Improve element collection loading time
According to Qt creator flame graph, call QSettings take lot of time.
When loading the element collection, each items of the collection get
the current language by calling the function QString
QETApp::langFromSetting().
This function instantiate a QSettings object each time and take a lot of
time.
Now the QSettings is instantiate only at the first call, and the value
is stored in memory, then all other call of the function don't
instantiate a QSettings, but just return the value in memory.
2021-04-18 20:03:13 +02:00
sdeffaux
820a01cb7d add symbol 2021-04-17 16:15:10 +02:00
sdeffaux
bfd7c1ea7c Update symbols and examples 2021-04-17 16:15:10 +02:00
Laurent Trinques
b8d9d38d31 Minor 2021-04-12 06:40:59 +02:00
Laurent Trinques
c05d76c633 Flatpak update org.qelectrotech.QElectroTech.json 2021-04-12 06:36:16 +02:00
joshua
5a8197b2b3 Element query widget : make code more readable 2021-04-11 14:08:21 +02:00
joshua
c1169f0e04 Element nomenclature sql query minor fix
Filter "is empty" don't work for any case :
We must to filter for NULL and empty string then replace the sql
sentence "value IS NULL" by "(value IS NULL OR value = '')"
2021-04-11 14:03:02 +02:00
joshua
794af49a3a Element nomenclature SQL query : minor fix
the filter "is not empty" in nomenclature don't work for every case.
Replace SQL sentence "IS NULL" by "!= ''" because an empty string is not
a NULL value string, but a NULL value string is like an empty string
2021-04-11 12:39:38 +02:00
Laurent Trinques
8ef0d0b2f0 Flatpak fix location patch 2021-04-09 16:22:41 +02:00
Laurent Trinques
3729bec350 Flatpak update flatpak/org.qelectrotech.QElectroTech.json 2021-04-09 16:15:26 +02:00
Laurent Trinques
157377e1c1 Faltpak update org.qelectrotech.QElectroTech.json
see :https://github.com/flathub/flathub/pull/2146
2021-04-09 16:01:14 +02:00
joshua
7cb47f3b9e Fix unwanted moving part in element editor.
Fix an unwanted behavior when the properties dock widget is displayed :

1 there is no selection
2 the dock widget width is set to minimum
3 select a part, the dock widget gain new widgets used to edit the
current selected part and the width of the dock grow so the width of the
QGraphicsView is reduced and cause a mouse move event.
When this case occur the part is moved but they should not.
2021-04-07 12:56:43 +02:00
joshua
9db15f91e7 Improve gui layout for low resolution screen 2021-04-07 12:34:56 +02:00
plc-user
c54ee9b66d Bug-Fixing on an element 2021-04-07 01:05:42 +02:00
Laurent Trinques
7a2c62d4d2 Minor: update readme.md files 2021-04-04 17:21:50 +02:00
joshua
7f5b446fc9 Use QStringLiteral and QLatin1String. 2021-04-02 19:16:32 +02:00
Laurent Trinques
bba1f07f57 Revert "Flatpak add --socket=cups for work with LAN printers"
This reverts commit d32c322e5a.
2021-03-31 16:16:41 +02:00
Laurent Trinques
d32c322e5a Flatpak add --socket=cups for work with LAN printers 2021-03-31 15:03:18 +02:00
joshua
8960981f09 Use QStringLiteral and QLatin1String. 2021-03-30 20:48:56 +02:00
joshua
f2f50084e0 Use QStringLiteral and QLatin1String.
According to the Qt documentation
(https://doc.qt.io/qt-5/qstring.html#QStringLiteral)
(https://woboq.com/blog/qstringliteral.html), use QStringLiteral and
QLatin1String is better on some conditions (faster).
This commit change the code related to the loading of a project (in
qetproject class), let see if loading time is improved.
2021-03-30 19:59:14 +02:00
Ole Carlsen
48be92cde5 Updated Danish translation 2021-03-29 20:18:26 +02:00
Kevin Tee
845431179d Update qelectrotech.appdata.xml
Add missing release tag.
I also suggest changing the license of this file.
This document suggest using permissive license, also it can be accept to Flathub.
https://freedesktop.org/software/appstream/docs/chap-Quickstart.html#qsr-app-contents

I suggest MIT, what do you think?
2021-03-29 05:50:47 +02:00
Kevin Tee
f6161af258 Update qelectrotech.appdata.xml
I forgot missing closing release tag.
2021-03-29 05:50:47 +02:00
Kevin Tee
8755a12698 Update qelectrotech.appdata.xml
I'm not sure about the date for this 2021-02-21
2021-03-28 18:52:41 +02:00
Kevin Tee
a361e16a8e Update qelectrotech.appdata.xml
add content rating, release date, and license according to SPDX.
2021-03-28 18:52:41 +02:00
Laurent Trinques
0f8f26e177 Refrersh splash 2021-03-23 00:58:56 +01:00
joshua
d53bb22509 Make MachineInfo a singleton class
Because on windows MachineInfo take a little time to init, we make it to
a singleton.
MachineInfo is build the first time in main.cpp.
Now all other places where we use MachineInfo (aboutqetdialog and
configdialog) gui don't hang anymore in waiting to MachineInfo finish to
build.
2021-03-22 19:20:07 +01:00
joshua
3d25beaea0 Rename class Machine_info to MachinInfo
Rename to follow the code style of QElectroTech
2021-03-22 19:01:46 +01:00
Laurent Trinques
1a3656f7be Add MINGW flag for cmake 2021-03-22 08:15:37 +01:00
Joshua Claveau
7de810bac4 little fix 2021-03-21 19:06:12 +01:00
Joshua Claveau
1b6cf7d5f3 Project properties dialog launch a little more faster (especially on windows)
Instead of build machine_info class which take time, only to get the max
width and height of screens, call  of methods
Machine_info::i_max_screen_width() and
Machine_info::i_max_screen_height() are now static and compute only
this.
The project properties dialog is now faster because don't wait the end
build of machine_info.
2021-03-21 19:01:54 +01:00
Joshua Claveau
6cf79e6e75 Qet start a little more faster (especially on windows)
Machine_Info class take time on windows even in powerful computer.
Run the machine_info in main.cpp in parallel into another thread.
2021-03-21 18:36:03 +01:00
artgg7300
8fdb9ba21a translated hungarian element names 2021-03-20 20:22:52 +01:00
Simon De Backer
a4adcf4865 Fix cmake user properties class
for commit 44db25e76b
2021-03-18 21:22:39 +01:00
Gleb Popov
9300130aaf Add installation phase to CMake build system 2021-03-18 13:44:26 +01:00
Gleb Popov
d7dd32ff1a Fix CMake build when git revision can't be determined 2021-03-18 13:44:15 +01:00
Gleb Popov
564f38396f Add CMake option to allow using system pugixml library 2021-03-18 13:44:04 +01:00
Gleb Popov
ab5dd39556 Add CMake option to allow using system KF5 libraries 2021-03-18 13:43:50 +01:00
Gleisson Jesuino Joaquim Cardoso
b12a4525a2 Update PT_BR translation 2021-03-17 22:00:38 +01:00
Laurent Trinques
e0f2a66f3c Update Mongolian translation, thanks Nathalie 2021-03-17 09:59:12 +01:00
Laurent Trinques
20f5c3e443 Minor update README.md files 2021-03-15 23:44:26 +01:00
Paweł Śmiech
ea730a2fa1 Polish translation update 2021-03-14 21:03:08 +01:00
anvilex
28d98a1a30 Update qelectrotech.xml
1. Russian translation added.
2021-03-14 15:30:48 +01:00
anvilex
a75565e30d Update x-qet-titleblock.xml
1. Russian translation added.
2. German translation added.
2021-03-13 22:08:16 +01:00
anvilex
6ededf94bf Update x-qet-titleblock.desktop
1. Russian translation added.
2. Englisch translation improved.
3. German translation improved.
2021-03-13 22:07:21 +01:00
anvilex
9ca44f2557 Update qelectrotech.desktop
Russian translation added
2021-03-13 22:02:33 +01:00
anvilex
9aad769a37 Update qelectrotech.appdata.xml
1. German translation added.
2. Russian translation improved.
2021-03-13 22:01:36 +01:00
plc-user
1f0f44233e Update qet_directory 2021-03-13 22:00:24 +01:00
plc-user
5594197aab some Bug-Fixing of elements 2021-03-13 22:00:24 +01:00
plc-user
13b6b0c6c9 removed HTML-Tag 
 from some element-informations 2021-03-13 12:19:47 +01:00
plc-user
b0e6ad46ac centered some elements on DIN-rail (allows rotating without changing Y-position) 2021-03-13 12:19:47 +01:00
Lars Biskupek
b417edaff8 Fixed grammer issues in German language file 2021-03-12 06:39:53 +01:00
anvilex
301fa629d8 Update qet_fr_ru.qph 2021-03-12 06:32:55 +01:00
joshua
44db25e76b Add user properties class
Add a specific class for user properties instead of embedded user
properties in properties interface.
2021-03-11 21:39:57 +01:00
joshua
d5df9703d0 Add new XML function 2021-03-11 20:20:07 +01:00
joshua
11b8ef927b Revert "Merge branch 'XMLPropertiesNew'"
**Break a lot of thing.**

This reverts commit 1db1800572, reversing
changes made to 4c563821e8.
2021-03-11 19:52:50 +01:00
joshua
83b69253dc Revert "fix compile error"
This reverts commit b181311162.
2021-03-11 19:49:46 +01:00
joshua
b96eff00ef Revert "Fix for cmake"
This reverts commit 4051bbd309.
2021-03-11 19:49:32 +01:00
Laurent Trinques
4051bbd309 Fix for cmake 2021-03-11 07:59:54 +01:00
Martin Marmsoler
b181311162 fix compile error 2021-03-10 19:12:00 +01:00
joshua
1db1800572 Merge branch 'XMLPropertiesNew' 2021-03-09 19:09:31 +01:00
joshua
001e93bc6f Forgoten revert ToXml() 2021-03-09 18:43:03 +01:00
Martin Marmsoler
6e17996d37 fix problem that default conductor is not found 2021-03-08 20:48:23 +01:00
Simon De Backer
4c563821e8 [Qt6] ad QCloseEvent to Widgets 2021-03-07 20:23:07 +01:00
Simon De Backer
a4872bf686 [Qt6] mod QRegExp to QRegularExpression
note ad Core5Compat to Cmake
2021-03-07 20:21:39 +01:00
Simon De Backer
332d978043 [QT6] QtConcurrent its backwards now...function, object, args 2021-03-07 19:58:49 +01:00
Martin Marmsoler
755bcf640d fix conductor properties xml load 2021-03-07 14:07:47 +01:00
joshua
38a825865c Fix ftbfs on debian buster 2021-03-07 12:18:30 +01:00
Martin Marmsoler
5d3710c4b2 copy all toXML() from master commit 4b82c3a0c4 into the current branch, because the new concept will be used only for user properties 2021-03-07 10:09:45 +01:00
Martin Marmsoler
058824f29a move all static xml functions to qetxml 2021-03-06 20:01:31 +01:00
joshua
4b82c3a0c4 Fix crash
Fix crash for a special case (the first time since qet exist) when a
conductor have all segments to 0 in the .qet file.
See https://qelectrotech.org/forum/viewtopic.php?id=1964
2021-03-06 15:17:10 +01:00
Martin Marmsoler
ea793125a5 move m_change_connections to ElementItemEditor, so it must not be defined by every editor it self 2021-03-05 20:59:36 +01:00
Laurent Trinques
153aecbbf3 Flatpak change to --socket=fallback-x11 2021-03-05 18:17:25 +01:00
Martin
bc88f2ec2e reimplement Priv function, so the ElementEditor gets called automatically 2021-03-05 17:38:51 +01:00
Martin
6887c543da add possibilities to fill the userProperties 2021-03-05 07:56:35 +01:00
Martin Marmsoler
51ed21f9ef Merge commit 'b021ac3e1fb98a56810773c7c701e3329efb3148'
Conflicts:
	sources/qetgraphicsitem/element.h
2021-03-04 21:31:55 +01:00
Martin Marmsoler
221773ea8a fix some issues 2021-03-04 21:25:04 +01:00
Martin Marmsoler
9d4b90da1a Add userProperties 2021-03-04 19:18:28 +01:00
Thomas Gravekamp
b021ac3e1f Add Williams EM symbols 2021-03-03 21:53:25 +01:00
joshua
faf4235bed Terminal element info
Provide only useful information for terminal
2021-03-03 21:28:22 +01:00
Laurent Trinques
0a51e22b7d Update org.kde.Platform" to "runtime-version": "5.15" 2021-03-03 18:38:13 +01:00
Laurent Trinques
632fba5366 Add binary hungarian lang file 2021-03-03 14:28:01 +01:00
artgg7300
0ca883f114 translated hungarian lang file 2021-03-03 14:10:24 +01:00
Simon De Backer
170d856007 Fix Cmake
did not compile
2021-03-02 22:15:44 +01:00
joshua
0424eb9fba Mark deprecated method 2021-03-01 22:17:58 +01:00
Lars Biskupek
8210f06919 Update of German Language File qet_de 2021-03-01 20:41:40 +01:00
Ole Carlsen
468618adda Danish translation updated 2021-03-01 20:28:58 +01:00
pavelfric
8141a75738 Updated Czech translations of elements. 2021-03-01 10:40:11 +01:00
dlee99
8f201a6e5d modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-02-28 22:18:33 +01:00
Lars Biskupek
b8745c0a6b Update of German language file qet_de 2021-02-28 21:23:50 +01:00
Laurent Trinques
7c3bde9118 Update SingleApplication to upstream master 2021-02-28 18:05:18 +01:00
Martin Marmsoler
ed8c1dea9d Merge commit '28cd389695248b56a99a417bc10640bb3e99c298' 2021-02-28 17:33:43 +01:00
Laurent Trinques
28cd389695 Upgrade pugixml XML parser to 1.11 release
https://pugixml.org/docs/manual.html#v1.11
2021-02-28 17:12:53 +01:00
Laurent Trinques
56bb2a399b Refresh splash size 2021-02-28 05:56:59 +01:00
Laurent Trinques
dc726792d3 Update *TS files 2021-02-28 05:53:40 +01:00
joshua
d8707a4ef2 Add dialog to inform user when open a non compatible project 2021-02-27 14:01:33 +01:00
Martin Marmsoler
01d6cdb920 Merge commit '77710e1cc5e597d06196d2ee163198176032987a'
Conflicts:
	sources/conductorproperties.cpp
	sources/qetgraphicsitem/element.cpp
	sources/qetgraphicsitem/qetshapeitem.cpp
2021-02-27 07:49:24 +01:00
joshua
77710e1cc5 Remove compatibility of QetShapItem from version prior to svn 4075
Befor svn 4075 QetShapItem was saved as int in xml, after as a string.
Remove retro-compatibility (int to string) svn 4075 is older than 5
years.
2021-02-25 20:47:43 +01:00
joshua
1d2c00819d Element collection cache remove old code
Remove old code use to drop table when qet was using mtime instead of
uuid for check if an element was changed.
2021-02-25 20:31:14 +01:00
joshua
eee0469bd7 Remove retro compatibility of conductor text prior to qet 0.4
The property hide/show compatibility of conductor text is not maintained
for project made before qet 0.4
2021-02-25 20:21:18 +01:00
joshua
5118037cb5 Remove retro compatibility of element label prior to qet 0.5
Compatibility is not maintained anymore with the old project which
contain variable in the element information "label"
2021-02-25 19:42:14 +01:00
joshua
1f53c39290 Remove retro compatibility of element text item prior to qet 0.7
Compatibility is not maintained anymore with the old project which
contain old element text item.
2021-02-25 19:35:04 +01:00
Martin
f499507b2d fix load issue 2021-02-25 16:55:13 +01:00
joshua
b71aec9548 Fix wrong element type 2021-02-24 20:49:10 +01:00
joshua
c7798e1a80 Fix wrong element type 2021-02-24 20:41:47 +01:00
Martin
5430692359 remove not needed declaration, because the definition was already deleted. And so a linker error occured 2021-02-24 19:04:14 +01:00
Martin
02b7ead041 fix compile issues 2021-02-24 18:48:59 +01:00
Martin
ea364f9c4e merge 2021-02-23 17:35:55 +01:00
Laurent Trinques
f97edad75a DiagramView::mouseMoveEvent remove "DEV" in toolTip message mouse
postion
2021-02-23 00:51:50 +01:00
Laurent Trinques
454b2c8a0f Update splash to 0.9 version 2021-02-22 16:22:08 +01:00
Lars Biskupek
b2782bc460 Tab-stop definitions inserted where appropriate
Tab stop definitions inserted in some dialogs, so that the order of tab-stops-moves corresponds as closely as possible to the fields' position in the window.
2021-02-22 13:47:39 +01:00
Lars Biskupek
059f0eb1b6 Modifications to SaveFile-Dialog for "Save As PDF"
Fixed a typo that prevented existing PDF files from being displayed in SaveFileDialog for PDFs.

The way the file name for the PDF is generated has changed. If the project has already been saved, the PDF has the same file name (with .pdf of course); If not, the file name is generated from the project title (= same behavior as Save as - dialog for a .qet project file).
2021-02-22 13:47:39 +01:00
joshua
ce318ac667 Element : start use ElementData
Element now use ElementData for namelist and element information
2021-02-21 19:40:33 +01:00
joshua
be2067148e Element editor : add terminal properties editable 2021-02-21 19:40:33 +01:00
joshua
444f62a1f8 element data : add terminal type enum and terminal function enum 2021-02-21 19:40:33 +01:00
joshua
8f85cacb06 QetElementEditor : Use elementData class 2021-02-21 19:40:33 +01:00
joshua
ffe3d98279 Add element data class 2021-02-21 19:40:33 +01:00
joshua
dea926e4b4 Remove unnecessary method 2021-02-21 19:40:33 +01:00
joshua
a1779d1a7a Rewrite terminaleditor with ui file.
Write terminal editor with ui file.
The terminalData::type of a terminal can be edited with the terminal
editor.
2021-02-21 19:40:33 +01:00
joshua
252106178b Add enum Type to terminalData class 2021-02-21 19:40:32 +01:00
joshua
a00404bc9f clean terminal and terminaldata class 2021-02-21 19:40:32 +01:00
joshua
e2ebb445a8 Terminal : remove unused code 2021-02-21 19:40:32 +01:00
joshua
24ec94d73e QetElementEditor : rewrite gui with ui file 2021-02-21 19:40:32 +01:00
joshua
edb42caa16 Fix typo
Fixed a typo that resulted in existing PDF files not being displayed in
the dialog box "Save As PDF".
Thanks Bisku
2021-02-21 19:38:53 +01:00
Pawel Śmiech
c110acc0ac Polish translation updated
Signed-off-by: Pawel Śmiech <pawel@localhost.localdomain>
2021-02-21 13:46:41 +01:00
Laurent Trinques
3467c09c1e Change displayedVersion = "0.90-DEV" 2021-02-21 11:00:42 +01:00
Laurent Trinques
664537c178 Change displayedVersion 2021-02-21 10:15:38 +01:00
joshua
5f908fcd88 ElementCollectionWidgetWidget : Set search start when text to search have at least 3 letters.
The goal is to avoid gui freeze when search for 1 or 2 letters (in this
case qet search for every item and take a lot of time).
2021-02-21 09:44:38 +01:00
Laurent Trinques
ef58f34c14 Update Copyright date 2021-02-20 12:13:46 +01:00
artgg7300
34eb14a97e translated hungarian element names 2021-02-15 20:26:47 +01:00
joshua
30858f9a4d Minor fix :
Combobox "information of element" don't display the real information set
to the dynamic text field
2021-02-15 18:53:22 +01:00
Lars Biskupek
108513ef97 Update German Language file qet_de 2021-02-15 12:14:47 +01:00
Simon De Backer
81e6f217b4 Fix Cmake will not build
missing files in Cmake
From: 0c4f87bd76
2021-02-14 06:52:05 +01:00
joshua
c592b7a7fd Fix crash
When use the function "invert selection" qet crash when a selected
conductor is being deselected.
2021-02-09 21:05:32 +01:00
Laurent Trinques
e3fab9508f Update pl translation, thanks Pawel 2021-02-08 05:45:18 +01:00
joshua
c13af5ace0 Clean some include 2021-02-07 20:44:17 +01:00
joshua
0c4f87bd76 Replace AddItemCommand class by AddGraphicsObjectCommand
The class is the same except the name and the use of QPointer to avoid
segfault with deleted QGraphicsObject.
2021-02-07 16:20:55 +01:00
joshua
ac23010559 Fix crash 2021-02-07 13:25:21 +01:00
joshua
b335a4af4f Fix bug 225
https://qelectrotech.org/bugtracker/view.php?id=225
2021-02-06 19:41:22 +01:00
joshua
2513961cd6 Revert "Update Copyright date"
This reverts commit d04bccc384.
2021-02-06 19:00:48 +01:00
Laurent Trinques
d04bccc384 Update Copyright date 2021-02-06 18:33:42 +01:00
Ole Carlsen
47ea5a3da9 Updated Danish Translation 2021-02-01 20:43:18 +01:00
joshua
e1b98ce5b5 Revert "QetElementEditor : rewrite gui with ui file"
This reverts commit e3db2bc898.
2021-02-01 19:52:15 +01:00
pavelfric
70947ac5b9 Updated Czech translations of elements. 2021-02-01 18:35:26 +01:00
pavelfric
b58898b6c8 Updated Czech translations of elements. 2021-02-01 18:10:47 +01:00
plc-user
6da28a1845 added MDT-elements (by a.funke) and some cleanup of elements 2021-02-01 02:51:35 +01:00
Lars Biskupek
4ade6f3227 MantisBT Issue #219 solved
Translation for "Formater en tant que liste de materiel" added.
2021-01-31 14:42:59 +01:00
Lars Biskupek
507841208d Updated German language file qet_de.qm 2021-01-31 07:53:15 +01:00
dlee99
762a9e3718 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2021-01-31 00:25:56 +01:00
joshua
b1a7f2e26c Minor : Text of folio report is now set as "label" 2021-01-30 19:44:18 +01:00
joshua
e3db2bc898 QetElementEditor : rewrite gui with ui file 2021-01-30 19:34:21 +01:00
artgg7300
85fa9245a4 translated hungarian element names 2021-01-30 18:33:13 +01:00
artgg7300
4df313cbeb translated hungarian lang files 2021-01-30 16:49:50 +01:00
Laurent Trinques
f62feaef94 Update *ts files 2021-01-30 15:20:57 +01:00
Laurent Trinques
ad340cf95a Minor 2021-01-30 15:16:43 +01:00
Laurent Trinques
692bf0ed72 Replace the flag of the Arab country 2021-01-30 15:05:56 +01:00
pavelfric
3aceb436be Updated Czech translations of elements. 2021-01-30 11:43:02 +01:00
pavelfric
330299e9df Updated Czech translations of elements. 2021-01-30 11:17:13 +01:00
Lars Biskupek
eefa4de8f8 Updated German translation qet_de.ts
Translation for 'Mongol' and 'Modifier les informations de plusieurs éléments' added.
2021-01-30 07:14:58 +01:00
pavelfric
1d28f29c07 Updated Czech translations of elements. 2021-01-29 20:15:31 +01:00
artgg7300
5abf93dd8d translated hungarian lang files 2021-01-29 19:48:49 +01:00
Laurent Trinques
07a6dd887e Update translations_stat.pl files 2021-01-29 18:27:18 +01:00
Laurent Trinques
4a63aca8cd Update translation en fr 2021-01-29 17:40:54 +01:00
Laurent Trinques
3c278bbbfb Update *ts files 2021-01-29 17:36:40 +01:00
Laurent Trinques
d333b6a188 Prepare to add new country Mongolian switch 2021-01-29 17:12:44 +01:00
Laurent Trinques
f235022c44 Update Mongolian translation, thanks Nathalie 2021-01-29 16:22:55 +01:00
artgg7300
750f60f571 Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2021-01-28 20:10:21 +01:00
artgg7300
1558d0c00a translated hungarian element names 2021-01-28 20:07:22 +01:00
joshua
aa66eabe7c Fix bug 221
https://qelectrotech.org/bugtracker/view.php?id=221
2021-01-28 19:25:42 +01:00
joshua
20cd0366eb Update typo 2021-01-28 19:14:26 +01:00
pavelfric
ec63d7a1cb Updated Czech translations of elements. 2021-01-28 17:37:51 +01:00
plc-user
fdd617f9a5 added german translations for elements 2021-01-24 20:33:39 +01:00
plc-user
3e9c17030c added german translations for elements 2021-01-24 20:33:39 +01:00
artgg7300
8c07daaf8e translated hungarian element names 2021-01-24 07:31:06 +01:00
artgg7300
3cf178d056 translated hungarian element names 2021-01-24 06:58:26 +01:00
plc-user
842fa28390 corrected filenames and added german translations 2021-01-24 04:26:57 +01:00
plc-user
5041fa9ccc some german translations for elements 2021-01-24 04:26:57 +01:00
plc-user
2ce0205d94 some german translations in "qet_directory" 2021-01-24 04:26:57 +01:00
Simon De Backer
b64086fbcd Fix add project_title on save
see
https://qelectrotech.org/forum/viewtopic.php?pid=14160
2021-01-23 21:57:56 +01:00
artgg7300
4c075ed551 Translated hungarian element names 2021-01-23 06:42:22 +01:00
artgg7300
51087551c9 little modif for elements directory 2021-01-22 06:01:05 +01:00
joshua
bb82a616de Minor fix : widget lose focus each time user tip
Each time a QUndoCommand is pushed to a QUndoStack, the current focused
widget lose focus.
So each time user change a value in a widget (for exemple a QSpinBox)
the widget lose focus and user will have to click again in the widget to
gain focus and continue to edit.
The workaround is to call the method focus of the current widget each
time we push a undo command
2021-01-21 19:35:38 +01:00
pavelfric
da1fda6b03 Updated Czech translations of elements. 2021-01-20 22:40:13 +01:00
pavelfric
7d9926ccfc Updated Czech translations of elements. 2021-01-20 22:37:11 +01:00
pavelfric
dd4c016b46 Updated Czech translations of elements. 2021-01-20 22:25:53 +01:00
plc-user
c954f204ac some bugfixing and some new elements 2021-01-19 16:12:46 +01:00
artgg7300
743557b604 translated hungarian files little mod 2021-01-18 21:00:02 +01:00
pavelfric
4fc7c1abd9 Updated Czech translations of elements. 2021-01-18 19:38:02 +01:00
plc-user
48fa67fc3d renamed element-directories 2021-01-18 05:33:35 +01:00
artgg7300
7fe26b5d1c translated hungarian element names 2021-01-17 19:33:39 +01:00
pavelfric
f726397038 Updated Czech translations of elements. 2021-01-17 18:06:28 +01:00
pavelfric
c78685e95f Updated Czech translations of elements. 2021-01-17 18:01:21 +01:00
pavelfric
ef5b17be6e Updated Czech translations of elements. 2021-01-17 09:32:54 +01:00
pavelfric
47d5862ab0 Updated Czech translations of elements. 2021-01-17 08:57:18 +01:00
pavelfric
30b733febe Updated Czech translations of elements. 2021-01-16 23:37:21 +01:00
pavelfric
61d7eb966c Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2021-01-16 22:17:35 +01:00
pavelfric
838003a25c Updated Czech translations of elements. 2021-01-16 22:16:51 +01:00
gleissonjoaquim3
753de5445b Added PT_BR translations of qet_directory 2021-01-16 21:57:22 +01:00
pavelfric
37fed57470 Updated Czech translations of elements. 2021-01-16 10:29:05 +01:00
pavelfric
bc2e91a271 Updated Czech translations of elements. 2021-01-16 10:16:26 +01:00
pavelfric
46b262243f Updated Czech translations of elements. 2021-01-15 18:57:08 +01:00
pavelfric
9281230ed7 Updated Czech translations of elements. 2021-01-15 18:45:19 +01:00
artgg7300
8111508090 translated hungarian element names 2021-01-14 20:40:34 +01:00
artgg7300
0deb58a3ff translated hungarian element names 2021-01-14 18:01:16 +01:00
pavelfric
4c356cd67a Updated Czech translations of elements. 2021-01-14 10:03:26 +01:00
pavelfric
c6af279b36 Updated Czech translations of group name. 2021-01-13 21:55:56 +01:00
pavelfric
e0353d0657 Update of Czech translation.Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2021-01-13 21:33:55 +01:00
pavelfric
6fcb0fec08 Updated Czech translations of elements. 2021-01-13 21:25:24 +01:00
artgg7300
3c26b1dfdb updated hungarian element names 2021-01-13 20:36:44 +01:00
pavelfric
d783ec66f5 Updated Czech translations of elements. 2021-01-13 20:11:20 +01:00
artgg7300
02b51ee4fa second attempt to commit translated hungarian element names 2021-01-13 06:10:39 +01:00
pavelfric
cf4d0dd2eb Updated Czech translations of elements. 2021-01-12 19:23:21 +01:00
Laurent Trinques
e8c2c29617 Revert "translated element names on hungarian lang"
This reverts commit 5f7f00f7ae.
2021-01-12 10:31:14 +01:00
artgg7300
ee7004a7d1 Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2021-01-11 21:45:34 +01:00
pavelfric
2c046975f3 Updated Czech translations of elements. 2021-01-11 21:39:27 +01:00
artgg7300
5f7f00f7ae translated element names on hungarian lang 2021-01-11 21:37:38 +01:00
pavelfric
577a7564dc Updated Czech translations of elements. 2021-01-10 20:21:45 +01:00
pavelfric
f54cd3ef7f Updated Czech translations of elements. 2021-01-10 18:24:57 +01:00
pavelfric
d7fdf188bf Updated Czech translations of elements. 2021-01-10 14:28:45 +01:00
Laurent Trinques
147137b24b Add new symbols, thanks gabor 2021-01-10 11:36:58 +01:00
joshua
4f455a5328 General configuration page : set 'appearance' as default tab 2021-01-08 18:26:55 +01:00
gleissonjoaquim3
a0b5feba08 Minor fixes in PT_BR translation 2021-01-08 05:55:34 +01:00
pavelfric
8c729b4732 Updated Czech translations of elements. 2021-01-07 21:29:20 +01:00
joshua
0a616088ea Dynamic text field editor : move kcolorbutton from ui file to cpp file
Kcolorbutton is not available in Qt6 for now.
We move it from the ui file to the cpp file for choose at compilation if
qet must use kcolorbutton or not.
2021-01-07 18:56:25 +01:00
pavelfric
58b7097748 Updated Czech translations of elements. 2021-01-06 20:35:44 +01:00
pavelfric
966a08f50f Updated Czech translations of elements. 2021-01-05 22:14:49 +01:00
Simon De Backer
2000b6cd2b Update Cmake and disable fail to compile if it uses deprecated APIs. 2021-01-04 20:38:57 +01:00
Simon De Backer
d3093f495b Revert "Mod DynamicTextFieldEditor"
This reverts commit f6d777e2f7.

it is preferable to keep the gui in the ui file
QT6 will have to wait.
2021-01-04 20:37:17 +01:00
pavelfric
55dfec41c3 Updated Czech translations of elements. 2021-01-04 18:25:24 +01:00
joshua
34baceb8da Fix bug 175
When use a "dark" Qt theme, some part of element are drawn white/gray
instead of black.
2021-01-03 23:30:48 +01:00
pavelfric
ade79b467a Updated Czech translations of elements. 2021-01-03 22:52:18 +01:00
plc-user
948915a47e further bug-fixing 2021-01-03 21:38:59 +01:00
plc-user
ba693420f3 some new elements 2021-01-03 15:22:54 +01:00
plc-user
63b43421a7 some bugfixing and optimizing of elements 2021-01-03 15:22:54 +01:00
joshua
0a8376c189 Fix bug 220
see https://qelectrotech.org/bugtracker/view.php?id=220
2021-01-02 20:11:47 +01:00
Simon De Backer
bf9123f9b5 Fix xml in Element (Catch from QElectroTech_Element_Updater)
I don't know how this could have happened, but it happened.
2021-01-01 15:28:41 +01:00
Laurent Trinques
20f9475a6e Update symbols 2021-01-01 14:42:46 +01:00
pavelfric
1badeceed4 Updated Czech translations of elements. 2021-01-01 13:41:50 +01:00
Laurent Trinques
344d898461 Add symbols 2021-01-01 13:13:44 +01:00
pavelfric
5730559ed0 Updated Czech elements translations. 2020-12-31 14:19:52 +01:00
plc-user
74342cb00d added manufacturer- and designation-info also to front-views 2020-12-22 09:53:32 +01:00
plc-user
c5fd14794f re-organized directory, added manufacturer- and designation-info and added some new elements 2020-12-22 09:53:32 +01:00
sdeffaux
401a5010be reorganized folder 2020-12-21 11:23:16 +01:00
sdeffaux
c8adffb696 Add symbols 2020-12-21 11:23:16 +01:00
Simon De Backer
0cc3099908 Mod TextEditor
the ui file is written in the TextEditor class
    Add switch for KF5 (QT6)
2020-12-18 17:39:00 +01:00
Simon De Backer
2e543dd1f7 Add create translation .ts file on Cmake 2020-12-18 17:05:41 +01:00
joshua
af3772b95a Element view : fix drag view 2020-12-17 23:39:35 +01:00
joshua
546db38683 Fix fail to build 2020-12-17 23:39:04 +01:00
Simon De Backer
404ae4fffc Add Cmake ui files in sdk 2020-12-17 21:43:23 +01:00
Simon De Backer
f6d777e2f7 Mod DynamicTextFieldEditor
the ui file is written in the Dynamic Text Field Editor class
Add switch for KF5 (QT6)
2020-12-17 21:42:18 +01:00
Simon De Backer
cb37c1c2fe Add switch for KF5 (QT6) and Mod Cmake
if we want to test QET on QT6, KF5 must be removed from the code,
this switch is for that,

this is for testing only
2020-12-16 23:06:08 +01:00
Simon De Backer
13db08ad56 Mod hoto_update_cmake_message 2020-12-15 21:30:25 +01:00
Simon De Backer
7fc9d06eef Fix Cmake translation files dir 2020-12-14 21:30:40 +01:00
Simon De Backer
842b39d68b Fix som Cmake PATH 2020-12-13 20:57:10 +01:00
Simon De Backer
8fb1cd0fa7 Add __FILE__ __LINE__ __FUNCTION__ to failed to load desired_language
qInstallMessageHandler(myMessageOutput);// for debugging
is only called later,so we have to get the info manually
2020-12-13 16:26:33 +01:00
Simon De Backer
2fc7f594cc Add Cmake files 2020-12-13 15:44:01 +01:00
Simon De Backer
c46caaf6e4 Fix Cmake dubbe
see cmake/define_definitions.cmake
2020-12-13 00:47:09 +01:00
Simon De Backer
c88d1ef6bb Refactoring Cmake
cleaning up the Cmake code
2020-12-13 00:40:43 +01:00
Simon De Backer
d2fb0d8ad1 Fix stop the run autotests of kcoreaddons
see
https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98

issue:
CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
  Cannot find source file:
see
https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
2020-12-11 23:57:17 +01:00
Simon De Backer
0207390ced Revert "Remove all qm files"
This reverts commit c2acbc88ed.

i will have to find another way for cmake
2020-12-11 23:43:15 +01:00
Simon De Backer
ce5cc25186 Fix stop the run autotests of kcoreaddons
see
https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98

issue:
CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
  Cannot find source file:
see
https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
2020-12-11 22:41:30 +01:00
Simon De Backer
74b112a4bb Mod KF5 v5.76.0 => v5.70.0
see https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
2020-12-11 18:05:21 +01:00
Simon De Backer
c2acbc88ed Remove all qm files
why:
they are created at compile time,
but the existing ones in src dir prevent the ones created in the buid dir
=> no qm files are shipped
2020-12-11 17:41:10 +01:00
Simon De Backer
6ec9a04fda Fix translation in Cmake 2020-12-11 17:29:05 +01:00
Simon De Backer
35ad994471 Mod more Cmake 2020-12-11 16:17:15 +01:00
Simon De Backer
83d802adf7 Mod Cmake first working build 2020-12-11 14:55:11 +01:00
Simon De Backer
aacbe57d51 Mod Pro file to close the gap with Cmake 2020-12-11 08:08:12 +01:00
Simon De Backer
62b71c0ba5 Fix more Cmake + Mod pragma message 2020-12-11 00:45:43 +01:00
Simon De Backer
eb49977c75 Fix som Cmake (add_definitions)
add_definitions(-DGIT_COMMIT_SHA=${GIT_COMMIT_SHA})
-DGIT_COMMIT_SHA=GIT_COMMIT_SHA
2020-12-11 00:16:49 +01:00
Simon De Backer
6da9c58458 Wip Fix preprocessor on Cmake 2020-12-10 21:19:45 +01:00
Simon De Backer
234f468f15 Fix GIT_COMMIT_SHA in Cmake 2020-12-10 21:18:42 +01:00
Simon De Backer
ed938c82cd Mod Cmake 2020-12-10 19:03:36 +01:00
Simon De Backer
6aa30d5f57 Add QPointF code did not build 2020-12-10 18:52:20 +01:00
Simon De Backer
d15443cf93 Wip Fix preprocessor on Cmake 2020-12-10 18:49:35 +01:00
Simon De Backer
3fe0adc66e QT6 QChar and int build error remove code for QT 6 or later!
this will have to be restored later.
2020-12-10 16:12:04 +01:00
Simon De Backer
d0c129478e Mod Cmake en preprocessor 2020-12-10 00:08:26 +01:00
Simon De Backer
4de9c1d922 Add Test google mock
for imitating QET on tests (a file, a netwerk link, ...)
2020-12-09 10:48:38 +01:00
Simon De Backer
d89d1088a3 Cmake for UI files auto link
this is one of the errors:
the ui files must be linked and changed to h files
so the h files found in the code by preprocessor
2020-12-09 10:40:12 +01:00
Simon De Backer
6556fbaf38 Add QT test to tests 2020-12-08 21:00:43 +01:00
Simon De Backer
c83388c1d5 Add Test files 2020-12-08 20:44:50 +01:00
Simon De Backer
10c4c3d528 Wip Fix preprocessor on Cmake 2020-12-08 19:57:35 +01:00
Simon De Backer
1871b7ad12 Add more Cmake 2020-12-08 15:20:48 +01:00
Simon De Backer
6cd6efaca9 Add Catch2 and Google Test on Cmake
ToDo:
- Add compiling QElectroTech on Cmake (help needed)
- more Tests?
   - Qt Test
   - Boost Test

to test
run qtcreator
File >  open => CMakeLists.txt
2020-12-08 12:18:20 +01:00
plc-user
b70775bc84 added elements to WAGO and corrected typo 2020-12-07 10:15:17 +01:00
Simon De Backer
cffec76018 Fix warning: implicit conversion from 'int' to 'float'
changes value from 2147483647 to 2147483648
/* The largest number rand will return (same as INT_MAX).  */
#define	RAND_MAX	2147483647

(static_cast<float>(quint32) / int * 8)
why cast an int to a float to then divide by an int?

just divide the int by an int.
2020-12-05 08:24:35 +01:00
Lars Biskupek
ebe22f1131 Update qet_de.ts
Translation string for "Tension / Protocole" set from unfinished to translated.
2020-12-05 03:56:55 +01:00
Lars Biskupek
f3888be8a6 Updated somne elements I created earlier 2020-12-05 03:56:55 +01:00
Simon De Backer
53aaa03967 fix QT DEPRECATED VERSION 5.15.2 and QT6
-QPrinter
2020-12-04 22:46:11 +01:00
Claveau Joshua
b22741732b Minor fix : folio-report information 'tension_protocol' isn't displayed
When a folio report have a text item witch must display the information
'tension protocol' the text is empty.
Replace the string 'tension/protocol' by 'tension_protocol' in
QETInformation namespace.
Move the static QStrings of the namespace QETInformation from
qetinformation.cpp to qetinformation.h to be use everywhere in the code.
2020-12-04 21:07:42 +01:00
Simon De Backer
77e6248ac9 fix QT DEPRECATED VERSION 5.15.2 and QT6
-QPrinter
2020-12-04 18:15:37 +01:00
Simon De Backer
ccd76f902d fix QT DEPRECATED VERSION 5.15.2
-Qt::MidButton
2020-12-04 18:13:48 +01:00
Lars Biskupek
945b690430 Update of German Language File 2020-12-03 18:02:15 +01:00
Claveau Joshua
0f86685ebe Remove duplicated elements 2020-12-02 20:04:01 +01:00
Claveau Joshua
862f311f5a Remove duplicated elements 2020-12-02 19:07:58 +01:00
Claveau Joshua
abc6b35d4c Remove duplicated elements 2020-12-02 18:57:08 +01:00
Claveau Joshua
ada563719b Minor fix 2020-12-02 18:47:28 +01:00
Laurent Trinques
ed455609d5 Add new symbols, thanks Mario 2020-12-02 14:27:27 +01:00
Laurent Trinques
2f004c271f Update displayed version to release candidate 2020-12-01 15:45:48 +01:00
gleissonjoaquim3
bafe7a39db Fixed spelling error on Translation PT_BR 2020-12-01 07:44:47 +01:00
gleissonjoaquim3
0b1e012a32 Updated translation PT_BR 2020-12-01 07:44:47 +01:00
Claveau Joshua
e0a03e7353 Remove duplicated elements 2020-11-29 12:49:04 +01:00
Claveau Joshua
68215d099c Remove duplicated elements 2020-11-29 12:37:56 +01:00
Claveau Joshua
3b472591b6 Remove duplicated elements 2020-11-29 11:59:20 +01:00
Claveau Joshua
d3cb7ef08c Remove duplicated elements 2020-11-29 11:51:16 +01:00
Claveau Joshua
049848737b Remove duplicated elements 2020-11-29 11:44:02 +01:00
Claveau Joshua
d3348e25be Remove duplicated elements 2020-11-29 11:06:06 +01:00
Claveau Joshua
764cdfea53 Remove duplicated elements 2020-11-29 11:00:04 +01:00
Claveau Joshua
b149e3e6ca Remove duplicated element 2020-11-29 10:55:36 +01:00
Claveau Joshua
7313cdfa9e Remove duplicated elements (hager)
All elements are duplicated and standardised
2020-11-29 10:47:58 +01:00
Claveau Joshua
fd92c1ce92 Remove duplicated elements. 2020-11-28 17:20:33 +01:00
Ole Carlsen
0ac96eecfc Danish update color scheme 2020-11-22 14:29:20 +01:00
Lars Biskupek
d02b88488a German translation updated
Two new strings in qet_de.ts translated.
qet_de.qm generated.
2020-11-22 13:39:49 +01:00
Ole Carlsen
87956d8d42 Merge branch 'master' of ssh://git.tuxfamily.org/gitroot/qet/qet 2020-11-22 12:22:52 +01:00
Ole Carlsen
ab1027eb5d Danish translation 2020-11-22 12:20:58 +01:00
Claveau Joshua
aa858ba32d project database : minor 2020-11-22 12:16:17 +01:00
Claveau Joshua
a303a38d0d ProjectDatabase improvement
Use transaction / commit when several elements was changed instead of
update one by one each element.
2020-11-22 11:31:43 +01:00
artgg7300
51bae7cdf1 translated hungarian files 2020-11-22 07:58:18 +01:00
dlee99
05dad2c8d8 modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2020-11-21 20:08:57 +01:00
Laurent Trinques
b457b98b22 Update *TS file 2020-11-21 11:35:08 +01:00
Claveau Joshua
8fec6dabef Dynamic element text item new feature
Add feature keep visual rotation.
When parent is rotated, the text rotation is changed to keep the same
visual rotation.
2020-11-20 20:52:19 +01:00
plc-user
f7e12e5e87 modified / added german translations and added some Elements 2020-11-20 14:56:00 +01:00
plc-user
689799ea24 modified / added german translations and added some Elements 2020-11-20 14:56:00 +01:00
Claveau Joshua
380de0b4c3 Search and replace widget : minor improvement
Fix 1 : when widget is reloaded the categories is not checked, but the
child items is. Now  all category is checked when reloaded.
Fix 2 : the folio number displayed in the widget is wrong (start at 0
instead of 1)
2020-11-17 22:25:01 +01:00
plc-user
3633123d17 changed/added some translations in qet_directory - files and elements 2020-11-17 21:43:10 +01:00
Lars Biskupek
66d45cc835 German language files updated
Translation of new items added
2020-11-17 21:41:31 +01:00
dlee99
56710ef25c modified: lang/qet_nl.qm
modified:   lang/qet_nl.ts
2020-11-17 21:19:15 +01:00
aitolos
77479dc949 Greek lang update 2020-11-17 17:43:34 +02:00
artgg7300
529c6a721a updated hungarian files 2020-11-17 05:32:27 +01:00
Laurent Trinques
fd3d2dfb90 Update *TS files 2020-11-16 21:59:28 +01:00
Lars Biskupek
d1aba1118b Update of language files DE, EN, IT
Update of german language file and some minor changes on the english language file.
Update of italian language to solve issue #0000193 on Bugtracker, issued by rpaolo538.
2020-11-16 10:10:27 +01:00
Simon De Backer
c4fe1fe3da Merge branch 'master' of ssh://debacker@git.tuxfamily.org/gitroot/qet/qet.git 2020-11-15 20:47:09 +01:00
Simon De Backer
c167015b22 Add Todo for qet_tb_generator 2020-11-15 20:46:37 +01:00
plc-user
48e597663e adjusting/correcting some item-numbers and adding some elements 2020-11-15 20:15:28 +01:00
plc-user
bd26e4bb9c adjusting/correcting some item-numbers and adding some elements 2020-11-15 20:15:28 +01:00
Simon De Backer
f7a445c0a7 Add Todo for DXF to GET-2020 2020-11-15 18:29:19 +01:00
Claveau Joshua
bb32c30004 Search and replace widget improvement
Add a popup menu to select the elements, conductors and texts of the
current selected diagram in the tree widget.
2020-11-15 17:19:42 +01:00
Claveau Joshua
79fa9c8ec5 improve qetinformation file 2020-11-15 12:19:37 +01:00
Claveau Joshua
a73d50d7d0 Fix wrong text 2020-11-15 11:49:24 +01:00
Claveau Joshua
af7d1df5ab Replace function by another one.
Replace function QETApp::elementInfoKeys() and
QETApp::elementInfoToVar(const QString &info) by function provided by
QETInformation.
2020-11-14 19:09:40 +01:00
Simon De Backer
c87fe8df2f Merge branch 'dev_submodule'
this sets the stage for submodules
submodules are not used at this time
2020-11-13 18:59:36 +01:00
Laurent Trinques
20911f215b Update de translations, thanks Lars 2020-11-13 08:30:27 +01:00
Laurent Trinques
b557aa0e98 Add and refresh Wago WAGO_Kontakttechnik directory, thanks Plc-user 2020-11-12 19:06:22 +01:00
Laurent Trinques
6b89349240 Minor: move lt4301tadac.elmt to pro-face directory 2020-11-12 13:29:04 +01:00
Laurent Trinques
6b54e45e3a Add Pro face element, thanks Fury 2020-11-12 09:33:13 +01:00
Laurent Trinques
fec3c70739 Add new Legrand Optimum & Netatmo element, thanks Arnaud 2020-11-11 10:12:14 +01:00
Ole Carlsen
a028724773 Danish update 2020-11-09 20:51:43 +01:00
Claveau Joshua
49b2e4ad0a Replace function by another one
Replace QETApp::diagramInfoKeys() by QETInformation::diagramInfoKeys()
and QETApp::diagramTranslatedInfoKey(str) by
QETInformation::translatedInfoKey(str)
2020-11-08 20:23:16 +01:00
Claveau Joshua
81efc5181b Minor replace function by another one
Replace QETApp::conductorInfoKeys() and
QETApp::conductorTranslatedInfoKey(const QString &key) by
QETInformation::conductorInfoKeys() and
QETInformation::translatedInfoKey
2020-11-08 19:44:21 +01:00
Claveau Joshua
6f60156e00 Change function QETApp::elementTranslatedInfoKey
Use the function QETInformation::translatedInfoKey(const QString &info)
instead of QETApp::elementTranslatedInfoKey(const QString &info).

The final goal is to remove all information from the QETApp and use
instea QETInformation who is dedicated to this
2020-11-08 19:16:02 +01:00
Claveau Joshua
7882c5734a Minor : fix little regression about folio report and displayed information 2020-11-08 19:05:11 +01:00
Martin Marmsoler
b32a295b0c fix issue when creating xml document 2020-10-20 12:01:55 +02:00
Martin Marmsoler
6251862f7a default color was wrong 2020-10-20 08:54:56 +02:00
Martin Marmsoler
793770a72a initialize TerminalData with nullpoint to not having an invalid value 2020-10-20 08:54:56 +02:00
Martin Marmsoler
aba16dc936 remove not needed variable 2020-10-20 08:54:56 +02:00
Martin Marmsoler
e5b8ba7e22 fix problems in partrectangle 2020-10-20 08:54:56 +02:00
Simon De Backer
dad32d5897 Add destructor to Machine_info class to fix segfault 2020-10-20 08:54:56 +02:00
Martin Marmsoler
9658a88c18 fix compile issues 2020-10-20 08:54:56 +02:00
Martin Marmsoler
12e301b887 replace 4 spaces by a tab 2020-10-20 08:54:56 +02:00
Martin Marmsoler
f3097fc537 rebase XMLProperties_New (c0d9bf9) to master 2020-10-20 08:54:14 +02:00
Martin Marmsoler
73b394527d replace tabs by 4 spaces 2020-10-20 08:53:43 +02:00
10814 changed files with 461569 additions and 297564 deletions

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

@@ -0,0 +1,20 @@
name: Publish Edge Snap
on:
push:
branches:
- master
jobs:
publish_amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- 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: edge

154
CMakeLists.txt Normal file
View File

@@ -0,0 +1,154 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
include(cmake/hoto_update_cmake_message.cmake)
cmake_minimum_required(VERSION 3.14...3.19 FATAL_ERROR)
project(qelectrotech
VERSION 0.9.0
DESCRIPTION "QET is a CAD/CAE editor focusing on schematics drawing features."
HOMEPAGE_URL "https://qelectrotech.org/"
LANGUAGES CXX)
include(cmake/copyright_message.cmake)
set(QET_DIR ${PROJECT_SOURCE_DIR})
# Add sub directories
option(PACKAGE_TESTS "Build the tests" ON)
if(PACKAGE_TESTS)
message("Add sub directory tests")
add_subdirectory(tests)
endif()
include(cmake/paths_compilation_installation.cmake)
include(cmake/start_options.cmake)
include(cmake/developer_options.cmake)
include(cmake/git_update_submodules.cmake)
include(cmake/git_last_commit_sha.cmake)
include(cmake/fetch_kdeaddons.cmake)
include(cmake/fetch_singleapplication.cmake)
include(cmake/fetch_pugixml.cmake)
include(cmake/qet_compilation_vars.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
SET(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(
QT
NAMES
Qt6
Qt5
COMPONENTS
${QET_COMPONENTS}
REQUIRED
)
find_package(
Qt${QT_VERSION_MAJOR}
COMPONENTS
${QET_COMPONENTS}
REQUIRED)
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt5_add_translation(QM_FILES ${TS_FILES})
# als laatse
include(cmake/define_definitions.cmake)
add_executable(
${PROJECT_NAME}
${QET_RES_FILES}
${QET_SRC_FILES}
${QM_FILES}
${QET_DIR}/qelectrotech.qrc
)
target_link_libraries(
${PROJECT_NAME}
PUBLIC
PRIVATE
pugixml::pugixml
SingleApplication::SingleApplication
${KF5_PRIVATE_LIBRARIES}
${QET_PRIVATE_LIBRARIES}
)
target_include_directories(
${PROJECT_NAME}
PRIVATE
${QET_DIR}/sources/titleblock
${QET_DIR}/sources/ui
${QET_DIR}/sources/qetgraphicsitem
${QET_DIR}/sources/qetgraphicsitem/ViewItem
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui
${QET_DIR}/sources/richtext
${QET_DIR}/sources/factory
${QET_DIR}/sources/properties
${QET_DIR}/sources/dvevent
${QET_DIR}/sources/editor
${QET_DIR}/sources/editor/esevent
${QET_DIR}/sources/editor/graphicspart
${QET_DIR}/sources/editor/ui
${QET_DIR}/sources/editor/UndoCommand
${QET_DIR}/sources/undocommand
${QET_DIR}/sources/diagramevent
${QET_DIR}/sources/ElementsCollection
${QET_DIR}/sources/ElementsCollection/ui
${QET_DIR}/sources/autoNum
${QET_DIR}/sources/autoNum/ui
${QET_DIR}/sources/ui/configpage
${QET_DIR}/sources/SearchAndReplace
${QET_DIR}/sources/SearchAndReplace/ui
${QET_DIR}/sources/NameList
${QET_DIR}/sources/NameList/ui
${QET_DIR}/sources/utils
${QET_DIR}/sources/pugixml
${QET_DIR}/sources/dataBase
${QET_DIR}/sources/dataBase/ui
${QET_DIR}/sources/factory/ui
${QET_DIR}/sources/print
)
install(TARGETS ${PROJECT_NAME})
if (NOT MINGW)
install(DIRECTORY ico/breeze-icons/16x16 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/22x22 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/32x32 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/48x48 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/64x64 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/128x128 DESTINATION ${QET_ICONS_PATH})
install(DIRECTORY ico/breeze-icons/256x256 DESTINATION ${QET_ICONS_PATH})
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/qelectrotech.xml DESTINATION share/mime/packages)
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
endif()

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

@@ -15,12 +15,12 @@ The main goal of the developers is to provide a libre, easy to use and effective
### Version
The current stable version is 0.70 and was released on 2019.07.13.
Once it has been officialy released, the stable version is always frozen and is no longer developed.
The current stable version is 0.80 and was released on 2021.02.21.
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.8), 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.9), which can also be [downloaded](https://qelectrotech.org/download.html).
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
@@ -28,11 +28,12 @@ The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licens
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/).
Here are the technical choices made for the software development:
@@ -153,6 +154,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.tuxfamily.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.tuxfamily.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,6 +220,6 @@ 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)
or at [leetchi.com](https://www.leetchi.com/c/qelectroteck)

View File

@@ -1,6 +1,98 @@
Changelog
=========
If by accident I have forgotten to credit someone in the CHANGELOG, email me and I will fix it.
__3.3.4__
---------
* Fix compilation under Qt 6.2+ and stricter Qt compile settings. - _Christoph Cullmann_
__3.3.3__
---------
* Support for Qt 6.3+ - Fixed deprecated `QCryptographicHash::addData()` that will only support `QByteArrayView` going further. - _Moody Liu_
__3.3.2__
---------
* Fixed crash caused by sending a `writeAck` on a removed connection. - _Nicolas Werner_
__3.3.1__
---------
* Added support for _AppImage_ dynamic executable paths. - _Michael Klein_
__3.3.0__
---------
* Fixed message fragmentation issue causing crashes and incorrectly / inconsistently received messages. - _Nils Jeisecke_
__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__
----------

View File

@@ -1,43 +1,50 @@
cmake_minimum_required(VERSION 3.1.0)
cmake_minimum_required(VERSION 3.12.0)
project(SingleApplication)
project(SingleApplication LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
# SingleApplication base class
set(QAPPLICATION_CLASS QCoreApplication CACHE STRING "Inheritance class for SingleApplication")
set_property(CACHE QAPPLICATION_CLASS PROPERTY STRINGS QApplication QGuiApplication QCoreApplication)
# Libary target
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
find_package(Qt5Network)
if(QAPPLICATION_CLASS STREQUAL QApplication)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication)
find_package(Qt5 COMPONENTS Gui REQUIRED)
else()
find_package(Qt5 COMPONENTS Core REQUIRED)
endif()
add_compile_definitions(QAPPLICATION_CLASS=${QAPPLICATION_CLASS})
set(QT_COMPONENTS Core Network)
set(QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Core Qt${QT_DEFAULT_MAJOR_VERSION}::Network)
# Link dependencies
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Network)
if(QAPPLICATION_CLASS STREQUAL QApplication)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets)
list(APPEND QT_COMPONENTS Widgets)
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Widgets)
elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Gui)
list(APPEND QT_COMPONENTS Gui)
list(APPEND QT_LIBRARIES Qt${QT_DEFAULT_MAJOR_VERSION}::Gui)
else()
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core)
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})
target_compile_definitions(${PROJECT_NAME} PRIVATE
QT_NO_CAST_TO_ASCII
QT_NO_CAST_FROM_ASCII
QT_NO_URL_CAST_FROM_STRING
QT_NO_CAST_FROM_BYTEARRAY
QT_USE_QSTRINGBUILDER
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
QT_NO_KEYWORDS
QT_NO_FOREACH
)

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) Itay Grudev 2015 - 2016
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

View File

@@ -1,7 +1,8 @@
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`.
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)
@@ -15,18 +16,6 @@ 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.
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.
You can use the library as if you use any other `QCoreApplication` derived
class:
@@ -43,11 +32,10 @@ int main( int argc, char* argv[] )
```
To include the library files I would recommend that you add it as a git
submodule to your project and include it's contents with a `.pri` file. Here is
how:
submodule to your project. Here is how:
```bash
git submodule add git@github.com:itay-grudev/SingleApplication.git singleapplication
git submodule add https://github.com/itay-grudev/SingleApplication.git singleapplication
```
**Qmake:**
@@ -66,13 +54,27 @@ 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
@@ -137,13 +139,22 @@ 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 )
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
@@ -152,7 +163,7 @@ 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.
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.*
@@ -171,7 +182,8 @@ 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
in milliseconds for blocking functions. Returns `true` if the message has been sent
successfully. If the message can't be sent or the function timeouts - returns `false`.
---
@@ -204,6 +216,22 @@ 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

View File

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

View File

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

@@ -2,8 +2,9 @@
int main(int argc, char *argv[])
{
// Allow secondary instances
SingleApplication app( argc, argv );
qWarning() << "Started a new instance";
return app.exec();
}

View File

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

@@ -82,27 +82,27 @@ Calculator::Calculator(QWidget *parent)
digitButtons[i] = createButton(QString::number(i), SLOT(digitClicked()));
}
Button *pointButton = createButton(tr("."), SLOT(pointClicked()));
Button *changeSignButton = createButton(tr("\302\261"), SLOT(changeSignClicked()));
Button *pointButton = createButton(".", SLOT(pointClicked()));
Button *changeSignButton = createButton("\302\261", SLOT(changeSignClicked()));
Button *backspaceButton = createButton(tr("Backspace"), SLOT(backspaceClicked()));
Button *clearButton = createButton(tr("Clear"), SLOT(clear()));
Button *clearAllButton = createButton(tr("Clear All"), SLOT(clearAll()));
Button *backspaceButton = createButton("Backspace", SLOT(backspaceClicked()));
Button *clearButton = createButton("Clear", SLOT(clear()));
Button *clearAllButton = createButton("Clear All", SLOT(clearAll()));
Button *clearMemoryButton = createButton(tr("MC"), SLOT(clearMemory()));
Button *readMemoryButton = createButton(tr("MR"), SLOT(readMemory()));
Button *setMemoryButton = createButton(tr("MS"), SLOT(setMemory()));
Button *addToMemoryButton = createButton(tr("M+"), SLOT(addToMemory()));
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(tr("\303\267"), SLOT(multiplicativeOperatorClicked()));
Button *timesButton = createButton(tr("\303\227"), SLOT(multiplicativeOperatorClicked()));
Button *minusButton = createButton(tr("-"), SLOT(additiveOperatorClicked()));
Button *plusButton = createButton(tr("+"), SLOT(additiveOperatorClicked()));
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(tr("Sqrt"), SLOT(unaryOperatorClicked()));
Button *powerButton = createButton(tr("x\302\262"), SLOT(unaryOperatorClicked()));
Button *reciprocalButton = createButton(tr("1/x"), SLOT(unaryOperatorClicked()));
Button *equalButton = createButton(tr("="), SLOT(equalClicked()));
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]
@@ -140,7 +140,7 @@ Calculator::Calculator(QWidget *parent)
mainLayout->addWidget(equalButton, 5, 5);
setLayout(mainLayout);
setWindowTitle(tr("Calculator"));
setWindowTitle("Calculator");
}
//! [6]
@@ -169,15 +169,15 @@ void Calculator::unaryOperatorClicked()
double operand = display->text().toDouble();
double result = 0.0;
if (clickedOperator == tr("Sqrt")) {
if (clickedOperator == "Sqrt") {
if (operand < 0.0) {
abortOperation();
return;
}
result = std::sqrt(operand);
} else if (clickedOperator == tr("x\302\262")) {
} else if (clickedOperator == "x\302\262") {
result = std::pow(operand, 2.0);
} else if (clickedOperator == tr("1/x")) {
} else if (clickedOperator == "1/x") {
if (operand == 0.0) {
abortOperation();
return;
@@ -287,7 +287,7 @@ void Calculator::pointClicked()
if (waitingForOperand)
display->setText("0");
if (!display->text().contains('.'))
display->setText(display->text() + tr("."));
display->setText(display->text() + ".");
waitingForOperand = false;
}
//! [22]
@@ -299,7 +299,7 @@ void Calculator::changeSignClicked()
double value = text.toDouble();
if (value > 0.0) {
text.prepend(tr("-"));
text.prepend("-");
} else if (value < 0.0) {
text.remove(0, 1);
}
@@ -383,20 +383,20 @@ Button *Calculator::createButton(const QString &text, const char *member)
void Calculator::abortOperation()
{
clearAll();
display->setText(tr("####"));
display->setText("####");
}
//! [36]
//! [38]
bool Calculator::calculate(double rightOperand, const QString &pendingOperator)
{
if (pendingOperator == tr("+")) {
if (pendingOperator == "+") {
sumSoFar += rightOperand;
} else if (pendingOperator == tr("-")) {
} else if (pendingOperator == "-") {
sumSoFar -= rightOperand;
} else if (pendingOperator == tr("\303\227")) {
} else if (pendingOperator == "\303\227") {
factorSoFar *= rightOperand;
} else if (pendingOperator == tr("\303\267")) {
} else if (pendingOperator == "\303\267") {
if (rightOperand == 0.0)
return false;
factorSoFar /= rightOperand;

View File

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

@@ -11,6 +11,9 @@ int main(int argc, char *argv[])
// 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(

View File

@@ -1,6 +1,6 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2018
// 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
@@ -20,32 +20,26 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
#include <QtCore/QTime>
#include <QtCore/QThread>
#include <QtCore/QDateTime>
#include <QtCore/QElapsedTimer>
#include <QtCore/QByteArray>
#include <QtCore/QSharedMemory>
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0) // ### Qt 6: remove
#else
#if TODO_LIST
#pragma message("@TODO remove code for QT 5.10 or later")
#endif
#include <QRandomGenerator>
#endif
#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 {bool} allowSecondaryInstances
*/
SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSecondary, Options options, int timeout )
* @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);
Q_D( SingleApplication );
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
// On Android and iOS since the library is not supported fallback to
@@ -57,10 +51,18 @@ SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSeconda
// 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.
@@ -72,71 +74,86 @@ SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSeconda
d->memory = new QSharedMemory( d->blockServerName );
// Create a shared memory block
if( d->memory->create( sizeof( InstancesInfo ) ) ) {
if( d->memory->create( sizeof( InstancesInfo ) )){
// Initialize the shared memory block
d->memory->lock();
if( ! d->memory->lock() ){
qCritical() << "SingleApplication: Unable to lock memory block after create.";
abortSafely();
}
d->initializeMemoryBlock();
d->memory->unlock();
} else {
if( d->memory->error() == QSharedMemory::AlreadyExists ){
// Attempt to attach to the memory segment
if( ! d->memory->attach() ) {
if( ! d->memory->attach() ){
qCritical() << "SingleApplication: Unable to attach to shared memory block.";
qCritical() << d->memory->errorString();
delete d;
::exit( EXIT_FAILURE );
abortSafely();
}
if( ! d->memory->lock() ){
qCritical() << "SingleApplication: Unable to lock memory block after attach.";
abortSafely();
}
} else {
qCritical() << "SingleApplication: Unable to create block.";
abortSafely();
}
}
InstancesInfo* inst = static_cast<InstancesInfo*>( d->memory->data() );
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 ) {
d->memory->lock();
while( true ){
// If the shared memory block's checksum is valid continue
if( d->blockChecksum() == inst->checksum ) break;
if( time.elapsed() > 5000 ) {
// 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();
}
d->memory->unlock();
// Random sleep here limits the probability of a collision between two racing apps
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0) // ### Qt 6: remove
qsrand( QDateTime::currentMSecsSinceEpoch() % std::numeric_limits<uint>::max() );
QThread::sleep( 8 + static_cast <unsigned long>( static_cast <float>( qrand() ) / RAND_MAX * 10 ) );
#else
#if TODO_LIST
#pragma message("@TODO remove code for QT 5.10 or later")
#endif
quint32 value = QRandomGenerator::global()->generate();
QThread::sleep( 8 + static_cast <unsigned long>( static_cast <float>( value ) / RAND_MAX * 10 ) );
#endif
// 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) {
if( inst->primary == false ){
d->startPrimary();
d->memory->unlock();
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 ) {
inst->secondary += 1;
inst->checksum = d->blockChecksum();
d->instanceNumber = inst->secondary;
if( allowSecondary ){
d->startSecondary();
if( d->options & Mode::SecondaryNotification ) {
if( d->options & Mode::SecondaryNotification ){
d->connectToPrimary( timeout, SingleApplicationPrivate::SecondaryInstance );
}
d->memory->unlock();
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory after secondary start.";
qDebug() << d->memory->errorString();
}
return;
}
d->memory->unlock();
if( ! d->memory->unlock() ){
qDebug() << "SingleApplication: Unable to unlock memory at end of execution.";
qDebug() << d->memory->errorString();
}
d->connectToPrimary( timeout, SingleApplicationPrivate::NewInstance );
@@ -145,51 +162,110 @@ SingleApplication::SingleApplication( int &argc, char *argv[], bool allowSeconda
::exit( EXIT_SUCCESS );
}
/**
@brief Destructor
*/
SingleApplication::~SingleApplication()
{
Q_D(SingleApplication);
Q_D( SingleApplication );
delete d;
}
bool SingleApplication::isPrimary()
/**
* Checks if the current application instance is primary.
* @return Returns true if the instance is primary, false otherwise.
*/
bool SingleApplication::isPrimary() const
{
Q_D(SingleApplication);
Q_D( const SingleApplication );
return d->server != nullptr;
}
bool SingleApplication::isSecondary()
/**
* Checks if the current application instance is secondary.
* @return Returns true if the instance is secondary, false otherwise.
*/
bool SingleApplication::isSecondary() const
{
Q_D(SingleApplication);
Q_D( const SingleApplication );
return d->server == nullptr;
}
quint32 SingleApplication::instanceId()
/**
* 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(SingleApplication);
Q_D( const SingleApplication );
return d->instanceNumber;
}
qint64 SingleApplication::primaryPid()
/**
* 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(SingleApplication);
Q_D( const SingleApplication );
return d->primaryPid();
}
bool SingleApplication::sendMessage( QByteArray message, int timeout )
/**
* 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(SingleApplication);
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 successfully, 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
d->connectToPrimary( timeout, SingleApplicationPrivate::Reconnect );
if( ! d->connectToPrimary( timeout, SingleApplicationPrivate::Reconnect ) )
return false;
d->socket->write( message );
bool dataWritten = d->socket->waitForBytesWritten( timeout );
d->socket->flush();
return dataWritten;
return d->writeConfirmedMessage( timeout, message );
}
/**
* 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

@@ -25,7 +25,6 @@
#include <QtCore/QtGlobal>
#include <QtNetwork/QLocalSocket>
#include <QElapsedTimer>
#ifndef QAPPLICATION_CLASS
#define QAPPLICATION_CLASS QCoreApplication
@@ -36,26 +35,26 @@
class SingleApplicationPrivate;
/**
@brief The SingleApplication class handles multiple instances of the same
Application
@see QCoreApplication
*/
* @brief The SingleApplication class handles multiple instances of the same
* Application
* @see QCoreApplication
*/
class SingleApplication : public QAPPLICATION_CLASS
{
Q_OBJECT
typedef QAPPLICATION_CLASS app_t;
using app_t = QAPPLICATION_CLASS;
public:
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
* @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,
@@ -67,68 +66,87 @@ class SingleApplication : public QAPPLICATION_CLASS
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
* @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 );
~SingleApplication();
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}
* @brief Returns if the instance is the primary instance
* @returns {bool}
*/
bool isPrimary();
bool isPrimary() const;
/**
@brief Returns if the instance is a secondary instance
@returns {bool}
* @brief Returns if the instance is a secondary instance
* @returns {bool}
*/
bool isSecondary();
bool isSecondary() const;
/**
@brief Returns a unique identifier for the current instance
@returns {qint32}
* @brief Returns a unique identifier for the current instance
* @returns {qint32}
*/
quint32 instanceId();
quint32 instanceId() const;
/**
@brief Returns the process ID (PID) of the primary instance
@returns {qint64}
* @brief Returns the process ID (PID) of the primary instance
* @returns {qint64}
*/
qint64 primaryPid();
qint64 primaryPid() 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.
* @brief Returns the username of the user running the primary instance
* @returns {QString}
*/
bool sendMessage( QByteArray message, int timeout = 100 );
QString primaryUser() const;
Q_SIGNALS:
/**
* @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:
private:
SingleApplicationPrivate *d_ptr;
Q_DECLARE_PRIVATE(SingleApplication)
void abortSafely();
};
Q_DECLARE_OPERATORS_FOR_FLAGS(SingleApplication::Options)

View File

@@ -1,7 +1,8 @@
QT += core network
CONFIG += c++17
CONFIG += c++11
HEADERS += $$PWD/singleapplication.h \
HEADERS += $$PWD/SingleApplication \
$$PWD/singleapplication.h \
$$PWD/singleapplication_p.h
SOURCES += $$PWD/singleapplication.cpp \
$$PWD/singleapplication_p.cpp

View File

@@ -1,6 +1,6 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2018
// 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
@@ -33,12 +33,20 @@
#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"
@@ -49,8 +57,11 @@
#endif
#ifdef Q_OS_WIN
#include <windows.h>
#include <lmcons.h>
#ifndef NOMINMAX
#define NOMINMAX 1
#endif
#include <windows.h>
#include <lmcons.h>
#endif
SingleApplicationPrivate::SingleApplicationPrivate( SingleApplication *q_ptr )
@@ -59,94 +70,130 @@ SingleApplicationPrivate::SingleApplicationPrivate( SingleApplication *q_ptr )
server = nullptr;
socket = nullptr;
memory = nullptr;
instanceNumber = -1;
instanceNumber = 0;
}
SingleApplicationPrivate::~SingleApplicationPrivate()
{
if( socket != nullptr ) {
if( socket != nullptr ){
socket->close();
delete socket;
}
if( memory != nullptr ){
memory->lock();
InstancesInfo* inst = static_cast<InstancesInfo*>(memory->data());
if( server != nullptr ) {
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 );
#if QT_VERSION < QT_VERSION_CHECK(6, 3, 0)
appData.addData( "SingleApplication", 17 );
#else
appData.addData( QByteArrayView{"SingleApplication"} );
#endif
appData.addData( SingleApplication::app_t::applicationName().toUtf8() );
appData.addData( SingleApplication::app_t::organizationName().toUtf8() );
appData.addData( SingleApplication::app_t::organizationDomain().toUtf8() );
if( ! (options & SingleApplication::Mode::ExcludeAppVersion) ) {
if ( ! appDataList.isEmpty() )
appData.addData( appDataList.join(QString()).toUtf8() );
if( ! (options & SingleApplication::Mode::ExcludeAppVersion) ){
appData.addData( SingleApplication::app_t::applicationVersion().toUtf8() );
}
if( ! (options & SingleApplication::Mode::ExcludeAppPath) ) {
#ifdef Q_OS_WIN
if( ! (options & SingleApplication::Mode::ExcludeAppPath) ){
#if defined(Q_OS_WIN)
appData.addData( SingleApplication::app_t::applicationFilePath().toLower().toUtf8() );
#elif defined(Q_OS_LINUX)
// If the application is running as an AppImage then the APPIMAGE env var should be used
// instead of applicationPath() as each instance is launched with its own executable path
const QByteArray appImagePath = qgetenv( "APPIMAGE" );
if( appImagePath.isEmpty() ){ // Not running as AppImage: use path to executable file
appData.addData( SingleApplication::app_t::applicationFilePath().toUtf8() );
} else { // Running as AppImage: Use absolute path to AppImage file
appData.addData( appImagePath );
};
#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 ) {
#ifdef Q_OS_WIN
wchar_t username [ UNLEN + 1 ];
// Specifies size of the buffer on input
DWORD usernameLength = UNLEN + 1;
if( GetUserNameW( username, &usernameLength ) ) {
appData.addData( QString::fromWCharArray(username).toUtf8() );
} else {
appData.addData( qgetenv("USERNAME") );
}
#endif
#ifdef Q_OS_UNIX
QByteArray username;
uid_t uid = geteuid();
struct passwd *pw = getpwuid(uid);
if( pw ) {
username = pw->pw_name;
}
if( username.isEmpty() ) {
username = qgetenv("USER");
}
appData.addData(username);
#endif
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("/", "_");
blockServerName = QString::fromUtf8(appData.result().toBase64().replace("/", "_"));
}
void SingleApplicationPrivate::initializeMemoryBlock()
void SingleApplicationPrivate::initializeMemoryBlock() const
{
InstancesInfo* inst = static_cast<InstancesInfo*>( memory->data() );
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()
{
Q_Q(SingleApplication);
// 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 );
@@ -154,7 +201,7 @@ void SingleApplicationPrivate::startPrimary()
// Restrict access to the socket according to the
// SingleApplication::Mode::User flag on User level or no restrictions
if( options & SingleApplication::Mode::User ) {
if( options & SingleApplication::Mode::User ){
server->setSocketOptions( QLocalServer::UserAccessOption );
} else {
server->setSocketOptions( QLocalServer::WorldAccessOption );
@@ -167,47 +214,51 @@ void SingleApplicationPrivate::startPrimary()
this,
&SingleApplicationPrivate::slotConnectionEstablished
);
// Reset the number of connections
InstancesInfo* inst = static_cast <InstancesInfo*>( memory->data() );
inst->primary = true;
inst->primaryPid = q->applicationPid();
inst->checksum = blockChecksum();
instanceNumber = 0;
}
void SingleApplicationPrivate::startSecondary()
{
auto *inst = static_cast <InstancesInfo*>( memory->data() );
inst->secondary += 1;
inst->checksum = blockChecksum();
instanceNumber = inst->secondary;
}
void SingleApplicationPrivate::connectToPrimary( int msecs, ConnectionType connectionType )
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 ) {
if( socket == nullptr ){
socket = new QLocalSocket();
}
// If already connected - we are done;
if( socket->state() == QLocalSocket::ConnectedState )
return;
if( socket->state() == QLocalSocket::ConnectedState ) return true;
// If not connect
if( socket->state() == QLocalSocket::UnconnectedState ||
socket->state() == QLocalSocket::ClosingState ) {
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()) );
}
// Wait for being connected
if( socket->state() == QLocalSocket::ConnectingState ) {
socket->waitForConnected( msecs );
// 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
if( socket->state() == QLocalSocket::ConnectedState ) {
// Notify the parent that a new instance had been started;
QByteArray initMsg;
QDataStream writeStream(&initMsg, QIODevice::WriteOnly);
@@ -218,105 +269,127 @@ void SingleApplicationPrivate::connectToPrimary( int msecs, ConnectionType conne
writeStream << blockServerName.toLatin1();
writeStream << static_cast<quint8>(connectionType);
writeStream << instanceNumber;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
quint16 checksum =
qChecksum(
initMsg.constData(),
static_cast<quint32>(initMsg.length()));
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
quint16 checksum = qChecksum(QByteArray(initMsg.constData(), static_cast<quint32>(initMsg.length())));
#else
#if TODO_LIST
#pragma message("@TODO remove code for QT 6 or later")
#endif
quint16 checksum =
qChecksum(
QByteArrayView(
initMsg.constData(),
static_cast<quint32>(initMsg.length())));
quint16 checksum = qChecksum(initMsg.constData(), static_cast<quint32>(initMsg.length()));
#endif
writeStream << checksum;
// The header indicates the message length that follows
return writeConfirmedMessage( static_cast<int>(msecs - time.elapsed()), initMsg );
}
void SingleApplicationPrivate::writeAck( QLocalSocket *sock ) {
sock->putChar('\n');
}
bool SingleApplicationPrivate::writeConfirmedMessage (int msecs, const QByteArray &msg)
{
QElapsedTimer time;
time.start();
// Frame 1: 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() );
headerStream << static_cast <quint64>( msg.length() );
socket->write( header );
socket->write( initMsg );
socket->flush();
socket->waitForBytesWritten( msecs );
}
if( ! writeConfirmedFrame( static_cast<int>(msecs - time.elapsed()), header ))
return false;
// Frame 2: The message
return writeConfirmedFrame( static_cast<int>(msecs - time.elapsed()), msg );
}
quint16 SingleApplicationPrivate::blockChecksum()
bool SingleApplicationPrivate::writeConfirmedFrame( int msecs, const QByteArray &msg )
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
return qChecksum(
static_cast <const char *>( memory->data() ),
offsetof( InstancesInfo, checksum )
);
#else
#if TODO_LIST
#pragma message("@TODO remove code for QT 6 or later")
#endif
return qChecksum(
QByteArrayView(
static_cast <const char *>( memory->data() ),
offsetof( InstancesInfo, checksum )));
socket->write( msg );
socket->flush();
#endif
bool result = socket->waitForReadyRead( msecs ); // await ack byte
if (result) {
socket->read( 1 );
return true;
}
return false;
}
qint64 SingleApplicationPrivate::primaryPid()
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();
InstancesInfo* inst = static_cast<InstancesInfo*>( memory->data() );
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
*/
* @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]() {
QObject::connect(nextConnSocket, &QLocalSocket::aboutToClose, this,
[nextConnSocket, this](){
auto &info = connectionMap[nextConnSocket];
Q_EMIT this->slotClientConnectionClosed( nextConnSocket, info.instanceId );
this->slotClientConnectionClosed( nextConnSocket, info.instanceId );
}
);
QObject::connect(nextConnSocket, &QLocalSocket::disconnected,
QObject::connect(nextConnSocket, &QLocalSocket::disconnected, nextConnSocket, &QLocalSocket::deleteLater);
QObject::connect(nextConnSocket, &QLocalSocket::destroyed, this,
[nextConnSocket, this](){
connectionMap.remove(nextConnSocket);
nextConnSocket->deleteLater();
}
);
QObject::connect(nextConnSocket, &QLocalSocket::readyRead,
[nextConnSocket, this]() {
QObject::connect(nextConnSocket, &QLocalSocket::readyRead, this,
[nextConnSocket, this](){
auto &info = connectionMap[nextConnSocket];
switch(info.stage) {
case StageHeader:
readInitMessageHeader(nextConnSocket);
switch(info.stage){
case StageInitHeader:
readMessageHeader( nextConnSocket, StageInitBody );
break;
case StageBody:
case StageInitBody:
readInitMessageBody(nextConnSocket);
break;
case StageConnected:
Q_EMIT this->slotDataAvailable( nextConnSocket, info.instanceId );
case StageConnectedHeader:
readMessageHeader( nextConnSocket, StageConnectedBody );
break;
case StageConnectedBody:
this->slotDataAvailable( nextConnSocket, info.instanceId );
break;
default:
break;
@@ -325,13 +398,13 @@ void SingleApplicationPrivate::slotConnectionEstablished()
);
}
void SingleApplicationPrivate::readInitMessageHeader( QLocalSocket *sock )
void SingleApplicationPrivate::readMessageHeader( QLocalSocket *sock, SingleApplicationPrivate::ConnectionStage nextStage )
{
if (!connectionMap.contains( sock )) {
if (!connectionMap.contains( sock )){
return;
}
if( sock->bytesAvailable() < ( qint64 )sizeof( quint64 ) ) {
if( sock->bytesAvailable() < ( qint64 )sizeof( quint64 ) ){
return;
}
@@ -345,29 +418,35 @@ void SingleApplicationPrivate::readInitMessageHeader( QLocalSocket *sock )
quint64 msgLen = 0;
headerStream >> msgLen;
ConnectionInfo &info = connectionMap[sock];
info.stage = StageBody;
info.stage = nextStage;
info.msgLen = msgLen;
if ( sock->bytesAvailable() >= (qint64) msgLen ) {
readInitMessageBody( sock );
writeAck( sock );
}
bool SingleApplicationPrivate::isFrameComplete( QLocalSocket *sock )
{
if (!connectionMap.contains( sock )){
return false;
}
ConnectionInfo &info = connectionMap[sock];
if( sock->bytesAvailable() < ( qint64 )info.msgLen ){
return false;
}
return true;
}
void SingleApplicationPrivate::readInitMessageBody( QLocalSocket *sock )
{
Q_Q(SingleApplication);
if (!connectionMap.contains( sock )) {
if( !isFrameComplete( sock ) )
return;
}
ConnectionInfo &info = connectionMap[sock];
if( sock->bytesAvailable() < ( qint64 )info.msgLen ) {
return;
}
// Read the message body
QByteArray msgBytes = sock->read(info.msgLen);
QByteArray msgBytes = sock->readAll();
QDataStream readStream(msgBytes);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
@@ -392,32 +471,24 @@ void SingleApplicationPrivate::readInitMessageBody( QLocalSocket *sock )
quint16 msgChecksum = 0;
readStream >> msgChecksum;
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
const quint16 actualChecksum =
qChecksum(
msgBytes.constData(),
static_cast<quint32>( msgBytes.length() - sizeof( quint16 ) ) );
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
const quint16 actualChecksum = qChecksum(QByteArray(msgBytes.constData(), static_cast<quint32>(msgBytes.length() - sizeof(quint16))));
#else
#if TODO_LIST
#pragma message("@TODO remove code for QT 6 or later")
#endif
const quint16 actualChecksum =
qChecksum(
QByteArrayView(
msgBytes.constData(),
static_cast<quint32>(msgBytes.length() - sizeof(quint16))));
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 ) {
if( !isValid ){
sock->close();
return;
}
ConnectionInfo &info = connectionMap[sock];
info.instanceId = instanceId;
info.stage = StageConnected;
info.stage = StageConnectedHeader;
if( connectionType == NewInstance ||
( connectionType == SecondaryInstance &&
@@ -426,19 +497,48 @@ void SingleApplicationPrivate::readInitMessageBody( QLocalSocket *sock )
Q_EMIT q->instanceStarted();
}
if (sock->bytesAvailable() > 0) {
Q_EMIT this->slotDataAvailable( sock, instanceId );
}
writeAck( sock );
}
void SingleApplicationPrivate::slotDataAvailable( QLocalSocket *dataSocket, quint32 instanceId )
{
Q_Q(SingleApplication);
Q_EMIT q->receivedMessage( instanceId, dataSocket->readAll() );
if ( !isFrameComplete( dataSocket ) )
return;
const QByteArray message = dataSocket->readAll();
writeAck( dataSocket );
ConnectionInfo &info = connectionMap[dataSocket];
info.stage = StageConnectedHeader;
Q_EMIT q->receivedMessage( instanceId, message);
}
void SingleApplicationPrivate::slotClientConnectionClosed( QLocalSocket *closedSocket, quint32 instanceId )
{
if( closedSocket->bytesAvailable() > 0 )
Q_EMIT slotDataAvailable( closedSocket, instanceId );
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( qrand() % 11 + 8);
#endif
}
void SingleApplicationPrivate::addAppData(const QString &data)
{
appDataList.push_back(data);
}
QStringList SingleApplicationPrivate::appData() const
{
return appDataList;
}

View File

@@ -1,6 +1,6 @@
// The MIT License (MIT)
//
// Copyright (c) Itay Grudev 2015 - 2016
// 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
@@ -41,20 +41,19 @@ struct InstancesInfo {
bool primary;
quint32 secondary;
qint64 primaryPid;
quint16 checksum;
char primaryUser[128];
quint16 checksum; // Must be the last field
};
struct ConnectionInfo {
explicit ConnectionInfo() :
msgLen(0), instanceId(0), stage(0) {}
qint64 msgLen;
quint32 instanceId;
quint8 stage;
qint64 msgLen = 0;
quint32 instanceId = 0;
quint8 stage = 0;
};
class SingleApplicationPrivate : public QObject {
Q_OBJECT
public:
Q_OBJECT
public:
enum ConnectionType : quint8 {
InvalidConnection = 0,
NewInstance = 1,
@@ -62,24 +61,34 @@ class SingleApplicationPrivate : public QObject {
Reconnect = 3
};
enum ConnectionStage : quint8 {
StageHeader = 0,
StageBody = 1,
StageConnected = 2,
StageInitHeader = 0,
StageInitBody = 1,
StageConnectedHeader = 2,
StageConnectedBody = 3,
};
Q_DECLARE_PUBLIC(SingleApplication)
SingleApplicationPrivate( SingleApplication *q_ptr );
~SingleApplicationPrivate();
~SingleApplicationPrivate() override;
static QString getUsername();
void genBlockServerName();
void initializeMemoryBlock();
void initializeMemoryBlock() const;
void startPrimary();
void startSecondary();
void connectToPrimary(int msecs, ConnectionType connectionType );
quint16 blockChecksum();
qint64 primaryPid();
void readInitMessageHeader(QLocalSocket *socket);
bool connectToPrimary( int msecs, ConnectionType connectionType );
quint16 blockChecksum() const;
qint64 primaryPid() const;
QString primaryUser() const;
bool isFrameComplete(QLocalSocket *sock);
void readMessageHeader(QLocalSocket *socket, ConnectionStage nextStage);
void readInitMessageBody(QLocalSocket *socket);
void writeAck(QLocalSocket *sock);
bool writeConfirmedFrame(int msecs, const QByteArray &msg);
bool writeConfirmedMessage(int msecs, const QByteArray &msg);
static void randomSleep();
void addAppData(const QString &data);
QStringList appData() const;
SingleApplication *q_ptr;
QSharedMemory *memory;
@@ -89,8 +98,9 @@ class SingleApplicationPrivate : public QObject {
QString blockServerName;
SingleApplication::Options options;
QMap<QLocalSocket*, ConnectionInfo> connectionMap;
QStringList appDataList;
public Q_SLOTS:
public Q_SLOTS:
void slotConnectionEstablished();
void slotDataAvailable( QLocalSocket*, quint32 );
void slotClientConnectionClosed( QLocalSocket*, quint32 );

View File

@@ -1,7 +1,7 @@
{
"id": "org.qelectrotech.QElectroTech",
"runtime": "org.kde.Platform",
"runtime-version": "5.14",
"runtime-version": "5.15",
"sdk": "org.kde.Sdk",
"command": "qelectrotech",
"rename-desktop-file": "qelectrotech.desktop",
@@ -10,17 +10,63 @@
"copy-icon": true,
"finish-args": [
"--socket=wayland",
"--socket=x11",
"--socket=fallback-x11",
"--device=dri",
"--share=ipc",
"--share=network",
"--socket=cups",
"--filesystem=host"
],
"modules": [
{
"name": "tkinter",
"buildsystem": "simple",
"build-commands": [
"pip3 install --prefix=${FLATPAK_DEST} ."
],
"sources": [
{
"type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "2301112d142ebaf7532b25600c77d1a2edc9ef04"
}
],
"modules": [
{
"name": "tcl",
"sources": [
{
"type": "archive",
"url": "https://sourceforge.net/projects/tcl/files/Tcl/8.6.11/tcl8.6.11-src.tar.gz",
"sha256": "8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258"
}
],
"subdir": "unix",
"post-install": [
"chmod +w ${FLATPAK_DEST}/lib/libtcl8.6.so"
]
},
{
"name": "tk",
"sources": [
{
"type": "archive",
"url": "https://sourceforge.net/projects/tcl/files/Tcl/8.6.11/tk8.6.11-src.tar.gz",
"sha256": "5228a8187a7f70fa0791ef0f975270f068ba9557f57456f51eb02d9d4ea31282"
}
],
"subdir": "unix",
"post-install": [
"chmod +w ${FLATPAK_DEST}/lib/libtk8.6.so"
]
}
]
},
{
"name": "qelectrotech",
"buildsystem": "qmake",
"post-install": [
"mv /app/share/mime/packages/qelectrotech.xml /app/share/mime/packages/org.qelectrotech.QElectroTech.xml"
"mv ${FLATPAK_DEST}/share/mime/packages/qelectrotech.xml ${FLATPAK_DEST}/share/mime/packages/org.qelectrotech.QElectroTech.xml"
],
"sources": [
{
@@ -32,6 +78,34 @@
"path": "patches/0001-build-Fix-the-installation-paths.patch"
}
]
},
{
"name": "python3-PySimpleGUI",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} PySimpleGUI"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/d0/c3/c1ce811a1e48d5e0f2df0b393ff189fae4842ec840bb6e4db79c8da55e74/PySimpleGUI-4.41.2.tar.gz",
"sha256": "cf42d9f61f28c8e790a9c031ce900a9cee5fd2f950da2f055ed36bbc487dcf11"
}
]
},
{
"name": "python3-qet-tb-generator",
"buildsystem": "simple",
"build-commands": [
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} qet-tb-generator"
],
"sources": [
{
"type": "file",
"url": "https://files.pythonhosted.org/packages/70/aa/ebde0dddfbde799a4e8cf0564e52f95089105a7f562739ee1d16ff5a495a/qet_tb_generator-1.3.1.tar.gz",
"sha256": "52c9836387d54bc30ea29272068ec156fc65c3905e0cb863afd9418abc3c0907"
}
]
}
]
}

View File

@@ -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

18
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"
@@ -23,12 +13,4 @@ fi
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: core20
adopt-info: qelectrotech
license: GPL-2.0
summary: Electrical diagram editor
@@ -10,6 +10,7 @@ description: |
grade: stable
confinement: strict
compression: lzo
architectures:
- build-on: amd64
@@ -30,15 +31,14 @@ apps:
extensions: [kde-neon]
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control]
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.8/site-packages:$SNAP/usr/lib/python3.8:$SNAP/usr/lib/python3.8/lib-dynload
qet-tb-generator:
command: bin/qelectrotech-launch $SNAP/bin/qet_tb_generator
command: bin/qet_tb_generator
command-chain:
- bin/qelectrotech-launch
extensions: [kde-neon]
plugs: *plugs
environment: *env
@@ -58,8 +58,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,14 +68,14 @@ parts:
kde-sdk-setup:
plugin: nil
build-snaps:
- kde-frameworks-5-core18-sdk
- kde-frameworks-5-qt-5-15-3-core20-sdk
build-packages:
- g++
- mesa-common-dev
- libglvnd-dev
- rsync
override-build: |
rsync -a --ignore-existing /snap/kde-frameworks-5-core18-sdk/current/ /
rsync -a --ignore-existing /snap/kde-frameworks-5-qt-5-15-3-core20-sdk/current/ /
dxf-to-qet:
after: [kde-sdk-setup]
@@ -91,19 +91,18 @@ parts:
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"
override-build: |
displayed_version=$(grep "displayedVersion" sources/qet.h | tr -d "\";" | cut -d" " -f5)
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
snapcraftctl set-version "$snap_version"
override-build: |
qmake "$SNAPCRAFT_PART_SRC/qelectrotech.pro"
make -j$(nproc)
make -j${SNAPCRAFT_PARALLEL_BUILD_COUNT}
make install INSTALL_ROOT="$SNAPCRAFT_PART_INSTALL"
override-stage: |
snapcraftctl stage
@@ -114,11 +113,14 @@ parts:
cleanup:
after: [qelectrotech, dxf-to-qet, qet-tb-generator]
plugin: nil
build-snaps: [core18, kde-frameworks-5-core18]
build-snaps: [kde-frameworks-5-qt-5-15-3-core20]
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 "kde-frameworks-5-qt-5-15-3-core20"; do # List all content-snaps you're using here
cd "/snap/$snap/current" && find . -type f,l -exec rm -f "$SNAPCRAFT_PRIME/{}" "$SNAPCRAFT_PRIME/usr/{}" \;
done
for cruft in bug lintian man; do
rm -rf $SNAPCRAFT_PRIME/usr/share/$cruft
done
find $SNAPCRAFT_PRIME/usr/share/doc/ -type f -not -name 'copyright' -delete
find $SNAPCRAFT_PRIME/usr/share -type d -empty -delete

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

View File

@@ -0,0 +1,34 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(
"_____________________________________________________________________"
"\nCopyright 2006 The QElectroTech Team"
"\nThis file is part of QElectroTech."
"\n\nQElectroTech is free software: you can redistribute it and/or modify"
"\nit under the terms of the GNU General Public License as published by"
"\nthe Free Software Foundation, either version 2 of the License, or"
"\n(at your option) any later version."
"\nQElectroTech is distributed in the hope that it will be useful,"
"\nbut WITHOUT ANY WARRANTY; without even the implied warranty of"
"\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
"\nGNU General Public License for more details."
"\n\nYou should have received a copy of the GNU General Public License"
"\nalong with QElectroTech. If not, see <http://www.gnu.org/licenses/>.\n"
"_____________________________________________________________________")

View File

@@ -0,0 +1,71 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
# Paths used for compilation and installation of QET
message(" - define_definitions")
message("Paths used for compilation and installation of QET")
message("--------------------------------------------------")
message("COMPIL_PREFIX " ${COMPIL_PREFIX})
message("INSTALL_PREFIX " ${INSTALL_PREFIX})
message("QET_BINARY_PATH " ${QET_BINARY_PATH})
if(${QET_COMMON_COLLECTION_PATH} STRGREATER "")
message("QET_COMMON_COLLECTION_PATH " ${INSTALL_PREFIX}${QET_COMMON_COLLECTION_PATH})
add_definitions(-DQET_COMMON_COLLECTION_PATH=${INSTALL_PREFIX}${QET_COMMON_COLLECTION_PATH})
endif()
if(${QET_COMMON_TBT_PATH} STRGREATER "")
message("QET_COMMON_TBT_PATH " ${INSTALL_PREFIX}${QET_COMMON_TBT_PATH})
add_definitions(-DQET_COMMON_TBT_PATH=${INSTALL_PREFIX}${QET_COMMON_TBT_PATH})
endif()
if(${QET_LANG_PATH_RELATIVE_TO_BINARY_PATH})
add_definitions(-DQET_LANG_PATH_RELATIVE_TO_BINARY_PATH)
endif()
if(${QET_LANG_PATH} STRGREATER "")
message("QET_LANG_PATH " ${INSTALL_PREFIX}${QET_LANG_PATH})
add_definitions(-DQET_LANG_PATH=${INSTALL_PREFIX}${QET_LANG_PATH})
endif()
if (NOT MINGW)
if(${QET_EXAMPLES_PATH} STRGREATER "")
message("QET_EXAMPLES_PATH " ${INSTALL_PREFIX}${QET_EXAMPLES_PATH})
add_definitions(-DQET_EXAMPLES_PATH=${INSTALL_PREFIX}${QET_EXAMPLES_PATH})
endif()
endif()
message("QET_LICENSE_PATH " ${QET_LICENSE_PATH})
message("QET_MIME_PACKAGE_PATH " ${QET_MIME_PACKAGE_PATH})
message("QET_DESKTOP_PATH " ${QET_DESKTOP_PATH})
message("QET_ICONS_PATH " ${QET_ICONS_PATH})
message("QET_MAN_PATH " ${QET_MAN_PATH})
message("QET_APPDATA_PATH " ${QET_APPDATA_PATH})
message("ICON " ${ICON})
message("--------------------------------------------------")
message("PROJECT_NAME :" ${PROJECT_NAME})
message("PROJECT_VERSION :" ${PROJECT_VERSION})
message("PROJECT_DESCRIPTION :" ${PROJECT_DESCRIPTION})
message("PROJECT_HOMEPAGE_URL :" ${PROJECT_HOMEPAGE_URL})
message("PROJECT_SOURCE_DIR :" ${PROJECT_SOURCE_DIR})
message("QET_DIR :" ${QET_DIR})
message("GIT_COMMIT_SHA :" ${GIT_COMMIT_SHA})
if(BUILD_WITH_KF5)
message("KF5_GIT_TAG :" ${KF5_GIT_TAG})
else()
add_definitions(-DBUILD_WITHOUT_KF5)
endif()
message("QET_COMPONENTS :" ${QET_COMPONENTS})
message("QT_VERSION_MAJOR :" ${QT_VERSION_MAJOR})

View File

@@ -0,0 +1,35 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - developer_options")
# warn on *any* usage of deprecated APIs
add_definitions(-DQT_DEPRECATED_WARNINGS)
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# disables all the APIs deprecated before Qt 6.0.0
#add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000)
# to enable function names and line numbers even for release builds
add_definitions(-DQT_MESSAGELOGCONTEXT)
# You can make your code warn on compile time for the TODO's
# In order to do so, uncomment the following line.
#add_definitions(-DTODO_LIST)
# Build with KF5
option(BUILD_WITH_KF5 "Build with KF5" ON)

View File

@@ -0,0 +1,67 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - fetch_kdeaddons")
if(DEFINED BUILD_WITH_KF5)
Include(FetchContent)
option(BUILD_KF5 "Build KF5 libraries, use system ones otherwise" YES)
if(BUILD_KF5)
if(NOT DEFINED KF5_GIT_TAG)
#https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
set(KF5_GIT_TAG v5.77.0)
endif()
# Fix stop the run autotests of kcoreaddons
# see
# https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98
# issue:
# CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
# Cannot find source file:
# see
# https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
set(KDE_SKIP_TEST_SETTINGS "TRUE")
set(BUILD_TESTING "0")
FetchContent_Declare(
ecm
GIT_REPOSITORY https://invent.kde.org/frameworks/extra-cmake-modules.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(ecm)
FetchContent_Declare(
kcoreaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(kcoreaddons)
FetchContent_Declare(
kwidgetsaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(kwidgetsaddons)
else()
find_package(KF5CoreAddons REQUIRED)
find_package(KF5WidgetsAddons REQUIRED)
endif()
set(KF5_PRIVATE_LIBRARIES
KF5::WidgetsAddons
KF5::CoreAddons
)
endif()

33
cmake/fetch_pugixml.cmake Normal file
View File

@@ -0,0 +1,33 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - fetch_pugixml")
Include(FetchContent)
option(BUILD_PUGIXML "Build pugixml library, use system one otherwise" YES)
if(BUILD_PUGIXML)
FetchContent_Declare(
pugixml
GIT_REPOSITORY https://github.com/zeux/pugixml.git
GIT_TAG v1.11.4)
FetchContent_MakeAvailable(pugixml)
else()
find_package(pugixml REQUIRED)
endif()

View File

@@ -0,0 +1,31 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - fetch_singleapplication")
# https://github.com/itay-grudev/SingleApplication/issues/18
#qmake
#DEFINES += QAPPLICATION_CLASS=QGuiApplication
set(QAPPLICATION_CLASS QApplication)
Include(FetchContent)
FetchContent_Declare(
SingleApplication
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
GIT_TAG v3.2.0)
FetchContent_MakeAvailable(SingleApplication)

View File

@@ -0,0 +1,41 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - git_last_commit_sha")
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
#get GIT COMMIT SHA
execute_process(
COMMAND ${GIT_EXECUTABLE} -C ${QET_DIR} rev-parse --verify HEAD
OUTPUT_VARIABLE GIT_COMMIT_SHA
RESULT_VARIABLE GIT_COMMIT_RESULT)
# This strips terminating newline in the variable
string(REGEX REPLACE "\n$" "" GIT_COMMIT_SHA "${GIT_COMMIT_SHA}")
if(NOT GIT_COMMIT_RESULT EQUAL "0")
message(
FATAL_ERROR
"git rev-parse --verify HEAD failed with "
${GIT_COMMIT_RESULT}
", please check")
endif()
endif()
# This adds to definitions => .cpp
add_definitions(-DGIT_COMMIT_SHA="${GIT_COMMIT_SHA}")

View File

@@ -0,0 +1,35 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - git_update_submodules")
find_package(Git QUIET)
if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
# updates all git submodules
execute_process(
COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_SUBMOD_RESULT)
if(NOT GIT_SUBMOD_RESULT EQUAL "0")
message(
FATAL_ERROR
"git submodule update --init failed with "
${GIT_SUBMOD_RESULT}
", please checkout submodules")
endif()
endif()

View File

@@ -0,0 +1,25 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
if(${CMAKE_VERSION} VERSION_LESS 3.14)
message(
"_____________________________________________________________________")
message("to update Cmake on linux:")
message("https://github.com/Kitware/CMake/")
message("linux => cmake-3.19.1-Linux-x86_64.sh")
message(" sudo ./cmake.sh --prefix=/usr/local/ --exclude-subdir")
message("windows good luck :)")
endif()

View File

@@ -0,0 +1,65 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
# Paths used for compilation and installation of QET
message(" - paths_compilation_installation")
if(UNIX AND NOT APPLE)
# for Linux, BSD, Solaris, Minix
set(COMPIL_PREFIX "/usr/local/")
set(INSTALL_PREFIX "/usr/local/")
set(QET_BINARY_PATH "bin/")
set(QET_COMMON_COLLECTION_PATH "share/qelectrotech/elements/")
set(QET_COMMON_TBT_PATH "share/qelectrotech/titleblocks/")
set(QET_LANG_PATH "share/qelectrotech/lang/")
set(QET_EXAMPLES_PATH "share/qelectrotech/examples/")
set(QET_LICENSE_PATH "doc/qelectrotech/")
set(QET_MIME_PACKAGE_PATH "../share/mime/packages/")
set(QET_DESKTOP_PATH "share/applications/")
set(QET_ICONS_PATH "share/icons/hicolor/")
set(QET_MAN_PATH "man/")
set(QET_APPDATA_PATH "share/appdata")
endif()
if(APPLE)
# for MacOS X or iOS, watchOS, tvOS (since 3.10.3)
set(COMPIL_PREFIX "./")
set(INSTALL_PREFIX "/usr/local/")
set(QET_BINARY_PATH "bin/")
set(QET_COMMON_COLLECTION_PATH "../Resources/elements/")
set(QET_COMMON_TBT_PATH "../Resources/titleblocks/")
set(QET_LANG_PATH "../Resources/lang/")
set(QET_EXAMPLES_PATH "share/qelectrotech/examples/")
set(QET_LICENSE_PATH "doc/qelectrotech/")
set(QET_DESKTOP_PATH "share/applications/")
set(QET_ICONS_PATH "share/icons/hicolor/")
set(QET_MAN_PATH "man/")
set(ICON "ico/mac_icon/qelectrotech.icns")
endif()
if(WIN32)
# for Windows operating system in general
set(COMPIL_PREFIX "./")
set(INSTALL_PREFIX "./")
set(QET_BINARY_PATH "./")
set(QET_COMMON_COLLECTION_PATH "elements/")
set(QET_COMMON_TBT_PATH "titleblocks/")
set(QET_LANG_PATH "l10n/")
set(QET_LICENSE_PATH "./")
# Liste des ressources Windows
#RC_FILE = qelectrotech.rc
endif()

View File

@@ -0,0 +1,644 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - qet_compilation_vars")
set(QET_COMPONENTS
LinguistTools
PrintSupport
Xml
Svg
Sql
Network
Widgets
Concurrent)
set(QET_PRIVATE_LIBRARIES
Qt::PrintSupport
Qt::Gui
Qt::Xml
Qt::Svg
Qt::Sql
Qt::Network
Qt::Widgets
Qt::Concurrent
)
set(QET_RES_FILES
${QET_DIR}/sources/autoNum/ui/autonumberingdockwidget.ui
${QET_DIR}/sources/autoNum/ui/autonumberingmanagementw.ui
${QET_DIR}/sources/autoNum/ui/folioautonumbering.ui
${QET_DIR}/sources/autoNum/ui/formulaautonumberingw.ui
${QET_DIR}/sources/autoNum/ui/numparteditorw.ui
${QET_DIR}/sources/autoNum/ui/selectautonumw.ui
${QET_DIR}/sources/dataBase/ui/elementquerywidget.ui
${QET_DIR}/sources/dataBase/ui/summaryquerywidget.ui
${QET_DIR}/sources/editor/ui/dynamictextfieldeditor.ui
${QET_DIR}/sources/editor/ui/elementpropertieseditorwidget.ui
${QET_DIR}/sources/editor/ui/ellipseeditor.ui
${QET_DIR}/sources/editor/ui/lineeditor.ui
${QET_DIR}/sources/editor/ui/polygoneditor.ui
${QET_DIR}/sources/editor/ui/rectangleeditor.ui
${QET_DIR}/sources/editor/ui/qetelementeditor.ui
${QET_DIR}/sources/editor/ui/terminaleditor.ui
${QET_DIR}/sources/ElementsCollection/ui/renamedialog.ui
${QET_DIR}/sources/factory/ui/addtabledialog.ui
${QET_DIR}/sources/NameList/ui/namelistdialog.ui
${QET_DIR}/sources/NameList/ui/namelistwidget.ui
${QET_DIR}/sources/print/projectprintwindow.ui
${QET_DIR}/sources/PropertiesEditor/propertieseditordockwidget.ui
${QET_DIR}/sources/richtext/addlinkdialog.ui
${QET_DIR}/sources/SearchAndReplace/ui/replaceadvanceddialog.ui
${QET_DIR}/sources/SearchAndReplace/ui/replaceconductordialog.ui
${QET_DIR}/sources/SearchAndReplace/ui/replaceelementdialog.ui
${QET_DIR}/sources/SearchAndReplace/ui/replacefoliowidget.ui
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.ui
${QET_DIR}/sources/ui/aboutqetdialog.ui
${QET_DIR}/sources/ui/alignmenttextdialog.ui
${QET_DIR}/sources/ui/bomexportdialog.ui
${QET_DIR}/sources/ui/borderpropertieswidget.ui
${QET_DIR}/sources/ui/compositetexteditdialog.ui
${QET_DIR}/sources/ui/conductorpropertiesdialog.ui
${QET_DIR}/sources/ui/conductorpropertieswidget.ui
${QET_DIR}/sources/ui/configsaveloaderwidget.ui
${QET_DIR}/sources/ui/diagramcontextwidget.ui
${QET_DIR}/sources/ui/diagramselection.ui
${QET_DIR}/sources/ui/dialogwaiting.ui
${QET_DIR}/sources/ui/dynamicelementtextitemeditor.ui
${QET_DIR}/sources/ui/elementinfopartwidget.ui
${QET_DIR}/sources/ui/elementinfowidget.ui
${QET_DIR}/sources/ui/formulaassistantdialog.ui
${QET_DIR}/sources/ui/imagepropertieswidget.ui
${QET_DIR}/sources/ui/importelementdialog.ui
${QET_DIR}/sources/ui/importelementtextpatterndialog.ui
${QET_DIR}/sources/ui/linksingleelementwidget.ui
${QET_DIR}/sources/ui/marginseditdialog.ui
${QET_DIR}/sources/ui/masterpropertieswidget.ui
${QET_DIR}/sources/ui/multipastedialog.ui
${QET_DIR}/sources/ui/potentialselectordialog.ui
${QET_DIR}/sources/ui/reportpropertiewidget.ui
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.ui
${QET_DIR}/sources/ui/titleblockpropertieswidget.ui
${QET_DIR}/sources/ui/xrefpropertieswidget.ui
${QET_DIR}/sources/ui/configpage/generalconfigurationpage.ui
)
set(QET_SRC_FILES
${QET_DIR}/sources/borderproperties.cpp
${QET_DIR}/sources/borderproperties.h
${QET_DIR}/sources/bordertitleblock.cpp
${QET_DIR}/sources/bordertitleblock.h
${QET_DIR}/sources/conductorautonumerotation.cpp
${QET_DIR}/sources/conductorautonumerotation.h
${QET_DIR}/sources/conductornumexport.cpp
${QET_DIR}/sources/conductornumexport.h
${QET_DIR}/sources/conductorprofile.cpp
${QET_DIR}/sources/conductorprofile.h
${QET_DIR}/sources/conductorproperties.cpp
${QET_DIR}/sources/conductorproperties.h
${QET_DIR}/sources/conductorsegment.cpp
${QET_DIR}/sources/conductorsegment.h
${QET_DIR}/sources/conductorsegmentprofile.h
${QET_DIR}/sources/configdialog.cpp
${QET_DIR}/sources/configdialog.h
${QET_DIR}/sources/createdxf.cpp
${QET_DIR}/sources/createdxf.h
${QET_DIR}/sources/diagramcommands.cpp
${QET_DIR}/sources/diagramcommands.h
${QET_DIR}/sources/diagramcontent.cpp
${QET_DIR}/sources/diagramcontent.h
${QET_DIR}/sources/diagramcontext.cpp
${QET_DIR}/sources/diagramcontext.h
${QET_DIR}/sources/diagram.cpp
${QET_DIR}/sources/diagram.h
${QET_DIR}/sources/diagramposition.cpp
${QET_DIR}/sources/diagramposition.h
${QET_DIR}/sources/diagramview.cpp
${QET_DIR}/sources/diagramview.h
${QET_DIR}/sources/elementdialog.cpp
${QET_DIR}/sources/elementdialog.h
${QET_DIR}/sources/elementprovider.cpp
${QET_DIR}/sources/elementprovider.h
${QET_DIR}/sources/elementscategoryeditor.cpp
${QET_DIR}/sources/elementscategoryeditor.h
${QET_DIR}/sources/elementscollectioncache.cpp
${QET_DIR}/sources/elementscollectioncache.h
${QET_DIR}/sources/elementsmover.cpp
${QET_DIR}/sources/elementsmover.h
${QET_DIR}/sources/elementspanel.cpp
${QET_DIR}/sources/elementspanel.h
${QET_DIR}/sources/elementspanelwidget.cpp
${QET_DIR}/sources/elementspanelwidget.h
${QET_DIR}/sources/elementtextpattern.cpp
${QET_DIR}/sources/elementtextpattern.h
${QET_DIR}/sources/elementtextsmover.cpp
${QET_DIR}/sources/elementtextsmover.h
${QET_DIR}/sources/exportdialog.cpp
${QET_DIR}/sources/exportdialog.h
${QET_DIR}/sources/exportproperties.cpp
${QET_DIR}/sources/exportproperties.h
${QET_DIR}/sources/exportpropertieswidget.cpp
${QET_DIR}/sources/exportpropertieswidget.h
${QET_DIR}/sources/genericpanel.cpp
${QET_DIR}/sources/genericpanel.h
${QET_DIR}/sources/machine_info.cpp
${QET_DIR}/sources/machine_info.h
${QET_DIR}/sources/main.cpp
${QET_DIR}/sources/newelementwizard.cpp
${QET_DIR}/sources/newelementwizard.h
${QET_DIR}/sources/projectview.cpp
${QET_DIR}/sources/projectview.h
${QET_DIR}/sources/qetapp.cpp
${QET_DIR}/sources/qetapp.h
${QET_DIR}/sources/qetarguments.cpp
${QET_DIR}/sources/qetarguments.h
${QET_DIR}/sources/qet.cpp
${QET_DIR}/sources/qetdiagrameditor.cpp
${QET_DIR}/sources/qetdiagrameditor.h
${QET_DIR}/sources/qet.h
${QET_DIR}/sources/qeticons.cpp
${QET_DIR}/sources/qeticons.h
${QET_DIR}/sources/qetinformation.cpp
${QET_DIR}/sources/qetinformation.h
${QET_DIR}/sources/qetmainwindow.cpp
${QET_DIR}/sources/qetmainwindow.h
${QET_DIR}/sources/qetmessagebox.cpp
${QET_DIR}/sources/qetmessagebox.h
${QET_DIR}/sources/qetproject.cpp
${QET_DIR}/sources/qetproject.h
${QET_DIR}/sources/qetregexpvalidator.cpp
${QET_DIR}/sources/qetregexpvalidator.h
${QET_DIR}/sources/qetresult.cpp
${QET_DIR}/sources/qetresult.h
${QET_DIR}/sources/qetxml.cpp
${QET_DIR}/sources/qetxml.h
${QET_DIR}/sources/qfilenameedit.cpp
${QET_DIR}/sources/qfilenameedit.h
${QET_DIR}/sources/qgimanager.cpp
${QET_DIR}/sources/qgimanager.h
${QET_DIR}/sources/qtextorientationspinboxwidget.cpp
${QET_DIR}/sources/qtextorientationspinboxwidget.h
${QET_DIR}/sources/qtextorientationwidget.cpp
${QET_DIR}/sources/qtextorientationwidget.h
${QET_DIR}/sources/recentfiles.cpp
${QET_DIR}/sources/recentfiles.h
${QET_DIR}/sources/titleblockcell.cpp
${QET_DIR}/sources/titleblockcell.h
${QET_DIR}/sources/titleblockproperties.cpp
${QET_DIR}/sources/titleblockproperties.h
${QET_DIR}/sources/titleblocktemplate.cpp
${QET_DIR}/sources/titleblocktemplate.h
${QET_DIR}/sources/titleblocktemplaterenderer.cpp
${QET_DIR}/sources/titleblocktemplaterenderer.h
${QET_DIR}/sources/autoNum/assignvariables.cpp
${QET_DIR}/sources/autoNum/assignvariables.h
${QET_DIR}/sources/autoNum/numerotationcontextcommands.cpp
${QET_DIR}/sources/autoNum/numerotationcontextcommands.h
${QET_DIR}/sources/autoNum/numerotationcontext.cpp
${QET_DIR}/sources/autoNum/numerotationcontext.h
${QET_DIR}/sources/autoNum/ui/autonumberingdockwidget.cpp
${QET_DIR}/sources/autoNum/ui/autonumberingdockwidget.h
${QET_DIR}/sources/autoNum/ui/autonumberingmanagementw.cpp
${QET_DIR}/sources/autoNum/ui/autonumberingmanagementw.h
${QET_DIR}/sources/autoNum/ui/folioautonumbering.cpp
${QET_DIR}/sources/autoNum/ui/folioautonumbering.h
${QET_DIR}/sources/autoNum/ui/formulaautonumberingw.cpp
${QET_DIR}/sources/autoNum/ui/formulaautonumberingw.h
${QET_DIR}/sources/autoNum/ui/numparteditorw.cpp
${QET_DIR}/sources/autoNum/ui/numparteditorw.h
${QET_DIR}/sources/autoNum/ui/selectautonumw.cpp
${QET_DIR}/sources/autoNum/ui/selectautonumw.h
${QET_DIR}/sources/dataBase/projectdatabase.cpp
${QET_DIR}/sources/dataBase/projectdatabase.h
${QET_DIR}/sources/dataBase/ui/elementquerywidget.cpp
${QET_DIR}/sources/dataBase/ui/elementquerywidget.h
${QET_DIR}/sources/dataBase/ui/summaryquerywidget.cpp
${QET_DIR}/sources/dataBase/ui/summaryquerywidget.h
${QET_DIR}/sources/diagramevent/diagrameventaddelement.cpp
${QET_DIR}/sources/diagramevent/diagrameventaddelement.h
${QET_DIR}/sources/diagramevent/diagrameventaddimage.cpp
${QET_DIR}/sources/diagramevent/diagrameventaddimage.h
${QET_DIR}/sources/diagramevent/diagrameventaddshape.cpp
${QET_DIR}/sources/diagramevent/diagrameventaddshape.h
${QET_DIR}/sources/diagramevent/diagrameventaddtext.cpp
${QET_DIR}/sources/diagramevent/diagrameventaddtext.h
${QET_DIR}/sources/diagramevent/diagrameventinterface.cpp
${QET_DIR}/sources/diagramevent/diagrameventinterface.h
${QET_DIR}/sources/dvevent/dveventinterface.cpp
${QET_DIR}/sources/dvevent/dveventinterface.h
${QET_DIR}/sources/editor/arceditor.cpp
${QET_DIR}/sources/editor/arceditor.h
${QET_DIR}/sources/editor/editorcommands.cpp
${QET_DIR}/sources/editor/editorcommands.h
${QET_DIR}/sources/editor/elementcontent.h
${QET_DIR}/sources/editor/elementitemeditor.cpp
${QET_DIR}/sources/editor/elementitemeditor.h
${QET_DIR}/sources/editor/elementprimitivedecorator.cpp
${QET_DIR}/sources/editor/elementprimitivedecorator.h
${QET_DIR}/sources/editor/elementscene.cpp
${QET_DIR}/sources/editor/elementscene.h
${QET_DIR}/sources/editor/elementview.cpp
${QET_DIR}/sources/editor/elementview.h
${QET_DIR}/sources/editor/styleeditor.cpp
${QET_DIR}/sources/editor/styleeditor.h
${QET_DIR}/sources/editor/esevent/eseventaddarc.cpp
${QET_DIR}/sources/editor/esevent/eseventaddarc.h
${QET_DIR}/sources/editor/esevent/eseventadddynamictextfield.cpp
${QET_DIR}/sources/editor/esevent/eseventadddynamictextfield.h
${QET_DIR}/sources/editor/esevent/eseventaddellipse.cpp
${QET_DIR}/sources/editor/esevent/eseventaddellipse.h
${QET_DIR}/sources/editor/esevent/eseventaddline.cpp
${QET_DIR}/sources/editor/esevent/eseventaddline.h
${QET_DIR}/sources/editor/esevent/eseventaddpolygon.cpp
${QET_DIR}/sources/editor/esevent/eseventaddpolygon.h
${QET_DIR}/sources/editor/esevent/eseventaddrect.cpp
${QET_DIR}/sources/editor/esevent/eseventaddrect.h
${QET_DIR}/sources/editor/esevent/eseventaddterminal.cpp
${QET_DIR}/sources/editor/esevent/eseventaddterminal.h
${QET_DIR}/sources/editor/esevent/eseventaddtext.cpp
${QET_DIR}/sources/editor/esevent/eseventaddtext.h
${QET_DIR}/sources/editor/esevent/eseventinterface.cpp
${QET_DIR}/sources/editor/esevent/eseventinterface.h
${QET_DIR}/sources/editor/graphicspart/abstractpartellipse.cpp
${QET_DIR}/sources/editor/graphicspart/abstractpartellipse.h
${QET_DIR}/sources/editor/graphicspart/customelementgraphicpart.cpp
${QET_DIR}/sources/editor/graphicspart/customelementgraphicpart.h
${QET_DIR}/sources/editor/graphicspart/customelementpart.cpp
${QET_DIR}/sources/editor/graphicspart/customelementpart.h
${QET_DIR}/sources/editor/graphicspart/partarc.cpp
${QET_DIR}/sources/editor/graphicspart/partarc.h
${QET_DIR}/sources/editor/graphicspart/partdynamictextfield.cpp
${QET_DIR}/sources/editor/graphicspart/partdynamictextfield.h
${QET_DIR}/sources/editor/graphicspart/partellipse.cpp
${QET_DIR}/sources/editor/graphicspart/partellipse.h
${QET_DIR}/sources/editor/graphicspart/partline.cpp
${QET_DIR}/sources/editor/graphicspart/partline.h
${QET_DIR}/sources/editor/graphicspart/partpolygon.cpp
${QET_DIR}/sources/editor/graphicspart/partpolygon.h
${QET_DIR}/sources/editor/graphicspart/partrectangle.cpp
${QET_DIR}/sources/editor/graphicspart/partrectangle.h
${QET_DIR}/sources/editor/graphicspart/partterminal.cpp
${QET_DIR}/sources/editor/graphicspart/partterminal.h
${QET_DIR}/sources/editor/graphicspart/parttext.cpp
${QET_DIR}/sources/editor/graphicspart/parttext.h
${QET_DIR}/sources/editor/ui/dynamictextfieldeditor.cpp
${QET_DIR}/sources/editor/ui/dynamictextfieldeditor.h
${QET_DIR}/sources/editor/ui/elementpropertieseditorwidget.cpp
${QET_DIR}/sources/editor/ui/elementpropertieseditorwidget.h
${QET_DIR}/sources/editor/ui/ellipseeditor.cpp
${QET_DIR}/sources/editor/ui/ellipseeditor.h
${QET_DIR}/sources/editor/ui/lineeditor.cpp
${QET_DIR}/sources/editor/ui/lineeditor.h
${QET_DIR}/sources/editor/ui/polygoneditor.cpp
${QET_DIR}/sources/editor/ui/polygoneditor.h
${QET_DIR}/sources/editor/ui/rectangleeditor.cpp
${QET_DIR}/sources/editor/ui/rectangleeditor.h
${QET_DIR}/sources/editor/ui/terminaleditor.cpp
${QET_DIR}/sources/editor/ui/terminaleditor.h
${QET_DIR}/sources/editor/ui/texteditor.cpp
${QET_DIR}/sources/editor/ui/texteditor.h
${QET_DIR}/sources/editor/ui/qetelementeditor.h
${QET_DIR}/sources/editor/ui/qetelementeditor.cpp
${QET_DIR}/sources/editor/UndoCommand/pastepartscommand.cpp
${QET_DIR}/sources/editor/UndoCommand/pastepartscommand.h
${QET_DIR}/sources/ElementsCollection/elementcollectionhandler.cpp
${QET_DIR}/sources/ElementsCollection/elementcollectionhandler.h
${QET_DIR}/sources/ElementsCollection/elementcollectionitem.cpp
${QET_DIR}/sources/ElementsCollection/elementcollectionitem.h
${QET_DIR}/sources/ElementsCollection/elementscollectionmodel.cpp
${QET_DIR}/sources/ElementsCollection/elementscollectionmodel.h
${QET_DIR}/sources/ElementsCollection/elementscollectionwidget.cpp
${QET_DIR}/sources/ElementsCollection/elementscollectionwidget.h
${QET_DIR}/sources/ElementsCollection/elementslocation.cpp
${QET_DIR}/sources/ElementsCollection/elementslocation.h
${QET_DIR}/sources/ElementsCollection/elementstreeview.cpp
${QET_DIR}/sources/ElementsCollection/elementstreeview.h
${QET_DIR}/sources/ElementsCollection/fileelementcollectionitem.cpp
${QET_DIR}/sources/ElementsCollection/fileelementcollectionitem.h
${QET_DIR}/sources/ElementsCollection/xmlelementcollection.cpp
${QET_DIR}/sources/ElementsCollection/xmlelementcollection.h
${QET_DIR}/sources/ElementsCollection/xmlprojectelementcollectionitem.cpp
${QET_DIR}/sources/ElementsCollection/xmlprojectelementcollectionitem.h
${QET_DIR}/sources/ElementsCollection/ui/renamedialog.cpp
${QET_DIR}/sources/ElementsCollection/ui/renamedialog.h
${QET_DIR}/sources/factory/elementfactory.cpp
${QET_DIR}/sources/factory/elementfactory.h
${QET_DIR}/sources/factory/elementpicturefactory.cpp
${QET_DIR}/sources/factory/elementpicturefactory.h
${QET_DIR}/sources/factory/propertieseditorfactory.cpp
${QET_DIR}/sources/factory/propertieseditorfactory.h
${QET_DIR}/sources/factory/qetgraphicstablefactory.cpp
${QET_DIR}/sources/factory/qetgraphicstablefactory.h
${QET_DIR}/sources/factory/ui/addtabledialog.cpp
${QET_DIR}/sources/factory/ui/addtabledialog.h
${QET_DIR}/sources/NameList/nameslist.cpp
${QET_DIR}/sources/NameList/nameslist.h
${QET_DIR}/sources/NameList/ui/namelistdialog.cpp
${QET_DIR}/sources/NameList/ui/namelistdialog.h
${QET_DIR}/sources/NameList/ui/namelistwidget.cpp
${QET_DIR}/sources/NameList/ui/namelistwidget.h
${QET_DIR}/sources/print/projectprintwindow.cpp
${QET_DIR}/sources/print/projectprintwindow.h
${QET_DIR}/sources/properties/elementdata.cpp
${QET_DIR}/sources/properties/elementdata.h
${QET_DIR}/sources/properties/propertiesinterface.cpp
${QET_DIR}/sources/properties/propertiesinterface.h
${QET_DIR}/sources/properties/reportproperties.cpp
${QET_DIR}/sources/properties/reportproperties.h
${QET_DIR}/sources/properties/terminaldata.cpp
${QET_DIR}/sources/properties/terminaldata.h
${QET_DIR}/sources/properties/xrefproperties.cpp
${QET_DIR}/sources/properties/xrefproperties.h
${QET_DIR}/sources/properties/userproperties.cpp
${QET_DIR}/sources/properties/userproperties.h
${QET_DIR}/sources/PropertiesEditor/propertieseditordialog.h
${QET_DIR}/sources/PropertiesEditor/propertieseditordockwidget.cpp
${QET_DIR}/sources/PropertiesEditor/propertieseditordockwidget.h
${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}/sources/qetgraphicsitem/conductor.cpp
${QET_DIR}/sources/qetgraphicsitem/conductor.h
${QET_DIR}/sources/qetgraphicsitem/conductortextitem.cpp
${QET_DIR}/sources/qetgraphicsitem/conductortextitem.h
${QET_DIR}/sources/qetgraphicsitem/crossrefitem.cpp
${QET_DIR}/sources/qetgraphicsitem/crossrefitem.h
${QET_DIR}/sources/qetgraphicsitem/diagramimageitem.cpp
${QET_DIR}/sources/qetgraphicsitem/diagramimageitem.h
${QET_DIR}/sources/qetgraphicsitem/diagramtextitem.cpp
${QET_DIR}/sources/qetgraphicsitem/diagramtextitem.h
${QET_DIR}/sources/qetgraphicsitem/dynamicelementtextitem.cpp
${QET_DIR}/sources/qetgraphicsitem/dynamicelementtextitem.h
${QET_DIR}/sources/qetgraphicsitem/element.cpp
${QET_DIR}/sources/qetgraphicsitem/element.h
${QET_DIR}/sources/qetgraphicsitem/elementtextitemgroup.cpp
${QET_DIR}/sources/qetgraphicsitem/elementtextitemgroup.h
${QET_DIR}/sources/qetgraphicsitem/independenttextitem.cpp
${QET_DIR}/sources/qetgraphicsitem/independenttextitem.h
${QET_DIR}/sources/qetgraphicsitem/masterelement.cpp
${QET_DIR}/sources/qetgraphicsitem/masterelement.h
${QET_DIR}/sources/qetgraphicsitem/qetgraphicsitem.cpp
${QET_DIR}/sources/qetgraphicsitem/qetgraphicsitem.h
${QET_DIR}/sources/qetgraphicsitem/qetshapeitem.cpp
${QET_DIR}/sources/qetgraphicsitem/qetshapeitem.h
${QET_DIR}/sources/qetgraphicsitem/qgraphicsitemutility.cpp
${QET_DIR}/sources/qetgraphicsitem/qgraphicsitemutility.h
${QET_DIR}/sources/qetgraphicsitem/reportelement.cpp
${QET_DIR}/sources/qetgraphicsitem/reportelement.h
${QET_DIR}/sources/qetgraphicsitem/simpleelement.cpp
${QET_DIR}/sources/qetgraphicsitem/simpleelement.h
${QET_DIR}/sources/qetgraphicsitem/slaveelement.cpp
${QET_DIR}/sources/qetgraphicsitem/slaveelement.h
${QET_DIR}/sources/qetgraphicsitem/terminal.cpp
${QET_DIR}/sources/qetgraphicsitem/terminalelement.cpp
${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
${QET_DIR}/sources/qetgraphicsitem/ViewItem/qetgraphicsheaderitem.h
${QET_DIR}/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp
${QET_DIR}/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.h
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.cpp
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.h
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.cpp
${QET_DIR}/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.h
${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandleritem.cpp
${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandleritem.h
${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandlerutility.cpp
${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandlerutility.h
${QET_DIR}/sources/QPropertyUndoCommand/qpropertyundocommand.cpp
${QET_DIR}/sources/QPropertyUndoCommand/qpropertyundocommand.h
${QET_DIR}/sources/QWidgetAnimation/qwidgetanimation.cpp
${QET_DIR}/sources/QWidgetAnimation/qwidgetanimation.h
${QET_DIR}/sources/richtext/richtexteditor.cpp
${QET_DIR}/sources/richtext/richtexteditor_p.h
${QET_DIR}/sources/richtext/ui_addlinkdialog.h
${QET_DIR}/sources/SearchAndReplace/searchandreplaceworker.cpp
${QET_DIR}/sources/SearchAndReplace/searchandreplaceworker.h
${QET_DIR}/sources/SearchAndReplace/ui/replaceadvanceddialog.cpp
${QET_DIR}/sources/SearchAndReplace/ui/replaceadvanceddialog.h
${QET_DIR}/sources/SearchAndReplace/ui/replaceconductordialog.cpp
${QET_DIR}/sources/SearchAndReplace/ui/replaceconductordialog.h
${QET_DIR}/sources/SearchAndReplace/ui/replaceelementdialog.cpp
${QET_DIR}/sources/SearchAndReplace/ui/replaceelementdialog.h
${QET_DIR}/sources/SearchAndReplace/ui/replacefoliowidget.cpp
${QET_DIR}/sources/SearchAndReplace/ui/replacefoliowidget.h
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.cpp
${QET_DIR}/sources/SearchAndReplace/ui/searchandreplacewidget.h
${QET_DIR}/sources/titleblock/dimension.cpp
${QET_DIR}/sources/titleblock/dimension.h
${QET_DIR}/sources/titleblock/dimensionwidget.cpp
${QET_DIR}/sources/titleblock/dimensionwidget.h
${QET_DIR}/sources/titleblock/gridlayoutanimation.cpp
${QET_DIR}/sources/titleblock/gridlayoutanimation.h
${QET_DIR}/sources/titleblock/helpercell.cpp
${QET_DIR}/sources/titleblock/helpercell.h
${QET_DIR}/sources/titleblock/integrationmovetemplateshandler.cpp
${QET_DIR}/sources/titleblock/integrationmovetemplateshandler.h
${QET_DIR}/sources/titleblock/movetemplateshandler.h
${QET_DIR}/sources/titleblock/qettemplateeditor.cpp
${QET_DIR}/sources/titleblock/qettemplateeditor.h
${QET_DIR}/sources/titleblock/splittedhelpercell.cpp
${QET_DIR}/sources/titleblock/splittedhelpercell.h
${QET_DIR}/sources/titleblock/templatecellsset.cpp
${QET_DIR}/sources/titleblock/templatecellsset.h
${QET_DIR}/sources/titleblock/templatecellwidget.cpp
${QET_DIR}/sources/titleblock/templatecellwidget.h
${QET_DIR}/sources/titleblock/templatecommands.cpp
${QET_DIR}/sources/titleblock/templatecommands.h
${QET_DIR}/sources/titleblock/templatedeleter.cpp
${QET_DIR}/sources/titleblock/templatedeleter.h
${QET_DIR}/sources/titleblock/templatelocationchooser.cpp
${QET_DIR}/sources/titleblock/templatelocationchooser.h
${QET_DIR}/sources/titleblock/templatelocation.cpp
${QET_DIR}/sources/titleblock/templatelocation.h
${QET_DIR}/sources/titleblock/templatelocationsaver.cpp
${QET_DIR}/sources/titleblock/templatelocationsaver.h
${QET_DIR}/sources/titleblock/templatelogomanager.cpp
${QET_DIR}/sources/titleblock/templatelogomanager.h
${QET_DIR}/sources/titleblock/templatescollection.cpp
${QET_DIR}/sources/titleblock/templatescollection.h
${QET_DIR}/sources/titleblock/templateview.cpp
${QET_DIR}/sources/titleblock/templateview.h
${QET_DIR}/sources/titleblock/templatevisualcell.cpp
${QET_DIR}/sources/titleblock/templatevisualcell.h
${QET_DIR}/sources/ui/aboutqetdialog.cpp
${QET_DIR}/sources/ui/aboutqetdialog.h
${QET_DIR}/sources/ui/abstractelementpropertieseditorwidget.cpp
${QET_DIR}/sources/ui/abstractelementpropertieseditorwidget.h
${QET_DIR}/sources/ui/alignmenttextdialog.cpp
${QET_DIR}/sources/ui/alignmenttextdialog.h
${QET_DIR}/sources/ui/bomexportdialog.cpp
${QET_DIR}/sources/ui/bomexportdialog.h
${QET_DIR}/sources/ui/borderpropertieswidget.cpp
${QET_DIR}/sources/ui/borderpropertieswidget.h
${QET_DIR}/sources/ui/compositetexteditdialog.cpp
${QET_DIR}/sources/ui/compositetexteditdialog.h
${QET_DIR}/sources/ui/conductorpropertiesdialog.cpp
${QET_DIR}/sources/ui/conductorpropertiesdialog.h
${QET_DIR}/sources/ui/conductorpropertieswidget.cpp
${QET_DIR}/sources/ui/conductorpropertieswidget.h
${QET_DIR}/sources/ui/configsaveloaderwidget.cpp
${QET_DIR}/sources/ui/configsaveloaderwidget.h
${QET_DIR}/sources/ui/diagramcontextwidget.cpp
${QET_DIR}/sources/ui/diagramcontextwidget.h
${QET_DIR}/sources/ui/diagrampropertiesdialog.cpp
${QET_DIR}/sources/ui/diagrampropertiesdialog.h
${QET_DIR}/sources/ui/diagrampropertieseditordockwidget.cpp
${QET_DIR}/sources/ui/diagrampropertieseditordockwidget.h
${QET_DIR}/sources/ui/diagramselection.cpp
${QET_DIR}/sources/ui/diagramselection.h
${QET_DIR}/sources/ui/dialogwaiting.cpp
${QET_DIR}/sources/ui/dialogwaiting.h
${QET_DIR}/sources/ui/dynamicelementtextitemeditor.cpp
${QET_DIR}/sources/ui/dynamicelementtextitemeditor.h
${QET_DIR}/sources/ui/dynamicelementtextmodel.cpp
${QET_DIR}/sources/ui/dynamicelementtextmodel.h
${QET_DIR}/sources/ui/elementinfopartwidget.cpp
${QET_DIR}/sources/ui/elementinfopartwidget.h
${QET_DIR}/sources/ui/elementinfowidget.cpp
${QET_DIR}/sources/ui/elementinfowidget.h
${QET_DIR}/sources/ui/elementpropertieswidget.cpp
${QET_DIR}/sources/ui/elementpropertieswidget.h
${QET_DIR}/sources/ui/formulaassistantdialog.cpp
${QET_DIR}/sources/ui/formulaassistantdialog.h
${QET_DIR}/sources/ui/imagepropertieswidget.cpp
${QET_DIR}/sources/ui/imagepropertieswidget.h
${QET_DIR}/sources/ui/importelementdialog.cpp
${QET_DIR}/sources/ui/importelementdialog.h
${QET_DIR}/sources/ui/importelementtextpatterndialog.cpp
${QET_DIR}/sources/ui/importelementtextpatterndialog.h
${QET_DIR}/sources/ui/inditextpropertieswidget.cpp
${QET_DIR}/sources/ui/inditextpropertieswidget.h
${QET_DIR}/sources/ui/linksingleelementwidget.cpp
${QET_DIR}/sources/ui/linksingleelementwidget.h
${QET_DIR}/sources/ui/marginseditdialog.cpp
${QET_DIR}/sources/ui/marginseditdialog.h
${QET_DIR}/sources/ui/masterpropertieswidget.cpp
${QET_DIR}/sources/ui/masterpropertieswidget.h
${QET_DIR}/sources/ui/multipastedialog.cpp
${QET_DIR}/sources/ui/multipastedialog.h
${QET_DIR}/sources/ui/potentialselectordialog.cpp
${QET_DIR}/sources/ui/potentialselectordialog.h
${QET_DIR}/sources/ui/projectpropertiesdialog.cpp
${QET_DIR}/sources/ui/projectpropertiesdialog.h
${QET_DIR}/sources/ui/reportpropertiewidget.cpp
${QET_DIR}/sources/ui/reportpropertiewidget.h
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.cpp
${QET_DIR}/sources/ui/shapegraphicsitempropertieswidget.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/changeelementinformationcommand.cpp
${QET_DIR}/sources/undocommand/changeelementinformationcommand.h
${QET_DIR}/sources/undocommand/changetitleblockcommand.cpp
${QET_DIR}/sources/undocommand/changetitleblockcommand.h
${QET_DIR}/sources/undocommand/deleteqgraphicsitemcommand.cpp
${QET_DIR}/sources/undocommand/deleteqgraphicsitemcommand.h
${QET_DIR}/sources/undocommand/itemmodelcommand.cpp
${QET_DIR}/sources/undocommand/itemmodelcommand.h
${QET_DIR}/sources/undocommand/linkelementcommand.cpp
${QET_DIR}/sources/undocommand/linkelementcommand.h
${QET_DIR}/sources/undocommand/rotateselectioncommand.cpp
${QET_DIR}/sources/undocommand/rotateselectioncommand.h
${QET_DIR}/sources/undocommand/rotatetextscommand.cpp
${QET_DIR}/sources/undocommand/rotatetextscommand.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/qetutils.cpp
${QET_DIR}/sources/utils/qetutils.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_cs.ts
${QET_DIR}/lang/qet_el.ts
${QET_DIR}/lang/qet_hr.ts
${QET_DIR}/lang/qet_ja.ts
${QET_DIR}/lang/qet_nb.ts
${QET_DIR}/lang/qet_no.ts
${QET_DIR}/lang/qet_pt.ts
${QET_DIR}/lang/qet_sl.ts
${QET_DIR}/lang/qet_tr.ts
)

29
cmake/start_options.cmake Normal file
View File

@@ -0,0 +1,29 @@
# Copyright 2006 The QElectroTech Team
# This file is part of QElectroTech.
#
# QElectroTech is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# QElectroTech is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(" - start_options")
# Comment the line below to deactivate the --common-elements-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_CED_OPTION)
# Comment the line below to disable the --common-tbt-dir option
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 disable the project database export
#add_definitions(-DQET_EXPORT_PROJECT_DB) #error Todo

View File

@@ -1,24 +1,28 @@
<definition width="70" version="0.3" hotspot_x="49" hotspot_y="15" height="30" type="element" ic="true" orientation="dyyy"
link_type="previous_report">
<uuid uuid="{F549BEFB-F0CF-44ED-A948-F6F796BFB421}"/><names>
<name lang="ru">Предыдущая страница</name>
<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="it">Foglio precedente</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="es">folio anterior</name>
<name lang="cs">Předchozí list</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 x4="-1" antialias="true" style="line-style:normal;line-weight:normal;filling:black;color:black" closed="false" y1="-4" x1="-1" y2="4" x2="-1" y3="0" x3="9" y4="-4"/>
<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="0" x1="9" y2="0" x2="12"/>
<input x="-44" y="0" size="9" rotate="true" text="/"/>
<terminal x="13" y="0" nameHidden="0" number="" name="" orientation="e"/>
<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,24 +1,28 @@
<definition width="40" version="0.3" hotspot_x="18" hotspot_y="15" height="30" type="element" ic="true"
link_type="next_report">
<uuid uuid="{717352A1-F3C7-49C7-9A06-51620AB5CA00}"/><names>
<name lang="ru">Следующая страница</name>
<name lang="ar">الصفحة التالية</name>
<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="it">Foglio successivo</name>
<name lang="fr">Folio suivant</name>
<name lang="pl">Wyjście adresowe</name>
<name lang="es">Folio siguiente</name>
<name lang="cs">Další list</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 x4="-9" antialias="true" style="line-style:normal;line-weight:normal;filling:black;color:black" closed="false" y1="-4" x1="-9" y2="4" x2="-9" y3="0" x3="2" y4="-4"/>
<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="0" x1="-9" y2="0" x2="-12"/>
<input x="6" y="0" size="9" rotate="true" text="/"/>
<terminal x="-13" y="0" nameHidden="0" number="" name="" orientation="w"/>
<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

@@ -2,16 +2,18 @@
<names>
<name lang="ru">Точки разрыва</name>
<name lang="ar">إحالات</name>
<name lang="cs">Výstupy</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

@@ -11,7 +11,8 @@
<name lang="ru">Трёхполюсный + PEN</name>
<name lang="fr">Source tripolaire + PEN</name>
<name lang="ar">مصدر ثلاثي القطبيّة + PEN</name>
<name lang="cs">3 fáze + PEN pravý</name>
<name lang="cs">Přípojnice 3f+PEN pravá</name>
<name lang="hu">3F + PEN</name>
</names>
<elementInformations/>
<informations>Author: The QElectroTech team

View File

@@ -1,7 +1,7 @@
<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 + PEN</name>
<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>
@@ -11,7 +11,8 @@
<name lang="ru">Трёхполюсный + PEN</name>
<name lang="fr">Source tripolaire + PEN</name>
<name lang="ar">مصدر ثلاثي القطبيّة + PEN</name>
<name lang="cs">3 fáze + N+PE pravý</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

View File

@@ -14,6 +14,7 @@
<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>
@@ -28,7 +29,7 @@
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
</elementInformations>
<informations>titus&#xd;
<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"/>

View File

@@ -13,6 +13,7 @@
<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>

View File

@@ -5,12 +5,14 @@
<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">Síťové zdroje</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

@@ -5,13 +5,14 @@
<name lang="nl">1 fase + aarde + nul</name>
<name lang="el">Μονοφασικό +N +PE</name>
<name lang="de">Wechselstrom + PE +N</name>
<name lang="cs">1 fáze + 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>

View File

@@ -5,13 +5,14 @@
<name lang="nl">1 fase + aardenul</name>
<name lang="el">Μονοφασικό +PEN</name>
<name lang="de">Wechselstrom + PEN</name>
<name lang="cs">1 fáze + 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>

View File

@@ -6,15 +6,16 @@
<name lang="nl">Wisselspanning L + nul N</name>
<name lang="el">Μονοφασικό + Ουδέτερος</name>
<name lang="de">Wechselstrom L + N</name>
<name lang="cs">Jednopólový zdroj + nulový</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&#xd;
<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="_"/>

View File

@@ -6,15 +6,16 @@
<name lang="nl">3fasen</name>
<name lang="el">Τριφασικό</name>
<name lang="de">Drehstrom</name>
<name lang="cs">Třípólový zdroj</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&#xd;
<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="_"/>

View File

@@ -5,13 +5,14 @@
<name lang="nl">driefase + aarde + nul</name>
<name lang="el">Τριφασικό +N +PE</name>
<name lang="de">Drehstrom + PE +N</name>
<name lang="cs">3 fáze + 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>

View File

@@ -5,13 +5,14 @@
<name lang="nl">driefasen + aardenul</name>
<name lang="el">Τριφασικό + PEN</name>
<name lang="de">Drehstrom + PEN</name>
<name lang="cs">3 fáze + 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>

View File

@@ -6,15 +6,16 @@
<name lang="nl">Driefasen + nul</name>
<name lang="el">Τριφασικό + Ουδέτερος</name>
<name lang="de">Dreiphasig + Neutral</name>
<name lang="cs">Třípólový zdroj + nulový</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&#xd;
<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="_"/>

View File

@@ -6,13 +6,14 @@
<name lang="nl">Nul voeding</name>
<name lang="el">Ουδέτερος</name>
<name lang="de">Neutralleiter</name>
<name lang="cs">Nulový zdroj</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>

View File

@@ -6,15 +6,16 @@
<name lang="nl">Fase</name>
<name lang="el">Φάση</name>
<name lang="de">Phase</name>
<name lang="cs">Fázový zdroj</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&#xd;
<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="_"/>

View File

@@ -11,6 +11,7 @@
<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>

View File

@@ -2,7 +2,7 @@
<uuid uuid="{e4e753a8-9fde-4e8e-9256-0cf99d67e3de}"/>
<names>
<name lang="pt">Terra</name>
<name lang="cs">Země</name>
<name lang="cs">Uzemnění</name>
<name lang="it">Terra</name>
<name lang="el">Γείωση</name>
<name lang="nl">Aarde</name>
@@ -13,6 +13,7 @@
<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>
@@ -27,7 +28,7 @@
<elementInformation name="plant" show="1"></elementInformation>
<elementInformation name="label" show="1"></elementInformation>
</elementInformations>
<informations>Author: The QElectroTech team&#xd;
<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">

View File

@@ -1,15 +1,23 @@
<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}"/>
<definition width="20" version="0.90" type="element" height="20" hotspot_y="9" link_type="simple" hotspot_x="9">
<uuid uuid="{1eefef79-1c23-413b-873a-3d84f4aa5c25}"/>
<names>
<name lang="fr">connexion</name>
<name lang="en">connection</name>
<name lang="cs">Bod</name>
<name lang="de">Verbindung</name>
<name lang="hu">Keresztezés pont alakzatban</name>
</names>
<elementInformations/>
<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"/>
<circle y="-2" style="line-style:normal;line-weight:normal;filling:black;color:black" antialias="false" diameter="4" x="-2"/>
<dynamic_text y="-14.5" Valignment="AlignTop" keep_visual_rotation="false" text_from="ElementInfo" uuid="{2aef950d-c62d-4d3c-939b-3e81653d5244}" Halignment="AlignLeft" x="-11" font="Sans Serif,9,-1,5,50,0,0,0,0,0" rotation="0" z="2" text_width="-1" frame="false">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal y="0" type="Generic" uuid="{9cc2fc56-976f-49ac-a0f8-63eb85f716c2}" orientation="e" x="2" name=""/>
<terminal y="0" type="Generic" uuid="{3c4b4f5e-98a2-4daa-9a47-40b8e018166e}" orientation="w" x="-2" name=""/>
<terminal y="2" type="Generic" uuid="{8d99aa04-def0-4573-a0e8-41229ed2f1dc}" orientation="s" x="0" name=""/>
<terminal y="-2" type="Generic" uuid="{f2e49ff6-ee59-492e-a6ad-82708479afd6}" orientation="n" x="0" name=""/>
</description>
</definition>

View File

@@ -2,6 +2,7 @@
<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>
@@ -9,6 +10,7 @@
<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>

View File

@@ -1,22 +1,25 @@
<definition hotspot_y="7" width="20" type="element" height="20" version="0.70" hotspot_x="11" link_type="terminal">
<uuid uuid="{2d505b61-db0f-4784-9b9c-189366058272}"/>
<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="es">Esquina</name>
<name lang="en">Corner</name>
<name lang="cs">Roh</name>
<name lang="it">Angolo</name>
<name lang="fr">Coin</name>
<name lang="ru">Угол</name>
<name lang="pl">Narożnik</name>
<name lang="ar">ركن</name>
<name lang="it">Angolo</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" x="-0.5" y="-5.45" uuid="{9b8dd22d-096a-4989-b6f7-1de9e0339f53}" font_size="1" z="1" frame="false" text_from="UserText" text_width="-1">
<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>
<terminal x="0" y="4" orientation="s"/>
<terminal x="-4" y="0" orientation="w"/>
<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,25 +1,29 @@
<definition height="20" link_type="terminal" hotspot_x="9" width="20" hotspot_y="9" version="0.70" type="element">
<uuid uuid="{8c0d3e9c-dc37-41d7-bfd5-fe4dbf8dc4fb}"/>
<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="ru">Пересечение</name>
<name lang="cs">Kříž</name>
<name lang="pl">Połączenie 2</name>
<name lang="it">Croce</name>
<name lang="es">Cruzar</name>
<name lang="en">Cross</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" style="line-style:normal;line-weight:normal;filling:black;color:black" x="-1" antialias="true" diameter="2"/>
<dynamic_text uuid="{fc5c039b-1fca-40d9-a6ff-a9e1775de38b}" text_width="-1" frame="false" y="-9.45" font_size="1" x="-0.5" z="2" rotation="0" text_from="UserText">
<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>
<terminal y="0" orientation="e" x="4"/>
<terminal y="4" orientation="s" x="0"/>
<terminal y="-4" orientation="n" x="0"/>
<terminal y="0" orientation="w" x="-4"/>
<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

@@ -2,6 +2,7 @@
<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>
@@ -9,6 +10,7 @@
<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>

View File

@@ -1,19 +1,24 @@
<definition version="0.70" height="30" type="element" width="30" hotspot_x="14" link_type="simple" hotspot_y="12">
<uuid uuid="{3015326e-2599-495e-8ef0-c12ff5313dd0}"/>
<definition type="element" width="30" hotspot_y="12" version="0.90" height="30" link_type="simple" hotspot_x="14">
<uuid uuid="{9b3513fd-694f-4fc7-8b7e-66b733b9b4e1}"/>
<names>
<name lang="de">Klemmstelle (3)</name>
<name lang="cs">Všestranný spoj</name>
<name lang="hu">Egyesítő négy vezetékhez</name>
<name lang="fr">
Connecteur pour quatre fils</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<polygon x6="6" x2="-5" x8="6" y5="5" y2="0" closed="false" x10="0" x3="0" x7="10" y7="0" y4="10" y11="-5" antialias="false" x9="0" x11="0" style="line-style:normal;line-weight:normal;filling:none;color:black" x5="0" y9="5" y10="-5" y1="0" y6="0" x4="0" x1="-10" y8="0" y3="5"/>
<dynamic_text font="Sans Serif,9,-1,5,50,0,0,0,0,0" frame="false" x="-13" text_from="ElementInfo" y="-12" z="2" rotation="0" Valignment="AlignTop" text_width="-1" uuid="{14c0b70c-c028-49ef-bf72-3c3c9cd64669}" Halignment="AlignLeft">
<dynamic_text frame="false" text_width="-1" rotation="0" Halignment="AlignLeft" y="-12" x="-13" keep_visual_rotation="true" uuid="{14c0b70c-c028-49ef-bf72-3c3c9cd64669}" Valignment="AlignTop" z="2" font="Sans Serif,9,-1,5,50,0,0,0,0,0" text_from="ElementInfo">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal x="0" y="-5" orientation="n"/>
<terminal x="0" y="10" orientation="s"/>
<terminal x="-10" y="0" orientation="w"/>
<terminal x="10" y="0" orientation="e"/>
<polygon x1="-10" y2="0" x4="5" y3="5" x3="0" x5="10" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" y4="0" antialias="false" x2="-5" y5="0" closed="false"/>
<line x1="0" y2="10" length2="1.5" end1="none" length1="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" end2="none" y1="-5" antialias="false" x2="0"/>
<terminal type="Generic" name="" y="0" x="10" uuid="{06bf5c9f-6986-45bf-b11f-02e876abc4b8}" orientation="e"/>
<terminal type="Generic" name="" y="-5" x="0" uuid="{33c03677-8555-4b42-ae2c-4b4308978086}" orientation="n"/>
<terminal type="Generic" name="" y="0" x="-10" uuid="{95bef6e9-343e-45d7-9705-4aa81f62bed0}" orientation="w"/>
<terminal type="Generic" name="" y="10" x="0" uuid="{e9329e22-255b-4763-9dc6-65da277e1ac7}" orientation="s"/>
</description>
</definition>

View File

@@ -1,17 +0,0 @@
<definition type="element" hotspot_x="35" version="0.80" width="70" height="80" hotspot_y="46" link_type="simple">
<uuid uuid="{e5a46987-e259-4ca4-9e40-eedc3652f738}"/>
<names>
<name lang="cs">Pokus</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<rect width="60" x="-30" style="line-style:normal;line-weight:normal;filling:none;color:black" height="65" rx="0" y="-35" antialias="false" ry="0"/>
<dynamic_text z="3" font="Sans Serif,9,-1,5,0,0,0,0,0,0,normal" Valignment="AlignTop" uuid="{cec75afa-b854-41b8-aed8-6edba82c76ff}" text_from="ElementInfo" x="-45" text_width="-1" y="-20" frame="false" rotation="0" Halignment="AlignLeft">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<terminal orientation="n" x="20" y="-40"/>
<terminal orientation="n" x="-20" y="-40"/>
</description>
</definition>

View File

@@ -6,11 +6,13 @@
<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,25 +1,26 @@
<definition type="element" height="20" width="30" version="0.70" hotspot_y="4" link_type="terminal" hotspot_x="17">
<uuid uuid="{709e6400-adc2-4faf-ba46-aa513d1dcaf1}"/>
<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="pl">Połączenie 3</name>
<name lang="cs">Spojka</name>
<name lang="en">Splice</name>
<name lang="it">Spaziatura</name>
<name lang="ru">Сращивание</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 text_width="-1" x="1.5" rotation="0" frame="false" uuid="{b653b162-d4c8-4660-a5ca-e6ca05a56de9}" font_size="1" z="1" text_from="ElementInfo" y="-1.45">
<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>
<line x2="-6" antialias="false" x1="0" end2="none" y2="0" end1="none" length2="1.5" length1="1.5" y1="6" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line x2="-5" antialias="false" x1="1" end2="none" y2="0" end1="none" length2="1.5" length1="1.5" y1="0" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal x="0" orientation="s" y="10"/>
<terminal x="-10" orientation="w" y="0"/>
<terminal x="4" orientation="e" y="0"/>
<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,25 +1,27 @@
<definition hotspot_y="4" height="20" hotspot_x="17" type="element" width="30" link_type="terminal" version="0.70">
<uuid uuid="{9e88368e-1b20-4a56-8941-5d17a4cce2d4}"/>
<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="cs">Levé spojení</name>
<name lang="ru">Справа налево</name>
<name lang="fr">Liaison gauche</name>
<name lang="en">Thru left</name>
<name lang="ar">ربط يسار</name>
<name lang="it">Collegamento sinistro</name>
<name lang="pl">Połączenie 4</name>
<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 font_size="1" rotation="0" uuid="{5ff9bef8-b6a8-4cf8-ba82-4dabe7b1820f}" text_width="-1" frame="false" text_from="UserText" z="1" x="1.5" y="-1.45">
<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>
<line x1="0" length1="1.5" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="6" y2="0" end1="none" antialias="false" x2="-6"/>
<line x1="0" length1="1.5" end2="none" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0" y2="5" end1="none" antialias="false" x2="0"/>
<terminal x="4" orientation="e" y="0"/>
<terminal x="-10" orientation="w" y="0"/>
<terminal x="0" orientation="s" y="10"/>
<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,26 +1,27 @@
<definition link_type="terminal" width="30" hotspot_x="14" height="20" version="0.70" hotspot_y="4" type="element">
<uuid uuid="{6e40fff3-691c-4622-b9aa-4ff930a5b981}"/>
<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="en">Thru right</name>
<name lang="ru">Слева направо</name>
<name lang="cs">Pravé spojení</name>
<name lang="fr">Liaison droite</name>
<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="ar">ربط يمين</name>
<name lang="pl">Połączenie 5</name>
<name lang="ar">ربط يمين</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<dynamic_text text_width="-1" y="-0.45" rotation="0" uuid="{ab829572-e7d6-4e5c-9c6e-a0852fea788e}" x="5.5" frame="false" text_from="UserText" font_size="1" z="1">
<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>
<line antialias="false" x1="0" y1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length1="1.5" end2="none" end1="none" y2="0" length2="1.5" x2="-6"/>
<line antialias="false" x1="0" y1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length1="1.5" end2="none" end1="none" y2="5" length2="1.5" x2="0"/>
<line antialias="false" x1="6" y1="0" style="line-style:normal;line-weight:normal;filling:none;color:black" length1="1.5" end2="none" end1="none" y2="6" length2="1.5" x2="0"/>
<terminal orientation="s" y="10" x="0"/>
<terminal orientation="w" y="0" x="-10"/>
<terminal orientation="e" y="0" x="10"/>
<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,25 +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">Označení drátového propojení - 2 fáze + země</name>
</names>
<informations>Author: The QElectroTech team&#xd;
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,16 +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="de">Kabel und Verdrahtung</name>
<name lang="el">Καλώδια και καλωδίωση</name>
<name lang="nl">Kabels en draden</name>
<name lang="cs">Kabely a drátové propojení</name>
<name lang="da">Kabler og ledninger</name>
<name lang="ja">ケーブルと配線</name>
</names>
</qet-directory>

View File

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

@@ -7,9 +7,10 @@
<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">Označení drátového propojení - 3 fáze + země</name>
<name lang="cs">Kabel 4G</name>
<name lang="hu">Kábel 3 + PE</name>
</names>
<informations>Author: The QElectroTech team&#xd;
<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"/>

View File

@@ -7,9 +7,10 @@
<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">Označení drátového propojení - 2 fáze + země</name>
<name lang="cs">Kabel 3G</name>
<name lang="hu">Kábel 2 + PE</name>
</names>
<informations>Author: The QElectroTech team&#xd;
<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"/>

View File

@@ -5,8 +5,10 @@
<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&#xd;
<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"/>

View File

@@ -5,8 +5,10 @@
<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&#xd;
<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"/>

View File

@@ -5,8 +5,10 @@
<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&#xd;
<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"/>

View File

@@ -2,13 +2,14 @@
<uuid uuid="{4b9a04b1-0d35-4d54-b5cb-b573ed3a9b0d}"/>
<names>
<name lang="de">Kabel 3x</name>
<name lang="cs">Označení drátového propojení 3 vodiče</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>

View File

@@ -4,7 +4,7 @@
<name lang="nl">Scherm</name>
<name lang="el">Πλέγμα</name>
<name lang="de">Schirm</name>
<name lang="cs">Obrazovka</name>
<name lang="cs">Stínění</name>
<name lang="pl">Ekran 3</name>
<name lang="it">Schermo</name>
<name lang="ar">شاشة</name>
@@ -12,6 +12,7 @@
<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>

View File

@@ -2,13 +2,14 @@
<uuid uuid="{6ac285f9-6492-40cb-be58-9ba565ea1921}"/>
<names>
<name lang="de">Kabelader</name>
<name lang="cs">Vedení kabelu</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>

View File

@@ -2,12 +2,13 @@
<uuid uuid="{374ed6b3-7329-4cad-ac8c-200b17508460}"/>
<names>
<name lang="de">Verdrahtung</name>
<name lang="cs">Drátové propojení</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>

View File

@@ -4,9 +4,10 @@
<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&#xd;
<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"/>

View File

@@ -8,8 +8,9 @@
<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&#xd;
<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"/>

View File

@@ -8,8 +8,9 @@
<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&#xd;
<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"/>

View File

@@ -5,12 +5,13 @@
<name lang="es">Clasificación de sección</name>
<name lang="nl">Doorsnede</name>
<name lang="de">Verdrahtungsquerschnitt</name>
<name lang="cs">Průřez drátovým propojením</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>

View File

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

@@ -2,13 +2,14 @@
<uuid uuid="{b96a76a6-a798-497b-a044-dd933756d175}"/>
<names>
<name lang="de">Verdrahtungsdefinition 1 Leiter</name>
<name lang="cs">Označení drátového propojení 1 vodič</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&#xd;
<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"/>

View File

@@ -2,13 +2,14 @@
<uuid uuid="{448ac784-f459-4f8f-bd3f-d911802b3369}"/>
<names>
<name lang="de">Verdrahtungsdefinition 2 Leiter</name>
<name lang="cs">Označení drátového propojení 2 vodiče</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&#xd;
<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"/>

View File

@@ -2,13 +2,14 @@
<uuid uuid="{c94d9e16-e3bb-4117-b037-466a15edcb14}"/>
<names>
<name lang="de">Verdrahtungsdefinition 2 Leiter</name>
<name lang="cs">Označení drátového propojení 2 vodiče</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&#xd;
<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"/>

View File

@@ -2,13 +2,14 @@
<uuid uuid="{9d939952-9c2b-4b12-898f-262abc91e845}"/>
<names>
<name lang="de">Verdrahtungsdefinition 3 Leiter</name>
<name lang="cs">Označení drátového propojení 3 vodiče</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&#xd;
<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"/>

View File

@@ -1,17 +0,0 @@
<definition version="0.80" link_type="simple" hotspot_y="13" type="element" height="250" hotspot_x="15" width="30">
<uuid uuid="{bb4c314c-2020-4c8a-b465-632eb562e1f7}"/>
<names>
<name lang="fr">Cable</name>
</names>
<elementInformations/>
<informations></informations>
<description>
<rect ry="0" y="0" x="-10" style="line-style:normal;line-weight:normal;filling:none;color:black" height="230" rx="0" width="20" antialias="false"/>
<dynamic_text uuid="{3a1faa81-e74a-4640-af5a-3fb5c454f467}" rotation="270" text_width="-1" text_from="ElementInfo" font="Sans Serif,7,-1,5,50,0,0,0,0,0" frame="false" Valignment="AlignTop" y="200" x="-10" Halignment="AlignLeft" z="2">
<text></text>
<info_name>label</info_name>
</dynamic_text>
<line x1="0" x2="0" end1="none" end2="none" y2="0" length1="1.5" y1="-4" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" antialias="false"/>
<terminal y="-4" x="0" orientation="n"/>
</description>
</definition>

View File

@@ -1,11 +0,0 @@
<qet-directory>
<names>
<name lang="fr">Plans de borniers</name>
<name lang="de">Klemmenanschlusspläne</name>
<name lang="en">Terminal strips diagram</name>
<name lang="es">Clemas o tira de terminales</name>
<name lang="it">Schema delle morsettiere</name>
<name lang="pl">Schemat listw zaciskowych</name>
<name lang="da">Klemmerækker</name>
</names>
</qet-directory>

View File

@@ -1,44 +0,0 @@
<definition width="50" link_type="simple" version="0.5" hotspot_x="20" height="30" hotspot_y="4" type="element">
<uuid uuid="{5953974b-d91b-4358-b6e6-7ab44e9c46ca}"/>
<names>
<name lang="es">Distribuidor</name>
<name lang="nl">Verdeler</name>
<name lang="de">Verteiler</name>
<name lang="cs">Rozdělovač</name>
<name lang="pl">Łączówka</name>
<name lang="it">Ripartitore</name>
<name lang="ar">مُوزّع</name>
<name lang="en">distributor</name>
<name lang="fr">Répartiteur</name>
</names>
<informations>Author: The QElectroTech team
License: see http://qelectrotech.org/wiki/doc/elements_license</informations>
<description>
<rect x="-16" width="42" antialias="false" y="4" height="12" style="line-style:normal;line-weight:thin;filling:none;color:black"/>
<input x="27" y="10.6667" tagg="label" size="9" text="XR_"/>
<circle x="19.5" antialias="true" y="9.5" diameter="1" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="9.5" antialias="true" y="9.5" diameter="1" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="-0.5" antialias="true" y="9.5" diameter="1" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="-12.5" antialias="true" y="7.5" diameter="5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="-10.5" antialias="true" y="9.5" diameter="1" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<line antialias="false" length1="1.5" x2="20" end2="none" x1="20" end1="none" y2="13" 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="10" end1="none" y2="13" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20"/>
<line antialias="false" length1="1.5" x2="0" end2="none" x1="0" end1="none" y2="13" 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="-10" end1="none" y2="13" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="20"/>
<line antialias="false" length1="1.5" x2="20" end2="none" x1="20" end1="none" y2="7" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="false" length1="1.5" x2="10" end2="none" x1="10" end1="none" y2="7" 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="7" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<line antialias="false" length1="1.5" x2="-10" end2="none" x1="-10" end1="none" y2="7" length2="1.5" style="line-style:normal;line-weight:normal;filling:none;color:black" y1="0"/>
<circle x="17.5" antialias="true" y="7.5" diameter="5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="7.5" antialias="true" y="7.5" diameter="5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<circle x="-2.5" antialias="true" y="7.5" diameter="5" style="line-style:normal;line-weight:normal;filling:none;color:black"/>
<terminal x="-10" y="0" orientation="n"/>
<terminal x="-10" y="20" orientation="s"/>
<terminal x="0" y="0" orientation="n"/>
<terminal x="0" y="20" orientation="s"/>
<terminal x="10" y="0" orientation="n"/>
<terminal x="10" y="20" orientation="s"/>
<terminal x="20" y="0" orientation="n"/>
<terminal x="20" y="20" orientation="s"/>
</description>
</definition>

View File

@@ -1,18 +0,0 @@
<qet-directory>
<names>
<name lang="de">Klemmen und Klemmleisten</name>
<name lang="ru">Клеммы и клеммники</name>
<name lang="en">Terminals and terminal strips</name>
<name lang="fr">Bornes et borniers</name>
<name lang="ar">طرفيات توصيل</name>
<name lang="pt">Terminais</name>
<name lang="cs">Svorky</name>
<name lang="pl">Złącza i zaciski</name>
<name lang="it">Terminali</name>
<name lang="es">Terminales</name>
<name lang="el">Ακροδέκτες και σειρές ακροδεκτών</name>
<name lang="nl">Klemmenlijst</name>
<name lang="da">Klemmer og klemmerækker</name>
<name lang="ja">端子と端子台</name>
</names>
</qet-directory>

View File

@@ -6,6 +6,8 @@
<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>

View File

@@ -6,6 +6,8 @@
<name lang="en">Terminal (feed-through)</name>
<name lang="es">Clema (introducción atravesada)</name>
<name lang="pl">Zacisk</name>
<name lang="cs">Svorka průchozí</name>
<name lang="hu">Sorkapocs átmenő</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="en">Terminal (Grounding)</name>
<name lang="es">Clema (Aterrizada)</name>
<name lang="pl">Zacisk uziemiający</name>
<name lang="cs">Svorka zemnící</name>
<name lang="hu">Sorkapocs földelő</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="en">Discontinuation terminal strip</name>
<name lang="es">Clema de descontinuación</name>
<name lang="it">Morsettiera d'interruzione</name>
<name lang="cs">Přerušení svorkovnice</name>
<name lang="hu">Sorkapocstömb megszakítása</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="en">Terminal double-level (feed-through)</name>
<name lang="es">Clema de doble nivel (Introducción atravesada)</name>
<name lang="it">Morsettiera a doppio livello (interconnesso)</name>
<name lang="cs">Dvoupatrová svorkovnice</name>
<name lang="hu">Kétemeletes sorkapocs</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="en">Insertion bridge</name>
<name lang="es">Puente de inserción</name>
<name lang="it">Barra di connessione</name>
<name lang="cs">Propojka svorkovnic</name>
<name lang="hu">Sorkapocs áthidalás</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="de">Einlegebrücke (doppelte Breite)</name>
<name lang="fr">Barette de pontage (largeur double)</name>
<name lang="it">Barra di connessione (larghezza doppia)</name>
<name lang="cs">Propojka svorkovnic (dvojitá šířka)</name>
<name lang="hu">Sorkapocs áthidalás dupla széles</name>
</names>
<informations/>
<description>

View File

@@ -6,6 +6,8 @@
<name lang="es">Conector de 25 pins</name>
<name lang="de">Stecker 25-polig</name>
<name lang="it">Connettore 25 poli</name>
<name lang="cs">Konektor 25 pinů</name>
<name lang="hu">25 tűs áthidalás</name>
</names>
<informations/>
<description>

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