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 titleblocks DESTINATION share/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.appdata.xml DESTINATION ${QET_APPDATA_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
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
+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.
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!
@@ -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).
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.
### 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.
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
The GUI can fit to small or big screens, and even to multi-display configurations.
![](https://download.qelectrotech.org/qet/images-features/0030.png "GUI overview")
![](https://download.tuxfamily.org/qet/images-features/0030.png "GUI overview")
The GUI of QElectroTech is translated in 25 languages.
You only need to restart the application for the new selected language to take effect.
![](https://download.qelectrotech.org/qet/images-features/0040.png "Lang menu")
![](https://download.tuxfamily.org/qet/images-features/0040.png "Lang menu")
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.
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.
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...
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
The library grows at every new release thanks to an active user community.
![](https://download.qelectrotech.org/qet/images-features/0070.png "Collections")
![](https://download.tuxfamily.org/qet/images-features/0070.png "Collections")
...or create your own collection
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
Your own elements are stored in the user collection.
![](https://download.qelectrotech.org/qet/images-features/0080.png "Element editor")
![](https://download.tuxfamily.org/qet/images-features/0080.png "Element editor")
Quickly find what you need
All collections can quickly be searched with the integrated search engine.
Furthermore, the search request can be restricted to the folder of your choice.
![](https://download.qelectrotech.org/qet/images-features/0090.png "Search engine")
![](https://download.tuxfamily.org/qet/images-features/0090.png "Search engine")
Easily draw complex schematics
To add an element on the drawing area, it only needs a drag & drop from the collection panel.
![](https://download.qelectrotech.org/qet/images-features/0102.png "Drag and drop")
![](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.
![](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.
![](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.
Link elements together to create cross references
Several types of element can be linked together to display a cross reference text.
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
![](https://download.qelectrotech.org/qet/images-features/0112.png "Cross ref elements")
![](https://download.tuxfamily.org/qet/images-features/0112.png "Cross ref elements")
To speed up your work, linkable elements are easily searched and shown.
![](https://download.qelectrotech.org/qet/images-features/0115.png "Cross ref search")
![](https://download.tuxfamily.org/qet/images-features/0115.png "Cross ref search")
Export informations to a parts list
Informations of all elements in the project can be exported to a .csv file that can be read and edited by any spreadsheet application.
![](https://download.qelectrotech.org/qet/images-features/0122.png "Element informations")
![](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.
![](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
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.
- 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.
@@ -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.
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
@@ -1,11 +1,11 @@
{
"id": "org.qelectrotech.QElectroTech",
"base-version": "5.15-23.08",
"base-version": "5.15-22.08",
"runtime": "org.kde.Platform",
"runtime-version": "5.15-23.08",
"runtime-version": "5.15-22.08",
"sdk": "org.kde.Sdk",
"command": "qelectrotech",
"rename-desktop-file": "org.qelectrotech.qelectrotech.desktop",
"rename-desktop-file": "qelectrotech.desktop",
"rename-appdata-file": "qelectrotech.appdata.xml",
"rename-icon": "qelectrotech",
"copy-icon": true,
@@ -29,7 +29,7 @@
{
"type": "git",
"url": "https://github.com/iwalton3/tkinter-standalone",
"commit": "23c793bad2429f4a81eee9f50e2d07ae845b7785"
"commit": "2301112d142ebaf7532b25600c77d1a2edc9ef04"
}
],
"modules": [
@@ -9,6 +9,8 @@ if [ ! -d "$to" ] && [ -d "$from" ]; then
cp -av "$from/." "$to"
fi
# link DXFtoQET so that QET finds it
mkdir -p "$HOME/.qet"
ln -snf "$SNAP/bin/DXFtoQET" "$HOME/.qet/DXFtoQET"
exec "${@}"
+20 -5
View File
@@ -29,11 +29,11 @@ apps:
common-id: qelectrotech.desktop
extensions:
- 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
TCL_LIBRARY: $SNAP/usr/share/tcltk/tcl8.6
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:
command: bin/qet_tb_generator
@@ -42,6 +42,12 @@ apps:
plugs: *plugs
environment: *env
dxf-to-qet:
command: bin/DXFtoQET
extensions:
- kde-neon
plugs: *plugs
environment: *env
parts:
launchers:
@@ -71,6 +77,15 @@ parts:
override-build: |
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:
after: [kde-sdk-setup]
@@ -81,7 +96,7 @@ parts:
- git
- libsqlite3-dev
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)"
modified_displayed_version="${snap_version}.snap"
sed -i -E "s|const QString displayedVersion =.*|const QString displayedVersion =\"$modified_displayed_version\";|" sources/qet.h
@@ -93,10 +108,10 @@ parts:
craftctl default
# patch desktop file with correct icon path
SED_CMD="sed -i -E s|^Icon=(.*)|Icon=\${SNAP}/usr/local/share/icons/hicolor/128x128/apps/\1.png|g"
$SED_CMD usr/local/share/applications/org.qelectrotech.qelectrotech.desktop
$SED_CMD usr/local/share/applications/qelectrotech.desktop
cleanup:
after: [qelectrotech, qet-tb-generator]
after: [qelectrotech, dxf-to-qet, qet-tb-generator]
plugin: nil
build-snaps: [kf5-5-110-qt-5-15-11-core22]
override-prime: |
+2 -5
View File
@@ -5,10 +5,7 @@ set current_dir=%~dp0
cd /d %current_dir%
rem lance QElectroTech
rem Sans option --config-dir, la configuration de QElectroTech seront dans
rem "C:/Users/<USER>/AppData/Local/QElectroTech/QElectroTech"
rem Sans l'option --data-dir, les données utilisateur (elements, titleblocks,
rem log, ...) de QElectroTech sont stockées dans
rem "C:/Users/<USER>/AppData/Roaming/QElectroTech/QElectroTech"
rem Sans option --config-dir, la configuration de QElectroTech ainsi que la
rem collection d'elements perso seront dans "%APPDATA%\qet"
set command=bin\qelectrotech.exe --common-elements-dir=elements/ --common-tbt-dir=titleblocks/ --lang-dir=lang/ -style windowsvista %*
@start %command%
+2 -3
View File
@@ -125,7 +125,6 @@
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "Dutch_Belgium"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_RESERVEFILE_LANGDLL
!include lang_extra.nsh
@@ -267,13 +266,13 @@ Section ""
; write file associations registry keys
WriteRegStr HKEY_CLASSES_ROOT "Applications\qelectrotech.exe\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".qet" "" "qet_diagram_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file" "" "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" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\DefaultIcon" "" "$final_project_ico"
WriteRegStr HKEY_CLASSES_ROOT "qet_diagram_file\shell\open\command" "" "$\"$final_qet_exe$\" $\"%1$\""
WriteRegStr HKEY_CLASSES_ROOT ".elmt" "" "qet_element_file"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Element QET"
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file" "" "Élément QET"
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "EditFlags" 0x00000000
WriteRegDWORD HKEY_CLASSES_ROOT "qet_element_file" "BrowserFlags" 0x00000008
WriteRegStr HKEY_CLASSES_ROOT "qet_element_file\DefaultIcon" "" "$final_element_ico"
-4
View File
@@ -258,9 +258,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/dxf/dxftoelmt.cpp
${QET_DIR}/sources/dxf/dxftoelmt.h
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.cpp
${QET_DIR}/sources/qet_elementscaler/qet_elementscaler.h
${QET_DIR}/sources/editor/arceditor.cpp
${QET_DIR}/sources/editor/arceditor.h
${QET_DIR}/sources/editor/editorcommands.cpp
@@ -736,7 +733,6 @@ set(TS_FILES
${QET_DIR}/lang/qet_sk.ts
${QET_DIR}/lang/qet_sl.ts
${QET_DIR}/lang/qet_sr.ts
${QET_DIR}/lang/qet_sv.ts
${QET_DIR}/lang/qet_tr.ts
${QET_DIR}/lang/qet_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
add_definitions(-DQET_ALLOW_OVERRIDE_CD_OPTION)
# Comment the line below to deactivate the --data-dir option
add_definitions(-DQET_ALLOW_OVERRIDE_DD_OPTION)
#comment the line below to disable the project database export
#add_definitions(-DQET_EXPORT_PROJECT_DB) #error Todo
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
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%
+1 -2
View File
@@ -89,8 +89,7 @@ A=$(git rev-list HEAD --count)
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 -c25-35| 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
# Dmg de la dernière revision déjà créé
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))
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éé
if [ -e "build-aux/mac-osx/${APPNAME}-$VERSION-r$HEAD-arm64.zip" ] ; then
@@ -294,7 +293,7 @@ echo
echo "______________________________________________________________"
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
-5
View File
@@ -7,7 +7,6 @@ QET_EXE=$(readlink -f "${current_dir}/../qelectrotech")
QET_ELEMENTS_DIR=$(readlink -f "${current_dir}/../elements/")
QET_TBT_DIR=$(readlink -f "${current_dir}/../titleblocks/")
QET_CONFIG_DIR=""
QET_DATA_DIR=""
QET_LANG_DIR=$(readlink -f "${current_dir}/../lang/")
# REDEFINE_LANG="es"
@@ -32,10 +31,6 @@ if [ -d "${QET_CONFIG_DIR}" ]; then
OPTIONS="${OPTIONS} --config-dir=${QET_CONFIG_DIR}"
fi
if [ -d "${QET_DATA_DIR}" ]; then
OPTIONS="${OPTIONS} --data-dir=${QET_DATA_DIR}"
fi
if [ -d "${QET_LANG_DIR}" ]; then
OPTIONS="${OPTIONS} --lang-dir=${QET_LANG_DIR}"
fi
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2006-2025 The QElectroTech Team -->
<!-- Copyright 2006-2024 The QElectroTech Team -->
<application>
<id type="desktop">qelectrotech.desktop</id>
<metadata_license>MIT</metadata_license>
@@ -10,37 +10,35 @@ MimeType=application/x-qet-project;application/x-qet-element;application/x-qet-t
Categories=Graphics;Qt;VectorGraphics;Science;Electricity;Engineering;
Keywords=Graphics;Science;Electricity;Engineering;
Comment=Edit electrical diagrams.
Comment[ar]=تحرير مخططات كهربائية
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[de]=Schaltpläne erstellen und bearbeiten.
Comment[fr]=Éditer des schémas électriques.
Comment[hr]=Uredi elektro sheme
Comment[it]=Disegnare schemi elettrici
Comment[ja]=
Comment[nl]=Bewerken bedradingsdiagrammen.
Comment[pl]=Edycja schematów elektrycznych
Comment[pt]=Criar esquemas eléctricos.
Comment[ar]=تحرير مخططات كهربائية
Comment[es]=Editar esquemas eléctricos
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[ar]=مُحرّر مخططات كهربائية
GenericName[be]=Elektrische schema editor
GenericName[cs]=Editor výkresů elektrických obvodů
GenericName[da]=Elektrisk diagram redigering
GenericName[de]=Schaltplaneditor
GenericName[el]=Επεξεργαστής ηλεκτρικών διαγραμμάτων
GenericName[es]=Editor de esquemas eléctricos
GenericName[fr]=Éditeur de schémas électriques
GenericName[hr]=Editor elektro sheme
GenericName[it]=Programma per disegnare schemi elettrici
GenericName[ja]=
GenericName[nl]=Elektrische schema editor
GenericName[pl]=Edytor schematów elektrycznych
GenericName[pt]=Editor de esquemas eléctricos.
GenericName[ar]=مُحرّر مخططات كهربائية
GenericName[es]=Editor de esquemas eléctricos
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';
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 @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);
+3 -5
View File
@@ -21,9 +21,7 @@ A=$(git rev-list HEAD --count)
HEAD=$(($A+473))
#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
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/
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 -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
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/
rm QElectroTech_*.AppImage
+1 -2
View File
@@ -31,8 +31,7 @@ if [ -z "$HEAD" ] ; then
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
+1 -2
View File
@@ -16,8 +16,7 @@ git pull --recurse-submodules
# get the number of the new revision
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 ~
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
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
DEFINES += QET_EXPORT_PROJECT_DB
@@ -169,8 +166,7 @@ HEADERS += $$files(sources/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/*.h) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.h) \
$$files(sources/xml/*.h) \
$$files(sources/dxf/*.h) \
$$files(sources/qet_elementscaler/*.h)
$$files(sources/dxf/*.h)
SOURCES += $$files(sources/*.cpp) \
$$files(sources/editor/*.cpp) \
@@ -212,8 +208,7 @@ SOURCES += $$files(sources/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/*.cpp) \
$$files(sources/TerminalStrip/GraphicsItem/properties/*.cpp) \
$$files(sources/xml/*.cpp) \
$$files(sources/dxf/*.cpp) \
$$files(sources/qet_elementscaler/*.cpp)
$$files(sources/dxf/*.cpp)
# Needed for use promote QTreeWidget in terminalstripeditor.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
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.files = misc/qelectrotech.appdata.xml
+1 -3
View File
@@ -49,7 +49,6 @@
<file>ico/16x16/endline-none.png</file>
<file>ico/16x16/endline-simple.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.png</file>
<file>ico/16x16/go-company.png</file>
@@ -61,7 +60,6 @@
<file>ico/16x16/list-add.png</file>
<file>ico/16x16/list-remove.png</file>
<file>ico/16x16/masquer.png</file>
<file>ico/16x16/mirror.png</file>
<file>ico/16x16/neutral.png</file>
<file>ico/16x16/north.png</file>
<file>ico/16x16/orientations.png</file>
@@ -212,7 +210,7 @@
<file>ico/48x48/view-pim-journal.png</file>
<file>ico/24x16/nl.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/22x22/autoconnect.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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -399,7 +399,7 @@ ElementsLocation ElementCollectionHandler::createDir(ElementsLocation &parent, c
@brief ElementCollectionHandler::importFromProject
Import the element represented by location to the embedded collection
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 location : location to copy
@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.
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.
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.
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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -26,11 +26,7 @@
#include "xmlprojectelementcollectionitem.h"
#include <QFutureWatcher>
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
#include <QtConcurrentMap>
#else
#include <QtConcurrentRun>
#endif
#include <QtConcurrent>
/**
@brief ElementsCollectionModel::ElementsCollectionModel
@@ -115,10 +111,10 @@ QStringList ElementsCollectionModel::mimeTypes() const
@return
*/
bool ElementsCollectionModel::canDropMimeData(const QMimeData *data,
Qt::DropAction action,
int row,
int column,
const QModelIndex &parent) const
Qt::DropAction action,
int row,
int column,
const QModelIndex &parent) const
{
if (!(QStandardItemModel::canDropMimeData(data,
action,
@@ -262,9 +258,9 @@ bool ElementsCollectionModel::dropMimeData(const QMimeData *data,
@param projects : list of projects to load
*/
void ElementsCollectionModel::loadCollections(bool common_collection,
bool company_collection,
bool custom_collection,
QList<QETProject *> projects)
bool company_collection,
bool custom_collection,
QList<QETProject *> projects)
{
m_items_list_to_setUp.clear();
@@ -317,8 +313,8 @@ void ElementsCollectionModel::addCommonCollection(bool set_data)
{
FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::commonElementsDirN(),
set_data,
m_hide_element)) {
set_data,
m_hide_element)) {
invisibleRootItem()->appendRow(feci);
if (set_data)
feci->setUpData();
@@ -328,41 +324,41 @@ void ElementsCollectionModel::addCommonCollection(bool set_data)
}
/**
@brief ElementsCollectionModel::addCompanyCollection
Add the company elements collection to this model
@param set_data
@brief ElementsCollectionModel::addCompanyCollection
Add the company elements collection to this model
@param set_data
*/
void ElementsCollectionModel::addCompanyCollection(bool set_data)
{
FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::companyElementsDirN(),
set_data,
m_hide_element)) {
invisibleRootItem()->appendRow(feci);
if (set_data)
feci->setUpData();
}
else
delete feci;
FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::companyElementsDirN(),
set_data,
m_hide_element)) {
invisibleRootItem()->appendRow(feci);
if (set_data)
feci->setUpData();
}
else
delete feci;
}
/**
@brief ElementsCollectionModel::addCustomCollection
Add the custom elements collection to this model
@param set_data
@brief ElementsCollectionModel::addCustomCollection
Add the custom elements collection to this model
@param set_data
*/
void ElementsCollectionModel::addCustomCollection(bool set_data)
{
FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::customElementsDirN(),
set_data,
m_hide_element)) {
invisibleRootItem()->appendRow(feci);
if (set_data)
feci->setUpData();
}
else
delete feci;
FileElementCollectionItem *feci = new FileElementCollectionItem();
if (feci->setRootPath(QETApp::customElementsDirN(),
set_data,
m_hide_element)) {
invisibleRootItem()->appendRow(feci);
if (set_data)
feci->setUpData();
}
else
delete feci;
}
/**
@@ -583,9 +579,9 @@ QModelIndex ElementsCollectionModel::indexFromLocation(
{
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)));
}
}
foreach(ElementCollectionItem *eci, child_list) {
@@ -594,8 +590,8 @@ QModelIndex ElementsCollectionModel::indexFromLocation(
if (eci->type() == FileElementCollectionItem::Type) {
if (FileElementCollectionItem *feci = static_cast<FileElementCollectionItem *>(eci)) {
if ( (location.isCommonCollection() && feci->isCommonCollection()) ||
(location.isCompanyCollection() && feci->isCompanyCollection()) ||
(location.isCustomCollection() && !feci->isCommonCollection()) ) {
(location.isCompanyCollection() && feci->isCompanyCollection()) ||
(location.isCustomCollection() && !feci->isCommonCollection()) ) {
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.
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 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 addCompanyCollection(bool set_data = true);
void addCustomCollection(bool set_data = true);
void addCommonCollection(bool set_data = true);
void addCompanyCollection(bool set_data = true);
void addCustomCollection(bool set_data = true);
void addLocation(const ElementsLocation& location);
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.
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_tree_view->setDisabled(true);
QList <QETProject *> prj; prj.append(project);
m_model->loadCollections(false, false, false, prj);
m_model->loadCollections(false, false, false, prj);
}
else {
m_waiting_project.append(project);
@@ -148,26 +148,26 @@ void ElementsCollectionWidget::setUpAction()
m_open_dir = new QAction(QET::Icons::FolderOpen,
tr("Ouvrir le dossier correspondant"), this);
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,
tr("Supprimer l'élément"), this);
tr("Supprimer l'élément"), this);
m_delete_dir = new QAction(QET::Icons::FolderDelete,
tr("Supprimer le dossier"), this);
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,
tr("Éditer le dossier"), this);
m_new_directory = new QAction(QET::Icons::FolderNew,
tr("Nouveau dossier"), this);
tr("Nouveau dossier"), this);
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,
tr("Afficher uniquement ce dossier"),
this);
tr("Afficher uniquement ce dossier"),
this);
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,
tr("Propriété du dossier"), this);
tr("Propriété du dossier"), this);
}
/**
@@ -385,10 +385,10 @@ void ElementsCollectionWidget::deleteElement()
ElementsLocation loc(eci->collectionPath());
if (! (loc.isElement()
&& loc.exist()
&& loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return;
&& loc.exist()
&& loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return;
if (QET::QetMessageBox::question(
this,
@@ -401,8 +401,8 @@ void ElementsCollectionWidget::deleteElement()
if (file.remove())
{
m_model->removeRows(m_index_at_context_menu.row(),
1,
m_index_at_context_menu.parent());
1,
m_index_at_context_menu.parent());
}
else
{
@@ -429,10 +429,10 @@ void ElementsCollectionWidget::deleteDirectory()
ElementsLocation loc (eci->collectionPath());
if (! (loc.isDirectory()
&& loc.exist()
&& loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return;
&& loc.exist()
&& loc.isFileSystem()
&& (loc.collectionPath().startsWith("company://")
|| loc.collectionPath().startsWith("custom://"))) ) return;
if (QET::QetMessageBox::question(
this,
@@ -446,8 +446,8 @@ void ElementsCollectionWidget::deleteDirectory()
if (dir.removeRecursively())
{
m_model->removeRows(m_index_at_context_menu.row(),
1,
m_index_at_context_menu.parent());
1,
m_index_at_context_menu.parent());
}
else
{
@@ -529,7 +529,7 @@ void ElementsCollectionWidget::newElement()
elmt_wizard.exec();
foreach (QETElementEditor *element_editor,
QETApp::instance()->elementEditors())
QETApp::instance()->elementEditors())
connect(element_editor,
&QETElementEditor::saveToLocation,
this,
@@ -666,7 +666,7 @@ void ElementsCollectionWidget::reload()
this,
&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)
{
//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())
return;
@@ -781,13 +781,13 @@ void ElementsCollectionWidget::search()
QModelIndexList match_index;
for (QString txt : text_list) {
match_index << m_model->match(m_showed_index.isValid()
? m_model->index(0,0,m_showed_index)
: m_model->index(0,0),
Qt::UserRole+1,
QVariant(txt),
-1,
Qt::MatchContains
| Qt::MatchRecursive);
? m_model->index(0,0,m_showed_index)
: m_model->index(0,0),
Qt::UserRole+1,
QVariant(txt),
-1,
Qt::MatchContains
| Qt::MatchRecursive);
}
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.
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.
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://"))
{
QString p;
if (path.startsWith("common://"))
{
tmp_path.remove("common://");
p = QETApp::commonElementsDirN() + "/" + tmp_path;
}
else if (path.startsWith("company://"))
{
tmp_path.remove("company://");
p = QETApp::companyElementsDirN() + "/" + tmp_path;
}
else
if (path.startsWith("common://"))
{
tmp_path.remove("common://");
p = QETApp::commonElementsDirN() + "/" + tmp_path;
}
else if (path.startsWith("company://"))
{
tmp_path.remove("company://");
p = QETApp::companyElementsDirN() + "/" + tmp_path;
}
else
{
tmp_path.remove("custom://");
p = QETApp::customElementsDirN() + "/" + tmp_path;
@@ -319,19 +319,19 @@ void ElementsLocation::setPath(const QString &path)
if(path_.endsWith(".elmt"))
{
m_file_system_path = path_;
if (path_.startsWith(QETApp::commonElementsDirN()))
{
path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::companyElementsDirN()))
{
path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::customElementsDirN()))
if (path_.startsWith(QETApp::commonElementsDirN()))
{
path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::companyElementsDirN()))
{
path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::customElementsDirN()))
{
path_.remove(QETApp::customElementsDirN()+="/");
path_.prepend("custom://");
@@ -341,19 +341,19 @@ void ElementsLocation::setPath(const QString &path)
else
{
m_file_system_path = path_;
if (path_.startsWith(QETApp::commonElementsDirN()))
{
path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::companyElementsDirN()))
{
path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::customElementsDirN()))
if (path_.startsWith(QETApp::commonElementsDirN()))
{
path_.remove(QETApp::commonElementsDirN()+="/");
path_.prepend("common://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::companyElementsDirN()))
{
path_.remove(QETApp::companyElementsDirN()+="/");
path_.prepend("company://");
m_collection_path = path_;
}
else if (path_.startsWith(QETApp::customElementsDirN()))
{
path_.remove(QETApp::customElementsDirN()+="/");
path_.prepend("custom://");
@@ -501,23 +501,23 @@ bool ElementsLocation::isFileSystem() const
}
/**
@brief ElementsLocation::isCommonCollection
@return
True if this location represent an item from the common collection
@brief ElementsLocation::isCommonCollection
@return
True if this location represent an item from the common collection
*/
bool ElementsLocation::isCommonCollection() const
{
return fileSystemPath().startsWith(QETApp::commonElementsDirN());
return fileSystemPath().startsWith(QETApp::commonElementsDirN());
}
/**
@brief ElementsLocation::isCompanyCollection
@return
True if this location represent an item from the company collection
@brief ElementsLocation::isCompanyCollection
@return
True if this location represent an item from the company collection
*/
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
@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.
*/
XmlElementCollection *ElementsLocation::projectCollection() const
@@ -870,7 +870,7 @@ QIcon ElementsLocation::icon() const
/**
@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
{
@@ -1,5 +1,5 @@
/*
Copyright 2006-2025 The QElectroTech Team
Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
@@ -37,7 +37,7 @@ class XmlElementCollection;
This class represents the location,
the location of an element or of a category,
even of a collection ... in a collection.
It encapsulates a virtual path.
She encapsulates a virtual path.
\~French
Cette classe represente la localisation, l'emplacement d'un element ou
d'une categorie, voire d'une collection... dans une collection.
@@ -75,9 +75,9 @@ class ElementsLocation
bool isElement() const;
bool isDirectory() const;
bool isFileSystem() const;
bool isCommonCollection() const;
bool isCompanyCollection() const;
bool isCustomCollection() const;
bool isCommonCollection() const;
bool isCompanyCollection() const;
bool isCustomCollection() const;
bool isProject() const;
bool exist() 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.
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) :
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
@@ -1,5 +1,5 @@
/*
Copyright 2006-2025 The QElectroTech Team
Copyright 2006-2024 The QElectroTech Team
This file is part of QElectroTech.
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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -41,8 +41,8 @@ FileElementCollectionItem::FileElementCollectionItem()
@return true if path exist.
*/
bool FileElementCollectionItem::setRootPath(const QString& path,
bool set_data,
bool hide_element)
bool set_data,
bool hide_element)
{
QDir dir(path);
if (dir.exists())
@@ -120,11 +120,11 @@ QString FileElementCollectionItem::localName()
else if (isDir()) {
if (isCollectionRoot()) {
if (m_path == QETApp::commonElementsDirN())
setText(QObject::tr("Collection QET"));
else if (m_path == QETApp::companyElementsDirN())
setText(QObject::tr("Collection Company"));
else if (m_path == QETApp::customElementsDirN())
if (m_path == QETApp::commonElementsDirN())
setText(QObject::tr("Collection QET"));
else if (m_path == QETApp::companyElementsDirN())
setText(QObject::tr("Collection Company"));
else if (m_path == QETApp::customElementsDirN())
setText(QObject::tr("Collection utilisateur"));
else
setText(QObject::tr("Collection inconnue"));
@@ -221,29 +221,29 @@ QString FileElementCollectionItem::collectionPath() const
bool FileElementCollectionItem::isCollectionRoot() const
{
if (m_path == QETApp::commonElementsDirN()
|| m_path == QETApp::companyElementsDirN()
|| m_path == QETApp::customElementsDirN())
return true;
|| m_path == QETApp::companyElementsDirN()
|| m_path == QETApp::customElementsDirN())
return true;
else
return false;
}
/**
@brief FileElementCollectionItem::isCommonCollection
@return True if this item represent the common collection
@brief FileElementCollectionItem::isCommonCollection
@return True if this item represent the common collection
*/
bool FileElementCollectionItem::isCommonCollection() const
{
return fileSystemPath().startsWith(QETApp::commonElementsDirN());
return fileSystemPath().startsWith(QETApp::commonElementsDirN());
}
/**
@brief FileElementCollectionItem::isCompanyCollection
@return True if this item represent the company collection
@brief FileElementCollectionItem::isCompanyCollection
@return True if this item represent the company collection
*/
bool FileElementCollectionItem::isCompanyCollection() const
{
return fileSystemPath().startsWith(QETApp::companyElementsDirN());
return fileSystemPath().startsWith(QETApp::companyElementsDirN());
}
/**
@@ -347,8 +347,8 @@ void FileElementCollectionItem::setUpIcon()
@param hide_element
*/
void FileElementCollectionItem::setPathName(const QString& path_name,
bool set_data,
bool hide_element)
bool set_data,
bool hide_element)
{
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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -47,9 +47,9 @@ class FileElementCollectionItem : public ElementCollectionItem
QString name() const override;
QString collectionPath() const override;
bool isCollectionRoot() const override;
bool isCommonCollection() const;
bool isCompanyCollection() const;
bool isCustomCollection() const;
bool isCommonCollection() const;
bool isCompanyCollection() const;
bool isCustomCollection() const;
void addChildAtPath(const QString &collection_name) 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.
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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -23,7 +23,7 @@
#include <QDialog>
namespace Ui {
class RenameDialog;
class RenameDialog;
}
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.
QElectroTech is free software: you can redistribute it and/or modify
@@ -46,64 +46,117 @@ XmlElementCollection::XmlElementCollection(QETProject *project) :
collection.appendChild(import);
NamesList names;
const QChar chinese_data[4] ={
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)};
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
const QChar russian_data[24] = {
QChar(0x0418), QChar(0x043C), QChar(0x043F), QChar(0x043E),
QChar(0x0440), QChar(0x0442), QChar(0x0438), QChar(0x0440),
QChar(0x043E), QChar(0x0432), QChar(0x0430), QChar(0x043D),
QChar(0x043D), QChar(0x044B), QChar(0x0435), QChar(0x0020),
QChar(0x044D), QChar(0x043B), QChar(0x0435), QChar(0x043C),
QChar(0x0435), QChar(0x043D), QChar(0x0442), QChar(0x044B)};
0x0418, 0x043C, 0x043F, 0x043E, 0x0440, 0x0442, 0x0438, 0x0440,
0x043E, 0x0432, 0x0430, 0x043D, 0x043D, 0x044B, 0x0435, 0x0020,
0x044D, 0x043B, 0x0435, 0x043C, 0x0435, 0x043D, 0x0442, 0x044B};
const QChar greek_data[18] = {
0x0395,
0x03b9,
0x03c3,
0x03b7,
0x03b3,
0x03bc,
0x03ad,
0x03bd,
0x03b1,
0x0020,
0x03c3,
0x03c4,
0x03bf,
0x03b9,
0x03c7,
0x03b5,
0x03af,
0x03b1};
const QChar turkish_data[12] = {
QChar(0x0130), QChar(0x0074), QChar(0x0068), QChar(0x0061),
QChar(0x006C), QChar(0x0020), QChar(0x00F6), QChar(0x011F),
QChar(0x0065), QChar(0x006C), QChar(0x0065), QChar(0x0072)};
0x0130,
0x0074,
0x0068,
0x0061,
0x006C,
0x0020,
0x00F6,
0x011F,
0x0065,
0x006C,
0x0065,
0x0072};
const QChar ukrainian_data[20] = {
QChar(0x0406), QChar(0x043c), QChar(0x043f), QChar(0x043e),
QChar(0x0440), QChar(0x0442), QChar(0x043e), QChar(0x0432),
QChar(0x0430), QChar(0x043d), QChar(0x0456), QChar(0x0020),
QChar(0x0435), QChar(0x043b), QChar(0x0435), QChar(0x043c),
QChar(0x0435), QChar(0x043d), QChar(0x0442), QChar(0x0438)};
names.addName("ca", "Elements importats");
names.addName("cs", "Zavedené prvky");
names.addName("da", "Importerede elementer");
names.addName("de", "Importierte Elemente");
names.addName("el", QString(greek_data, 18));
//names.addName("el", "Εισηγμένα στοιχεία);
names.addName("en", "Imported elements");
names.addName("es", "Elementos importados");
names.addName("fr", "Éléments importés");
names.addName("hr", "Uvezeni elementi");
names.addName("it", "Elementi importati");
names.addName("ja", QString(japanese_data, 10));
//names.addName("ja", "インバートされた要素");
names.addName("nl", "Elementen geïmporteerd");
names.addName("nl_BE", "Elementen geïmporteerd");
names.addName("pl", "Elementy importowane");
names.addName("pt", "Elementos importados");
names.addName("pt_BR", "Elementos importados");
names.addName("ro", "Elemente importate");
names.addName("ru", QString(russian_data, 24));
//names.addName("ru", "Импортированные элементы");
names.addName("sl", "Uvoženi elementi");
names.addName("sv", "Importerade element");
names.addName("tr", QString(turkish_data, 12));
//names.addName("tr", "İthal öğeler");
names.addName("uk", QString(ukrainian_data, 20));
//names.addName("uk", "Імпортовані елементи");
names.addName("zh", QString(chinese_data, 4));
//names.addName("zh", "导入元件");
0x0406,
0x043c,
0x043f,
0x043e,
0x0440,
0x0442,
0x043e,
0x0432,
0x0430,
0x043d,
0x0456,
0x0020,
0x0435,
0x043b,
0x0435,
0x043c,
0x0435,
0x043d,
0x0442,
0x0438};
const QChar japanese_data[10] = {
0x30A4,
0x30F3,
0x30D0,
0x30FC,
0x30C8,
0x3055,
0x308C,
0x305F,
0x8981,
0x7D20};
names.addName("fr", "Éléments importés");
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));
}

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