Compare commits

..

1 Commits

Author SHA1 Message Date
Laurent Trinques f4ac69a805 Revert "some minor changes" 2024-04-10 14:31:01 +02:00
637 changed files with 24978 additions and 43763 deletions
+1 -1
View File
@@ -146,7 +146,7 @@ install(DIRECTORY elements DESTINATION share/qelectrotech)
install(DIRECTORY examples DESTINATION share/qelectrotech) install(DIRECTORY examples DESTINATION share/qelectrotech)
install(DIRECTORY titleblocks DESTINATION share/qelectrotech) install(DIRECTORY titleblocks DESTINATION share/qelectrotech)
install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share/doc/qelectrotech) install(FILES LICENSE ELEMENTS.LICENSE CREDIT README ChangeLog DESTINATION share/doc/qelectrotech)
install(FILES misc/org.qelectrotech.qelectrotech.desktop DESTINATION share/applications) install(FILES misc/qelectrotech.desktop DESTINATION share/applications)
install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages) install(FILES misc/qelectrotech.xml DESTINATION share/mime/packages)
install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH}) install(FILES misc/qelectrotech.appdata.xml DESTINATION ${QET_APPDATA_PATH})
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH}) install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
+2
View File
@@ -7,6 +7,8 @@
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
Permission is not granted to use this software or any of the associated files
as sample data for the purposes of building machine learning models.
Preamble Preamble
+21 -18
View File
@@ -18,7 +18,7 @@ The main goal of the developers is to provide a libre, easy to use and effective
The current stable version is 0.90 and was released on 2023.01.06. The current stable version is 0.90 and was released on 2023.01.06.
Once it has been officially released, the stable version is always frozen and is no longer developed. Once it has been officially released, the stable version is always frozen and is no longer developed.
New functionalities, bug and issue fixings are further made in the development version (currently 0.100), which can also be [downloaded](https://qelectrotech.org/download.php). New functionalities, bug and issue fixings are further made in the development version (currently 0.100), 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 partially 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!
@@ -26,7 +26,10 @@ Users who want to test and take benefits from the last software implementations
The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html). The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
You are free to use, copy, modify and redistribute it under the terms of the license. You are free to use, copy, modify and redistribute it under the terms of the license.
```txt
Permission is not granted to use this software or any of the associated files
as sample data for the purposes of building machine learning models.
```
Like many other open source software, QElectroTech is provided as is, without any warranty. Like many other open source software, QElectroTech is provided as is, without any warranty.
### Development / technical choices ### Development / technical choices
@@ -77,12 +80,12 @@ Take advantage of the modern GUI
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work. Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows). Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
The GUI can fit to small or big screens, and even to multi-display configurations. The GUI can fit to small or big screens, and even to multi-display configurations.
![](https://download.qelectrotech.org/qet/images-features/0030.png "GUI overview") ![](https://download.tuxfamily.org/qet/images-features/0030.png "GUI overview")
The GUI of QElectroTech is translated in 25 languages. The GUI of QElectroTech is translated in 25 languages.
You only need to restart the application for the new selected language to take effect. You only need to restart the application for the new selected language to take effect.
![](https://download.qelectrotech.org/qet/images-features/0040.png "Lang menu") ![](https://download.tuxfamily.org/qet/images-features/0040.png "Lang menu")
Create technical documentation in professional quality Create technical documentation in professional quality
@@ -91,56 +94,56 @@ You can set vertical and horizontal headers (printed rulers) individually on and
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs. Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
Custom variables can be defined to display the informations you wish in the titleblock. Custom variables can be defined to display the informations you wish in the titleblock.
![](https://download.qelectrotech.org/qet/images-features/0055.png "Titleblock editor") ![](https://download.tuxfamily.org/qet/images-features/0055.png "Titleblock editor")
With only 2 mouse clicks you can add a full automatic generated table of content. With only 2 mouse clicks you can add a full automatic generated table of content.
Changes in the documentation are updated on the fly. Changes in the documentation are updated on the fly.
![](https://download.qelectrotech.org/qet/images-features/0060.png "Table of content") ![](https://download.tuxfamily.org/qet/images-features/0060.png "Table of content")
Choose from more than 8.200 symbols... Choose from more than 8.200 symbols...
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols. The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
The library grows at every new release thanks to an active user community. The library grows at every new release thanks to an active user community.
![](https://download.qelectrotech.org/qet/images-features/0070.png "Collections") ![](https://download.tuxfamily.org/qet/images-features/0070.png "Collections")
...or create your own collection ...or create your own collection
The embedded element editor is a nice tool to create your own elements (symbols or anything else). The embedded element editor is a nice tool to create your own elements (symbols or anything else).
Your own elements are stored in the user collection. Your own elements are stored in the user collection.
![](https://download.qelectrotech.org/qet/images-features/0080.png "Element editor") ![](https://download.tuxfamily.org/qet/images-features/0080.png "Element editor")
Quickly find what you need Quickly find what you need
All collections can quickly be searched with the integrated search engine. All collections can quickly be searched with the integrated search engine.
Furthermore, the search request can be restricted to the folder of your choice. Furthermore, the search request can be restricted to the folder of your choice.
![](https://download.qelectrotech.org/qet/images-features/0090.png "Search engine") ![](https://download.tuxfamily.org/qet/images-features/0090.png "Search engine")
Easily draw complex schematics Easily draw complex schematics
To add an element on the drawing area, it only needs a drag & drop from the collection panel. To add an element on the drawing area, it only needs a drag & drop from the collection panel.
![](https://download.qelectrotech.org/qet/images-features/0102.png "Drag and drop") ![](https://download.tuxfamily.org/qet/images-features/0102.png "Drag and drop")
Elements are automatically connected if they are aligned, or connected from point to point by pulling a conductor with the mouse. Elements are automatically connected if they are aligned, or connected from point to point by pulling a conductor with the mouse.
![](https://download.qelectrotech.org/qet/images-features/0105.png "Conductor connections") ![](https://download.tuxfamily.org/qet/images-features/0105.png "Conductor connections")
The path of every conductor can be modified by moving its handles with the mouse. The path of every conductor can be modified by moving its handles with the mouse.
![](https://download.qelectrotech.org/qet/images-features/0107.png "Conductor handles") ![](https://download.tuxfamily.org/qet/images-features/0107.png "Conductor handles")
And of course, you can accurately zoom with the mouse wheel over the drawing area to catch the smallest details. And of course, you can accurately zoom with the mouse wheel over the drawing area to catch the smallest details.
Link elements together to create cross references Link elements together to create cross references
Several types of element can be linked together to display a cross reference text. Several types of element can be linked together to display a cross reference text.
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes. All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
![](https://download.qelectrotech.org/qet/images-features/0112.png "Cross ref elements") ![](https://download.tuxfamily.org/qet/images-features/0112.png "Cross ref elements")
To speed up your work, linkable elements are easily searched and shown. To speed up your work, linkable elements are easily searched and shown.
![](https://download.qelectrotech.org/qet/images-features/0115.png "Cross ref search") ![](https://download.tuxfamily.org/qet/images-features/0115.png "Cross ref search")
Export informations to a parts list Export informations to a parts list
Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application. Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application.
![](https://download.qelectrotech.org/qet/images-features/0122.png "Element informations") ![](https://download.tuxfamily.org/qet/images-features/0122.png "Element informations")
This way, you can make your own parts list or bill of material using the full power of a spreadsheet program. This way, you can make your own parts list or bill of material using the full power of a spreadsheet program.
![](https://download.qelectrotech.org/qet/images-features/0125.png "Spreadsheet") ![](https://download.tuxfamily.org/qet/images-features/0125.png "Spreadsheet")
Print to pdf and/or export your work to images Print to pdf and/or export your work to images
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file. Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
@@ -165,7 +168,7 @@ The nomenclature is presented in the form of a configurable table separated into
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate. - 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. - Content: the information to display in the table and the order in which it should be displayed.
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/dialogue_nomenclature.png "nomenclature dialogue") ![](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. In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
@@ -184,7 +187,7 @@ Finally two buttons are available in the property panel:
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency. - "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 And to finish a table
![](https://download.qelectrotech.org/qet/images_depeche_linuxfr/08/tableau.png "table") ![](https://download.tuxfamily.org/qet/images_depeche_linuxfr/08/tableau.png "table")
Summary Summary
@@ -1,11 +1,11 @@
{ {
"id": "org.qelectrotech.QElectroTech", "id": "org.qelectrotech.QElectroTech",
"base-version": "5.15-23.08", "base-version": "5.15-22.08",
"runtime": "org.kde.Platform", "runtime": "org.kde.Platform",
"runtime-version": "5.15-23.08", "runtime-version": "5.15-22.08",
"sdk": "org.kde.Sdk", "sdk": "org.kde.Sdk",
"command": "qelectrotech", "command": "qelectrotech",
"rename-desktop-file": "org.qelectrotech.qelectrotech.desktop", "rename-desktop-file": "qelectrotech.desktop",
"rename-appdata-file": "qelectrotech.appdata.xml", "rename-appdata-file": "qelectrotech.appdata.xml",
"rename-icon": "qelectrotech", "rename-icon": "qelectrotech",
"copy-icon": true, "copy-icon": true,
@@ -29,7 +29,7 @@
{ {
"type": "git", "type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone", "url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "23c793bad2429f4a81eee9f50e2d07ae845b7785" "commit": "2301112d142ebaf7532b25600c77d1a2edc9ef04"
} }
], ],
"modules": [ "modules": [
@@ -9,6 +9,8 @@ if [ ! -d "$to" ] && [ -d "$from" ]; then
cp -av "$from/." "$to" cp -av "$from/." "$to"
fi fi
# link DXFtoQET so that QET finds it
mkdir -p "$HOME/.qet"
ln -snf "$SNAP/bin/DXFtoQET" "$HOME/.qet/DXFtoQET"
exec "${@}" exec "${@}"
+22 -7
View File
@@ -29,11 +29,11 @@ apps:
common-id: qelectrotech.desktop common-id: qelectrotech.desktop
extensions: extensions:
- kde-neon - kde-neon
plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control, wayland, x11] plugs: &plugs [opengl, unity7, home, removable-media, gsettings, network, cups-control]
environment: &env environment: &env
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6 TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
HOME: $SNAP_USER_COMMON HOME: $SNAP_USER_COMMON
PYTHONPATH: $SNAP:$SNAP/lib/python3.10/site-packages:$SNAP/usr/lib/python3.10:$SNAP/usr/lib/python3.10/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: qet-tb-generator:
command: bin/qet_tb_generator command: bin/qet_tb_generator
@@ -42,7 +42,13 @@ apps:
plugs: *plugs plugs: *plugs
environment: *env environment: *env
dxf-to-qet:
command: bin/DXFtoQET
extensions:
- kde-neon
plugs: *plugs
environment: *env
parts: parts:
launchers: launchers:
plugin: dump plugin: dump
@@ -71,7 +77,16 @@ parts:
override-build: | override-build: |
rsync -a --ignore-existing /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/ / rsync -a --ignore-existing /snap/kf5-5-110-qt-5-15-11-core22-sdk/current/ /
dxf-to-qet:
after: [kde-sdk-setup]
plugin: nil
source: https://github.com/qelectrotech/DXFtoQET-2020.git
override-build: |
qmake "$CRAFT_PART_SRC/DXFtoQET.pro"
make -j$(nproc)
mkdir -p "$CRAFT_PART_INSTALL/bin"
cp DXFtoQET "$CRAFT_PART_INSTALL/bin/"
qelectrotech: qelectrotech:
after: [kde-sdk-setup] after: [kde-sdk-setup]
plugin: nil plugin: nil
@@ -81,7 +96,7 @@ parts:
- git - git
- libsqlite3-dev - libsqlite3-dev
override-build: | override-build: |
displayed_version=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g') displayed_version=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g')
snap_version="${displayed_version}-g$(git rev-parse --short=8 HEAD)" snap_version="${displayed_version}-g$(git rev-parse --short=8 HEAD)"
modified_displayed_version="${snap_version}.snap" modified_displayed_version="${snap_version}.snap"
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
@@ -93,10 +108,10 @@ parts:
craftctl default craftctl default
# patch desktop file with correct icon path # patch desktop file with correct icon path
SED_CMD="sed -i -E s|^Icon=(.*)|Icon=\${SNAP}/usr/local/share/icons/hicolor/128x128/apps/\1.png|g" SED_CMD="sed -i -E s|^Icon=(.*)|Icon=\${SNAP}/usr/local/share/icons/hicolor/128x128/apps/\1.png|g"
$SED_CMD usr/local/share/applications/org.qelectrotech.qelectrotech.desktop $SED_CMD usr/local/share/applications/qelectrotech.desktop
cleanup: cleanup:
after: [qelectrotech, qet-tb-generator] after: [qelectrotech, dxf-to-qet, qet-tb-generator]
plugin: nil plugin: nil
build-snaps: [kf5-5-110-qt-5-15-11-core22] build-snaps: [kf5-5-110-qt-5-15-11-core22]
override-prime: | override-prime: |
+2 -5
View File
@@ -5,10 +5,7 @@ set current_dir=%~dp0
cd /d %current_dir% cd /d %current_dir%
rem lance QElectroTech rem lance QElectroTech
rem Sans option --config-dir, la configuration de QElectroTech seront dans rem Sans option --config-dir, la configuration de QElectroTech ainsi que la
rem "C:/Users/<USER>/AppData/Local/QElectroTech/QElectroTech" rem collection d'elements perso seront dans "%APPDATA%\qet"
rem Sans l'option --data-dir, les données utilisateur (elements, titleblocks,
rem log, ...) de QElectroTech sont stockées dans
rem "C:/Users/<USER>/AppData/Roaming/QElectroTech/QElectroTech"
set command=bin\qelectrotech.exe --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ -style windowsvista %* set command=bin\qelectrotech.exe --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ -style windowsvista %*
@start %command% @start %command%
+2 -3
View File
@@ -125,7 +125,6 @@
!insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Dutch_Belgium" !insertmacro MUI_LANGUAGE "Dutch_Belgium"
!insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_RESERVEFILE_LANGDLL !insertmacro MUI_RESERVEFILE_LANGDLL
!include lang_extra.nsh !include lang_extra.nsh
@@ -267,13 +266,13 @@ Section ""
; write file associations registry keys ; write file associations registry keys
WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\"" WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file" WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "Diagram QET" WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "Schéma QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "EditFlags" 0x00000000 WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "BrowserFlags" 0x00000008 WriteRegDWORD HKEY_CLASSES_ROOT "qet_diagram_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico" WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\"" WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file" WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Element QET" WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Élément QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000 WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008 WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico" WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico"
-4
View File
@@ -258,9 +258,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/dxf/dxftoelmt.cpp ${QET_DIR}/sources/dxf/dxftoelmt.cpp
${QET_DIR}/sources/dxf/dxftoelmt.h ${QET_DIR}/sources/dxf/dxftoelmt.h
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.cpp
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.h
${QET_DIR}/sources/editor/arceditor.cpp ${QET_DIR}/sources/editor/arceditor.cpp
${QET_DIR}/sources/editor/arceditor.h ${QET_DIR}/sources/editor/arceditor.h
${QET_DIR}/sources/editor/editorcommands.cpp ${QET_DIR}/sources/editor/editorcommands.cpp
@@ -736,7 +733,6 @@ set(TS_FILES
${QET_DIR}/lang/qet_sk.ts ${QET_DIR}/lang/qet_sk.ts
${QET_DIR}/lang/qet_sl.ts ${QET_DIR}/lang/qet_sl.ts
${QET_DIR}/lang/qet_sr.ts ${QET_DIR}/lang/qet_sr.ts
${QET_DIR}/lang/qet_sv.ts
${QET_DIR}/lang/qet_tr.ts ${QET_DIR}/lang/qet_tr.ts
${QET_DIR}/lang/qet_zh.ts ${QET_DIR}/lang/qet_zh.ts
) )
-3
View File
@@ -25,8 +25,5 @@ add_definitions(-DQET_ALLOW_OVERRIDE_CTBTD_OPTION)
# Comment the line below to deactivate the --config-dir option # Comment the line below to deactivate the --config-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_CD_OPTION) add_definitions(-DQET_ALLOW_OVERRIDE_CD_OPTION)
# Comment the line below to deactivate the --data-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_DD_OPTION)
#comment the line below to disable the project database export #comment the line below to disable the project database export
#add_definitions(-DQET_EXPORT_PROJECT_DB) #error Todo #add_definitions(-DQET_EXPORT_PROJECT_DB) #error Todo
Binary file not shown.

Before

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 B

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

-326
View File
@@ -1,326 +0,0 @@
<!DOCTYPE QPH>
<QPH sourcelanguage="fr" language="sv">
<phrase>
<source>Texte composé</source>
<target>Sammansatt text</target>
</phrase>
<phrase>
<source>Texte utilisateur</source>
<target>Egen text</target>
</phrase>
<phrase>
<source>Gauche</source>
<target>Vänster</target>
</phrase>
<phrase>
<source>Droite</source>
<target>Höger</target>
</phrase>
<phrase>
<source>Centre</source>
<target>Centrum</target>
</phrase>
<phrase>
<source>Élément</source>
<target>Objekt</target>
<definition>Vid referens av olika typer</definition>
</phrase>
<phrase>
<source>Folio</source>
<target>Blad</target>
</phrase>
<phrase>
<source>Conducteur</source>
<target>Förbindning</target>
</phrase>
<phrase>
<source>Sans nom</source>
<target>Namnlös</target>
</phrase>
<phrase>
<source>Recharger</source>
<target>Ladda om</target>
</phrase>
<phrase>
<source>Projet sans titre</source>
<target>Namnlöst projekt</target>
</phrase>
<phrase>
<source>Folio sans titre</source>
<target>Namnlöst blad</target>
</phrase>
<phrase>
<source>Nom</source>
<target>Namn</target>
</phrase>
<phrase>
<source>Sélection</source>
<target>Urval</target>
</phrase>
<phrase>
<source>Désélectionner tout</source>
<target>Avmarkera allt</target>
</phrase>
<phrase>
<source>Sélectionner tout</source>
<target>Välj allt</target>
</phrase>
<phrase>
<source>Installation</source>
<target>Anläggning</target>
</phrase>
<phrase>
<source>Localisation</source>
<target>Placering</target>
</phrase>
<phrase>
<source>Reports de folio</source>
<target>Bladhänvisningar</target>
</phrase>
<phrase>
<source>Report de folio</source>
<target>Bladhänvisning</target>
</phrase>
<phrase>
<source>Centre</source>
<target>Mitten</target>
<definition>Vid textjustering</definition>
</phrase>
<phrase>
<source>Collage multiple</source>
<target>Klistra in flera</target>
</phrase>
<phrase>
<source>Remplacer</source>
<target>Ersätt</target>
</phrase>
<phrase>
<source>Élément</source>
<target>Symbol</target>
<definition>Vid referens av symbol</definition>
</phrase>
<phrase>
<source>À</source>
<target>Till</target>
</phrase>
<phrase>
<source>De</source>
<target>Från</target>
</phrase>
<phrase>
<source>Nomenclature</source>
<target>Förteckning</target>
</phrase>
<phrase>
<source>Position du folio</source>
<target>Bladposition</target>
</phrase>
<phrase>
<source>Polygone fermé</source>
<target>Sluten polygon</target>
</phrase>
<phrase>
<source>Dossier</source>
<target>Mapp</target>
</phrase>
<phrase>
<source>Que souhaitez-vous faire</source>
<target>Vad vill du göra</target>
</phrase>
<phrase>
<source>Collection</source>
<target>Bibliotek</target>
</phrase>
<phrase>
<source>Collection de cartouches</source>
<target>Titelblockbibliotek</target>
</phrase>
<phrase>
<source>Collection company de cartouches</source>
<target>Organisationens titelblockbibliotek</target>
</phrase>
<phrase>
<source>Champ texte</source>
<target>Textfält</target>
</phrase>
<phrase>
<source>Longueur</source>
<target>Längd</target>
</phrase>
<phrase>
<source>Suivant</source>
<target>Nästa</target>
</phrase>
<phrase>
<source>Suivant</source>
<target>Följande</target>
</phrase>
<phrase>
<source>Chiffre</source>
<target>Siffra</target>
</phrase>
<phrase>
<source>Tout cocher</source>
<target>Markera allt</target>
</phrase>
<phrase>
<source>Tout décocher</source>
<target>Avmarkera allt</target>
</phrase>
<phrase>
<source>Titre</source>
<target>Titel</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Dimensioner</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Mått</target>
</phrase>
<phrase>
<source>Aperçu</source>
<target>Översikt</target>
</phrase>
<phrase>
<source>Générique</source>
<target>Generisk</target>
</phrase>
<phrase>
<source>Sans</source>
<target>Utan</target>
</phrase>
<phrase>
<source>Avec</source>
<target>Med</target>
</phrase>
<phrase>
<source>Normal</source>
<target>Normal</target>
</phrase>
<phrase>
<source>Tiret</source>
<target>Streckad</target>
</phrase>
<phrase>
<source>Pointillé</source>
<target>Punktad</target>
</phrase>
<phrase>
<source>Remplissage</source>
<target>Fyllning</target>
</phrase>
<phrase>
<source>Apparence</source>
<target>Utseende</target>
</phrase>
<phrase>
<source>Contour</source>
<target>Kontur</target>
</phrase>
<phrase>
<source>Épaisseur</source>
<target>Tjocklek</target>
</phrase>
<phrase>
<source>Géométrie</source>
<target>Geometri</target>
</phrase>
<phrase>
<source>Par defaut</source>
<target>Förinställt</target>
</phrase>
<phrase>
<source>Parcourir</source>
<target>Bläddra</target>
</phrase>
<phrase>
<source>Général</source>
<target>Allmänt</target>
</phrase>
<phrase>
<source>Borne</source>
<target>Plint</target>
</phrase>
<phrase>
<source>Coller</source>
<target>Klistra in</target>
</phrase>
<phrase>
<source>Ouvrir</source>
<target>Öppna</target>
</phrase>
<phrase>
<source>Arc</source>
<target>Båge</target>
</phrase>
<phrase>
<source>Ellipse</source>
<target>Ellips</target>
</phrase>
<phrase>
<source>Ligne</source>
<target>Linje</target>
</phrase>
<phrase>
<source>Rectangle</source>
<target>Rektangel</target>
</phrase>
<phrase>
<source>Orientation</source>
<target>Orientering</target>
</phrase>
<phrase>
<source>Nord</source>
<target>Nord</target>
</phrase>
<phrase>
<source>Est</source>
<target>Öst</target>
</phrase>
<phrase>
<source>Sud</source>
<target>Syd</target>
</phrase>
<phrase>
<source>Ouest</source>
<target>Väst</target>
</phrase>
<phrase>
<source>Police</source>
<target>Typsnitt</target>
</phrase>
<phrase>
<source>Dimensions</source>
<target>Storlek</target>
</phrase>
<phrase>
<source>Sans titre</source>
<target>Namnlös</target>
</phrase>
<phrase>
<source>Borne</source>
<target>Anslutning</target>
</phrase>
<phrase>
<source>Sans titre</source>
<target>Namnlöst</target>
</phrase>
<phrase>
<source>Sans nom</source>
<target>Namnlöst</target>
</phrase>
<phrase>
<source>Décalage</source>
<target>Förkjutning</target>
</phrase>
<phrase>
<source>Afficher</source>
<target>Visa</target>
</phrase>
<phrase>
<source>Affichage</source>
<target>Visning</target>
</phrase>
</QPH>
BIN
View File
Binary file not shown.
+699 -785
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+695 -781
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+747 -857
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+701 -786
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+746 -853
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+700 -786
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+704 -810
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+1047 -1134
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+700 -788
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+692 -778
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+701 -786
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+701 -787
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+699 -785
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+699 -785
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+699 -785
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+728 -787
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+748 -903
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+696 -782
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+748 -855
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+692 -778
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+700 -786
View File
File diff suppressed because it is too large Load Diff
+699 -785
View File
File diff suppressed because it is too large Load Diff
+690 -776
View File
File diff suppressed because it is too large Load Diff
+690 -776
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
-14418
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+699 -785
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+698 -784
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+700 -786
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -8,5 +8,5 @@ rem Met la collection QET en lecture seule
attrib +r elements/* /S /D attrib +r elements/* /S /D
rem lance QElectroTech rem lance QElectroTech
set command=bin\qelectrotech.exe -platform windows:fontengine=freetype --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ --config-dir=conf/ --data-dir=conf/ -style plastique %* set command=bin\qelectrotech.exe -platform windows:fontengine=freetype --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ --config-dir=conf/ -style plastique %*
@start %command% @start %command%
+1 -2
View File
@@ -89,8 +89,7 @@ A=$(git rev-list HEAD --count)
HEAD=$(($A+473)) HEAD=$(($A+473))
VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g') VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
#VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c25-35| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
# Dmg de la dernière revision déjà créé # Dmg de la dernière revision déjà créé
if [ -e "build-aux/mac-osx/${APPNAME} $VERSION r$HEAD.dmg" ] ; then if [ -e "build-aux/mac-osx/${APPNAME} $VERSION r$HEAD.dmg" ] ; then
+2 -3
View File
@@ -84,8 +84,7 @@ A=$(git rev-list HEAD --count)
HEAD=$(($A+473)) HEAD=$(($A+473))
VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g') VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
#VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
# Tarball de la dernière revision déjà créé # Tarball de la dernière revision déjà créé
if [ -e "build-aux/mac-osx/${APPNAME}-$VERSION-r$HEAD-arm64.zip" ] ; then if [ -e "build-aux/mac-osx/${APPNAME}-$VERSION-r$HEAD-arm64.zip" ] ; then
@@ -294,7 +293,7 @@ echo
echo "______________________________________________________________" echo "______________________________________________________________"
echo "Re Create zip tarball:" echo "Re Create zip tarball:"
/usr/bin/ditto -c -k --sequesterRsrc --keepParent $BUNDLE "build-aux/mac-osx/${APPNAME}-$VERSION-r$HEAD-arm64.zip" /usr/bin/ditto -c -k --keepParent $BUNDLE "build-aux/mac-osx/${APPNAME}-$VERSION-r$HEAD-arm64.zip"
# Clean up disk folder # Clean up disk folder
-5
View File
@@ -7,7 +7,6 @@ QET_EXE=$(readlink -f "${current_dir}/../qelectrotech")
QET_ELEMENTS_DIR=$(readlink -f "${current_dir}/../elements/") QET_ELEMENTS_DIR=$(readlink -f "${current_dir}/../elements/")
QET_TBT_DIR=$(readlink -f "${current_dir}/../titleblocks/") QET_TBT_DIR=$(readlink -f "${current_dir}/../titleblocks/")
QET_CONFIG_DIR="" QET_CONFIG_DIR=""
QET_DATA_DIR=""
QET_LANG_DIR=$(readlink -f "${current_dir}/../lang/") QET_LANG_DIR=$(readlink -f "${current_dir}/../lang/")
# REDEFINE_LANG="es" # REDEFINE_LANG="es"
@@ -32,10 +31,6 @@ if [ -d "${QET_CONFIG_DIR}" ]; then
OPTIONS="${OPTIONS} --config-dir=${QET_CONFIG_DIR}" OPTIONS="${OPTIONS} --config-dir=${QET_CONFIG_DIR}"
fi fi
if [ -d "${QET_DATA_DIR}" ]; then
OPTIONS="${OPTIONS} --data-dir=${QET_DATA_DIR}"
fi
if [ -d "${QET_LANG_DIR}" ]; then if [ -d "${QET_LANG_DIR}" ]; then
OPTIONS="${OPTIONS} --lang-dir=${QET_LANG_DIR}" OPTIONS="${OPTIONS} --lang-dir=${QET_LANG_DIR}"
fi fi
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2006-2025 The QElectroTech Team --> <!-- Copyright 2006-2024 The QElectroTech Team -->
<application> <application>
<id type="desktop">qelectrotech.desktop</id> <id type="desktop">qelectrotech.desktop</id>
<metadata_license>MIT</metadata_license> <metadata_license>MIT</metadata_license>
@@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Version=1.0 Version=1.0
Name=QElectroTech Name=QElectroTech
TryExec=qelectrotech TryExec=qelectrotech
Exec=qelectrotech %F Exec=qelectrotech %F
Icon=qelectrotech Icon=qelectrotech
@@ -10,37 +10,35 @@ MimeType=application/x-qet-project;application/x-qet-element;application/x-qet-t
Categories=Graphics;Qt;VectorGraphics;Science;Electricity;Engineering; Categories=Graphics;Qt;VectorGraphics;Science;Electricity;Engineering;
Keywords=Graphics;Science;Electricity;Engineering; Keywords=Graphics;Science;Electricity;Engineering;
Comment=Edit electrical diagrams. Comment=Edit electrical diagrams.
Comment[ar]=تحرير مخططات كهربائية Comment[de]=Schaltpläne erstellen und bearbeiten.
Comment[be]=Bewerken elektrisch schema.
Comment[ca]=Editar esquemes elèctrics.
Comment[cs]=Editor výkresů elektrických obvodů
Comment[da]=Rediger elektriske diagrammer.
Comment[de]=Elektroschaltpläne erstellen und bearbeiten.
Comment[el]=Επεξεργασία ηλεκτρικών διαγραμμάτων
Comment[es]=Editar esquemas eléctricos
Comment[fr]=Éditer des schémas électriques. Comment[fr]=Éditer des schémas électriques.
Comment[hr]=Uredi elektro sheme Comment[ar]=تحرير مخططات كهربائية
Comment[it]=Disegnare schemi elettrici Comment[es]=Editar esquemas eléctricos
Comment[ja]=
Comment[nl]=Bewerken bedradingsdiagrammen.
Comment[pl]=Edycja schematów elektrycznych
Comment[pt]=Criar esquemas eléctricos.
Comment[ru]=Создание и редактирование электрических схем. Comment[ru]=Создание и редактирование электрических схем.
Comment[sk]=Úprava elektrických schém. Comment[ca]=Editar esquemes elèctrics.
Comment[pt]=Criar esquemas eléctricos.
Comment[cs]=Editor výkresů elektrických obvodů
Comment[pl]=Edycja schematów elektrycznych
Comment[it]=Disegnare schemi elettrici
Comment[hr]=Uredi elektro sheme
Comment[el]=Επεξεργασία ηλεκτρικών διαγραμμάτων
Comment[nl]=Bewerken bedradingsdiagrammen.
Comment[be]=Bewerken elektrisch schema.
Comment[da]=Rediger elektriske diagrammer.
Comment[ja]=
GenericName=Electrical diagram editor GenericName=Electrical diagram editor
GenericName[ar]=مُحرّر مخططات كهربائية
GenericName[be]=Elektrische schema editor
GenericName[cs]=Editor výkresů elektrických obvodů
GenericName[da]=Elektrisk diagram redigering
GenericName[de]=Schaltplaneditor GenericName[de]=Schaltplaneditor
GenericName[el]=Επεξεργαστής ηλεκτρικών διαγραμμάτων
GenericName[es]=Editor de esquemas eléctricos
GenericName[fr]=Éditeur de schémas électriques GenericName[fr]=Éditeur de schémas électriques
GenericName[hr]=Editor elektro sheme GenericName[ar]=مُحرّر مخططات كهربائية
GenericName[it]=Programma per disegnare schemi elettrici GenericName[es]=Editor de esquemas eléctricos
GenericName[ja]=
GenericName[nl]=Elektrische schema editor
GenericName[pl]=Edytor schematów elektrycznych
GenericName[pt]=Editor de esquemas eléctricos.
GenericName[ru]=Редактор электрических схем GenericName[ru]=Редактор электрических схем
GenericName[sk]=Editor elektrických schém GenericName[pt]=Editor de esquemas eléctricos.
GenericName[cs]=Editor výkresů elektrických obvodů
GenericName[pl]=Edytor schematów elektrycznych
GenericName[it]=Programma per disegnare schemi elettrici
GenericName[hr]=Editor elektro sheme
GenericName[el]=Επεξεργαστής ηλεκτρικών διαγραμμάτων
GenericName[nl]=Elektrische schema editor
GenericName[be]=Elektrische schema editor
GenericName[da]=Elektrisk diagram redigering
GenericName[ja]=
+1 -1
View File
@@ -33,7 +33,7 @@ my $no = '[no]';
my $todo = 'TODO'; my $todo = 'TODO';
our $default_language = 'fr'; our $default_language = 'fr';
our @misc_desktop_files = qw(misc/org.qelectrotech.qelectrotech.desktop); our @misc_desktop_files = qw(misc/qelectrotech.desktop);
our @misc_xml_files = qw(misc/qelectrotech.xml); our @misc_xml_files = qw(misc/qelectrotech.xml);
our @readme_files = qw(CREDIT README INSTALL ELEMENTS.LICENSE build-aux/linux/fedora/README.elements); our @readme_files = qw(CREDIT README INSTALL ELEMENTS.LICENSE build-aux/linux/fedora/README.elements);
our @ordered_languages = qw(fr en es pt cs pl ca de it ar sl hr el nl be ru ro da pt_BR hu sr tr nb ja mn uk zh); our @ordered_languages = qw(fr en es pt cs pl ca de it ar sl hr el nl be ru ro da pt_BR hu sr tr nb ja mn uk zh);
+3 -5
View File
@@ -21,9 +21,7 @@ A=$(git rev-list HEAD --count)
HEAD=$(($A+473)) HEAD=$(($A+473))
#Find major, minor, and micro version numbers in sources/qetversion.cp #Find major, minor, and micro version numbers in sources/qetversion.cp
tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g')
#tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
rm -Rf build/ rm -Rf build/
mkdir build && cd build mkdir build && cd build
@@ -39,9 +37,9 @@ rm -Rf qelectrotech/usr/share/{elements,examples,titleblocks,lang,man,doc}
cp ../build/qelectrotech qelectrotech/usr/bin/ cp ../build/qelectrotech qelectrotech/usr/bin/
cp -r ../{elements,examples,titleblocks,lang,man} qelectrotech/usr/share/ cp -r ../{elements,examples,titleblocks,lang,man} qelectrotech/usr/share/
./linuxdeployqt-continuous-x86_64.AppImage qelectrotech/usr/share/org.qelectrotech.qelectrotech.desktop -appimage -bundle-non-qt-libs -verbose=1 -extra-plugins=iconengines ./linuxdeployqt-continuous-x86_64.AppImage qelectrotech/usr/share/qelectrotech.desktop -appimage -bundle-non-qt-libs -verbose=1 -extra-plugins=iconengines
rm qelectrotech/AppRun rm qelectrotech/AppRun
sed -i 's/'"QElectroTech_*.*/QElectroTech_$tagName-r$HEAD"'/' qelectrotech/org.qelectrotech.qelectrotech.desktop sed -i 's/'"QElectroTech_*.*/QElectroTech_$tagName-r$HEAD"'/' qelectrotech/qelectrotech.desktop
cp AppRun qelectrotech/ cp AppRun qelectrotech/
rm QElectroTech_*.AppImage rm QElectroTech_*.AppImage
+1 -2
View File
@@ -31,8 +31,7 @@ if [ -z "$HEAD" ] ; then
fi fi
VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g') VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
#VERSION=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
#clean /var/cache/pbuilder/ .. / result/debs #clean /var/cache/pbuilder/ .. / result/debs
+1 -2
View File
@@ -16,8 +16,7 @@ git pull --recurse-submodules
# get the number of the new revision # get the number of the new revision
GITCOMMIT=$(git rev-parse --short HEAD) GITCOMMIT=$(git rev-parse --short HEAD)
tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{"| head -n 1| awk -F "{" '{ print $2 }' | awk -F "}" '{ print $1 }' | sed -e 's/,/./g' -e 's/ //g') tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
#tagName=$(cat sources/qetversion.cpp | grep "return QVersionNumber{ 0, "| head -n 1| cut -c32-40| sed -e 's/,/./g' -e 's/ //g') #Find major, minor, and micro version numbers in sources/qetversion.cp
cd ~ cd ~
flatpak-builder --force-clean --ccache --repo=qet_git/0.8-dev qet_git/build-dir qet_git/build-aux/flatpak/org.qelectrotech.QElectroTech.json --gpg-sign=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --gpg-homedir=gpg flatpak-builder --force-clean --ccache --repo=qet_git/0.8-dev qet_git/build-dir qet_git/build-aux/flatpak/org.qelectrotech.QElectroTech.json --gpg-sign=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --gpg-homedir=gpg
+1 -1
Submodule pugixml updated: 9d7fcbf741...2e357d19a3
+3 -8
View File
@@ -57,9 +57,6 @@ DEFINES += QET_ALLOW_OVERRIDE_CTBTD_OPTION
# Commenter la ligne ci-dessous pour desactiver l'option --config-dir # Commenter la ligne ci-dessous pour desactiver l'option --config-dir
DEFINES += QET_ALLOW_OVERRIDE_CD_OPTION DEFINES += QET_ALLOW_OVERRIDE_CD_OPTION
# Commenter la ligne ci-dessous pour desactiver l'option --data-dir
DEFINES += QET_ALLOW_OVERRIDE_DD_OPTION
#comment the line below to disable the project database export #comment the line below to disable the project database export
DEFINES += QET_EXPORT_PROJECT_DB DEFINES += QET_EXPORT_PROJECT_DB
@@ -169,8 +166,7 @@ HEADERS += $$files(sources/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/*.h) \ $$files(sources/TerminalStrip/GraphicsItem/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.h) \ $$files(sources/TerminalStrip/GraphicsItem/properties/*.h) \
$$files(sources/xml/*.h) \ $$files(sources/xml/*.h) \
$$files(sources/dxf/*.h) \ $$files(sources/dxf/*.h)
$$files(sources/qet_elementscaler/*.h)
SOURCES += $$files(sources/*.cpp) \ SOURCES += $$files(sources/*.cpp) \
$$files(sources/editor/*.cpp) \ $$files(sources/editor/*.cpp) \
@@ -212,8 +208,7 @@ SOURCES += $$files(sources/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/*.cpp) \ $$files(sources/TerminalStrip/GraphicsItem/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.cpp) \ $$files(sources/TerminalStrip/GraphicsItem/properties/*.cpp) \
$$files(sources/xml/*.cpp) \ $$files(sources/xml/*.cpp) \
$$files(sources/dxf/*.cpp) \ $$files(sources/dxf/*.cpp)
$$files(sources/qet_elementscaler/*.cpp)
# Needed for use promote QTreeWidget in terminalstripeditor.ui # Needed for use promote QTreeWidget in terminalstripeditor.ui
INCLUDEPATH += sources/TerminalStrip/ui INCLUDEPATH += sources/TerminalStrip/ui
@@ -284,7 +279,7 @@ mime_package.path = $$join(INSTALL_PREFIX,,,$${QET_MIME_PACKAGE_PATH})
mime_package.files = misc/qelectrotech.xml mime_package.files = misc/qelectrotech.xml
desktop.path = $$join(INSTALL_PREFIX,,,$${QET_DESKTOP_PATH}) desktop.path = $$join(INSTALL_PREFIX,,,$${QET_DESKTOP_PATH})
desktop.files = misc/org.qelectrotech.qelectrotech.desktop desktop.files = misc/qelectrotech.desktop
appdata.path = $$join(INSTALL_PREFIX,,,$${QET_APPDATA_PATH}) appdata.path = $$join(INSTALL_PREFIX,,,$${QET_APPDATA_PATH})
appdata.files = misc/qelectrotech.appdata.xml appdata.files = misc/qelectrotech.appdata.xml
+1 -3
View File
@@ -49,7 +49,6 @@
<file>ico/16x16/endline-none.png</file> <file>ico/16x16/endline-none.png</file>
<file>ico/16x16/endline-simple.png</file> <file>ico/16x16/endline-simple.png</file>
<file>ico/16x16/endline-triangle.png</file> <file>ico/16x16/endline-triangle.png</file>
<file>ico/16x16/flip.png</file>
<file>ico/16x16/folder-new.png</file> <file>ico/16x16/folder-new.png</file>
<file>ico/16x16/folder.png</file> <file>ico/16x16/folder.png</file>
<file>ico/16x16/go-company.png</file> <file>ico/16x16/go-company.png</file>
@@ -61,7 +60,6 @@
<file>ico/16x16/list-add.png</file> <file>ico/16x16/list-add.png</file>
<file>ico/16x16/list-remove.png</file> <file>ico/16x16/list-remove.png</file>
<file>ico/16x16/masquer.png</file> <file>ico/16x16/masquer.png</file>
<file>ico/16x16/mirror.png</file>
<file>ico/16x16/neutral.png</file> <file>ico/16x16/neutral.png</file>
<file>ico/16x16/north.png</file> <file>ico/16x16/north.png</file>
<file>ico/16x16/orientations.png</file> <file>ico/16x16/orientations.png</file>
@@ -212,7 +210,7 @@
<file>ico/48x48/view-pim-journal.png</file> <file>ico/48x48/view-pim-journal.png</file>
<file>ico/24x16/nl.png</file> <file>ico/24x16/nl.png</file>
<file>ico/32x32/simplifyrichtext.png</file> <file>ico/32x32/simplifyrichtext.png</file>
<file>ico/24x16/nl_BE.png</file> <file>ico/24x16/be.png</file>
<file>ico/128x128/plasmagik.png</file> <file>ico/128x128/plasmagik.png</file>
<file>ico/22x22/autoconnect.png</file> <file>ico/22x22/autoconnect.png</file>
<file>ico/128x128/project.png</file> <file>ico/128x128/project.png</file>
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -399,7 +399,7 @@ ElementsLocation ElementCollectionHandler::createDir(ElementsLocation &parent, c
@brief ElementCollectionHandler::importFromProject @brief ElementCollectionHandler::importFromProject
Import the element represented by location to the embedded collection Import the element represented by location to the embedded collection
of project at the same path. of project at the same path.
location must represent an element owned by a project embedded collection location must represente an element owned by a project embedded collection
@param project : project where copy the element @param project : project where copy the element
@param location : location to copy @param location : location to copy
@return true if import with success @return true if import with success
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -26,11 +26,7 @@
#include "xmlprojectelementcollectionitem.h" #include "xmlprojectelementcollectionitem.h"
#include <QFutureWatcher> #include <QFutureWatcher>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove #include <QtConcurrent>
#include <QtConcurrentMap>
#else
#include <QtConcurrentRun>
#endif
/** /**
@brief ElementsCollectionModel::ElementsCollectionModel @brief ElementsCollectionModel::ElementsCollectionModel
@@ -115,10 +111,10 @@ QStringList ElementsCollectionModel::mimeTypes() const
@return @return
*/ */
bool ElementsCollectionModel::canDropMimeData(const QMimeData *data, bool ElementsCollectionModel::canDropMimeData(const QMimeData *data,
Qt::DropAction action, Qt::DropAction action,
int row, int row,
int column, int column,
const QModelIndex &parent) const const QModelIndex &parent) const
{ {
if (!(QStandardItemModel::canDropMimeData(data, if (!(QStandardItemModel::canDropMimeData(data,
action, action,
@@ -262,9 +258,9 @@ bool ElementsCollectionModel::dropMimeData(const QMimeData *data,
@param projects : list of projects to load @param projects : list of projects to load
*/ */
void ElementsCollectionModel::loadCollections(bool common_collection, void ElementsCollectionModel::loadCollections(bool common_collection,
bool company_collection, bool company_collection,
bool custom_collection, bool custom_collection,
QList<QETProject *> projects) QList<QETProject *> projects)
{ {
m_items_list_to_setUp.clear(); m_items_list_to_setUp.clear();
@@ -317,8 +313,8 @@ void ElementsCollectionModel::addCommonCollection(bool set_data)
{ {
FileElementCollectionItem *feci = new FileElementCollectionItem(); FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::commonElementsDirN(), if (feci->setRootPath(QETApp::commonElementsDirN(),
set_data, set_data,
m_hide_element)) { m_hide_element)) {
invisibleRootItem()->appendRow(feci); invisibleRootItem()->appendRow(feci);
if (set_data) if (set_data)
feci->setUpData(); feci->setUpData();
@@ -328,41 +324,41 @@ void ElementsCollectionModel::addCommonCollection(bool set_data)
} }
/** /**
@brief ElementsCollectionModel::addCompanyCollection @brief ElementsCollectionModel::addCompanyCollection
Add the company elements collection to this model Add the company elements collection to this model
@param set_data @param set_data
*/ */
void ElementsCollectionModel::addCompanyCollection(bool set_data) void ElementsCollectionModel::addCompanyCollection(bool set_data)
{ {
FileElementCollectionItem *feci = new FileElementCollectionItem(); FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::companyElementsDirN(), if (feci->setRootPath(QETApp::companyElementsDirN(),
set_data, set_data,
m_hide_element)) { m_hide_element)) {
invisibleRootItem()->appendRow(feci); invisibleRootItem()->appendRow(feci);
if (set_data) if (set_data)
feci->setUpData(); feci->setUpData();
} }
else else
delete feci; delete feci;
} }
/** /**
@brief ElementsCollectionModel::addCustomCollection @brief ElementsCollectionModel::addCustomCollection
Add the custom elements collection to this model Add the custom elements collection to this model
@param set_data @param set_data
*/ */
void ElementsCollectionModel::addCustomCollection(bool set_data) void ElementsCollectionModel::addCustomCollection(bool set_data)
{ {
FileElementCollectionItem *feci = new FileElementCollectionItem(); FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::customElementsDirN(), if (feci->setRootPath(QETApp::customElementsDirN(),
set_data, set_data,
m_hide_element)) { m_hide_element)) {
invisibleRootItem()->appendRow(feci); invisibleRootItem()->appendRow(feci);
if (set_data) if (set_data)
feci->setUpData(); feci->setUpData();
} }
else else
delete feci; delete feci;
} }
/** /**
@@ -583,9 +579,9 @@ QModelIndex ElementsCollectionModel::indexFromLocation(
{ {
QList <ElementCollectionItem *> child_list; QList <ElementCollectionItem *> child_list;
for (int i=0 ; i<rowCount() ; i++){ for (int i=0 ; i<rowCount() ; i++){
child_list.append(static_cast<ElementCollectionItem *>(item(i))); child_list.append(static_cast<ElementCollectionItem *>(item(i)));
} }
foreach(ElementCollectionItem *eci, child_list) { foreach(ElementCollectionItem *eci, child_list) {
@@ -594,8 +590,8 @@ QModelIndex ElementsCollectionModel::indexFromLocation(
if (eci->type() == FileElementCollectionItem::Type) { if (eci->type() == FileElementCollectionItem::Type) {
if (FileElementCollectionItem *feci = static_cast<FileElementCollectionItem *>(eci)) { if (FileElementCollectionItem *feci = static_cast<FileElementCollectionItem *>(eci)) {
if ( (location.isCommonCollection() && feci->isCommonCollection()) || if ( (location.isCommonCollection() && feci->isCommonCollection()) ||
(location.isCompanyCollection() && feci->isCompanyCollection()) || (location.isCompanyCollection() && feci->isCompanyCollection()) ||
(location.isCustomCollection() && !feci->isCommonCollection()) ) { (location.isCustomCollection() && !feci->isCommonCollection()) ) {
match_eci = feci->itemAtPath(location.collectionPath(false)); match_eci = feci->itemAtPath(location.collectionPath(false));
} }
} }
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -42,11 +42,11 @@ class ElementsCollectionModel : public QStandardItemModel
bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override; bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override;
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override; bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
void loadCollections(bool common_collection, bool company_collection, bool custom_collection, QList<QETProject *> projects); void loadCollections(bool common_collection, bool company_collection, bool custom_collection, QList<QETProject *> projects);
void addCommonCollection(bool set_data = true); void addCommonCollection(bool set_data = true);
void addCompanyCollection(bool set_data = true); void addCompanyCollection(bool set_data = true);
void addCustomCollection(bool set_data = true); void addCustomCollection(bool set_data = true);
void addLocation(const ElementsLocation& location); void addLocation(const ElementsLocation& location);
void addProject(QETProject *project, bool set_data = true); void addProject(QETProject *project, bool set_data = true);
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -96,7 +96,7 @@ void ElementsCollectionWidget::addProject(QETProject *project)
m_progress_bar->show(); m_progress_bar->show();
m_tree_view->setDisabled(true); m_tree_view->setDisabled(true);
QList <QETProject *> prj; prj.append(project); QList <QETProject *> prj; prj.append(project);
m_model->loadCollections(false, false, false, prj); m_model->loadCollections(false, false, false, prj);
} }
else { else {
m_waiting_project.append(project); m_waiting_project.append(project);
@@ -148,26 +148,26 @@ void ElementsCollectionWidget::setUpAction()
m_open_dir = new QAction(QET::Icons::FolderOpen, m_open_dir = new QAction(QET::Icons::FolderOpen,
tr("Ouvrir le dossier correspondant"), this); tr("Ouvrir le dossier correspondant"), this);
m_edit_element = new QAction(QET::Icons::ElementEdit, m_edit_element = new QAction(QET::Icons::ElementEdit,
tr("Éditer l'élément"), this); tr("Éditer l'élément"), this);
m_delete_element = new QAction(QET::Icons::ElementDelete, m_delete_element = new QAction(QET::Icons::ElementDelete,
tr("Supprimer l'élément"), this); tr("Supprimer l'élément"), this);
m_delete_dir = new QAction(QET::Icons::FolderDelete, m_delete_dir = new QAction(QET::Icons::FolderDelete,
tr("Supprimer le dossier"), this); tr("Supprimer le dossier"), this);
m_reload = new QAction(QET::Icons::ViewRefresh, m_reload = new QAction(QET::Icons::ViewRefresh,
tr("Recharger les collections"), this); tr("Recharger les collections"), this);
m_edit_dir = new QAction(QET::Icons::FolderEdit, m_edit_dir = new QAction(QET::Icons::FolderEdit,
tr("Éditer le dossier"), this); tr("Éditer le dossier"), this);
m_new_directory = new QAction(QET::Icons::FolderNew, m_new_directory = new QAction(QET::Icons::FolderNew,
tr("Nouveau dossier"), this); tr("Nouveau dossier"), this);
m_new_element = new QAction(QET::Icons::ElementNew, m_new_element = new QAction(QET::Icons::ElementNew,
tr("Nouvel élément"), this); tr("Nouvel élément"), this);
m_show_this_dir = new QAction(QET::Icons::FolderOnlyThis, m_show_this_dir = new QAction(QET::Icons::FolderOnlyThis,
tr("Afficher uniquement ce dossier"), tr("Afficher uniquement ce dossier"),
this); this);
m_show_all_dir = new QAction(QET::Icons::FolderShowAll, m_show_all_dir = new QAction(QET::Icons::FolderShowAll,
tr("Afficher tous les dossiers"), this); tr("Afficher tous les dossiers"), this);
m_dir_propertie = new QAction(QET::Icons::FolderProperties, m_dir_propertie = new QAction(QET::Icons::FolderProperties,
tr("Propriété du dossier"), this); tr("Propriété du dossier"), this);
} }
/** /**
@@ -385,10 +385,10 @@ void ElementsCollectionWidget::deleteElement()
ElementsLocation loc(eci->collectionPath()); ElementsLocation loc(eci->collectionPath());
if (! (loc.isElement() if (! (loc.isElement()
&& loc.exist() && loc.exist()
&& loc.isFileSystem() && loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://") && (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return; || loc.collectionPath().startsWith("custom://"))) ) return;
if (QET::QetMessageBox::question( if (QET::QetMessageBox::question(
this, this,
@@ -401,8 +401,8 @@ void ElementsCollectionWidget::deleteElement()
if (file.remove()) if (file.remove())
{ {
m_model->removeRows(m_index_at_context_menu.row(), m_model->removeRows(m_index_at_context_menu.row(),
1, 1,
m_index_at_context_menu.parent()); m_index_at_context_menu.parent());
} }
else else
{ {
@@ -429,10 +429,10 @@ void ElementsCollectionWidget::deleteDirectory()
ElementsLocation loc (eci->collectionPath()); ElementsLocation loc (eci->collectionPath());
if (! (loc.isDirectory() if (! (loc.isDirectory()
&& loc.exist() && loc.exist()
&& loc.isFileSystem() && loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://") && (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return; || loc.collectionPath().startsWith("custom://"))) ) return;
if (QET::QetMessageBox::question( if (QET::QetMessageBox::question(
this, this,
@@ -446,8 +446,8 @@ void ElementsCollectionWidget::deleteDirectory()
if (dir.removeRecursively()) if (dir.removeRecursively())
{ {
m_model->removeRows(m_index_at_context_menu.row(), m_model->removeRows(m_index_at_context_menu.row(),
1, 1,
m_index_at_context_menu.parent()); m_index_at_context_menu.parent());
} }
else else
{ {
@@ -529,7 +529,7 @@ void ElementsCollectionWidget::newElement()
elmt_wizard.exec(); elmt_wizard.exec();
foreach (QETElementEditor *element_editor, foreach (QETElementEditor *element_editor,
QETApp::instance()->elementEditors()) QETApp::instance()->elementEditors())
connect(element_editor, connect(element_editor,
&QETElementEditor::saveToLocation, &QETElementEditor::saveToLocation,
this, this,
@@ -666,7 +666,7 @@ void ElementsCollectionWidget::reload()
this, this,
&ElementsCollectionWidget::loadingFinished); &ElementsCollectionWidget::loadingFinished);
m_new_model->loadCollections(true, true, true, project_list); m_new_model->loadCollections(true, true, true, project_list);
} }
/** /**
@@ -713,7 +713,7 @@ void ElementsCollectionWidget::locationWasSaved(
const ElementsLocation& location) const ElementsLocation& location)
{ {
//Because this method update an item in the model, location must //Because this method update an item in the model, location must
//represent an existing element (in file system of project) //represente an existing element (in file system of project)
if (!location.exist()) if (!location.exist())
return; return;
@@ -781,13 +781,13 @@ void ElementsCollectionWidget::search()
QModelIndexList match_index; QModelIndexList match_index;
for (QString txt : text_list) { for (QString txt : text_list) {
match_index << m_model->match(m_showed_index.isValid() match_index << m_model->match(m_showed_index.isValid()
? m_model->index(0,0,m_showed_index) ? m_model->index(0,0,m_showed_index)
: m_model->index(0,0), : m_model->index(0,0),
Qt::UserRole+1, Qt::UserRole+1,
QVariant(txt), QVariant(txt),
-1, -1,
Qt::MatchContains Qt::MatchContains
| Qt::MatchRecursive); | Qt::MatchRecursive);
} }
for(QModelIndex index : match_index) for(QModelIndex index : match_index)
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
+48 -48
View File
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -293,17 +293,17 @@ void ElementsLocation::setPath(const QString &path)
else if (path.startsWith("common://") || path.startsWith("company://") || path.startsWith("custom://")) else if (path.startsWith("common://") || path.startsWith("company://") || path.startsWith("custom://"))
{ {
QString p; QString p;
if (path.startsWith("common://")) if (path.startsWith("common://"))
{ {
tmp_path.remove("common://"); tmp_path.remove("common://");
p = QETApp::commonElementsDirN() + "/" + tmp_path; p = QETApp::commonElementsDirN() + "/" + tmp_path;
} }
else if (path.startsWith("company://")) else if (path.startsWith("company://"))
{ {
tmp_path.remove("company://"); tmp_path.remove("company://");
p = QETApp::companyElementsDirN() + "/" + tmp_path; p = QETApp::companyElementsDirN() + "/" + tmp_path;
} }
else else
{ {
tmp_path.remove("custom://"); tmp_path.remove("custom://");
p = QETApp::customElementsDirN() + "/" + tmp_path; p = QETApp::customElementsDirN() + "/" + tmp_path;
@@ -319,19 +319,19 @@ void ElementsLocation::setPath(const QString &path)
if(path_.endsWith(".elmt")) if(path_.endsWith(".elmt"))
{ {
m_file_system_path = path_; m_file_system_path = path_;
if (path_.startsWith(QETApp::commonElementsDirN())) if (path_.startsWith(QETApp::commonElementsDirN()))
{ {
path_.remove(QETApp::commonElementsDirN()+="/"); path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://"); path_.prepend("common://");
m_collection_path = path_; m_collection_path = path_;
} }
else if (path_.startsWith(QETApp::companyElementsDirN())) else if (path_.startsWith(QETApp::companyElementsDirN()))
{ {
path_.remove(QETApp::companyElementsDirN()+="/"); path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://"); path_.prepend("company://");
m_collection_path = path_; m_collection_path = path_;
} }
else if (path_.startsWith(QETApp::customElementsDirN())) else if (path_.startsWith(QETApp::customElementsDirN()))
{ {
path_.remove(QETApp::customElementsDirN()+="/"); path_.remove(QETApp::customElementsDirN()+="/");
path_.prepend("custom://"); path_.prepend("custom://");
@@ -341,19 +341,19 @@ void ElementsLocation::setPath(const QString &path)
else else
{ {
m_file_system_path = path_; m_file_system_path = path_;
if (path_.startsWith(QETApp::commonElementsDirN())) if (path_.startsWith(QETApp::commonElementsDirN()))
{ {
path_.remove(QETApp::commonElementsDirN()+="/"); path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://"); path_.prepend("common://");
m_collection_path = path_; m_collection_path = path_;
} }
else if (path_.startsWith(QETApp::companyElementsDirN())) else if (path_.startsWith(QETApp::companyElementsDirN()))
{ {
path_.remove(QETApp::companyElementsDirN()+="/"); path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://"); path_.prepend("company://");
m_collection_path = path_; m_collection_path = path_;
} }
else if (path_.startsWith(QETApp::customElementsDirN())) else if (path_.startsWith(QETApp::customElementsDirN()))
{ {
path_.remove(QETApp::customElementsDirN()+="/"); path_.remove(QETApp::customElementsDirN()+="/");
path_.prepend("custom://"); path_.prepend("custom://");
@@ -501,23 +501,23 @@ bool ElementsLocation::isFileSystem() const
} }
/** /**
@brief ElementsLocation::isCommonCollection @brief ElementsLocation::isCommonCollection
@return @return
True if this location represent an item from the common collection True if this location represent an item from the common collection
*/ */
bool ElementsLocation::isCommonCollection() const bool ElementsLocation::isCommonCollection() const
{ {
return fileSystemPath().startsWith(QETApp::commonElementsDirN()); return fileSystemPath().startsWith(QETApp::commonElementsDirN());
} }
/** /**
@brief ElementsLocation::isCompanyCollection @brief ElementsLocation::isCompanyCollection
@return @return
True if this location represent an item from the company collection True if this location represent an item from the company collection
*/ */
bool ElementsLocation::isCompanyCollection() const bool ElementsLocation::isCompanyCollection() const
{ {
return fileSystemPath().startsWith(QETApp::companyElementsDirN()); return fileSystemPath().startsWith(QETApp::companyElementsDirN());
} }
/** /**
@@ -591,7 +591,7 @@ bool ElementsLocation::isWritable() const
/** /**
@brief ElementsLocation::projectCollection @brief ElementsLocation::projectCollection
@return @return
If this location represents an item in an embedded project collection, If this location represente a item in an embedded project collection,
return this collection else return nullptr. return this collection else return nullptr.
*/ */
XmlElementCollection *ElementsLocation::projectCollection() const XmlElementCollection *ElementsLocation::projectCollection() const
@@ -870,7 +870,7 @@ QIcon ElementsLocation::icon() const
/** /**
@brief ElementLocation::name @brief ElementLocation::name
@return The name of the represented element in the current locale @return The name of the represented element in the current local
*/ */
QString ElementsLocation::name() const QString ElementsLocation::name() const
{ {
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -37,7 +37,7 @@ class XmlElementCollection;
This class represents the location, This class represents the location,
the location of an element or of a category, the location of an element or of a category,
even of a collection ... in a collection. even of a collection ... in a collection.
It encapsulates a virtual path. She encapsulates a virtual path.
\~French \~French
Cette classe represente la localisation, l'emplacement d'un element ou Cette classe represente la localisation, l'emplacement d'un element ou
d'une categorie, voire d'une collection... dans une collection. d'une categorie, voire d'une collection... dans une collection.
@@ -75,9 +75,9 @@ class ElementsLocation
bool isElement() const; bool isElement() const;
bool isDirectory() const; bool isDirectory() const;
bool isFileSystem() const; bool isFileSystem() const;
bool isCommonCollection() const; bool isCommonCollection() const;
bool isCompanyCollection() const; bool isCompanyCollection() const;
bool isCustomCollection() const; bool isCustomCollection() const;
bool isProject() const; bool isProject() const;
bool exist() const; bool exist() const;
bool isWritable() const; bool isWritable() const;
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -35,17 +35,7 @@ static int MAX_DND_PIXMAP_HEIGHT = 375;
*/ */
ElementsTreeView::ElementsTreeView(QWidget *parent) : ElementsTreeView::ElementsTreeView(QWidget *parent) :
QTreeView(parent) QTreeView(parent)
{ {}
// force du noir sur une alternance de blanc (comme le schema) et de gris
// clair, avec du blanc sur bleu pas trop fonce pour la selection
QPalette qp = palette();
qp.setColor(QPalette::Text, Qt::black);
qp.setColor(QPalette::Base, Qt::white);
qp.setColor(QPalette::AlternateBase, QColor("#e8e8e8"));
qp.setColor(QPalette::Highlight, QColor("#678db2"));
qp.setColor(QPalette::HighlightedText, Qt::black);
setPalette(qp);
}
/** /**
@brief ElementsTreeView::startDrag @brief ElementsTreeView::startDrag
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -41,8 +41,8 @@ FileElementCollectionItem::FileElementCollectionItem()
@return true if path exist. @return true if path exist.
*/ */
bool FileElementCollectionItem::setRootPath(const QString& path, bool FileElementCollectionItem::setRootPath(const QString& path,
bool set_data, bool set_data,
bool hide_element) bool hide_element)
{ {
QDir dir(path); QDir dir(path);
if (dir.exists()) if (dir.exists())
@@ -120,11 +120,11 @@ QString FileElementCollectionItem::localName()
else if (isDir()) { else if (isDir()) {
if (isCollectionRoot()) { if (isCollectionRoot()) {
if (m_path == QETApp::commonElementsDirN()) if (m_path == QETApp::commonElementsDirN())
setText(QObject::tr("Collection QET")); setText(QObject::tr("Collection QET"));
else if (m_path == QETApp::companyElementsDirN()) else if (m_path == QETApp::companyElementsDirN())
setText(QObject::tr("Collection Company")); setText(QObject::tr("Collection Company"));
else if (m_path == QETApp::customElementsDirN()) else if (m_path == QETApp::customElementsDirN())
setText(QObject::tr("Collection utilisateur")); setText(QObject::tr("Collection utilisateur"));
else else
setText(QObject::tr("Collection inconnue")); setText(QObject::tr("Collection inconnue"));
@@ -221,29 +221,29 @@ QString FileElementCollectionItem::collectionPath() const
bool FileElementCollectionItem::isCollectionRoot() const bool FileElementCollectionItem::isCollectionRoot() const
{ {
if (m_path == QETApp::commonElementsDirN() if (m_path == QETApp::commonElementsDirN()
|| m_path == QETApp::companyElementsDirN() || m_path == QETApp::companyElementsDirN()
|| m_path == QETApp::customElementsDirN()) || m_path == QETApp::customElementsDirN())
return true; return true;
else else
return false; return false;
} }
/** /**
@brief FileElementCollectionItem::isCommonCollection @brief FileElementCollectionItem::isCommonCollection
@return True if this item represent the common collection @return True if this item represent the common collection
*/ */
bool FileElementCollectionItem::isCommonCollection() const bool FileElementCollectionItem::isCommonCollection() const
{ {
return fileSystemPath().startsWith(QETApp::commonElementsDirN()); return fileSystemPath().startsWith(QETApp::commonElementsDirN());
} }
/** /**
@brief FileElementCollectionItem::isCompanyCollection @brief FileElementCollectionItem::isCompanyCollection
@return True if this item represent the company collection @return True if this item represent the company collection
*/ */
bool FileElementCollectionItem::isCompanyCollection() const bool FileElementCollectionItem::isCompanyCollection() const
{ {
return fileSystemPath().startsWith(QETApp::companyElementsDirN()); return fileSystemPath().startsWith(QETApp::companyElementsDirN());
} }
/** /**
@@ -347,8 +347,8 @@ void FileElementCollectionItem::setUpIcon()
@param hide_element @param hide_element
*/ */
void FileElementCollectionItem::setPathName(const QString& path_name, void FileElementCollectionItem::setPathName(const QString& path_name,
bool set_data, bool set_data,
bool hide_element) bool hide_element)
{ {
m_path = path_name; m_path = path_name;
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -47,9 +47,9 @@ class FileElementCollectionItem : public ElementCollectionItem
QString name() const override; QString name() const override;
QString collectionPath() const override; QString collectionPath() const override;
bool isCollectionRoot() const override; bool isCollectionRoot() const override;
bool isCommonCollection() const; bool isCommonCollection() const;
bool isCompanyCollection() const; bool isCompanyCollection() const;
bool isCustomCollection() const; bool isCustomCollection() const;
void addChildAtPath(const QString &collection_name) override; void addChildAtPath(const QString &collection_name) override;
void setUpData() override; void setUpData() override;
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
+2 -2
View File
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -23,7 +23,7 @@
#include <QDialog> #include <QDialog>
namespace Ui { namespace Ui {
class RenameDialog; class RenameDialog;
} }
class RenameDialog : public QDialog class RenameDialog : public QDialog
@@ -1,5 +1,5 @@
/* /*
Copyright 2006-2025 The QElectroTech Team Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech. This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify QElectroTech is free software: you can redistribute it and/or modify
@@ -46,64 +46,117 @@ XmlElementCollection::XmlElementCollection(QETProject *project) :
collection.appendChild(import); collection.appendChild(import);
NamesList names; NamesList names;
const QChar chinese_data[4] ={ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
QChar(0x5BFC), QChar(0x5165), QChar(0x5143), QChar(0x4EF6)};
const QChar greek_data[18] = {
QChar(0x0395), QChar(0x03b9), QChar(0x03c3), QChar(0x03b7),
QChar(0x03b3), QChar(0x03bc), QChar(0x03ad), QChar(0x03bd),
QChar(0x03b1), QChar(0x0020), QChar(0x03c3), QChar(0x03c4),
QChar(0x03bf), QChar(0x03b9), QChar(0x03c7), QChar(0x03b5),
QChar(0x03af), QChar(0x03b1)};
const QChar japanese_data[10] = {
QChar(0x30A4), QChar(0x30F3), QChar(0x30D0), QChar(0x30FC),
QChar(0x30C8), QChar(0x3055), QChar(0x308C), QChar(0x305F),
QChar(0x8981), QChar(0x7D20)};
const QChar russian_data[24] = { const QChar russian_data[24] = {
QChar(0x0418), QChar(0x043C), QChar(0x043F), QChar(0x043E), 0x0418, 0x043C, 0x043F, 0x043E, 0x0440, 0x0442, 0x0438, 0x0440,
QChar(0x0440), QChar(0x0442), QChar(0x0438), QChar(0x0440), 0x043E, 0x0432, 0x0430, 0x043D, 0x043D, 0x044B, 0x0435, 0x0020,
QChar(0x043E), QChar(0x0432), QChar(0x0430), QChar(0x043D), 0x044D, 0x043B, 0x0435, 0x043C, 0x0435, 0x043D, 0x0442, 0x044B};
QChar(0x043D), QChar(0x044B), QChar(0x0435), QChar(0x0020), const QChar greek_data[18] = {
QChar(0x044D), QChar(0x043B), QChar(0x0435), QChar(0x043C), 0x0395,
QChar(0x0435), QChar(0x043D), QChar(0x0442), QChar(0x044B)}; 0x03b9,
0x03c3,
0x03b7,
0x03b3,
0x03bc,
0x03ad,
0x03bd,
0x03b1,
0x0020,
0x03c3,
0x03c4,
0x03bf,
0x03b9,
0x03c7,
0x03b5,
0x03af,
0x03b1};
const QChar turkish_data[12] = { const QChar turkish_data[12] = {
QChar(0x0130), QChar(0x0074), QChar(0x0068), QChar(0x0061), 0x0130,
QChar(0x006C), QChar(0x0020), QChar(0x00F6), QChar(0x011F), 0x0074,
QChar(0x0065), QChar(0x006C), QChar(0x0065), QChar(0x0072)}; 0x0068,
0x0061,
0x006C,
0x0020,
0x00F6,
0x011F,
0x0065,
0x006C,
0x0065,
0x0072};
const QChar ukrainian_data[20] = { const QChar ukrainian_data[20] = {
QChar(0x0406), QChar(0x043c), QChar(0x043f), QChar(0x043e), 0x0406,
QChar(0x0440), QChar(0x0442), QChar(0x043e), QChar(0x0432), 0x043c,
QChar(0x0430), QChar(0x043d), QChar(0x0456), QChar(0x0020), 0x043f,
QChar(0x0435), QChar(0x043b), QChar(0x0435), QChar(0x043c), 0x043e,
QChar(0x0435), QChar(0x043d), QChar(0x0442), QChar(0x0438)}; 0x0440,
names.addName("ca", "Elements importats"); 0x0442,
names.addName("cs", "Zavedené prvky"); 0x043e,
names.addName("da", "Importerede elementer"); 0x0432,
names.addName("de", "Importierte Elemente"); 0x0430,
names.addName("el", QString(greek_data, 18)); 0x043d,
//names.addName("el", "Εισηγμένα στοιχεία); 0x0456,
names.addName("en", "Imported elements"); 0x0020,
names.addName("es", "Elementos importados"); 0x0435,
names.addName("fr", "Éléments importés"); 0x043b,
names.addName("hr", "Uvezeni elementi"); 0x0435,
names.addName("it", "Elementi importati"); 0x043c,
names.addName("ja", QString(japanese_data, 10)); 0x0435,
//names.addName("ja", "インバートされた要素"); 0x043d,
names.addName("nl", "Elementen geïmporteerd"); 0x0442,
names.addName("nl_BE", "Elementen geïmporteerd"); 0x0438};
names.addName("pl", "Elementy importowane"); const QChar japanese_data[10] = {
names.addName("pt", "Elementos importados"); 0x30A4,
names.addName("pt_BR", "Elementos importados"); 0x30F3,
names.addName("ro", "Elemente importate"); 0x30D0,
names.addName("ru", QString(russian_data, 24)); 0x30FC,
//names.addName("ru", "Импортированные элементы"); 0x30C8,
names.addName("sl", "Uvoženi elementi"); 0x3055,
names.addName("sv", "Importerade element"); 0x308C,
names.addName("tr", QString(turkish_data, 12)); 0x305F,
//names.addName("tr", "İthal öğeler"); 0x8981,
names.addName("uk", QString(ukrainian_data, 20)); 0x7D20};
//names.addName("uk", "Імпортовані елементи");
names.addName("zh", QString(chinese_data, 4)); names.addName("fr", "Éléments importés");
//names.addName("zh", "导入元件"); names.addName("en", "Imported elements");
names.addName("de", "Importierte elemente");
names.addName("es", "Elementos importados");
names.addName("ru", QString(russian_data, 24));
names.addName("cs", "Zavedené prvky");
names.addName("pl", "Elementy importowane");
names.addName("pt", "elementos importados");
names.addName("it", "Elementi importati");
names.addName("el", QString(greek_data, 18));
names.addName("nl", "Elementen geïmporteerd");
names.addName("hr", "Uvezeni elementi");
names.addName("ca", "Elements importats");
names.addName("ro", "Elemente importate");
names.addName("tr", QString(turkish_data, 12));
names.addName("da", "Importerede elementer");
names.addName("sl", "Uvoženi elementi");
names.addName("ja", QString(japanese_data, 10));
names.addName("uk", QString(ukrainian_data, 20));
#else
# if TODO_LIST
# pragma message("@TODO remove code for QT 6 or later")
# endif
qDebug() << "Help code for QT 6 or later";
names.addName("fr", "Éléments importés");
names.addName("en", "Imported elements");
names.addName("de", "Importierte elemente");
names.addName("es", "Elementos importados");
names.addName("cs", "Zavedené prvky");
names.addName("pl", "Elementy importowane");
names.addName("pt", "elementos importados");
names.addName("it", "Elementi importati");
names.addName("nl", "Elementen geïmporteerd");
names.addName("hr", "Uvezeni elementi");
names.addName("ca", "Elements importats");
names.addName("ro", "Elemente importate");
names.addName("da", "Importerede elementer");
names.addName("sl", "Uvoženi elementi");
names.addName("uk", "Імпортовані елементи");
#endif
import.appendChild(names.toXml(m_dom_document)); import.appendChild(names.toXml(m_dom_document));
} }

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