<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QElectroTech — Code]]></title>
		<link>https://qelectrotech.org/forum/index.php</link>
		<atom:link href="https://qelectrotech.org/forum/extern.php?action=feed&amp;fid=17&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent topics at QElectroTech.]]></description>
		<lastBuildDate>Sun, 08 Mar 2026 09:24:34 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Element Style Colors]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=3121&amp;action=new</link>
			<description><![CDATA[<p> Hi Everyone,</p><p>I was recently doing some work to improve the styling support in dxf2elmt, and while looking at the element files and the QET code, I noticed that the Line and fill colors are stored in the XML as a string with a name such as &quot;red&quot;, and &quot;HTMLWhiteFloralWhite&quot;, etc.</p><p>I was wondering if there was a specific reason this was stored this way, and the colors in the element editor are just a drop down of options, instead of a color picker, and storing the RGB values in the element file? </p>]]></description>
			<author><![CDATA[null@example.com (vadoola)]]></author>
			<pubDate>Sun, 08 Mar 2026 09:24:34 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=3121&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Anzahl Slaveelemnte definieren / Define number of slave elements]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=3101&amp;action=new</link>
			<description><![CDATA[<p> Guten Tag zusammen,<br />Mich stört schon lange, dass man bei Qelectrotech ein Masterelement mit unendlich vielen Slaveelementen verbinden kann.<br />Jetzt hatte ich eine Idee, wie man dies ändern könnte ohne die bisherige Logik großartig zu ändern.<br />Im Bauteileditor wird unter Bauteileigenschaften in dem Reiter Typ eine Checkbox hinzugefügt. Diese heißt z.B. &quot;max Anzahl Slaveelemente definieren&quot;.<br />Wenn diese nicht angeklickt ist, bleibt alles wie es ist.<br />Sollte diese angeklickt sein, wird dann eine Textbox darunter freigeschaltet in der man die Anzahl defnieren kann.<br />Als nächstes wird das bisherige Auswahlfenster um einen Reiter z.B. &quot;volle Masterelemente&quot; erweitert.<br />Nun wird geprüft ob bei den Masterelementen, bei denen die maximale Anzahl definiert ist, die Verbindungen mit Slaveelementen kleiner als die maximale Anzahl ist.<br />Ist dies der Fall bleibt alles wie es ist.<br />Wenn die Anzahl der Verbindungen gleich der maximalen Anzahl ist, wird das Masterelement in den neuen Reiter verschoben und eine Verbindung damit ist nicht mehr möglich. Dies wäre sehr hilfreich, um ein Masterelement nicht mit mehr Slaveelementen zu verbinden als dies in der Wirklichkeit möglich ist und das Auswahlfenster wird bereinigter, da dort nicht mehr so viele Einträge sind, was das Arbeiten leichter macht.</p><p>Was haltet ihr von der Idee? Wenn ihr sagt, dass diese sinnvoll und gut ist, würde ich versuchen diese in den nächsten Monaten so wie ich Zeit habe mithilfe von Chatgpt umzusetzen.</p><p>Translate:<br /> Hello everyone,<br />It has long bothered me that Qelectrotech allows you to connect one master element to an infinite number of slave elements.<br />Now I have an idea how this could be changed without significantly altering the existing logic.<br />A checkbox is added to the Component Properties tab in the Component Editor. This is called, for example, “Define max number of slave elements.”<br />If this is not checked, everything remains as it is.<br />If it is checked, a text box is activated below where you can define the number.<br />Next, the existing selection window is expanded to include a tab, e.g., “Full master elements.”<br />Now, the system checks whether the connections to slave elements are less than the maximum number for the master elements for which the maximum number is defined.<br />If this is the case, everything remains as it is.<br />If the number of connections is equal to the maximum number, the master element is moved to the new tab and a connection with it is no longer possible. This would be very helpful in order to prevent a master element from being connected to more slave elements than is actually possible, and the selection window would be tidier as there would no longer be so many entries, which would make working easier.</p><p>What do you think of the idea? If you say it makes sense and is good, I would try to implement it in the next few months as I have time with the help of ChatGPT.</p><p>Translated with DeepL.com (free version) </p>]]></description>
			<author><![CDATA[null@example.com (Kellermorph)]]></author>
			<pubDate>Mon, 02 Feb 2026 10:02:51 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=3101&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Question about hashes in QElectroTech]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=3090&amp;action=new</link>
			<description><![CDATA[<p> An die Haupt-Entwickler:</p><p>Salut Joshua !<br />Salut Laurent !</p><p>English follows below!</p><p>Brauchen wir bei QET zufällige Hashes, die irgendwas verschlüsseln, oder so? Die einzigen zufälligen Zahlen, die ich sehe, sind die UUIDs in den Elementen. Aber vielleicht übersehe ich auch etwas...</p><p>Grund der Frage:<br />Die XML-Tags in den Element- und Projekt-Dateien werden bei jedem Abspeichern durcheinandergewürfelt, da die Informationen dazu in Hashes gespeichert werden, deren zugrundeliegende Zufallszahl regelmäßig erneuert wird. <br />Wenn wir auf die zufällige Sortierung in den Hashes verzichten können, können wir dafür beim Start von QET einen Vorgabewert an Qt geben, sodass die Sortierung der XML-Tags von einem Speichervorgang zum nächsten nicht komplett durcheinandergewürfelt werden!<br />Bei Projektdateien wird das XML regelmäßig aus der internen SQlite-DB neu erzeugt, und daher sind die Tags nicht immer in derselben Reihenfolge. <br />Bei Element-Dateien scheint es aber sehr gut zu funktionieren, dass die Tags nicht gemischt werden, wenn die Randomisierung abgeschaltet ist! Auf diese Art werden DIFFs von Element-Dateien nicht so groß, wenn nur eine Kleinigkeit daran geändert wird, wie z.B. das Hinzufügen einer weiteren Sprache.</p><p>Einen Patch habe ich in <a href="https://github.com/plc-user/qelectrotech-source-mirror">meinem github-repository</a> vorbereitet.</p><p>Gruß<br />&nbsp; plc-user</p><br /><p>English translation:</p><p>To the main-developers:</p><p>Do we need random hashes with QET that encrypt something or something like that? The only random numbers I see are the UUIDs in the elements. But maybe I&#039;m overlooking something...</p><p>Reason for the question:<br />The XML tags in the element and project files are mixed up every time they are saved, because the information is stored in hashes whose underlying random number is regularly renewed. <br />If we can do without the random sorting in the hashes, we can give Qt a default value when starting QET so that the sorting of the XML tags is not completely mixed up from one save operation to the next!<br />For project files, the XML is regularly regenerated from the internal SQlite DB, so the tags are not always in the same order. <br />However, for element files, it seems to work very well that the tags are not mixed when randomization is turned off! This way, DIFFs of element files do not become so large when only a small change is made, such as adding another language.</p><p>I prepared a patch in <a href="https://github.com/plc-user/qelectrotech-source-mirror">my github-repository</a>.</p><p>Best regards,<br />&nbsp; plc-user </p>]]></description>
			<author><![CDATA[null@example.com (plc-user)]]></author>
			<pubDate>Wed, 07 Jan 2026 19:37:50 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=3090&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[erreur de frappe trouvée dans les fichiers]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=3039&amp;action=new</link>
			<description><![CDATA[<p> @Laurent (scorpio810)</p><p>erreur de frappe trouvée dans les fichiers</p><p>../sources/ui/dynamicelementtextitemeditor.cpp<br />26 = #include &quot;../ui_dynamicelementtextitemeditor.h&quot;</p><p>_&nbsp; devrait être&nbsp; /<br />26 = #include &quot;../ui/dynamicelementtextitemeditor.h&quot;</p><p>../sources/ui/elementinfowidget.cpp<br />24&nbsp; #include &quot;../ui_elementinfowidget.h&quot; </p><p>_ devrait être&nbsp; /<br />24&nbsp; #include &quot;../ui/elementinfowidget.h&quot; </p>]]></description>
			<author><![CDATA[null@example.com (Re-searcher)]]></author>
			<pubDate>Tue, 07 Oct 2025 14:52:19 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=3039&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Include fonts in QET]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2946&amp;action=new</link>
			<description><![CDATA[<p> Hej elevatormind, </p><p>haven&#039;t heard from you in a while, are you okay?</p><p>Could you please create a PR for your additions to the fonts? <br />Then we could finalize that topic from <a href="https://qelectrotech.org/forum/viewtopic.php?pid=21270#p21270">here</a>.<br />I have already adjusted the tabs for the licenses locally: <strong>All</strong> licenses are grouped in one tab and can be selected for viewing via ComboBox. <br />But that only makes sense to upload once the fonts are available. <br />And the customized element collection is also waiting to be activated: Only the fonts are missing... </p>]]></description>
			<author><![CDATA[null@example.com (plc-user)]]></author>
			<pubDate>Sat, 12 Apr 2025 06:21:37 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2946&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Compiling the source code]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2941&amp;action=new</link>
			<description><![CDATA[<p> By compiling the source code are several warnings in the code. </p>]]></description>
			<author><![CDATA[null@example.com (Re-searcher)]]></author>
			<pubDate>Mon, 07 Apr 2025 07:50:24 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2941&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Change request / change wish]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2926&amp;action=new</link>
			<description><![CDATA[<p> Die vor kurzem durchgeführte Änderung beim bewegegen vom dynamischen Text mit der zusätzlichen Shift Taste ist definitiv eine Verbesserung. Allerdings bewegt sich der Text nur noch in kleinen Schritten und nicht mehr mit der Schrittweite des Rasters. Deshalb habe ich hier mal einen kleinen Patch der das ändert. Mit der Shift-Taste in großen Schritten bewegen, mit Shift + Alt mit in&nbsp; kleinen Schritten.<br />Da der Datei Upload anscheinend nicht funktioniert, habe ich es mal in meinen Fork hochgeladen: <br /><a href="https://github.com/ChuckNr11/qelectrotech-source-mirror">https://github.com/ChuckNr11/qelectrotech-source-mirror</a><br />Wenn Sie es möchten, mach ich einen Pullrequest. </p><p>with translator:<br />The recent change to moving dynamic text with the additional Shift key is definitely an improvement. However, the text now only moves in small steps and no longer in step with the grid. So I&#039;ve created a small patch here that changes that. Use the Shift key to move in large steps, and Shift + Alt to move in small steps.</p><p>Since the file upload doesn&#039;t seem to be working, I&#039;ve uploaded it to my fork:<br /><a href="https://github.com/ChuckNr11/qelectrotech-source-mirror">https://github.com/ChuckNr11/qelectrotech-source-mirror</a><br />If you&#039;d like it, I&#039;ll make a pull request. </p>]]></description>
			<author><![CDATA[null@example.com (achim)]]></author>
			<pubDate>Wed, 19 Mar 2025 15:12:11 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2926&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Functional Cross-Reference in PDF]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2915&amp;action=new</link>
			<description><![CDATA[<p> This feature makes cross-references in the PDF export of QElectroTech clickable, allowing users to jump directly to the corresponding locations in the circuit diagram. The feature was developed with the help of ChatGPT and has not been tested yet.<br />Note:<br />I dont know how to compile so i hope someone can do it. Feedback and testing are welcome. </p>]]></description>
			<author><![CDATA[null@example.com (Kellermorph)]]></author>
			<pubDate>Tue, 11 Mar 2025 14:50:50 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2915&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[SOLVED: Qt Creator, Qt6 cannot find headers from IDE]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2906&amp;action=new</link>
			<description><![CDATA[<p> Hello everybody,</p><p>I have a strange phenomenon, that I would like to understand and get rid of...</p><p>There is a fresh installed Debian unstable with QET-Sources from github-branch &quot;qt6-cmake&quot;.<br />From commandline everything compiles fine from cmake, qmake and make.</p><p>But sometimes it is much more comfortable to use an IDE to edit sourcefiles and start compilation by clicking a button.</p><p>So I installed Qt Creator 15.0.1 based on Qt 6.7.2 (GCC 14.2.0, x86_64) on top of it, imported the QET-codestyle-settings and clicked &quot;compile&quot;.<br />And that&#039;s where the phenomenon comes to light: It won&#039;t compile, because some header-files cannot be found, see also attachment.</p><p>To remember: Everything compiles fine from commandline, so all headers are on the system:<br /></p><div class="codebox"><pre><code>$ dpkg -l | grep libkf6 | grep addons-dev
ii  libkf6coreaddons-dev:amd64  6.11.0-1  amd64  KDE Frameworks 6 addons to QtCore - development files
ii  libkf6widgetsaddons-dev     6.11.0-1  amd64  development files for kwidgetsaddons
$</code></pre></div><p>So there is a setting in Qt-Creator that has to be adjusted to be able to compile from IDE, but I don&#039;t see it!</p><p>Is there someone who can help &quot;cleaning my glasses&quot;??? </p>]]></description>
			<author><![CDATA[null@example.com (plc-user)]]></author>
			<pubDate>Sun, 02 Mar 2025 10:31:19 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2906&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Bigger grid dots]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2903&amp;action=new</link>
			<description><![CDATA[<p> Hello,</p><p>Bigger grid dots</p><p>I have see that my backgroud of the screen is an raster.<br />I have found the solution for making the dots bigger in the grid raster.</p><p>I noticed that my screen background is a grid.<br />I found the solution to make the dots in the grid larger.</p><p>The file Diagram.cpp is located in /qelectrotech-source-mirror/sources/<br />The file elementview.cpp is located in /qelectrotech-source-mirror/sources/editor</p><p>My directory(folder) is different in the patch file</p><p>Erik </p>]]></description>
			<author><![CDATA[null@example.com (Re-searcher)]]></author>
			<pubDate>Tue, 25 Feb 2025 14:01:51 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2903&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Swedish translation]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2898&amp;action=new</link>
			<description><![CDATA[<p> Hello QElectroTech team, I&#039;ve been working on a Swedish translation for some time but never gotten around to actually share it until now.</p><p>I&#039;ve created a fork at <a href="https://github.com/elevatormind/qelectrotech-source-mirror">https://github.com/elevatormind/qelectr … rce-mirror</a> with a branch &quot;lang_sv&quot; for it. I don&#039;t have much experience in code collaboration earlier, just been coding privately for fun from time to time so still trying to get a grasp on forks with github. If this is interesting, do you want me to create a pull request for this, or handle it another way?</p><p>Some background on me as I pop up from nowhere, I&#039;m drawing electrical diagrams for a living at a company constructing control cabinets for elevators. I&#039;m using Elprocad at work but in the process of switching to Zuken E3, and have been using EPlan for a couple of years earlier. I&#039;ve found QET earlier and played around with it as I find it an interesting project, and have considered using it for work, but it&#039;s not quite there yet. But that&#039;s how I started to see if I could make a translation for it and here we are!</p><p>PS. I&#039;ve done two other branches with small features that may or may not be useful, will push them up for evaluation and try to post something about them here in the forum<br />PS 2. And one bigger but messy branch getting QET to compile with QT6 / cmake (with QT6 and KF 6.8+ i&#039;ve managed to make a static compile of QET) </p>]]></description>
			<author><![CDATA[null@example.com (elevatormind)]]></author>
			<pubDate>Sun, 16 Feb 2025 21:25:57 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2898&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Cannote find Sqlite dev package linux, but its installed]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2885&amp;action=new</link>
			<description><![CDATA[<p> Howdy all, trying to build on Devuan (Debian without SystemD)</p><p>I installed libsqlite3-dev package but am getting this </p><p>00:36:05: Running steps for project qelectrotech...<br />00:36:05: Starting: &quot;/usr/lib/qt5/bin/qmake&quot; /home/andrew/sources/qt/qelectrotech-source-mirror/qelectrotech.pro -spec linux-clang CONFIG+=debug CONFIG+=qml_debug<br />Cannot read /home/andrew/sources/qt/qelectrotech-source-mirror/SingleApplication/singleapplication.pri: No such file or directory<br />Project ERROR: sqlite3 development package not found<br />00:36:05: The process &quot;/usr/lib/qt5/bin/qmake&quot; exited with code 3.<br />00:36:05: Error while building/deploying project qelectrotech (kit: Desktop)<br />00:36:05: When executing step &quot;qmake&quot;<br />00:36:05: Elapsed time: 00:00.</p><p>$ dpkg -L libsqlite3-dev<br />/.<br />/usr<br />/usr/include<br />/usr/include/sqlite3.h<br />/usr/include/sqlite3ext.h<br />/usr/lib<br />/usr/lib/x86_64-linux-gnu<br />/usr/lib/x86_64-linux-gnu/libsqlite3.a<br />/usr/lib/x86_64-linux-gnu/pkgconfig<br />/usr/lib/x86_64-linux-gnu/pkgconfig/sqlite3.pc<br />/usr/share<br />/usr/share/doc<br />/usr/share/doc/libsqlite3-dev<br />/usr/share/doc/libsqlite3-dev/changelog.Debian.gz<br />/usr/share/doc/libsqlite3-dev/changelog.gz<br />/usr/share/doc/libsqlite3-dev/changelog.html.gz<br />/usr/share/doc/libsqlite3-dev/copyright<br />/usr/lib/x86_64-linux-gnu/libsqlite3.so</p><p>Maybe qt project file just doesn&#039;t know to look for libs there? its my 1st time using qt creator </p>]]></description>
			<author><![CDATA[null@example.com (andrew)]]></author>
			<pubDate>Wed, 29 Jan 2025 04:32:06 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2885&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Set Config- and Data-Directory to system-specific paths]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2880&amp;action=new</link>
			<description><![CDATA[<p> This thread is a continuation of the topic that started here:<br /><a href="https://qelectrotech.org/forum/viewtopic.php?pid=20844#p20844">https://qelectrotech.org/forum/viewtopi … 844#p20844</a><br />----------------------------</p><p>Salut Laurent !</p><p>I created a patch to set the config- and data-directories to system-specific values.</p><div class="codebox"><pre><code>diff --git a/sources/dxf/dxftoelmt.cpp b/sources/dxf/dxftoelmt.cpp
index f2dd572d8..85ea2534f 100644
--- a/sources/dxf/dxftoelmt.cpp
+++ b/sources/dxf/dxftoelmt.cpp
@@ -21,7 +21,7 @@
 #include &lt;QFile&gt;
 #include &lt;QProcess&gt;
 #include &lt;QMessageBox&gt;
-#include &lt;QDir&gt;
+#include &lt;QStandardPaths&gt;
 
 /**
  * @brief dxftoElmt
@@ -71,13 +71,7 @@ QByteArray dxfToElmt(const QString &amp;file_path)
 
 QString dxf2ElmtDirPath()
 {
-#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
-    return (QDir::homePath() + QStringLiteral(&quot;/Application Data/qet/binary&quot;));
-#elif defined(Q_OS_MACOS)
-    return (QDir::homePath() + QStringLiteral(&quot;/.qet/binary&quot;));
-#else
-    return (QDir::homePath() + QStringLiteral(&quot;/.qet/binary&quot;));
-#endif
+    return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + &quot;/binary&quot;;
 }
 
 /**
diff --git a/sources/main.cpp b/sources/main.cpp
index ed460609f..5eb7efca3 100644
--- a/sources/main.cpp
+++ b/sources/main.cpp
@@ -112,7 +112,8 @@ void myMessageOutput(QtMsgType type,
         txt+= context.function ? context.function : &quot;&quot;;
         txt+=&quot;)\n&quot;;
     }
-    QFile outFile(QETApp::configDir()
+    QFile outFile(QETApp::dataDir()
+              +&quot;/&quot;
               +QDate::currentDate().toString(&quot;yyyyMMdd&quot;)
               +&quot;.log&quot;);
     if(outFile.open(QIODevice::WriteOnly | QIODevice::Append))
@@ -131,7 +132,7 @@ void myMessageOutput(QtMsgType type,
 void delete_old_log_files(int days)
 {
     const QDate today = QDate::currentDate();
-    const QString path = QETApp::configDir() + &quot;/&quot;;
+    const QString path = QETApp::dataDir() + &quot;/&quot;;
 
     QString filter(&quot;%1%1%1%1%1%1%1%1.log&quot;); // pattern
     filter = filter.arg(&quot;[0123456789]&quot;); // valid characters
diff --git a/sources/qet_elementscaler/qet_elementscaler.cpp b/sources/qet_elementscaler/qet_elementscaler.cpp
index 930bae333..b7e362d1e 100644
--- a/sources/qet_elementscaler/qet_elementscaler.cpp
+++ b/sources/qet_elementscaler/qet_elementscaler.cpp
@@ -22,7 +22,7 @@
 #include &lt;QProcess&gt;
 #include &lt;QInputDialog&gt;
 #include &lt;QMessageBox&gt;
-#include &lt;QDir&gt;
+#include &lt;QStandardPaths&gt;
 
 /**
  * @brief QET_ElementScaler
@@ -113,13 +113,7 @@ QByteArray ElementScaler(const QString &amp;file_path, QWidget *parent)
 
 QString ElementScalerDirPath()
 {
-#if defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
-    return (QDir::homePath() + QStringLiteral(&quot;/Application Data/qet/binary&quot;));
-#elif defined(Q_OS_MACOS)
-    return (QDir::homePath() + QStringLiteral(&quot;/.qet/binary&quot;));
-#else
-    return (QDir::homePath() + QStringLiteral(&quot;/.qet/binary&quot;));
-#endif
+    return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + &quot;/binary&quot;;
 }
 
 /**
diff --git a/sources/qetapp.cpp b/sources/qetapp.cpp
index f1211bb47..e7611fd88 100644
--- a/sources/qetapp.cpp
+++ b/sources/qetapp.cpp
@@ -121,7 +121,7 @@ QETApp::QETApp() :
         tr(&quot;Chargement... Initialisation du cache des collections d&#039;éléments&quot;,
            &quot;splash screen caption&quot;));
     if (!collections_cache_) {
-    QString cache_path = QETApp::configDir() + &quot;/elements_cache.sqlite&quot;;
+    QString cache_path = QETApp::dataDir() + &quot;/elements_cache.sqlite&quot;;
 
         collections_cache_ = new ElementsCollectionCache(cache_path, this);
         collections_cache_-&gt;setLocale(langFromSetting());
@@ -620,7 +620,7 @@ QString QETApp::customElementsDir()
             }
         }
 
-        m_custom_element_dir = configDir() + &quot;elements/&quot;;
+        m_custom_element_dir = dataDir() + &quot;/elements/&quot;;
         return m_custom_element_dir;
     }
 }
@@ -657,7 +657,7 @@ QString QETApp::companyElementsDir()
             }
         }
 
-        m_company_element_dir = configDir() + &quot;elements-company/&quot;;
+        m_company_element_dir = dataDir() + &quot;/elements-company/&quot;;
         return m_company_element_dir;
     }
 }
@@ -780,7 +780,7 @@ QString QETApp::companyTitleBlockTemplatesDir()
         return m_user_company_tbt_dir;
     }
 
-    return(configDir() + &quot;titleblocks-company/&quot;);
+    return(dataDir() + &quot;/titleblocks-company/&quot;);
 }
 
 /**
@@ -813,7 +813,7 @@ QString QETApp::customTitleBlockTemplatesDir()
         return m_user_custom_tbt_dir;
     }
 
-    return(configDir() + &quot;titleblocks/&quot;);
+    return(dataDir() + &quot;/titleblocks/&quot;);
 }
 
 /**
@@ -841,21 +841,31 @@ QString QETApp::configDir()
 #ifdef QET_ALLOW_OVERRIDE_CD_OPTION
     if (config_dir != QString()) return(config_dir);
 #endif
-#ifdef Q_OS_WIN32
-    // recupere l&#039;emplacement du dossier Application Data
-    // char *app_data_env = getenv(&quot;APPDATA&quot;);
-    // QString app_data_str(app_data_env);
-    QProcess * process = new QProcess();
-    QString app_data_str = (process-&gt;processEnvironment()).value(&quot;APPDATA&quot;);
-    // delete app_data_env;
-    delete process;
-    if (app_data_str.isEmpty()) {
-        app_data_str = QDir::homePath() + &quot;/Application Data&quot;;
-    }
-    return(app_data_str + &quot;/qet/&quot;);
-#else
-    return(QDir::homePath() + &quot;/.qet/&quot;);
-#endif
+    QString configdir = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
+    if (configdir.endsWith(&#039;/&#039;)) {
+        configdir.remove(configdir.length()-1, 1);
+    }
+    return configdir;
+}
+
+/**
+    @brief QETApp::dataDir
+    Return the QET data folder, i.e. the path to the folder in which
+    QET will find user-collections and user-titleblocks by default
+    specific to the current user. This directory is generally
+    C:/Users/&lt;USER&gt;/AppData/Roaming/&lt;APPNAME&gt;
+    on Windows and
+    ~/.local/share/&lt;APPNAME&gt;
+    under UNIX-like systems.
+    \~ @return The path of the QElectroTech data-folder
+*/
+QString QETApp::dataDir()
+{
+    QString datadir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
+    if (datadir.endsWith(&#039;/&#039;)) {
+        datadir.remove(datadir.length()-1, 1);
+    }
+    return datadir;
 }
 
 /**
@@ -1536,7 +1546,7 @@ void QETApp::useSystemPalette(bool use) {
                 &quot;}&quot;
                 );
     } else {
-        QFile file(configDir() + &quot;style.css&quot;);
+        QFile file(configDir() + &quot;/style.css&quot;);
         file.open(QFile::ReadOnly);
         QString styleSheet = QLatin1String(file.readAll());
         qApp-&gt;setStyleSheet(styleSheet);
diff --git a/sources/qetapp.h b/sources/qetapp.h
index 2f4cdc402..572e2c837 100644
--- a/sources/qetapp.h
+++ b/sources/qetapp.h
@@ -97,6 +97,7 @@ class QETApp : public QObject
         static QETProject *project(const uint &amp;);
         static int projectId(const QETProject *);
         static QString configDir();
+        static QString dataDir();
         static QString languagesPath();
         static QString realPath(const QString &amp;);
         static QString symbolicPath(const QString &amp;);
diff --git a/sources/ui/aboutqetdialog.cpp b/sources/ui/aboutqetdialog.cpp
index b1dc0abc0..f94b62449 100644
--- a/sources/ui/aboutqetdialog.cpp
+++ b/sources/ui/aboutqetdialog.cpp
@@ -208,7 +208,7 @@ void AboutQETDialog::setLicence()
 */
 void AboutQETDialog::setLoginfo()
 {
-    const QString path = QETApp::configDir() + &quot;/&quot;;
+    const QString path = QETApp::dataDir() + &quot;/&quot;;
     QString filter(&quot;%1%1%1%1%1%1%1%1.log&quot;); // pattern
     filter = filter.arg(&quot;[0123456789]&quot;); // valid characters
     Q_FOREACH (auto fileInfo,</code></pre></div><p>As already said in previous post the general configuration-file of QET and the stalefiles are completely managed by Qt-Library-functions. So they are already at system-specific locations. There is no need to touch them with these modifications!</p><p>I uploaded that patch to my fork of QET at <a href="https://github.com/plc-user/qelectrotech-source-mirror">https://github.com/plc-user/qelectrotech-source-mirror</a> and can create a pull-request, if you wish, Laurent.</p><p>@all:<br />Everyone who can compile QET from sources is invited to download, compile and test the software!&nbsp; <img src="https://qelectrotech.org/forum/img/smilies/nomicons/smile.png" width="20" alt="nomicons/smile" /><br />But be aware: <br />The location of configurations, the elements-collections and the titleblocks may (will) have changed!<br />Please give feedback here or at github about your experience!</p><p>Thanks in advance!<br />&nbsp; plc-user </p>]]></description>
			<author><![CDATA[null@example.com (plc-user)]]></author>
			<pubDate>Thu, 23 Jan 2025 18:25:08 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2880&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[EN : Video's programming]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2804&amp;action=new</link>
			<description><![CDATA[<p> EN : Video&#039;s programming</p><br /><p>For translation from youtube<br />I use in firefox : Download Youtube Subtitles </p><p>Youtube<br />Jenny lectures : <a href="https://www.youtube.com/@JennyslecturesCSIT/playlists">https://www.youtube.com/@JennyslecturesCSIT/playlists</a></p><p>And with QT<br /><a href="https://www.youtube.com/@VoidRealms/playlists">https://www.youtube.com/@VoidRealms/playlists</a></p><br /><p>Erik </p>]]></description>
			<author><![CDATA[null@example.com (Re-searcher)]]></author>
			<pubDate>Wed, 21 Aug 2024 09:11:02 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2804&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Need some advice as in what category should I post into?]]></title>
			<link>https://qelectrotech.org/forum/viewtopic.php?id=2803&amp;action=new</link>
			<description><![CDATA[<p> Hello there,</p><p>This is my first post after just joining this discussion, so please forgive me and provide kind assistance if I have posted to the wrong subsection.</p><p>I am new here but a real enthusiast and loving this community so far. I have a background in coding and in technology and feel I could help with documentation, at least for starters.</p><p>As a new member in this forum and wish to share and gain some knowledge. I am looking forward to create my own discussion to resolve my query and gain some knowledge though I have taken part in various discussion which is definitely helped me a lot.</p><p>Also in what category should be taken depends on what factors? </p><p>Thank you in advance. </p>]]></description>
			<author><![CDATA[null@example.com (roberrrttt1)]]></author>
			<pubDate>Tue, 20 Aug 2024 10:33:35 +0000</pubDate>
			<guid>https://qelectrotech.org/forum/viewtopic.php?id=2803&amp;action=new</guid>
		</item>
	</channel>
</rss>
