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>
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="236"/>
<source>Police</source>
<translation>Schiftart</translation>
<translation>Schriftart</translation>
</message>
<message>
<location filename="../sources/ui/dynamicelementtextmodel.cpp" line="282"/>
@@ -1606,7 +1606,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.</transl
<message>
<location filename="../sources/editor/ui/dynamictextfieldeditor.ui" line="209"/>
<source>Police</source>
<translation>Schiftart</translation>
<translation>Schriftart</translation>
</message>
<message>
<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="460"/>
<source>Police</source>
<translation>Schiftart</translation>
<translation>Schriftart</translation>
</message>
<message>
<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"/>
<source>
&lt;Shift&gt; to move</source>
<translation type="unfinished"></translation>
<translation>
&lt;Shift&gt; to move</translation>
</message>
</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">
<plist version="1.0">
<dict>
<key>ATSApplicationFontsPath</key>
<string>fonts/</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>

View File

@@ -190,7 +190,8 @@ echo "Copy file missing:"
QET_ELMT_DIR="${current_dir}/elements/"
QET_TBT_DIR="${current_dir}/titleblocks/"
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
## see <https://download.tuxfamily.org/qet/Qt_lang/>.
@@ -221,7 +222,18 @@ if [ -d "${LANG_DIR}" ]; then
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 ###############################################
echo

View File

@@ -187,6 +187,8 @@ QET_ELMT_DIR="${current_dir}/elements/"
QET_TBT_DIR="${current_dir}/titleblocks/"
QET_LANG_DIR="${current_dir}/lang/"
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
@@ -224,6 +226,20 @@ if [ -d "${QET_EXAMPLES_DIR}" ]; then
cp ${current_dir}/examples/*.qet $BUNDLE/Contents/Resources/examples
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
### create zip tarball ###############################################

View File

@@ -1,7 +1,8 @@
#!/bin/bash
#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
#git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
#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{ 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
export EXTRA_PLATFORM_PLUGINS=libqwayland-generic.so
export EXTRA_QT_MODULES="waylandcompositor"

Submodule pugixml updated: 9d7fcbf741...5a1892b321

View File

@@ -741,36 +741,34 @@
<file>ico/24x16/zh.png</file>
<!-- "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-Bold.ttf</file>
<file>fonts/LiberationMono-Italic.ttf</file>
<file>fonts/LiberationMono-BoldItalic.ttf</file>
<file>fonts/LiberationSans-Regular.ttf</file>
<file>fonts/LiberationSans-Bold.ttf</file>
<file>fonts/LiberationSans-Italic.ttf</file>
<file>fonts/LiberationSans-BoldItalic.ttf</file>
<file>fonts/LiberationSerif-Regular.ttf</file>
<file>fonts/LiberationSerif-Bold.ttf</file>
<file>fonts/LiberationSerif-Italic.ttf</file>
<file>fonts/LiberationSerif-BoldItalic.ttf</file>
<file>fonts/liberation-fonts.NOTICE</file>
<file>fonts/liberation-fonts.LICENSE</file>
<file>fonts/LiberationMono-Bold.ttf</file>
<file>fonts/LiberationMono-Italic.ttf</file>
<file>fonts/LiberationMono-BoldItalic.ttf</file>
<file>fonts/LiberationSans-Regular.ttf</file>
<file>fonts/LiberationSans-Bold.ttf</file>
<file>fonts/LiberationSans-Italic.ttf</file>
<file>fonts/LiberationSans-BoldItalic.ttf</file>
<file>fonts/LiberationSerif-Regular.ttf</file>
<file>fonts/LiberationSerif-Bold.ttf</file>
<file>fonts/LiberationSerif-Italic.ttf</file>
<file>fonts/LiberationSerif-BoldItalic.ttf</file>
<file>licenses/liberation-fonts.NOTICE</file>
<file>licenses/liberation-fonts.LICENSE</file>
<!-- "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
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
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,
delete this exception statement from your version.
See the file "fonts/osifont.LICENSE" for license information. -->
<file>fonts/osifont.ttf</file>
<file>fonts/osifont-italic.ttf</file>
<file>fonts/osifont.NOTICE</file>
<file>fonts/osifont.LICENSE</file>
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
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
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.
See the file "fonts/osifont.LICENSE" for license information. -->
<file>fonts/osifont.ttf</file>
<file>fonts/osifont-italic.ttf</file>
<file>licenses/osifont.NOTICE</file>
<file>licenses/osifont.LICENSE</file>
<file>licenses/QElectroTech.NOTICE</file>
<file>licenses/QElectroTech.LICENSE</file>

View File

@@ -623,7 +623,7 @@ NamesList ElementsLocation::nameList()
else
{
//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");
if (dir_conf.exists() && dir_conf.open(
QIODevice::ReadOnly

View File

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

View File

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

View File

@@ -224,6 +224,34 @@ void PartTerminal::mirror() {
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

View File

@@ -78,6 +78,8 @@ class PartTerminal : public CustomElementGraphicPart
qreal rotation() const;
void flip();
void mirror();
void nextOrientation();
void previousOrientation();
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 = {
{"QElectroTech", ":/licenses/QElectroTech"},
{"QET-Elements", ":/licenses/QET-Elements"},
{"liberation-fonts", ":/fonts/liberation-fonts"},
{"osifont", ":/fonts/osifont"}
{"liberation-fonts", ":/licenses/liberation-fonts"},
{"osifont", ":/licenses/osifont"}
};
// Get base path for the license files

View File

@@ -182,7 +182,7 @@ QDomElement QETXML::fileSystemDirToXmlCollectionDir(
QDomElement dir_element = document.createElement("category");
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"));
if (qet_dir.exists() && qet_dir.open(
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") +
"<br><br> 2006-"+QDate::currentDate().toString("yyyy")+
"<br><br>© 2006-"+QDate::currentDate().toString("yyyy")+
tr(" Les développeurs de QElectroTech", "about tab, developers line") +
"<br><br>"
"<a href=\"https://qelectrotech.org/\">https://qelectrotech.org/</a>"

View File

@@ -144,9 +144,9 @@ void DynamicElementTextItemEditor::setCurrentText(DynamicElementTextItem *text)
QModelIndex index = m_model->indexFromText(text);
if(!index.isValid())
return;
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_remove_selection->setEnabled(true);
}