Merge branch 'qelectrotech:master' into doxygen

This commit is contained in:
Int-Circuit
2025-08-04 11:42:08 +02:00
committed by Int-Circuit
26 changed files with 14430 additions and 46 deletions

Binary file not shown.

View File

@@ -1416,7 +1416,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.</transl
<message> <message>
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="236"/> <location filename="../sources/ui/dynamicelementtextmodel.cpp" line="236"/>
<source>Police</source> <source>Police</source>
<translation>Schiftart</translation> <translation>Schriftart</translation>
</message> </message>
<message> <message>
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="282"/> <location filename="../sources/ui/dynamicelementtextmodel.cpp" line="282"/>
@@ -1606,7 +1606,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.</transl
<message> <message>
<location filename="../sources/editor/ui/dynamictextfieldeditor.ui" line="209"/> <location filename="../sources/editor/ui/dynamictextfieldeditor.ui" line="209"/>
<source>Police</source> <source>Police</source>
<translation>Schiftart</translation> <translation>Schriftart</translation>
</message> </message>
<message> <message>
<location filename="../sources/editor/ui/dynamictextfieldeditor.ui" line="199"/> <location filename="../sources/editor/ui/dynamictextfieldeditor.ui" line="199"/>
@@ -4155,7 +4155,7 @@ Veuillez utiliser l&apos;éditeur avancé pour cela.</source>
<location filename="../sources/ui/inditextpropertieswidget.cpp" line="412"/> <location filename="../sources/ui/inditextpropertieswidget.cpp" line="412"/>
<location filename="../sources/ui/inditextpropertieswidget.cpp" line="460"/> <location filename="../sources/ui/inditextpropertieswidget.cpp" line="460"/>
<source>Police</source> <source>Police</source>
<translation>Schiftart</translation> <translation>Schriftart</translation>
</message> </message>
<message> <message>
<location filename="../sources/ui/inditextpropertieswidget.ui" line="146"/> <location filename="../sources/ui/inditextpropertieswidget.ui" line="146"/>

Binary file not shown.

View File

@@ -1193,7 +1193,8 @@ Note: these options DO NOT allow or block auto numberings, only their update pol
<location filename="../sources/qetgraphicsitem/diagramtextitem.cpp" line="489"/> <location filename="../sources/qetgraphicsitem/diagramtextitem.cpp" line="489"/>
<source> <source>
&lt;Shift&gt; to move</source> &lt;Shift&gt; to move</source>
<translation type="unfinished"></translation> <translation>
&lt;Shift&gt; to move</translation>
</message> </message>
</context> </context>
<context> <context>

14312
lang/qet_rs.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
../fonts/liberation-fonts.LICENSE

View File

@@ -0,0 +1 @@
../fonts/liberation-fonts.NOTICE

1
licenses/osifont.LICENSE Symbolic link
View File

@@ -0,0 +1 @@
../fonts/osifont.LICENSE

1
licenses/osifont.NOTICE Symbolic link
View File

@@ -0,0 +1 @@
../fonts/osifont.NOTICE

View File

@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>ATSApplicationFontsPath</key>
<string>fonts/</string>
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
<array> <array>
<dict> <dict>

View File

