mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-01-17 13:19:58 +01:00
Compare commits
57 Commits
f83a5b3a79
...
fix-action
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8307008daa | ||
|
|
a9b30ff71e | ||
|
|
87c2480ebc | ||
|
|
5e41ec415e | ||
|
|
fa6e3d31eb | ||
|
|
47d391c26b | ||
|
|
033c92257e | ||
|
|
2b18d93d43 | ||
|
|
36463542ab | ||
|
|
152b20899c | ||
|
|
765f0087fc | ||
|
|
42037f7f9a | ||
|
|
7df37ab9b5 | ||
|
|
f47143dd6f | ||
|
|
0d5373d640 | ||
|
|
506565489f | ||
|
|
8a2e0a585c | ||
|
|
40744ba41a | ||
|
|
94269afc76 | ||
|
|
73e673ef8a | ||
|
|
fb41b50e37 | ||
|
|
2ebc3a6054 | ||
|
|
bb74f822d7 | ||
|
|
70dbc9cbad | ||
|
|
bd5f4f4f96 | ||
|
|
179a9db0cb | ||
|
|
34ee4ebf49 | ||
|
|
da661b0d4f | ||
|
|
1625692ddd | ||
|
|
4fc2ce8d9e | ||
|
|
0663aa55e8 | ||
|
|
67185f173e | ||
|
|
2c5e5c6b78 | ||
|
|
689b101c55 | ||
|
|
3aa760e3cd | ||
|
|
82f3167d40 | ||
|
|
5b2c861d02 | ||
|
|
ca8f4650a3 | ||
|
|
e7f55ee843 | ||
|
|
cdc747548d | ||
|
|
6038db5c40 | ||
|
|
a9632600b6 | ||
|
|
4e695de914 | ||
|
|
3803834d6d | ||
|
|
78a26f9175 | ||
|
|
a990daaf9e | ||
|
|
3b7a8a17e4 | ||
|
|
9e78dc56a8 | ||
|
|
3cf9095899 | ||
|
|
3a1398d752 | ||
|
|
67a7d277f4 | ||
|
|
e26f7fdaaa | ||
|
|
f74fed9f3f | ||
|
|
410c9293d1 | ||
|
|
07c34d7358 | ||
|
|
6d7d1ea23b | ||
|
|
58339f9016 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.qch filter=lfs diff=lfs merge=lfs -text
|
||||
68
.github/workflows/auto-doxygen.yml
vendored
Normal file
68
.github/workflows/auto-doxygen.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
name: Auto-build doxygen docs
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
doxygen:
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-24.04
|
||||
if: github.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: 'recursive'
|
||||
show-progress: ''
|
||||
- name: Setup and run doxygen
|
||||
run: sudo apt install doxygen graphviz qhelpgenerator-qt5 -y
|
||||
- name: Set up Git LFS
|
||||
run: |
|
||||
git lfs install
|
||||
git lfs track "*.qch"
|
||||
- name: Run doxygen
|
||||
run: doxygen Doxyfile
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v8
|
||||
with:
|
||||
token: ${{ secrets.MR_TOKEN }}
|
||||
commit-message: update QCH file
|
||||
committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
|
||||
title: Update QCH Help file
|
||||
body: |
|
||||
- Updating QT Help file following commit ${{ github.sha }}.
|
||||
- Auto-generated by [create-pull-request][1]
|
||||
|
||||
[1]: https://github.com/peter-evans/create-pull-request
|
||||
branch: update-qch
|
||||
labels: |
|
||||
qch
|
||||
cicd
|
||||
delete-branch: true
|
||||
add-paths: doc/*.qch
|
||||
- uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: ${{ github.workspace }}/doc/html/
|
||||
deploy:
|
||||
# Add a dependency to the build job
|
||||
needs: doxygen
|
||||
|
||||
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
||||
permissions:
|
||||
pages: write # to deploy to Pages
|
||||
id-token: write # to verify the deployment originates from an appropriate source
|
||||
|
||||
# Deploy to the github-pages environment
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
|
||||
# Specify runner + deployment step
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4 # or specific "vX.X.X" version tag for this action
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -3,5 +3,7 @@
|
||||
# Qt build output
|
||||
*.user
|
||||
# doxygen Doxyfile output
|
||||
doc/
|
||||
doc/*
|
||||
!doc/QElectroTech.qch
|
||||
QElectroTech.tag
|
||||
!doc/doc-utils
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -8,3 +8,6 @@
|
||||
path = elements
|
||||
url = https://github.com/qelectrotech/qelectrotech-elements.git
|
||||
|
||||
[submodule "doxygen-awesome-css"]
|
||||
path = doxygen-awesome-css
|
||||
url = https://github.com/jothepro/doxygen-awesome-css.git
|
||||
|
||||
30
CREDIT
30
CREDIT
@@ -1,3 +1,33 @@
|
||||
[ca]
|
||||
Gràcies a Qt Software per la biblioteca Qt ( http://www.qtsoftware.com/ ), amb llicència GNU/GPL.
|
||||
Gràcies al projecte KDE ( http://www.kde.org/ ).
|
||||
Gràcies a Loic per les seves explicacions d'ordre matemàtic.
|
||||
Gràcies a Remi Collet pels paquets Fedora.
|
||||
Gràcies a Laurent Trinques pels paquets Debian.
|
||||
Gràcies a `trem' pels paquets Mandriva.
|
||||
Gràcies a TuxFamily ( http://tuxfamily.org/ ) per a l'allotjament del projecte.
|
||||
Gràcies a `Nishiki' pels seus elements i el seu suport suport.
|
||||
Gràcies a qtcentre.org per la seva classe SingleApplication.
|
||||
Gràcies a Alfredo Carreto per les seves traduccions i correccions al castellà ( http://electronicosmx.net )
|
||||
Gràcies a 'Dr.Slump' et Sivio pour leurs traductions a l'italià
|
||||
Gràcies a Jose Carlos Martins per les seves traduccions al portuguès
|
||||
Gràcies a Pavel Fric per les seves traduccions al txec
|
||||
Gràcies a Pawel Smiech per les seves traduccions al polonès
|
||||
Gràcies a Yuriy Litkevich per les seves traduccions al rus
|
||||
Gràcies a Youssef Ouamalkran i Antoni Mirabete per les seves traduccions al català
|
||||
Gràcies a Gabi Mandoc per les seves traduccions al romanès
|
||||
Gràcies a Markus Budde i Jonas Stein et Noah Braden per les seves traduccions a l'alemany
|
||||
Gràcies a Mohamed Souabni per les seves traduccions a l'àrab
|
||||
Gràcies a Uroš Platiše per les seves traduccions a l'eslovè
|
||||
Gràcies a Antun Marakovic per les seves traduccions al croat
|
||||
Gràcies a Nikos Papadopoylos && Yannis Gyftomitros per les seves traduccions al grec
|
||||
Gràcies a Markos Chandras pels paquets Gentoo
|
||||
Gràcies a David pels paquets Slackware
|
||||
Gràcies a Chipsterjulien pels paquets Archlinux AUR
|
||||
Gràcies a Elbert de NL pels paquets OS/2
|
||||
Gràcies a Zloidemon pels paquets (port GCC)
|
||||
Gràcies a Mrbit per ebuild els paquets Gentoo
|
||||
|
||||
[en]
|
||||
Thanks to Qt Software for their Qt library ( http://www.qtsoftware.com/ ), licensed under GNU/GPL.
|
||||
Thanks to the KDE project ( http://www.kde.org/ ).
|
||||
|
||||
125
ChangeLog
125
ChangeLog
@@ -1,3 +1,128 @@
|
||||
# QElectroTech - CHANGELOG
|
||||
|
||||
## Version 0.100
|
||||
|
||||
_Compiled from provided commit logs and contributor notes._
|
||||
|
||||
## Overview
|
||||
|
||||
This release (v0.100) collects a large set of new features, UI and editor improvements, element and symbol updates, build and packaging fixes, dependency upgrades, translations, and a broad set of bug fixes and stability improvements. It is intended as a stable, feature-rich stepping stone toward the next major workflows for symbol editing, terminal/strip handling and export improvements.
|
||||
|
||||
## Highlights / Key Features
|
||||
|
||||
- **Terminal Strip / Terminal Strip Editor**
|
||||
- New TerminalStripItem type and related editor workflow added.
|
||||
- Support for drawing and displaying terminal bridges and links in the editor.
|
||||
- Full editor support (layout preview, save/load into .qet files) and undo support for terminal strip operations.
|
||||
- **New Example Projects**
|
||||
- Several new example projects included, notably photovoltaic (PV) examples to help users getting started with PV designs.
|
||||
- **Improved Export / Print Handling**
|
||||
- Export limits adjusted and better handling of QPainter/printing boundaries to avoid export artefacts and out-of-range errors.
|
||||
- Export dialog updated to allow larger pixel limits where appropriate.
|
||||
- **Element & Symbol Additions**
|
||||
- New elements and symbols added (including vendor-specific elements and additional sensors/Arduino components).
|
||||
- Improvements to element import & metadata handling.
|
||||
- **Packaging & Multi-arch Support**
|
||||
- Updated packaging scripts for AppImage, Flatpak, Snap and macOS deployment. Improved aarch64/arm64 support.
|
||||
|
||||
## Detailed Changes
|
||||
|
||||
### Editor & UX
|
||||
|
||||
- Better handling for **rotation, flip and mirror** operations in the element editor:
|
||||
- Primitives and text rotation behavior improved.
|
||||
- Finer rotation increments and predictable text orientation after flips/rotations.
|
||||
- **Wiring and conductor behavior**:
|
||||
- More robust creation and movement of wires and conductor bundles.
|
||||
- Improved text attachment and positioning for wires and improved stability while editing complex conductor networks.
|
||||
- **TerminalStrip editor**: see Highlights - includes drawing, preview, layout editing, persistent storage in the project file and undo support.
|
||||
- **Element Editor & Symbol Trim/Sort**:
|
||||
- Improved trimming/normalization of element metadata.
|
||||
- Better sorting and error handling for element imports (DXF and other formats).
|
||||
- Small UI improvements: About dialog updates, autosave spinbox ranges, improved tooltips and mouse-hover help for dynamic texts.
|
||||
|
||||
### New & Updated Elements
|
||||
|
||||
- New elements added for industrial and automation workflows (including Siemens-related elements, logic elements, sensors and Arduino components).
|
||||
- Symbol library additions and cleanup; improved defaults for newly added symbols.
|
||||
- Element meta-data cleanup: article numbers, descriptions, and manufacturer fields were normalized and trimmed on import.
|
||||
|
||||
### Export / Printing / PDF
|
||||
|
||||
- Adjusted internal export limits to avoid hitting QPainter size restrictions; users can now export larger, high-resolution images/prints in more cases.
|
||||
- Better handling of page sizes and printer-related geometry using QRectF improvements.
|
||||
- PDF export improvements to increase reliability of exported vector content.
|
||||
|
||||
### Build, Dependencies, Packaging
|
||||
|
||||
- Upgrades of core test and build dependencies:
|
||||
- Catch2 upgraded to v2.13.10.
|
||||
- googletest upgraded to v1.17.0.
|
||||
- CMake fixes and i18n handling corrected for nl_BE and other locales.
|
||||
- Packaging scripts updated across platforms (AppImage/Flatpak/Snap/macOS deploy) including fixes for aarch64/arm64.
|
||||
- Submodule updates (e.g., qelectrotech-elements, pugixml, SingleApplication) synchronized where needed.
|
||||
|
||||
### Internationalization & Translations
|
||||
|
||||
- Large translation updates across many languages: German (DE), French (FR), Dutch (NL, including nl_BE), Swedish (SV), Italian (IT), Polish (PL), Portuguese-BR (PT-BR), Serbian (SR), Chinese (Simplified) and others.
|
||||
- Fixes and corrections for many UI strings and localized resources.
|
||||
|
||||
### Tests, QA & Logging
|
||||
|
||||
- Improved logging and machine/config-path reporting; Git revision display refined to only show a revision when available.
|
||||
- Unit test updates and fixes to align with updated testing frameworks.
|
||||
|
||||
## Bug Fixes (selected)
|
||||
|
||||
- Fixed crashes and various null pointer access issues discovered by static and dynamic testing.
|
||||
- Resolved multiple reported bugs that caused build failures on some platforms (FTBFS fixes for macOS and others).
|
||||
- Fixed issues with automatic conductor/strand numbering in several edge cases (referenced Bug 293 in the commit logs).
|
||||
- Resolved text/summary headline issues in the German-language summary generator.
|
||||
- Fixes for a number of visually incorrect renderings and layout corner-cases during element transformation (rotate/flip/mirror).
|
||||
- Fixed issues that affected export sizes and caused export artifacts (referenced fixes for bug IDs around #329/#330 in commit notes).
|
||||
|
||||
## Developer & Contributor Notes
|
||||
|
||||
- Reworked parts of the codebase to use QRectF consistently for better compatibility with QPrinter and export pipelines.
|
||||
- Code-style cleanups and comment improvements applied throughout the project.
|
||||
- Expanded test coverage and dependency refresh to keep CI builds stable.
|
||||
|
||||
## Contributors (selected)
|
||||
|
||||
Thanks to the many contributors who made this release possible. Selected contributors mentioned in the commit logs include:
|
||||
|
||||
- Laurent Trinques
|
||||
- joshua
|
||||
- plc-user
|
||||
- Achim
|
||||
- Pascal Sander
|
||||
- Andre Rummler
|
||||
- Magnus Hellströmer
|
||||
- Martin Marmsoler
|
||||
- Remi Collet
|
||||
|
||||
(See the full commit history for the complete contributor list.)
|
||||
|
||||
## Upgrade / Migration Notes
|
||||
|
||||
- No database or project file format breaking changes were reported in the provided logs. As always, back up projects before opening them with a new version.
|
||||
- If you rely on custom element libraries or third-party submodules, verify submodule synchronization after upgrading.
|
||||
- If you are using custom packaging pipelines, review the updated packaging scripts for any changes required by new dependency versions, especially on aarch64/arm64.
|
||||
|
||||
## Known Issues & Limitations
|
||||
|
||||
- Some very large exports may still be limited by platform-specific rendering restrictions; the export dialog now allows larger pixel limits but extreme sizes may still hit system-level limits.
|
||||
- If you use niche element-import workflows (DXF → element import), occasionally metadata normalization may alter whitespace/trim rules - verify newly imported elements in the element editor.
|
||||
|
||||
## How to get help / report bugs
|
||||
|
||||
- Use the project issue tracker (see repository) to report regressions or new bugs with detailed reproduction steps and example .qet files where possible.
|
||||
- Include the output of Help → About (application version and Git revision) when reporting build/packaging issues.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
====== ChangeLog from 0.8 to 0.9 ======
|
||||
|
||||
|
||||
|
||||
2535
Doxyfile.bak
Normal file
2535
Doxyfile.bak
Normal file
File diff suppressed because it is too large
Load Diff
@@ -163,6 +163,7 @@ http://creativecommons.org/licenses/by/3.0/ ή στείλτε μια επιστ
|
||||
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
|
||||
|
||||
[nl]
|
||||
|
||||
De elementen collectie voorzien, samen met QElectroTech wordt geleverd als en
|
||||
zonder enige garantie van geschiktheid voor uw doel of werk.
|
||||
Het gebruik, de wijziging en de integratie van de elementen in elektrische
|
||||
@@ -177,7 +178,8 @@ http://creativecommons.org/licenses/by/3.0/ of stuur een brief naar Creative
|
||||
Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
|
||||
|
||||
[be]
|
||||
De elementen collectie welke samen met QElectroTech wordt geleverd zonder enige garantie
|
||||
|
||||
De elementen collectie welke samen met QElectroTech wordt geleverd zonder enige garantie
|
||||
of deze geschikt zijn voor uw doel of de werking.
|
||||
Het gebruik, wijzigen en integratie van de elementen in uw elektrische
|
||||
schema's wordt toegestaan zonder enige voorwaarden, ongeacht wat de uiteindelijke
|
||||
|
||||
22
INSTALL
22
INSTALL
@@ -1,3 +1,14 @@
|
||||
[ca]
|
||||
Dependències:
|
||||
libQt5 (paquets libqt5*)
|
||||
cupsys-bsd per imprimir
|
||||
|
||||
Com compilar:
|
||||
$ qmake (qmake-qt5 pels sistemes basats en Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[en]
|
||||
Requirements :
|
||||
libQt5 (see packages libqt5*)
|
||||
@@ -64,17 +75,6 @@ $ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[ca]
|
||||
Dependències:
|
||||
libQt5 (paquets libqt5*)
|
||||
cupsys-bsd per imprimir
|
||||
|
||||
Com compilar:
|
||||
$ qmake (qmake-qt5 pels sistemes basats en Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[cs]
|
||||
Požadavky :
|
||||
libQt5 (viz balíček libqt5*)
|
||||
|
||||
4
README
4
README
@@ -1,3 +1,7 @@
|
||||
[ca]
|
||||
QElectroTech és una aplicació Qt5 per crear esquemes elèctrics.
|
||||
QET utilitza el format XML per als seus elements i esquemes i inclou un editor d'esquemes, un editor d'elements i un editor de caixetins.
|
||||
|
||||
[en]
|
||||
QElectroTech is a Qt5 application to design electric diagrams.
|
||||
It uses XML files for elements and diagrams, and includes both a diagram editor, a element editor, and an titleblock editor.
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
[ca]
|
||||
Col·lecció d'elements per a QElectroTech.
|
||||
|
||||
[fr]
|
||||
Collection d'éléments pour QElectroTech.
|
||||
|
||||
@@ -10,6 +13,7 @@ Bauteilsammlung für QElectroTech.
|
||||
[es]
|
||||
Collección de elementos para QElectroTech.
|
||||
|
||||
|
||||
[pt]
|
||||
Colecção de elementos para QElectroTech.
|
||||
|
||||
|
||||
3
doc/QElectroTech.qch
Normal file
3
doc/QElectroTech.qch
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:56debcb415a5c3662b26ff8765daed9cd53a4c00f0b679a50160ac20d690fcfb
|
||||
size 528789504
|
||||
1841
doc/doc-utils/delete_me.css
Normal file
1841
doc/doc-utils/delete_me.css
Normal file
File diff suppressed because it is too large
Load Diff
18
doc/doc-utils/delete_me.html
Normal file
18
doc/doc-utils/delete_me.html
Normal file
@@ -0,0 +1,18 @@
|
||||
<!-- HTML footer for doxygen 1.12.0-->
|
||||
<!-- start footer part -->
|
||||
<!--BEGIN GENERATE_TREEVIEW-->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
$navpath
|
||||
<li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--END GENERATE_TREEVIEW-->
|
||||
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
|
||||
</small></address>
|
||||
</div><!-- doc-content -->
|
||||
<!--END !GENERATE_TREEVIEW-->
|
||||
</body>
|
||||
</html>
|
||||
88
doc/doc-utils/header.html
Normal file
88
doc/doc-utils/header.html
Normal file
@@ -0,0 +1,88 @@
|
||||
<!-- HTML header for doxygen 1.12.0-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="$langISO">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_ICON-->
|
||||
<link rel="icon" href="$relpath^$projecticon" type="image/x-icon" />
|
||||
<!--END PROJECT_ICON-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<script type="text/javascript">var page_layout=1;</script>
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
<!--BEGIN COPY_CLIPBOARD-->
|
||||
<script type="text/javascript" src="$relpath^clipboard.js"></script>
|
||||
<!--END COPY_CLIPBOARD-->
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
$darkmode
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
<script type="text/javascript" src="$relpath^doxygen-awesome-darkmode-toggle.js"></script>
|
||||
<script type="text/javascript">
|
||||
DoxygenAwesomeDarkModeToggle.init()
|
||||
</script>
|
||||
<script type="text/javascript" src="$relpath^doxygen-awesome-fragment-copy-button.js"></script>
|
||||
<script type="text/javascript">
|
||||
DoxygenAwesomeFragmentCopyButton.init()
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"$logosize/></td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td id="projectalign">
|
||||
<div id="projectname">$projectname<!--BEGIN PROJECT_NUMBER--><span id="projectnumber"> $projectnumber</span><!--END PROJECT_NUMBER-->
|
||||
</div>
|
||||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<td>
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<!--BEGIN !FULL_SIDEBAR-->
|
||||
<td>$searchbox</td>
|
||||
<!--END !FULL_SIDEBAR-->
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<!--BEGIN FULL_SIDEBAR-->
|
||||
<tr><td colspan="2">$searchbox</td></tr>
|
||||
<!--END FULL_SIDEBAR-->
|
||||
<!--END SEARCHENGINE-->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 43 KiB |
Binary file not shown.
1
doxygen-awesome-css
Submodule
1
doxygen-awesome-css
Submodule
Submodule doxygen-awesome-css added at 568f56cde6
2
elements
2
elements
Submodule elements updated: 9f20b039b7...3b12bc579b
Binary file not shown.
BIN
lang/qet_ca.qm
BIN
lang/qet_ca.qm
Binary file not shown.
4698
lang/qet_ca.ts
4698
lang/qet_ca.ts
File diff suppressed because it is too large
Load Diff
BIN
man/files/ca/man1/qelectrotech.1.gz
Normal file
BIN
man/files/ca/man1/qelectrotech.1.gz
Normal file
Binary file not shown.
@@ -12,7 +12,7 @@ Keywords=Graphics;Science;Electricity;Engineering;
|
||||
Comment=Edit electrical diagrams.
|
||||
Comment[ar]=تحرير مخططات كهربائية
|
||||
Comment[be]=Bewerken elektrisch schema.
|
||||
Comment[ca]=Editar esquemes elèctrics.
|
||||
Comment[ca]=Edita esquemes elèctrics.
|
||||
Comment[cs]=Editor výkresů elektrických obvodů
|
||||
Comment[da]=Rediger elektriske diagrammer.
|
||||
Comment[de]=Elektroschaltpläne erstellen und bearbeiten.
|
||||
@@ -30,6 +30,7 @@ Comment[sk]=Úprava elektrických schém.
|
||||
GenericName=Electrical diagram editor
|
||||
GenericName[ar]=مُحرّر مخططات كهربائية
|
||||
GenericName[be]=Elektrische schema editor
|
||||
GenericName[ca]=Editor d'esquemes elèctrics
|
||||
GenericName[cs]=Editor výkresů elektrických obvodů
|
||||
GenericName[da]=Elektrisk diagram redigering
|
||||
GenericName[de]=Schaltplaneditor
|
||||
|
||||
@@ -7,20 +7,21 @@
|
||||
<name>QElectroTech</name>
|
||||
<summary>Electrical diagram editor</summary>
|
||||
<summary xml:lang="ar">مُحرّر مخططات كهربائية</summary>
|
||||
<summary xml:lang="be">Elektrische schema editor</summary>
|
||||
<summary xml:lang="ca">Editor d'esquemes elèctrics</summary>
|
||||
<summary xml:lang="cs">Editor výkresů elektrických obvodů</summary>
|
||||
<summary xml:lang="da">Elektrisk diagram redigering</summary>
|
||||
<summary xml:lang="de">Zeichenprogramm für Schaltpläne</summary>
|
||||
<summary xml:lang="el">Επεξεργαστής ηλεκτρικών διαγραμμάτων</summary>
|
||||
<summary xml:lang="ex">Editor de esquemas eléctricos</summary>
|
||||
<summary xml:lang="fr">Éditeur de schémas électriques</summary>
|
||||
<summary xml:lang="hr">Editor elektro sheme</summary>
|
||||
<summary xml:lang="it">Programma per disegnare schemi elettrici</summary>
|
||||
<summary xml:lang="ja">電気回路図エディタ</summary>
|
||||
<summary xml:lang="nl">Elektrische schema bewerker</summary>
|
||||
<summary xml:lang="pl">Edytor schematów elektrycznych</summary>
|
||||
<summary xml:lang="pt">Editor de esquemas eléctricos</summary>
|
||||
<summary xml:lang="ru">Редактор электрических схем</summary>
|
||||
<summary xml:lang="nl">Elektrische schema bewerker</summary>
|
||||
<summary xml:lang="be">Elektrische schema editor</summary>
|
||||
<summary xml:lang="da">Elektrisk diagram redigering</summary>
|
||||
<summary xml:lang="ja">電気回路図エディタ</summary>
|
||||
<content_rating type="oars-1.1"/>
|
||||
<releases>
|
||||
<release version="0.9-dev" date="2021-02-21"/>
|
||||
@@ -30,10 +31,22 @@
|
||||
QElectroTech is a Qt5 application to design electric diagrams.
|
||||
It uses XML files for elements and diagrams, and includes both a diagram editor, an element editor, and a titleblock editor.
|
||||
</p>
|
||||
<p xml:lang="be">
|
||||
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
|
||||
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en ook een tielbloksjabloon bewerker.
|
||||
</p>
|
||||
<p xml:lang="ca">
|
||||
QElectroTech és una aplicació Qt5 per crear esquemes elèctrics.
|
||||
QET utilitza el format XML per als seus elements i esquemes i inclou un editor d'esquemes, un editor d'elements i un editor de caixetins.
|
||||
</p>
|
||||
<p xml:lang="cs">
|
||||
QElectroTech je aplikací Qt5 určenou pro návrh nákresů elektrických obvodů.
|
||||
Pro prvky a nákresy používá soubory XML, a zahrnuje v sobě jak editor nákresů, tak editor prvků.
|
||||
</p>
|
||||
<p xml:lang="da">
|
||||
QElectroTech er et Qt5 program til at redigere elektriske diagrammer.
|
||||
Det bruger XML filer for symboler og diagrammer og inkluderer diagram, symbol og titelblok redigering.
|
||||
</p>
|
||||
<p xml:lang="de">
|
||||
QElectroTech ist eine Qt5-Anwendung zum Entwerfen von Schaltplänen.
|
||||
Die Anwendung verwendet XML-Dateien zum Speichern von Projekten und Elementbibliotheken. Neben dem Schaltplaneditor enthält die Anwendung auch Elementeditoren und einen Blattvorlageneditor.
|
||||
@@ -54,9 +67,13 @@
|
||||
QElectroTech è una applicazione fatta in Qt5 per disegnare schemi elettrici.
|
||||
QET usa il formato XML per i suoi elementi e schemi, includendo anche un editor per gli stessi.
|
||||
</p>
|
||||
<p xml:lang="ru">
|
||||
QElectroTech - приложение написанное на Qt5 и предназначено для разработки электрических схем.
|
||||
Приложение использует для хранения проектов и библиотек элементов файлы в XML формате. Приложение помимо редактора электричесих схем, содержит также редакторы элементов и редактор шаблонов листов.
|
||||
<p xml:lang="ja">
|
||||
QElectroTech は電気回路図を作成する Qt5 アプリケーションです。
|
||||
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
|
||||
</p>
|
||||
<p xml:lang="nl">
|
||||
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
|
||||
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en een bloksjabloon bewerker.
|
||||
</p>
|
||||
<p xml:lang="pl">
|
||||
QElectroTech to aplikacja napisana w Qt5, przeznaczona do tworzenia schematów elektrycznych.
|
||||
@@ -66,22 +83,10 @@
|
||||
QElectroTech é uma aplicação baseada em Qt5 para desenhar esquemas eléctricos.
|
||||
QET utiliza ficheiros XML para os elementos e para os esquemas e inclui um editor de esquemas e um editor de elementos.
|
||||
</p>
|
||||
<p xml:lang="nl">
|
||||
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
|
||||
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en een bloksjabloon bewerker.
|
||||
</p>
|
||||
<p xml:lang="be">
|
||||
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
|
||||
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en ook een tielbloksjabloon bewerker.
|
||||
</p>
|
||||
<p xml:lang="da">
|
||||
QElectroTech er et Qt5 program til at redigere elektriske diagrammer.
|
||||
Det bruger XML filer for symboler og diagrammer og inkluderer diagram, symbol og titelblok redigering.
|
||||
</p>
|
||||
<p xml:lang="ja">
|
||||
QElectroTech は電気回路図を作成する Qt5 アプリケーションです。
|
||||
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
|
||||
</p>
|
||||
<p xml:lang="ru">
|
||||
QElectroTech - приложение написанное на Qt5 и предназначено для разработки электрических схем.
|
||||
Приложение использует для хранения проектов и библиотек элементов файлы в XML формате. Приложение помимо редактора электричесих схем, содержит также редакторы элементов и редактор шаблонов листов.
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">http://qelectrotech.org</url>
|
||||
<screenshots>
|
||||
|
||||
@@ -1,63 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/x-qet-project">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech project file</comment>
|
||||
<comment xml:lang="de">QElectroTech Projektdatei</comment>
|
||||
<comment xml:lang="fr">Fichier projet QElectroTech</comment>
|
||||
<comment xml:lang="ar">QElectrotech ملف مشروع</comment>
|
||||
<comment xml:lang="es">Fichero proyecto QElectroTech</comment>
|
||||
<comment xml:lang="ca">Fitxer projecte QElectroTech</comment>
|
||||
<comment xml:lang="ru">Файл проекта QElectroTech</comment>
|
||||
<comment xml:lang="pt">Ficheiro de projecto QElectroTech</comment>
|
||||
<comment xml:lang="cs">Soubor s projektem pro QElectroTech</comment>
|
||||
<comment xml:lang="pl">Plik projektu QElectrotech</comment>
|
||||
<comment xml:lang="it">File del progetto QElectroTech</comment>
|
||||
<comment xml:lang="el">Αρχείο έργου του QElectroTech</comment>
|
||||
<comment xml:lang="nl">QElectroTech project bestand</comment>
|
||||
<comment xml:lang="be">QElectroTech project bestand</comment>
|
||||
<comment xml:lang="da">QElectroTech projekt fil</comment>
|
||||
<comment xml:lang="ja">QElectroTech プロジェクト・ファイル</comment>
|
||||
<glob pattern="*.qet" />
|
||||
</mime-type>
|
||||
<mime-type type="application/x-qet-element">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech element file</comment>
|
||||
<comment xml:lang="de">QElectroTech Bauteildatei</comment>
|
||||
<comment xml:lang="fr">Fichier élément QElectroTech</comment>
|
||||
<comment xml:lang="ar">QElectrotech ملف مشروع</comment>
|
||||
<comment xml:lang="ru">Файл элемента QElectroTech</comment>
|
||||
<comment xml:lang="es">Fichero elemento QElectroTech</comment>
|
||||
<comment xml:lang="ca">Fitxer símbol QElectroTech</comment>
|
||||
<comment xml:lang="pt">Ficheiro de projecto QElectroTech</comment>
|
||||
<comment xml:lang="cs">Soubor s prvkem pro QElectroTech</comment>
|
||||
<comment xml:lang="pl">Plik elementu QElectroTech</comment>
|
||||
<comment xml:lang="it">File del progetto QElectroTech</comment>
|
||||
<comment xml:lang="el">Αρχείο στοιχείου του QElectroTech</comment>
|
||||
<comment xml:lang="nl">QElectroTech element bestand</comment>
|
||||
<comment xml:lang="be">QElectroTech element bestand</comment>
|
||||
<comment xml:lang="da">QElectroTech symbol fil</comment>
|
||||
<comment xml:lang="ja">QElectroTech 要素ファイル</comment>
|
||||
<glob pattern="*.elmt" />
|
||||
</mime-type>
|
||||
<mime-type type="application/x-qet-titleblock">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech title block template file</comment>
|
||||
<comment xml:lang="de">QElectroTech Schriftfeld Vorlagedatei</comment>
|
||||
<comment xml:lang="fr">Modèle de cartouche QElectroTech</comment>
|
||||
<comment xml:lang="ar">QElectrotech نموذج إطار تعريف</comment>
|
||||
<comment xml:lang="ru">Файл шаблона основной надписи листа QElectroTech</comment>
|
||||
<comment xml:lang="pl">Szablon tabliczki rysunkowej QElectroTech</comment>
|
||||
<comment xml:lang="es">Modelo de cartucho QElectroTech</comment>
|
||||
<comment xml:lang="ca">Model de bloc de títol QElectroTech</comment>
|
||||
<comment xml:lang="cs">Vzor záhlaví výkresu pro QElectroTech</comment>
|
||||
<comment xml:lang="pt">Modelo de moldura QElectroTech</comment>
|
||||
<comment xml:lang="it">Modello di cartiglio per QElectroTech</comment>
|
||||
<comment xml:lang="el">Πρότυπο πινακίδας του QElectroTech</comment>
|
||||
<comment xml:lang="nl">QElectroTech titel bloksjabloon</comment>
|
||||
<comment xml:lang="be">QElectroTech titel bloksjabloon</comment>
|
||||
<comment xml:lang="da">QElectroTech titelblok skabelon</comment>
|
||||
<comment xml:lang="ja">QElectroTech 表題欄テンプレート</comment>
|
||||
<glob pattern="*.titleblock" />
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/x-qet-project">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech project file</comment>
|
||||
<comment xml:lang="ar">QElectrotech ملف مشروع</comment>
|
||||
<comment xml:lang="be">QElectroTech project bestand</comment>
|
||||
<comment xml:lang="ca">Fitxer de projecte QElectroTech</comment>
|
||||
<comment xml:lang="cs">Soubor s projektem pro QElectroTech</comment>
|
||||
<comment xml:lang="da">QElectroTech projekt fil</comment>
|
||||
<comment xml:lang="de">QElectroTech Projektdatei</comment>
|
||||
<comment xml:lang="el">Αρχείο έργου του QElectroTech</comment>
|
||||
<comment xml:lang="es">Fichero proyecto QElectroTech</comment>
|
||||
<comment xml:lang="fr">Fichier projet QElectroTech</comment>
|
||||
<comment xml:lang="it">File del progetto QElectroTech</comment>
|
||||
<comment xml:lang="ja">QElectroTech プロジェクト・ファイル</comment>
|
||||
<comment xml:lang="nl">QElectroTech project bestand</comment>
|
||||
<comment xml:lang="pl">Plik projektu QElectrotech</comment>
|
||||
<comment xml:lang="pt">Ficheiro de projecto QElectroTech</comment>
|
||||
<comment xml:lang="ru">Файл проекта QElectroTech</comment>
|
||||
<glob pattern="*.qet" />
|
||||
</mime-type>
|
||||
<mime-type type="application/x-qet-element">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech element file</comment>
|
||||
<comment xml:lang="ar">QElectrotech ملف مشروع</comment>
|
||||
<comment xml:lang="be">QElectroTech element bestand</comment>
|
||||
<comment xml:lang="ca">Fitxer d'element QElectroTech</comment>
|
||||
<comment xml:lang="cs">Soubor s prvkem pro QElectroTech</comment>
|
||||
<comment xml:lang="da">QElectroTech symbol fil</comment>
|
||||
<comment xml:lang="de">QElectroTech Bauteildatei</comment>
|
||||
<comment xml:lang="el">Αρχείο στοιχείου του QElectroTech</comment>
|
||||
<comment xml:lang="es">Fichero elemento QElectroTech</comment>
|
||||
<comment xml:lang="fr">Fichier élément QElectroTech</comment>
|
||||
<comment xml:lang="it">File del progetto QElectroTech</comment>
|
||||
<comment xml:lang="ja">QElectroTech 要素ファイル</comment>
|
||||
<comment xml:lang="nl">QElectroTech element bestand</comment>
|
||||
<comment xml:lang="pl">Plik elementu QElectroTech</comment>
|
||||
<comment xml:lang="pt">Ficheiro de projecto QElectroTech</comment>
|
||||
<comment xml:lang="ru">Файл элемента QElectroTech</comment>
|
||||
<glob pattern="*.elmt" />
|
||||
</mime-type>
|
||||
<mime-type type="application/x-qet-titleblock">
|
||||
<sub-class-of type="text/xml"/>
|
||||
<comment>QElectroTech title block template file</comment>
|
||||
<comment xml:lang="ar">QElectrotech نموذج إطار تعريف</comment>
|
||||
<comment xml:lang="be">QElectroTech titel bloksjabloon</comment>
|
||||
<comment xml:lang="ca">Model de caixetí QElectroTech</comment>
|
||||
<comment xml:lang="cs">Vzor záhlaví výkresu pro QElectroTech</comment>
|
||||
<comment xml:lang="da">QElectroTech titelblok skabelon</comment>
|
||||
<comment xml:lang="de">QElectroTech Schriftfeld Vorlagedatei</comment>
|
||||
<comment xml:lang="el">Πρότυπο πινακίδας του QElectroTech</comment>
|
||||
<comment xml:lang="es">Modelo de cartucho QElectroTech</comment>
|
||||
<comment xml:lang="fr">Modèle de cartouche QElectroTech</comment>
|
||||
<comment xml:lang="it">Modello di cartiglio per QElectroTech</comment>
|
||||
<comment xml:lang="ja">QElectroTech 表題欄テンプレート</comment>
|
||||
<comment xml:lang="nl">QElectroTech titel bloksjabloon</comment>
|
||||
<comment xml:lang="pl">Szablon tabliczki rysunkowej QElectroTech</comment>
|
||||
<comment xml:lang="pt">Modelo de moldura QElectroTech</comment>
|
||||
<comment xml:lang="ru">Файл шаблона основной надписи листа QElectroTech</comment>
|
||||
<glob pattern="*.titleblock" />
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Based on raspberry pi 5 8 Gb bookworm
|
||||
#Based on raspberry pi 5 8 Gb Trixie
|
||||
#sudo apt install git ssh rsync libqt5svg5-dev qt5-qmake qtbase5-dev libkf5widgetsaddons-dev libkf5coreaddons-dev libsqlite3-dev pkgconf libqt5waylandclient5-dev libqt5waylandcompositor5-dev g++ make
|
||||
#mkdir -p AppImage/0.100.0/aarch64
|
||||
# Get GIT sources
|
||||
@@ -71,12 +71,12 @@ chmod +x AppDir/qelectrotech/AppRun
|
||||
# Get 64-bit ARM version of go-appimage appimagetool
|
||||
#wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases/expanded_assets/continuous -O - | grep "appimagetool-.*-aarch64.AppImage" | head -n 1 | cut -d '"' -f 2)
|
||||
#chmod +x appimagetool-*.AppImage
|
||||
VERSION=$tagName-r$HEAD ./appimagetool-8*.AppImage ./AppDir/qelectrotech/
|
||||
VERSION=$tagName-r$HEAD ./appimagetool-9*.AppImage ./AppDir/qelectrotech/
|
||||
|
||||
|
||||
chmod -x QElectroTech-*.AppImage
|
||||
shasum -a 256 QElectroTech-$tagName-r$HEAD-aarch64.AppImage > QElectroTech-$tagName-r$HEAD-aarch64.AppImage-SHA256.txt
|
||||
mv QElectroTech-$tagName-r$HEAD-aarch64.AppImage* ./AppImage/0.100.0/aarch64
|
||||
mv QElectroTech-$tagName-r$HEAD-aarch64.AppImage* ./AppImage/0.100.0/aarch64/trixie
|
||||
cd ..
|
||||
#rsync to server
|
||||
echo -e "\033[1;31mWould you like to RSYNC Appimage to server n/Y?.\033[m"
|
||||
|
||||
@@ -174,11 +174,9 @@ void NamesList::fromXml(const pugi::xml_node &xml_element, const QHash<QString,
|
||||
/**
|
||||
Exports the list of names to an XML element.
|
||||
Make sure that the list of names is not empty before exporting.
|
||||
If list is empty, set name to "en" / "NoName"
|
||||
French:
|
||||
Exporte la liste des noms vers un element XML. Veillez a verifier que la
|
||||
liste de noms n'est pas vide avant de l'exporter.
|
||||
Si la liste est vide, le nom sera "en" / "NoName".
|
||||
@param xml_document Le document XML dans lequel l'element XML sera insere
|
||||
@param xml_options A set of options related to XML parsing.
|
||||
@return L'element XML correspondant a la section "names"
|
||||
@@ -192,7 +190,7 @@ QDomElement NamesList::toXml(QDomDocument &xml_document, const QHash<QString, QS
|
||||
qInfo() << " NamesList of element is empty - add default: [" << "en" << "] = " << "NoName" << "";
|
||||
QDomElement name_elmt = xml_document.createElement(xml_opt["TagName"]);
|
||||
name_elmt.setAttribute(xml_opt["LanguageAttribute"], "en");
|
||||
name_elmt.appendChild(xml_document.createTextNode("NoName"));
|
||||
name_elmt.appendChild(xml_document.createTextNode(" "));
|
||||
names_elmt.appendChild(name_elmt);
|
||||
} else {
|
||||
QMapIterator<QString, QString> names_iterator(map_names);
|
||||
|
||||
@@ -961,21 +961,21 @@ void SearchAndReplaceWidget::on_m_tree_widget_itemDoubleClicked(
|
||||
else if (m_element_hash.keys().contains(item))
|
||||
{
|
||||
QPointer<Element> elmt = m_element_hash.value(item);
|
||||
if (elmt) {
|
||||
if (elmt && elmt->diagram()) {
|
||||
elmt.data()->diagram()->showMe();
|
||||
}
|
||||
}
|
||||
else if (m_text_hash.keys().contains(item))
|
||||
{
|
||||
QPointer<IndependentTextItem> text = m_text_hash.value(item);
|
||||
if (text) {
|
||||
if (text && text->diagram()) {
|
||||
text.data()->diagram()->showMe();
|
||||
}
|
||||
}
|
||||
else if (m_conductor_hash.keys().contains(item))
|
||||
{
|
||||
QPointer<Conductor> cond = m_conductor_hash.value(item);
|
||||
if (cond) {
|
||||
if (cond && cond->diagram()) {
|
||||
cond.data()->diagram()->showMe();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 The QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -57,21 +57,9 @@ TerminalStripEditor::TerminalStripEditor(QETProject *project, QWidget *parent) :
|
||||
{
|
||||
if (m_model->columnTypeForIndex(index) == TerminalStripModel::XRef)
|
||||
{
|
||||
auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
||||
if (mrtd.element_)
|
||||
{
|
||||
auto elmt = mrtd.element_;
|
||||
auto diagram = elmt->diagram();
|
||||
if (diagram)
|
||||
{
|
||||
diagram->showMe();
|
||||
if (diagram->views().size())
|
||||
{
|
||||
auto fit_view = elmt->sceneBoundingRect();
|
||||
fit_view.adjust(-200,-200,200,200);
|
||||
diagram->views().at(0)->fitInView(fit_view, Qt::KeepAspectRatioByExpanding);
|
||||
}
|
||||
}
|
||||
const auto mrtd = m_model->modelRealTerminalDataForIndex(index);
|
||||
if (mrtd.element_) {
|
||||
QetGraphicsItem::showItem(mrtd.element_);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -35,7 +35,7 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) {
|
||||
// liste des pages
|
||||
pages_list = new QListWidget();
|
||||
pages_list -> setViewMode(QListView::IconMode);
|
||||
if(MachineInfo::instance()->i_max_screen_height()<1000){
|
||||
if(MachineInfo::instance()->i_max_screen_height() <= 1080){
|
||||
pages_list -> setIconSize(QSize(64, 64));
|
||||
} else {
|
||||
pages_list -> setIconSize(QSize(128, 128));
|
||||
@@ -69,7 +69,7 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) {
|
||||
|
||||
// Add a layout for QDialog
|
||||
QVBoxLayout *dialog_layout = new QVBoxLayout(this);
|
||||
dialog_layout->addWidget(scroll); // add scroll to the QDialog's layout
|
||||
dialog_layout -> addWidget(scroll); // add scroll to the QDialog's layout
|
||||
dialog_layout -> addWidget(buttons);
|
||||
setLayout(dialog_layout);
|
||||
|
||||
@@ -79,9 +79,11 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) {
|
||||
connect(pages_list, SIGNAL(currentRowChanged(int)),
|
||||
pages_widget, SLOT(setCurrentIndex(int)));
|
||||
|
||||
setMaximumSize(MachineInfo::instance()->i_max_screen_width(),
|
||||
MachineInfo::instance()->i_max_screen_height());
|
||||
resize(1400,1000);
|
||||
// set maximum a bit smaller than available size = (screen-size - Task-Bar):
|
||||
setMaximumSize((int)(0.94 * MachineInfo::instance()->i_max_available_width()),
|
||||
(int)(0.94 * MachineInfo::instance()->i_max_available_height()));
|
||||
resize(std::min(1400,maximumWidth()),
|
||||
std::min(1000,maximumHeight()));
|
||||
|
||||
#ifdef Q_OS_MACOS
|
||||
if (parent) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2021 QElectroTech Team
|
||||
Copyright 2006-2025 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-2021 QElectroTech Team
|
||||
Copyright 2006-2025 QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -107,7 +107,7 @@ bool dxf2ElmtIsPresent(bool install_dialog, QWidget *parent)
|
||||
"Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation")};
|
||||
|
||||
ThirdPartyBinaryInstallDialog dialog_(string_,
|
||||
QStringLiteral("https://github.com/antonioaja/dxf2elmt/releases"),
|
||||
QStringLiteral("https://github.com/Vadoola/dxf2elmt/releases/tag/v0.5.1"),
|
||||
dxf2ElmtDirPath(),
|
||||
parent);
|
||||
dialog_.exec();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2021 QElectroTech Team
|
||||
Copyright 2006-2025 QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -446,6 +446,22 @@ int32_t MachineInfo::i_max_screen_height() {
|
||||
return pc.screen.Max_height;
|
||||
}
|
||||
|
||||
/**
|
||||
@brief MachineInfo::i_max_available_width
|
||||
@return max available width
|
||||
*/
|
||||
int32_t MachineInfo::i_max_available_width() {
|
||||
return QGuiApplication::primaryScreen()->availableSize().width();
|
||||
}
|
||||
|
||||
/**
|
||||
@brief MachineInfo::i_max_available_height
|
||||
@return max available height
|
||||
*/
|
||||
int32_t MachineInfo::i_max_available_height() {
|
||||
return QGuiApplication::primaryScreen()->availableSize().height();
|
||||
}
|
||||
|
||||
/**
|
||||
@brief MachineInfo::compilation_info
|
||||
@return compilation_info
|
||||
|
||||
@@ -57,6 +57,8 @@ class MachineInfo
|
||||
|
||||
int32_t i_max_screen_width();
|
||||
int32_t i_max_screen_height();
|
||||
int32_t i_max_available_width();
|
||||
int32_t i_max_available_height();
|
||||
QString compilation_info();
|
||||
void send_info_to_debug();
|
||||
|
||||
|
||||
@@ -1261,6 +1261,7 @@ QFont QETApp::diagramTextsFont(qreal size)
|
||||
QFont diagram_texts_font = QFont(diagram_texts_family);
|
||||
diagram_texts_font.setPointSizeF(diagram_texts_size);
|
||||
diagram_texts_font.setWeight(diagram_texts_item_weight);
|
||||
diagram_texts_font.setStyleHint(QFont::SansSerif);
|
||||
diagram_texts_font.setStyleName(diagram_texts_item_style);
|
||||
if (diagram_texts_size <= 4.0) {
|
||||
diagram_texts_font.setWeight(QFont::Light);
|
||||
@@ -1294,6 +1295,7 @@ QFont QETApp::diagramTextsItemFont(qreal size)
|
||||
QFont diagram_texts_item_font = QFont(diagram_texts_item_family);
|
||||
diagram_texts_item_font.setPointSizeF(diagram_texts_item_size);
|
||||
diagram_texts_item_font.setWeight(diagram_texts_item_weight);
|
||||
diagram_texts_item_font.setStyleHint(QFont::SansSerif);
|
||||
diagram_texts_item_font.setStyleName(diagram_texts_item_style);
|
||||
if (diagram_texts_item_size <= 4.0) {
|
||||
diagram_texts_item_font.setWeight(QFont::Light);
|
||||
@@ -1934,7 +1936,10 @@ void QETApp::configureQET()
|
||||
// associe le dialogue a un eventuel widget parent
|
||||
if (parent_widget) {
|
||||
cd.setParent(parent_widget, cd.windowFlags());
|
||||
cd.setMaximumSize(parent_widget->size());
|
||||
cd.setMaximumWidth(std::min(parent_widget->width(),
|
||||
(int)(0.94 * MachineInfo::instance()->i_max_available_width())));
|
||||
cd.setMaximumHeight(std::min(parent_widget->height(),
|
||||
(int)(0.94 * MachineInfo::instance()->i_max_available_height())));
|
||||
}
|
||||
|
||||
// display the dialog then avoid linking it to any parent widget
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2021 QElectroTech Team
|
||||
Copyright 2006-2025 QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -229,43 +229,53 @@ void Conductor::updateConductorPath(const QPointF &p1, Qet::Orientation o1, cons
|
||||
Q_ASSERT_X(!conductor_profile.isNull(), "Conductor::priv_modifieConductor", "pas de profil utilisable");
|
||||
|
||||
// recupere les coordonnees fournies des bornes
|
||||
// retrieve the coordinates provided for the terminals
|
||||
QPointF new_p1 = mapFromScene(p1);
|
||||
QPointF new_p2 = mapFromScene(p2);
|
||||
QRectF new_rect = QRectF(new_p1, new_p2);
|
||||
|
||||
// recupere la largeur et la hauteur du profil
|
||||
// retrieve the width and height of the profile
|
||||
qreal profile_width = conductor_profile.width();
|
||||
qreal profile_height = conductor_profile.height();
|
||||
|
||||
// calcule les differences verticales et horizontales a appliquer
|
||||
// calculates the vertical and horizontal differences to be applied
|
||||
qreal h_diff = (qAbs(new_rect.width()) - qAbs(profile_width) ) * getSign(profile_width);
|
||||
qreal v_diff = (qAbs(new_rect.height()) - qAbs(profile_height)) * getSign(profile_height);
|
||||
|
||||
// applique les differences aux segments
|
||||
// apply the differences to the segments
|
||||
QMultiHash<ConductorSegmentProfile *, qreal> segments_lengths;
|
||||
segments_lengths.unite(shareOffsetBetweenSegments(h_diff, conductor_profile.horizontalSegments()));
|
||||
segments_lengths.unite(shareOffsetBetweenSegments(v_diff, conductor_profile.verticalSegments()));
|
||||
|
||||
// en deduit egalement les coefficients d'inversion (-1 pour une inversion, +1 pour conserver le meme sens)
|
||||
// also deduce the inversion coefficients (-1 for inversion, +1 to keep the same direction)
|
||||
int horiz_coeff = getCoeff(new_rect.width(), profile_width);
|
||||
int verti_coeff = getCoeff(new_rect.height(), profile_height);
|
||||
|
||||
// genere les nouveaux points
|
||||
// generate the new points
|
||||
QList<QPointF> points;
|
||||
points << new_p1;
|
||||
int limit = conductor_profile.segments.count() - 1;
|
||||
for (int i = 0 ; i < limit ; ++ i) {
|
||||
// dernier point
|
||||
// last point
|
||||
QPointF previous_point = points.last();
|
||||
|
||||
// profil de segment de conducteur en cours
|
||||
// current conductor segment profile
|
||||
ConductorSegmentProfile *csp = conductor_profile.segments.at(i);
|
||||
|
||||
// coefficient et offset a utiliser pour ce point
|
||||
// coefficient and offset to be used for this point
|
||||
qreal coeff = csp -> isHorizontal ? horiz_coeff : verti_coeff;
|
||||
qreal offset_applied = segments_lengths.value(csp);
|
||||
|
||||
// applique l'offset et le coeff au point
|
||||
// apply coefficient and offset to point
|
||||
if (csp -> isHorizontal) {
|
||||
points << QPointF (
|
||||
previous_point.x() + (coeff * offset_applied),
|
||||
@@ -989,16 +999,16 @@ void Conductor::pointsToSegments(const QList<QPointF>& points_list) {
|
||||
|
||||
/**
|
||||
@brief Conductor::fromXml
|
||||
Load the conductor and her information from xml element
|
||||
Load the conductor and its information from xml element
|
||||
@param dom_element
|
||||
@return true is loading success else return false
|
||||
@return true if loading succeeded else return false
|
||||
*/
|
||||
bool Conductor::fromXml(QDomElement &dom_element)
|
||||
{
|
||||
setPos(dom_element.attribute("x", nullptr).toDouble(),
|
||||
dom_element.attribute("y", nullptr).toDouble());
|
||||
|
||||
bool return_ = pathFromXml(dom_element);
|
||||
bool retval = pathFromXml(dom_element);
|
||||
|
||||
m_text_item -> fromXml(dom_element);
|
||||
ConductorProperties pr;
|
||||
@@ -1010,11 +1020,11 @@ bool Conductor::fromXml(QDomElement &dom_element)
|
||||
else
|
||||
m_autoNum_seq.fromXml(dom_element.firstChildElement("sequentialNumbers"));
|
||||
|
||||
m_freeze_label = dom_element.attribute("freezeLabel") == "true"? true : false;
|
||||
m_freeze_label = dom_element.attribute("freezeLabel") == "true" ? true : false;
|
||||
|
||||
setProperties(pr);
|
||||
|
||||
return return_;
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1134,13 +1144,14 @@ bool Conductor::pathFromXml(const QDomElement &e) {
|
||||
}
|
||||
}
|
||||
|
||||
//If there isn't segment we generate automatic path and return true
|
||||
// If there is no segment, we generate an automatic path and return true
|
||||
if (!segments_x.size()) {
|
||||
generateConductorPath(terminal1 -> dockConductor(), terminal1 -> orientation(), terminal2 -> dockConductor(), terminal2 -> orientation());
|
||||
return(true);
|
||||
}
|
||||
|
||||
// les longueurs recueillies doivent etre coherentes avec les positions des bornes
|
||||
// The collected lengths must be consistent with the positions of the terminals
|
||||
qreal width = 0.0, height = 0.0;
|
||||
foreach (qreal t, segments_x) width += t;
|
||||
foreach (qreal t, segments_y) height += t;
|
||||
@@ -1256,65 +1267,57 @@ ConductorSegment *Conductor::middleSegment()
|
||||
*/
|
||||
QPointF Conductor::posForText(Qt::Orientations &flag)
|
||||
{
|
||||
|
||||
ConductorSegment *segment = segments;
|
||||
bool all_segment_is_vertical = true;
|
||||
bool all_segment_is_horizontal = true;
|
||||
ConductorSegment *segment = segments;
|
||||
bool all_segments_are_vertical = true;
|
||||
bool all_segments_are_horizontal = true;
|
||||
|
||||
//Go to first segment
|
||||
while (!segment->isFirstSegment()) {
|
||||
segment = segment->previousSegment();
|
||||
}
|
||||
|
||||
|
||||
QPointF p1 = segment -> firstPoint(); //<First point of conductor
|
||||
ConductorSegment *biggest_segment = segment; //<biggest segment: contain the longest segment of conductor.
|
||||
ConductorSegment *longest_segment = segment; //<the longest segment of conductor.
|
||||
|
||||
// check if all segments are horizontal or vertical ... first segment:
|
||||
if (segment -> firstPoint().x() != segment -> secondPoint().x())
|
||||
all_segment_is_vertical = false;
|
||||
all_segments_are_vertical = false;
|
||||
if (segment -> firstPoint().y() != segment -> secondPoint().y())
|
||||
all_segment_is_horizontal = false;
|
||||
|
||||
all_segments_are_horizontal = false;
|
||||
// find longest segment
|
||||
while (segment -> hasNextSegment())
|
||||
{
|
||||
segment = segment -> nextSegment();
|
||||
|
||||
if (segment -> firstPoint().x() != segment -> secondPoint().x())
|
||||
all_segment_is_vertical = false;
|
||||
all_segments_are_vertical = false;
|
||||
if (segment -> firstPoint().y() != segment -> secondPoint().y())
|
||||
all_segment_is_horizontal = false;
|
||||
all_segments_are_horizontal = false;
|
||||
|
||||
//We must compare length segment, but they can be negative
|
||||
//so we multiply by -1 to make it positive.
|
||||
int saved = biggest_segment -> length();
|
||||
if (saved < 0) saved *= -1;
|
||||
int curent = segment->length();
|
||||
if (curent < 0) curent *= -1;
|
||||
|
||||
if (curent > saved) biggest_segment = segment;
|
||||
if (qAbs(segment->length()) > qAbs(longest_segment -> length()))
|
||||
longest_segment = segment;
|
||||
}
|
||||
|
||||
QPointF p2 = segment -> secondPoint();//<Last point of conductor
|
||||
QPointF p2 = segment -> secondPoint(); //<Last point of conductor
|
||||
|
||||
//If the conductor is horizontal or vertical
|
||||
//Return the point at the middle of conductor
|
||||
if (all_segment_is_vertical) { //<Vertical
|
||||
if (all_segments_are_vertical) { //<Vertical
|
||||
flag = Qt::Vertical;
|
||||
if (p1.y() > p2.y()) {
|
||||
p1.setY(p1.y() - (length()/2));
|
||||
} else {
|
||||
p1.setY(p1.y() + (length()/2));
|
||||
}
|
||||
} else if (all_segment_is_horizontal) { //<Horizontal
|
||||
} else if (all_segments_are_horizontal) { //<Horizontal
|
||||
flag = Qt::Horizontal;
|
||||
if (p1.x() > p2.x()) {
|
||||
p1.setX(p1.x() - (length()/2));
|
||||
} else {
|
||||
p1.setX(p1.x() + (length()/2));
|
||||
}
|
||||
} else { //Return the point at the middle of biggest segment.
|
||||
p1 = biggest_segment->middle();
|
||||
flag = (biggest_segment->isHorizontal())? Qt::Horizontal : Qt::Vertical;
|
||||
} else { //Return the point at the middle of longest segment.
|
||||
p1 = longest_segment->middle();
|
||||
flag = (longest_segment->isHorizontal())? Qt::Horizontal : Qt::Vertical;
|
||||
}
|
||||
return p1;
|
||||
}
|
||||
@@ -1420,7 +1423,7 @@ void Conductor::calculateTextItemPosition()
|
||||
/**
|
||||
Sauvegarde le profil courant du conducteur pour l'utiliser ulterieurement
|
||||
dans priv_modifieConductor.
|
||||
Save the current conductors profile for later use in priv_modifiedConductor.
|
||||
Save the current conductors profile for later use in priv_modifieConductor.
|
||||
*/
|
||||
void Conductor::saveProfile(bool undo) {
|
||||
Qt::Corner current_path_type = currentPathType();
|
||||
@@ -1487,7 +1490,7 @@ ConductorProfile Conductor::profile(Qt::Corner path_type) const
|
||||
/**
|
||||
@brief Conductor::refreshText
|
||||
Refresh the text of this conductor.
|
||||
recalcule and set the text according to the formula.
|
||||
recalculate and set the text according to the formula.
|
||||
*/
|
||||
void Conductor::refreshText()
|
||||
{
|
||||
|
||||
@@ -320,24 +320,7 @@ void CrossRefItem::paint(
|
||||
void CrossRefItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
|
||||
{
|
||||
event->accept();
|
||||
if (m_hovered_contact && m_hovered_contact->scene())
|
||||
{
|
||||
//Show and select the linked slave element
|
||||
if (scene() != m_hovered_contact->scene())
|
||||
{
|
||||
m_hovered_contact->diagram()->showMe();
|
||||
}
|
||||
m_hovered_contact->setSelected(true);
|
||||
|
||||
//Zoom to the linked slave element
|
||||
foreach(QGraphicsView *view,
|
||||
m_hovered_contact->diagram()->views())
|
||||
{
|
||||
QRectF fit = m_hovered_contact->sceneBoundingRect();
|
||||
fit.adjust(-200, -200, 200, 200);
|
||||
view->fitInView(fit, Qt::KeepAspectRatioByExpanding);
|
||||
}
|
||||
}
|
||||
QetGraphicsItem::showItem(m_hovered_contact);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2021 QElectroTech Team
|
||||
Copyright 2006-2025 QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
@@ -1277,18 +1277,8 @@ void DynamicElementTextItem::zoomToLinkedElement()
|
||||
//move when linked element is in the same scene of this.
|
||||
setSelected(false);
|
||||
ungrabMouse();
|
||||
|
||||
if(scene() != zoomed_element->scene())
|
||||
zoomed_element->diagram()->showMe();
|
||||
zoomed_element->setSelected(true);
|
||||
|
||||
//Zoom to the element
|
||||
for(QGraphicsView *view : zoomed_element->scene()->views())
|
||||
{
|
||||
QRectF fit = zoomed_element->sceneBoundingRect();
|
||||
fit.adjust(-200, -200, 200, 200);
|
||||
view->fitInView(fit, Qt::KeepAspectRatioByExpanding);
|
||||
}
|
||||
|
||||
QetGraphicsItem::showItem(zoomed_element);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
#include "slaveelement.h"
|
||||
|
||||
#include "../diagram.h"
|
||||
#include "../diagramposition.h"
|
||||
#include "../qetapp.h"
|
||||
#include "dynamicelementtextitem.h"
|
||||
|
||||
/**
|
||||
@@ -33,9 +31,7 @@ SlaveElement::SlaveElement(const ElementsLocation &location,
|
||||
QGraphicsItem *qgi,
|
||||
int *state) :
|
||||
Element(location, qgi, state, Element::Slave)
|
||||
{
|
||||
m_xref_item = nullptr;
|
||||
}
|
||||
{}
|
||||
|
||||
/**
|
||||
@brief SlaveElement::~SlaveElement
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#ifndef SLAVEELEMENT_H
|
||||
#define SLAVEELEMENT_H
|
||||
|
||||
#include "../properties/xrefproperties.h"
|
||||
#include "element.h"
|
||||
|
||||
class SlaveElement : public Element
|
||||
@@ -33,9 +32,6 @@ class SlaveElement : public Element
|
||||
void linkToElement(Element *elmt) override;
|
||||
void unlinkAllElements() override;
|
||||
void unlinkElement(Element *elmt) override;
|
||||
|
||||
private:
|
||||
QGraphicsTextItem *m_xref_item;
|
||||
};
|
||||
|
||||
#endif // SLAVEELEMENT_H
|
||||
|
||||
@@ -178,7 +178,7 @@ void AboutQETDialog::setAnnexProject()
|
||||
addLibrary(ui->m_annex_project_label, tr("Générateur d'élément lambda", "Lambda element generator"),
|
||||
"https://github.com/asnigma/qet_gen_element");
|
||||
addLibrary(ui->m_annex_project_label, tr("Convertisseur d'élément DXF", "Dxf2elmt"),
|
||||
"https://github.com/antonioaja/dxf2elmt");
|
||||
"https://github.com/Vadoola/dxf2elmt");
|
||||
addLibrary(ui->m_annex_project_label, tr("Outil de traduction d'éléments", "Qet_translate"),
|
||||
"https://qelectrotech.org/forum/viewtopic.php?pid=16027#p16027");
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "../../qeticons.h"
|
||||
#include "ui_generalconfigurationpage.h"
|
||||
#include "../../utils/qetsettings.h"
|
||||
#include "../../qetmessagebox.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QFontDialog>
|
||||
@@ -83,7 +84,6 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) :
|
||||
ui->m_use_gesture_trackpad->setChecked(settings.value("diagramview/gestures", false).toBool());
|
||||
ui->m_save_label_paste->setChecked(settings.value("diagramcommands/erase-label-on-copy", true).toBool());
|
||||
ui->m_use_folio_label->setChecked(settings.value("genericpanel/folio", true).toBool());
|
||||
ui->m_export_terminal->setChecked(settings.value("nomenclature-exportlist", true).toBool());
|
||||
ui->m_border_0->setChecked(settings.value("border-columns_0", false).toBool());
|
||||
ui->m_autosave_sb->setValue(settings.value("diagrameditor/autosave-interval", 0).toInt());
|
||||
|
||||
@@ -224,9 +224,6 @@ void GeneralConfigurationPage::applyConf()
|
||||
//GENERIC PANEL
|
||||
settings.setValue("genericpanel/folio",ui->m_use_folio_label->isChecked());
|
||||
|
||||
//NOMENCLATURE
|
||||
settings.setValue("nomenclature/terminal-exportlist",ui->m_export_terminal->isChecked());
|
||||
|
||||
|
||||
//DIAGRAM EDITOR
|
||||
QString view_mode = ui->m_use_tab_mode_rb->isChecked() ? "tabbed" : "windowed";
|
||||
@@ -564,3 +561,29 @@ void GeneralConfigurationPage::on_ElementEditor_Grid_PointSize_min_sb_valueChang
|
||||
{
|
||||
ui->ElementEditor_Grid_PointSize_max_sb->setMinimum(std::max(1, value));
|
||||
}
|
||||
|
||||
void GeneralConfigurationPage::on_m_hdpi_round_cb_clicked(bool checked)
|
||||
{
|
||||
if (checked) {
|
||||
if (QMessageBox::Cancel == QET::QetMessageBox::warning(
|
||||
this,
|
||||
tr("Fonctionnalité expérimental"),
|
||||
tr("AVERTISSEMENT :\n"
|
||||
"Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu "
|
||||
"du projet en fonction de :\n\n"
|
||||
"1 - la valeur sélectionnée \n"
|
||||
"2 - du dpi de l'écran \n"
|
||||
"3 - Modifier le projet sur un autre ordinateur et/ou écran n'ayant pas les mêmes paramètres des points 1 et 2."),
|
||||
QMessageBox::StandardButton::Cancel|QMessageBox::StandardButton::Ok,
|
||||
QMessageBox::StandardButton::Cancel
|
||||
)) {
|
||||
ui->m_hdpi_round_cb->blockSignals(true);
|
||||
ui->m_hdpi_round_cb->setChecked(false);
|
||||
ui->m_hdpi_round_cb->blockSignals(false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
ui->m_hdpi_round_label->setEnabled(checked);
|
||||
ui->m_hdpi_round_policy_cb->setEnabled(checked);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,8 @@ class GeneralConfigurationPage : public ConfigPage
|
||||
void on_DiagramEditor_Grid_PointSize_min_sb_valueChanged(int value);
|
||||
void on_ElementEditor_Grid_PointSize_min_sb_valueChanged(int value);
|
||||
|
||||
void on_m_hdpi_round_cb_clicked(bool checked);
|
||||
|
||||
private:
|
||||
void fillLang();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>872</width>
|
||||
<width>955</width>
|
||||
<height>556</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -17,7 +17,7 @@
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
@@ -82,7 +82,7 @@
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="m_hdpi_round_policy_widget" native="true">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,1">
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
@@ -96,14 +96,28 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QCheckBox" name="m_hdpi_round_cb">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_hdpi_round_label">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="m_hdpi_round_policy_cb"/>
|
||||
<widget class="QComboBox" name="m_hdpi_round_policy_cb">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
@@ -128,41 +142,21 @@
|
||||
<string>Projets</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="4" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="m_use_folio_label">
|
||||
<property name="text">
|
||||
<string>Utiliser les numéros de folio à la place de leur position dans le projet</string>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="m_save_label_paste">
|
||||
<property name="text">
|
||||
<string>Ne pas conserver les labels des éléments lors des copier coller</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="m_border_0">
|
||||
<property name="text">
|
||||
<string extracomment="Choix de l'increment de depart 1 ou 0">Numéroter les colonnes de cartouche à partir de 0 (1 sinon)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<item row="3" column="2">
|
||||
<widget class="QSpinBox" name="m_autosave_sb">
|
||||
<property name="frame">
|
||||
<bool>true</bool>
|
||||
@@ -184,14 +178,14 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="m_use_folio_label">
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="m_save_label_paste">
|
||||
<property name="text">
|
||||
<string>Utiliser les numéros de folio à la place de leur position dans le projet</string>
|
||||
<string>Ne pas conserver les labels des éléments lors des copier coller</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<item row="4" column="0">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
@@ -204,10 +198,23 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="m_export_terminal">
|
||||
<widget class="QCheckBox" name="m_border_0">
|
||||
<property name="text">
|
||||
<string>Exporter les bornes dans la nomenclature</string>
|
||||
<string extracomment="Choix de l'increment de depart 1 ou 0">Numéroter les colonnes de cartouche à partir de 0 (1 sinon)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1090,7 +1097,6 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<tabstop>m_use_tab_mode_rb</tabstop>
|
||||
<tabstop>m_save_label_paste</tabstop>
|
||||
<tabstop>m_use_folio_label</tabstop>
|
||||
<tabstop>m_export_terminal</tabstop>
|
||||
<tabstop>m_border_0</tabstop>
|
||||
<tabstop>m_autosave_sb</tabstop>
|
||||
<tabstop>m_common_elmt_path_cb</tabstop>
|
||||
|
||||
@@ -146,7 +146,6 @@ void DynamicElementTextItemEditor::setCurrentText(DynamicElementTextItem *text)
|
||||
return;
|
||||
|
||||
ui->m_tree_view->expand(index);
|
||||
// ui->m_tree_view->expand(index.QModelIndex::model()->index(0,0)); // commented by plc-user: leads to crash, when other textitem was selected before
|
||||
ui->m_tree_view->setCurrentIndex(index);
|
||||
ui->m_remove_selection->setEnabled(true);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright 2006-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 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-2022 The QElectroTech Team
|
||||
Copyright 2006-2025 The QElectroTech Team
|
||||
This file is part of QElectroTech.
|
||||
|
||||
QElectroTech is free software: you can redistribute it and/or modify
|
||||
|
||||
Reference in New Issue
Block a user