Compare commits

..

1 Commits

Author SHA1 Message Date
Laurent Trinques f4ac69a805 Revert "some minor changes" 2024-04-10 14:31:01 +02:00
657 changed files with 23930 additions and 41765 deletions
+31 -25
View File
@@ -16,7 +16,7 @@
include(cmake/hoto_update_cmake_message.cmake)
cmake_minimum_required(VERSION 3.21.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.14...3.19 FATAL_ERROR)
project(qelectrotech
VERSION 0.9.0
@@ -27,13 +27,6 @@ project(qelectrotech
include(cmake/copyright_message.cmake)
set(QET_DIR ${PROJECT_SOURCE_DIR})
include(cmake/qet_compilation_vars.cmake)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 REQUIRED COMPONENTS ${QET_COMPONENTS})
qt_standard_project_setup()
# Add sub directories
option(PACKAGE_TESTS "Build the tests" ON)
@@ -50,17 +43,42 @@ include(cmake/git_last_commit_sha.cmake)
include(cmake/fetch_kdeaddons.cmake)
include(cmake/fetch_singleapplication.cmake)
include(cmake/fetch_pugixml.cmake)
include(cmake/qet_compilation_vars.cmake)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
SET(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(
QT
NAMES
Qt6
Qt5
COMPONENTS
${QET_COMPONENTS}
REQUIRED
)
find_package(
Qt${QT_VERSION_MAJOR}
COMPONENTS
${QET_COMPONENTS}
REQUIRED)
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt5_add_translation(QM_FILES ${TS_FILES})
# als laatse
include(cmake/define_definitions.cmake)
qt_add_executable(
add_executable(
${PROJECT_NAME}
${QET_RES_FILES}
${QET_SRC_FILES}
@@ -68,24 +86,13 @@ qt_add_executable(
${QET_DIR}/qelectrotech.qrc
)
if(QMFILES_AS_RESOURCE)
qt_add_translations(${PROJECT_NAME} TS_FILES ${TS_FILES} RESOURCE_PREFIX "/lang")
else()
qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION "${QET_DIR}/lang")
qt_add_translation(QM_FILES ${TS_FILES})
endif()
find_package(SQLite3 REQUIRED)
target_link_libraries(
${PROJECT_NAME}
PUBLIC
PRIVATE
pugixml::pugixml
SingleApplication::SingleApplication
SQLite::SQLite3
${KF6_PRIVATE_LIBRARIES}
${KF5_PRIVATE_LIBRARIES}
${QET_PRIVATE_LIBRARIES}
)
@@ -139,10 +146,9 @@ 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})
if(NOT QMFILES_AS_RESOURCE)
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
endif()
install(FILES ${QM_FILES} DESTINATION ${QET_LANG_PATH})
endif()
+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 "${@}"
+22 -7
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,7 +42,13 @@ apps:
plugs: *plugs
environment: *env
dxf-to-qet:
command: bin/DXFtoQET
extensions:
- kde-neon
plugs: *plugs
environment: *env
parts:
launchers:
plugin: dump
@@ -71,7 +77,16 @@ 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]
plugin: nil
@@ -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"
+5 -10
View File
@@ -62,15 +62,10 @@ message("PROJECT_SOURCE_DIR :" ${PROJECT_SOURCE_DIR})
message("QET_DIR :" ${QET_DIR})
message("GIT_COMMIT_SHA :" ${GIT_COMMIT_SHA})
if(BUILD_WITH_KF6 AND BUILD_KF6)
message("KF6_GIT_TAG :" ${KF6_GIT_TAG})
endif()
if(NOT BUILD_WITH_KF6)
add_definitions(-DBUILD_WITHOUT_KF6)
if(BUILD_WITH_KF5)
message("KF5_GIT_TAG :" ${KF5_GIT_TAG})
else()
add_definitions(-DBUILD_WITHOUT_KF5)
endif()
message("QET_COMPONENTS :" ${QET_COMPONENTS})
message("Qt version :" ${Qt6_VERSION})
if(QMFILES_AS_RESOURCE)
add_definitions(-DQMFILES_AS_RESOURCE)
endif()
message("QT_VERSION_MAJOR :" ${QT_VERSION_MAJOR})
+2 -5
View File
@@ -31,8 +31,5 @@ add_definitions(-DQT_MESSAGELOGCONTEXT)
# In order to do so, uncomment the following line.
#add_definitions(-DTODO_LIST)
# Build with KF6
option(BUILD_WITH_KF6 "Build with KF6" ON)
# Use translations as a Qt resource
option(QMFILES_AS_RESOURCE "Use .qm files as Qt resource" ON)
# Build with KF5
option(BUILD_WITH_KF5 "Build with KF5" ON)
+36 -29
View File
@@ -14,47 +14,54 @@
# You should have received a copy of the GNU General Public License
# along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
message(STATUS "fetch_kdeaddons")
message(" - fetch_kdeaddons")
if(BUILD_WITH_KF6)
option(BUILD_KF6 "Build KF6 libraries, use system ones otherwise" OFF)
block(PROPAGATE KF6_GIT_TAG)
set(BUILD_TESTING OFF)
set(KDE_SKIP_TEST_SETTINGS ON)
set(BUILD_DESIGNERPLUGIN OFF)
set(KCOREADDONS_USE_QML OFF)
set(BUILD_QCH OFF)
set(BUILD_SHARED_LIBS OFF)
find_package(ECM 6.8.0 REQUIRED NO_MODULE)
list(APPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
if(DEFINED BUILD_WITH_KF5)
Include(FetchContent)
if(BUILD_KF6)
Include(FetchContent)
option(BUILD_KF5 "Build KF5 libraries, use system ones otherwise" YES)
if(NOT DEFINED KF6_GIT_TAG)
set(KF6_GIT_TAG v6.8.0)
if(BUILD_KF5)
if(NOT DEFINED KF5_GIT_TAG)
#https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
set(KF5_GIT_TAG v5.77.0)
endif()
# Fix stop the run autotests of kcoreaddons
# see
# https://invent.kde.org/frameworks/kcoreaddons/-/blob/master/CMakeLists.txt#L98
# issue:
# CMake Error at /usr/share/ECM/modules/ECMAddTests.cmake:89 (add_executable):
# Cannot find source file:
# see
# https://qelectrotech.org/forum/viewtopic.php?pid=13929#p13929
set(KDE_SKIP_TEST_SETTINGS "TRUE")
set(BUILD_TESTING "0")
FetchContent_Declare(
ecm
GIT_REPOSITORY https://invent.kde.org/frameworks/extra-cmake-modules.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(ecm)
FetchContent_Declare(
kcoreaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kcoreaddons.git
GIT_TAG ${KF6_GIT_TAG})
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(kcoreaddons)
get_target_property(kca_version KF6::CoreAddons VERSION)
FetchContent_Declare(
kwidgetsaddons
GIT_REPOSITORY https://invent.kde.org/frameworks/kwidgetsaddons.git
GIT_TAG ${KF5_GIT_TAG})
FetchContent_MakeAvailable(kwidgetsaddons)
else()
find_package(KF6CoreAddons REQUIRED)
set(kca_version ${KF6CoreAddons_VERSION})
find_package(KF5CoreAddons REQUIRED)
find_package(KF5WidgetsAddons REQUIRED)
endif()
get_target_property(kwa_type KF6::CoreAddons TYPE)
message(NOTICE "ecm version : " ${ECM_VERSION})
message(NOTICE "kcoreaddons library : " ${kca_type})
message(NOTICE "kcoreaddons version : " ${kca_version})
endblock()
set(KF6_PRIVATE_LIBRARIES
KF6::CoreAddons
set(KF5_PRIVATE_LIBRARIES
KF5::WidgetsAddons
KF5::CoreAddons
)
endif()
+1 -1
View File
@@ -25,7 +25,7 @@ if(BUILD_PUGIXML)
FetchContent_Declare(
pugixml
GIT_REPOSITORY https://github.com/zeux/pugixml.git
GIT_TAG v1.14)
GIT_TAG v1.11.4)
FetchContent_MakeAvailable(pugixml)
else()
+1 -1
View File
@@ -26,6 +26,6 @@ Include(FetchContent)
FetchContent_Declare(
SingleApplication
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
GIT_TAG v3.5.1)
GIT_TAG v3.2.0)
FetchContent_MakeAvailable(SingleApplication)
+1 -13
View File
@@ -17,8 +17,6 @@
message(" - qet_compilation_vars")
set(QET_COMPONENTS
Core
Gui
LinguistTools
PrintSupport
Xml
@@ -111,12 +109,6 @@ set(QET_SRC_FILES
${QET_DIR}/sources/borderproperties.h
${QET_DIR}/sources/bordertitleblock.cpp
${QET_DIR}/sources/bordertitleblock.h
${QET_DIR}/sources/colorbutton.cpp
${QET_DIR}/sources/colorbutton.h
${QET_DIR}/sources/colorcombobox.cpp
${QET_DIR}/sources/colorcombobox.h
${QET_DIR}/sources/colorcomboboxdelegate.cpp
${QET_DIR}/sources/colorcomboboxdelegate.h
${QET_DIR}/sources/conductorautonumerotation.cpp
${QET_DIR}/sources/conductorautonumerotation.h
${QET_DIR}/sources/conductornumexport.cpp
@@ -266,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
@@ -718,6 +707,7 @@ set(QET_SRC_FILES
set(TS_FILES
${QET_DIR}/lang/qet_ar.ts
${QET_DIR}/lang/qet_be.ts
${QET_DIR}/lang/qet_ca.ts
${QET_DIR}/lang/qet_cs.ts
${QET_DIR}/lang/qet_da.ts
@@ -734,7 +724,6 @@ set(TS_FILES
${QET_DIR}/lang/qet_mn.ts
${QET_DIR}/lang/qet_nb.ts
${QET_DIR}/lang/qet_nl.ts
${QET_DIR}/lang/qet_nl_BE.ts
${QET_DIR}/lang/qet_no.ts
${QET_DIR}/lang/qet_pl.ts
${QET_DIR}/lang/qet_pt.ts
@@ -744,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
)
+1 -4
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)
#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.
+651 -699
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.
+647 -695
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+700 -772
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+653 -700
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+698 -767
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+652 -700
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+656 -724
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+994 -1043
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+653 -703
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+644 -692
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+653 -700
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+653 -701
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+651 -699
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+651 -699
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+651 -699
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+680 -700
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+701 -818
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+648 -696
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+701 -770
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+644 -692
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+652 -700
View File
File diff suppressed because it is too large Load Diff
+651 -699
View File
File diff suppressed because it is too large Load Diff
+642 -690
View File
File diff suppressed because it is too large Load Diff
+642 -690
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.
+651 -699
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+650 -698
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+652 -700
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
+1 -2
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
-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>
@@ -1,6 +1,6 @@
[Desktop Entry]
Version=1.0
Name=QElectroTech
Name=QElectroTech
TryExec=qelectrotech
Exec=qelectrotech %F
Icon=qelectrotech
@@ -10,7 +10,7 @@ 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[de]=Elektroschaltpläne erstellen und bearbeiten.
Comment[de]=Schaltpläne erstellen und bearbeiten.
Comment[fr]=Éditer des schémas électriques.
Comment[ar]=تحرير مخططات كهربائية
Comment[es]=Editar esquemas eléctricos
@@ -26,7 +26,6 @@ Comment[nl]=Bewerken bedradingsdiagrammen.
Comment[be]=Bewerken elektrisch schema.
Comment[da]=Rediger elektriske diagrammer.
Comment[ja]=
Comment[sk]=Úprava elektrických schém.
GenericName=Electrical diagram editor
GenericName[de]=Schaltplaneditor
GenericName[fr]=Éditeur de schémas électriques
@@ -43,4 +42,3 @@ GenericName[nl]=Elektrische schema editor
GenericName[be]=Elektrische schema editor
GenericName[da]=Elektrisk diagram redigering
GenericName[ja]=
GenericName[sk]=Editor elektrických schém
+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,8 +26,7 @@
#include "xmlprojectelementcollectionitem.h"
#include <QFutureWatcher>
#include <QtConcurrentMap>
#include <QtConcurrent>
/**
@brief ElementsCollectionModel::ElementsCollectionModel
@@ -112,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,
@@ -259,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();
@@ -293,9 +292,15 @@ void ElementsCollectionModel::loadCollections(bool common_collection,
&QFutureWatcher<void>::finished,
watcher,
&QFutureWatcher<void>::deleteLater);
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) // ### Qt 6: remove
m_future = QtConcurrent::map(m_items_list_to_setUp, setUpData);
#else
# if TODO_LIST
# pragma message("@TODO remove code for QT 6 or later")
# endif
qDebug() << "Help code for QT 6 or later"
<< "QtConcurrent::run its backwards now...function, object, args";
#endif
watcher->setFuture(m_future);
}
@@ -308,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();
@@ -319,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;
}
/**
@@ -574,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) {
@@ -585,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;
@@ -765,7 +765,7 @@ void ElementsCollectionWidget::search()
}
//start the search when text have at least 3 letters.
if (text.length() < 3) {
if (text.count() < 3) {
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
+53 -53
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
@@ -805,15 +805,15 @@ bool ElementsLocation::setXml(const QDomDocument &xml_document) const
qDebug() << "Help code for QT 6 or later";
QString path_ = collectionPath(false);
QRegularExpression rx(QRegularExpression::anchoredPattern("(.*)/(.*\\.elmt)"));
QRegularExpressionMatch match = rx.match(path_);
if (match.hasMatch())
QRegularExpression rx("^(.*)/(.*\\.elmt)$");
if (rx.exactMatch(path_))
{
return project()
->embeddedElementCollection()
->addElementDefinition(
match.captured(1),
match.captured(2),
rx.cap(1),
rx.cap(2),
xml_document.documentElement());
}
else
@@ -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

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