@@ -190,7 +190,8 @@ echo "Copy file missing:"
QET_ELMT_DIR="${current_dir}/elements/" QET_ELMT_DIR="${current_dir}/elements/"
QET_TBT_DIR="${current_dir}/titleblocks/" QET_TBT_DIR="${current_dir}/titleblocks/"
QET_LANG_DIR="${current_dir}/lang/" QET_LANG_DIR="${current_dir}/lang/"
QET_FONTS_DIR="${current_dir}/fonts/"
QET_LICENSES_DIR="${current_dir}/licenses/"
# Add new folder for Qt dialog translation see # Add new folder for Qt dialog translation see
## see <https://download.tuxfamily.org/qet/Qt_lang/>. ## see <https://download.tuxfamily.org/qet/Qt_lang/>.
@@ -221,7 +222,18 @@ if [ -d "${LANG_DIR}" ]; then
fi fi
if [ -d "${QET_FONTS_DIR}" ]; then
echo "Copying fonts in the bundle... "
mkdir $BUNDLE/Contents/Resources/fonts
cp ${current_dir}/fonts/*.ttf $BUNDLE/Contents/Resources/fonts
fi
if [ -d "${QET_LICENSES_DIR}" ]; then
echo "Copying licenses in the bundle..."
mkdir $BUNDLE/Contents/Resources/licenses
cp -R -L ${QET_LICENSES_DIR} $BUNDLE/Contents/Resources/licenses
fi
### create disk image ############################################### ### create disk image ###############################################
echo echo

View File

@@ -187,6 +187,8 @@ QET_ELMT_DIR="${current_dir}/elements/"
QET_TBT_DIR="${current_dir}/titleblocks/" QET_TBT_DIR="${current_dir}/titleblocks/"
QET_LANG_DIR="${current_dir}/lang/" QET_LANG_DIR="${current_dir}/lang/"
QET_EXAMPLES_DIR="${current_dir}/examples/" QET_EXAMPLES_DIR="${current_dir}/examples/"
QET_FONTS_DIR="${current_dir}/fonts/"
QET_LICENSES_DIR="${current_dir}/licenses/"
# Add new folder for Qt dialog translation see # Add new folder for Qt dialog translation see
@@ -224,6 +226,20 @@ if [ -d "${QET_EXAMPLES_DIR}" ]; then
cp ${current_dir}/examples/*.qet $BUNDLE/Contents/Resources/examples cp ${current_dir}/examples/*.qet $BUNDLE/Contents/Resources/examples
fi fi
if [ -d "${QET_FONTS_DIR}" ]; then
echo "Copying fonts in the bundle... "
mkdir $BUNDLE/Contents/Resources/fonts
cp ${current_dir}/fonts/*.ttf $BUNDLE/Contents/Resources/fonts
fi
if [ -d "${QET_LICENSES_DIR}" ]; then
echo "Copying licenses in the bundle..."
mkdir $BUNDLE/Contents/Resources/licenses
cp -R -L ${QET_LICENSES_DIR} $BUNDLE/Contents/Resources/licenses
fi
codesign --force --deep --sign --timestamp -s "Developer ID Application: Laurent TRINQUES (Y73WZ6WZ5X)" --options=runtime $BUNDLE codesign --force --deep --sign --timestamp -s "Developer ID Application: Laurent TRINQUES (Y73WZ6WZ5X)" --options=runtime $BUNDLE
### create zip tarball ############################################### ### create zip tarball ###############################################

View File

@@ -1,7 +1,8 @@
#!/bin/bash #!/bin/bash
#Based on raspberry pi 5 8 Gb bookworm #Based on raspberry pi 5 8 Gb bookworm
#sudo apt install libqt5svg5-dev qt5-qmake qtbase5-dev libkf5widgetsaddons-dev libkf5coreaddons-dev libsqlite3-dev pkgconf libqt5waylandclient5-dev libqt5waylandcompositor5-dev #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 # Get GIT sources
#git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git #git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
#git submodule update --init --recursive #git submodule update --init --recursive
@@ -29,7 +30,7 @@ HEAD=$(($A+473))
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{"| 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/ rm -rf build/
mkdir build && cd build mkdir build && cd build
export EXTRA_PLATFORM_PLUGINS=libqwayland-generic.so export EXTRA_PLATFORM_PLUGINS=libqwayland-generic.so
export EXTRA_QT_MODULES="waylandcompositor" export EXTRA_QT_MODULES="waylandcompositor"

Submodule pugixml updated: 9d7fcbf741...5a1892b321

View File

@@ -741,36 +741,34 @@
<file>ico/24x16/zh.png</file> <file>ico/24x16/zh.png</file>
<!-- "Liberation Fonts" Font Software is licensed under the SIL Open Font License, Version 1.1 <!-- "Liberation Fonts" Font Software is licensed under the SIL Open Font License, Version 1.1
See the file "fonts/liberation-fonts.LICENSE" for license information. --> See the file "fonts/liberation-fonts.LICENSE" for license information. -->
<file>fonts/LiberationMono-Regular.ttf</file> <file>fonts/LiberationMono-Regular.ttf</file>
<file>fonts/LiberationMono-Bold.ttf</file> <file>fonts/LiberationMono-Bold.ttf</file>
<file>fonts/LiberationMono-Italic.ttf</file> <file>fonts/LiberationMono-Italic.ttf</file>
<file>fonts/LiberationMono-BoldItalic.ttf</file> <file>fonts/LiberationMono-BoldItalic.ttf</file>
<file>fonts/LiberationSans-Regular.ttf</file> <file>fonts/LiberationSans-Regular.ttf</file>
<file>fonts/LiberationSans-Bold.ttf</file> <file>fonts/LiberationSans-Bold.ttf</file>
<file>fonts/LiberationSans-Italic.ttf</file> <file>fonts/LiberationSans-Italic.ttf</file>
<file>fonts/LiberationSans-BoldItalic.ttf</file> <file>fonts/LiberationSans-BoldItalic.ttf</file>
<file>fonts/LiberationSerif-Regular.ttf</file> <file>fonts/LiberationSerif-Regular.ttf</file>
<file>fonts/LiberationSerif-Bold.ttf</file> <file>fonts/LiberationSerif-Bold.ttf</file>
<file>fonts/LiberationSerif-Italic.ttf</file> <file>fonts/LiberationSerif-Italic.ttf</file>
<file>fonts/LiberationSerif-BoldItalic.ttf</file> <file>fonts/LiberationSerif-BoldItalic.ttf</file>
<file>fonts/liberation-fonts.NOTICE</file> <file>licenses/liberation-fonts.NOTICE</file>
<file>fonts/liberation-fonts.LICENSE</file> <file>licenses/liberation-fonts.LICENSE</file>
<!-- "osifont" Font Software is licensed under the GNU GENERAL PUBLIC LICENSE, Version 3 <!-- "osifont" Font Software is licensed under the GNU GENERAL PUBLIC LICENSE, Version 3
As a special exception, if you create a document which uses this font, and embed this font or unaltered As a special exception, if you create a document which uses this font, and embed this font or unaltered
portions of this font into the document, this font does not by itself cause the resulting document to be portions of this font into the document, this font does not by itself cause the resulting document to be
covered by the GNU General Public License. This exception does not however invalidate any other reasons why covered by the GNU General Public License. This exception does not however invalidate any other reasons why
the document might be covered by the GNU General Public License. If you modify this font, you may extend the document might be covered by the GNU General Public License. If you modify this font, you may extend
this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so,
delete this exception statement from your version. delete this exception statement from your version.
See the file "fonts/osifont.LICENSE" for license information. -->
See the file "fonts/osifont.LICENSE" for license information. --> <file>fonts/osifont.ttf</file>
<file>fonts/osifont.ttf</file> <file>fonts/osifont-italic.ttf</file>
<file>fonts/osifont-italic.ttf</file> <file>licenses/osifont.NOTICE</file>
<file>fonts/osifont.NOTICE</file> <file>licenses/osifont.LICENSE</file>
<file>fonts/osifont.LICENSE</file>
<file>licenses/QElectroTech.NOTICE</file> <file>licenses/QElectroTech.NOTICE</file>
<file>licenses/QElectroTech.LICENSE</file> <file>licenses/QElectroTech.LICENSE</file>

View File

@@ -623,7 +623,7 @@ NamesList ElementsLocation::nameList()
else else
{ {
//Open the qet_directory file, //Open the qet_directory file,
// to get the traductions name of this dir // to get the translated name of this dir
QFile dir_conf(fileSystemPath() % "/qet_directory"); QFile dir_conf(fileSystemPath() % "/qet_directory");
if (dir_conf.exists() && dir_conf.open( if (dir_conf.exists() && dir_conf.open(
QIODevice::ReadOnly QIODevice::ReadOnly

View File

@@ -64,8 +64,8 @@ bool ConductorNumExport::toCsv()
if(!QFile::remove(filename)) if(!QFile::remove(filename))
{ {
QMessageBox::critical(m_parent_widget, QObject::tr("Erreur"), QMessageBox::critical(m_parent_widget, QObject::tr("Erreur"),
QObject::tr("Impossible de remplacer le fichier!\n\n")+ QObject::tr("Impossible de remplacer le fichier!\n\n") %
"Destination : "+filename+"\n"); "Destination : " % filename % "\n");
return false; return false;
} }
} }

View File

@@ -525,7 +525,11 @@ void RotateElementsCommand::undo()
{ {
if (item->type() == PartTerminal::Type) { if (item->type() == PartTerminal::Type) {
PartTerminal* term = qgraphicsitem_cast<PartTerminal*>(item); PartTerminal* term = qgraphicsitem_cast<PartTerminal*>(item);
if(m_items.size() == 1) {
term->previousOrientation();
} else {
term->setRotation(term->rotation()-90); term->setRotation(term->rotation()-90);
}
} }
else if (item->type() == PartRectangle::Type) { else if (item->type() == PartRectangle::Type) {
PartRectangle* rect = qgraphicsitem_cast<PartRectangle*>(item); PartRectangle* rect = qgraphicsitem_cast<PartRectangle*>(item);
@@ -570,7 +574,11 @@ void RotateElementsCommand::redo()
{ {
if (item->type() == PartTerminal::Type) { if (item->type() == PartTerminal::Type) {
PartTerminal* term = qgraphicsitem_cast<PartTerminal*>(item); PartTerminal* term = qgraphicsitem_cast<PartTerminal*>(item);
if (m_items.size() == 1) {
term->nextOrientation();
} else {
term->setRotation(term->rotation()+90); term->setRotation(term->rotation()+90);
}
} }
else if (item->type() == PartRectangle::Type) { else if (item->type() == PartRectangle::Type) {
PartRectangle* rect = qgraphicsitem_cast<PartRectangle*>(item); PartRectangle* rect = qgraphicsitem_cast<PartRectangle*>(item);

View File

@@ -224,6 +224,34 @@ void PartTerminal::mirror() {
emit xChanged(); // all terminal-signals call "updateForm" emit xChanged(); // all terminal-signals call "updateForm"
} }
void PartTerminal::nextOrientation()
{
switch (d->m_orientation) {
case Qet::North :
setOrientation(Qet::East); break;
case Qet::East :
setOrientation(Qet::South); break;
case Qet::South :
setOrientation(Qet::West); break;
case Qet::West :
setOrientation(Qet::North); break;
}
}
void PartTerminal::previousOrientation()
{
switch (d->m_orientation) {
case Qet::North :
setOrientation(Qet::West); break;
case Qet::East :
setOrientation(Qet::North); break;
case Qet::South :
setOrientation(Qet::East); break;
case Qet::West :
setOrientation(Qet::South); break;
}
}
/** /**
@brief PartTerminal::setTerminalName @brief PartTerminal::setTerminalName

View File

@@ -78,6 +78,8 @@ class PartTerminal : public CustomElementGraphicPart
qreal rotation() const; qreal rotation() const;
void flip(); void flip();
void mirror(); void mirror();
void nextOrientation();
void previousOrientation();
QString terminalName() const { return d -> m_name; } QString terminalName() const { return d -> m_name; }

View File

@@ -443,8 +443,8 @@ std::tuple<QString, QString> QET::licenses(const QString &name)
const QMap<QString, QString> licenses = { const QMap<QString, QString> licenses = {
{"QElectroTech", ":/licenses/QElectroTech"}, {"QElectroTech", ":/licenses/QElectroTech"},
{"QET-Elements", ":/licenses/QET-Elements"}, {"QET-Elements", ":/licenses/QET-Elements"},
{"liberation-fonts", ":/fonts/liberation-fonts"}, {"liberation-fonts", ":/licenses/liberation-fonts"},
{"osifont", ":/fonts/osifont"} {"osifont", ":/licenses/osifont"}
}; };
// Get base path for the license files // Get base path for the license files

View File

@@ -182,7 +182,7 @@ QDomElement QETXML::fileSystemDirToXmlCollectionDir(
QDomElement dir_element = document.createElement("category"); QDomElement dir_element = document.createElement("category");
dir_element.setAttribute("name", rename.isNull()? dir.dirName() : rename); dir_element.setAttribute("name", rename.isNull()? dir.dirName() : rename);
//Get the traduction of this directory //Get the translation of this directory
QFile qet_dir(dir.filePath("qet_directory")); QFile qet_dir(dir.filePath("qet_directory"));
if (qet_dir.exists() && qet_dir.open( if (qet_dir.exists() && qet_dir.open(
QIODevice::ReadOnly QIODevice::ReadOnly

View File

@@ -60,7 +60,7 @@ void AboutQETDialog::setAbout()
{ {
QString str = tr("QElectroTech, une application de réalisation de schémas électriques.", "about tab, description line") + QString str = tr("QElectroTech, une application de réalisation de schémas électriques.", "about tab, description line") +
"<br><br> 2006-"+QDate::currentDate().toString("yyyy")+ "<br><br>© 2006-"+QDate::currentDate().toString("yyyy")+
tr(" Les développeurs de QElectroTech", "about tab, developers line") + tr(" Les développeurs de QElectroTech", "about tab, developers line") +
"<br><br>" "<br><br>"
"<a href=\"https://qelectrotech.org/\">https://qelectrotech.org/</a>" "<a href=\"https://qelectrotech.org/\">https://qelectrotech.org/</a>"

View File

@@ -146,7 +146,7 @@ void DynamicElementTextItemEditor::setCurrentText(DynamicElementTextItem *text)
return; return;
ui->m_tree_view->expand(index); ui->m_tree_view->expand(index);
ui->m_tree_view->expand(index.QModelIndex::model()->index(0,0)); // 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_tree_view->setCurrentIndex(index);
ui->m_remove_selection->setEnabled(true); ui->m_remove_selection->setEnabled(true);
} }