Commit Graph

2824 Commits

Author SHA1 Message Date
joshua
21c35bc744 Minor improvement at element picture creation
Call once the uuid() method of element location instead of four (and so
parse once time the xml) to store the uuid/picture and uuid/primitive to
hash.
2021-05-14 16:15:49 +02:00
joshua
fd9ab47041 Load project from xml is a little more faster
Like previous commit, in the method loadDiadrams() we call the method
diagramAdded(), in this method we call rebuildDiagramsMap()
updateAllTabsTitle() and these methods operate a loop for each existing
DiagramView.

Now loadDiagrams don't call diagramAdded (which must be used only when
user add a diagram during the use of QElectroTech) but make operations
itself and when all DiagramView are added, call rebuildDiagramsMap()
updateAllTabsTitle() only once.
2021-05-14 15:47:10 +02:00
joshua
0aea48bdaa Open project is a litle more faster
In the methods readDiagramsXml we call addDiagram for each diagrams
loaded from xml, inside the addDiagram method we call the method
updateDiagramsFolioData() and to finish this method operate a loop for
each existing diagram.

Then when we load a project from xml of
10 folios, loop inside updateDiagramsFolioData() is called 55 time.
50 folios, loop inside updateDiagramsFolioData() is called 1275 time.
100 folios, loop inside updateDiagramsFolioData() is called 5050 time.

Now instead of call addDiagram, we add diagram directly inside the
methods readDiagramsXml and call the method updateDiagramsFolioData()
only once when all diagrams are loaded.
2021-05-14 13:38:59 +02:00
joshua
ffabeb9caa Avoid excessive debug outputs
Avoid excessive debug outputs when terminal type doesn't exist (99.99%
of actual elements collections).
2021-05-13 20:48:56 +02:00
joshua
12c0dbd8d1 Minor gui change 2021-05-11 18:20:19 +02:00
joshua
74dcf96e4b Element editor: make element text option "keep visual rotation" editable. 2021-05-08 22:14:15 +02:00
joshua
09c0929040 Element editor gui fix
When select a primitive an unparented windows appear and can't be
deleted. Fix it.
2021-04-30 20:27:24 +02:00
Laurent Trinques
7312d06cc4 Minor 2021-04-30 11:52:44 +02:00
Laurent Trinques
5c75bc4194 OSX update qet_tb_generator PATH to python 3.9 2021-04-30 11:34:32 +02:00
Laurent Trinques
760a1f6c43 Try to improve HIGHDPI_SCALING 2021-04-21 09:38:48 +02:00
joshua
b6cfc8c755 Improve element collection loading time
According to Qt creator flame graph, call QSettings take lot of time.
When loading the element collection, each items of the collection get
the current language by calling the function QString
QETApp::langFromSetting().
This function instantiate a QSettings object each time and take a lot of
time.
Now the QSettings is instantiate only at the first call, and the value
is stored in memory, then all other call of the function don't
instantiate a QSettings, but just return the value in memory.
2021-04-18 20:03:13 +02:00
joshua
5a8197b2b3 Element query widget : make code more readable 2021-04-11 14:08:21 +02:00
joshua
c1169f0e04 Element nomenclature sql query minor fix
Filter "is empty" don't work for any case :
We must to filter for NULL and empty string then replace the sql
sentence "value IS NULL" by "(value IS NULL OR value = '')"
2021-04-11 14:03:02 +02:00
joshua
794af49a3a Element nomenclature SQL query : minor fix
the filter "is not empty" in nomenclature don't work for every case.
Replace SQL sentence "IS NULL" by "!= ''" because an empty string is not
a NULL value string, but a NULL value string is like an empty string
2021-04-11 12:39:38 +02:00
joshua
7cb47f3b9e Fix unwanted moving part in element editor.
Fix an unwanted behavior when the properties dock widget is displayed :

1 there is no selection
2 the dock widget width is set to minimum
3 select a part, the dock widget gain new widgets used to edit the
current selected part and the width of the dock grow so the width of the
QGraphicsView is reduced and cause a mouse move event.
When this case occur the part is moved but they should not.
2021-04-07 12:56:43 +02:00
joshua
9db15f91e7 Improve gui layout for low resolution screen 2021-04-07 12:34:56 +02:00
joshua
7f5b446fc9 Use QStringLiteral and QLatin1String. 2021-04-02 19:16:32 +02:00
joshua
8960981f09 Use QStringLiteral and QLatin1String. 2021-03-30 20:48:56 +02:00
joshua
f2f50084e0 Use QStringLiteral and QLatin1String.
According to the Qt documentation
(https://doc.qt.io/qt-5/qstring.html#QStringLiteral)
(https://woboq.com/blog/qstringliteral.html), use QStringLiteral and
QLatin1String is better on some conditions (faster).
This commit change the code related to the loading of a project (in
qetproject class), let see if loading time is improved.
2021-03-30 19:59:14 +02:00
joshua
d53bb22509 Make MachineInfo a singleton class
Because on windows MachineInfo take a little time to init, we make it to
a singleton.
MachineInfo is build the first time in main.cpp.
Now all other places where we use MachineInfo (aboutqetdialog and
configdialog) gui don't hang anymore in waiting to MachineInfo finish to
build.
2021-03-22 19:20:07 +01:00
joshua
3d25beaea0 Rename class Machine_info to MachinInfo
Rename to follow the code style of QElectroTech
2021-03-22 19:01:46 +01:00
Joshua Claveau
7de810bac4 little fix 2021-03-21 19:06:12 +01:00
Joshua Claveau
1b6cf7d5f3 Project properties dialog launch a little more faster (especially on windows)
Instead of build machine_info class which take time, only to get the max
width and height of screens, call  of methods
Machine_info::i_max_screen_width() and
Machine_info::i_max_screen_height() are now static and compute only
this.
The project properties dialog is now faster because don't wait the end
build of machine_info.
2021-03-21 19:01:54 +01:00
Joshua Claveau
6cf79e6e75 Qet start a little more faster (especially on windows)
Machine_Info class take time on windows even in powerful computer.
Run the machine_info in main.cpp in parallel into another thread.
2021-03-21 18:36:03 +01:00
joshua
44db25e76b Add user properties class
Add a specific class for user properties instead of embedded user
properties in properties interface.
2021-03-11 21:39:57 +01:00
joshua
d5df9703d0 Add new XML function 2021-03-11 20:20:07 +01:00
joshua
11b8ef927b Revert "Merge branch 'XMLPropertiesNew'"
**Break a lot of thing.**

This reverts commit 1db1800572, reversing
changes made to 4c563821e8.
2021-03-11 19:52:50 +01:00
joshua
83b69253dc Revert "fix compile error"
This reverts commit b181311162.
2021-03-11 19:49:46 +01:00
joshua
b96eff00ef Revert "Fix for cmake"
This reverts commit 4051bbd309.
2021-03-11 19:49:32 +01:00
Laurent Trinques
4051bbd309 Fix for cmake 2021-03-11 07:59:54 +01:00
Martin Marmsoler
b181311162 fix compile error 2021-03-10 19:12:00 +01:00
joshua
1db1800572 Merge branch 'XMLPropertiesNew' 2021-03-09 19:09:31 +01:00
joshua
001e93bc6f Forgoten revert ToXml() 2021-03-09 18:43:03 +01:00
Martin Marmsoler
6e17996d37 fix problem that default conductor is not found 2021-03-08 20:48:23 +01:00
Simon De Backer
4c563821e8 [Qt6] ad QCloseEvent to Widgets 2021-03-07 20:23:07 +01:00
Simon De Backer
a4872bf686 [Qt6] mod QRegExp to QRegularExpression
note ad Core5Compat to Cmake
2021-03-07 20:21:39 +01:00
Simon De Backer
332d978043 [QT6] QtConcurrent its backwards now...function, object, args 2021-03-07 19:58:49 +01:00
Martin Marmsoler
755bcf640d fix conductor properties xml load 2021-03-07 14:07:47 +01:00
joshua
38a825865c Fix ftbfs on debian buster 2021-03-07 12:18:30 +01:00
Martin Marmsoler
5d3710c4b2 copy all toXML() from master commit 4b82c3a0c4 into the current branch, because the new concept will be used only for user properties 2021-03-07 10:09:45 +01:00
Martin Marmsoler
058824f29a move all static xml functions to qetxml 2021-03-06 20:01:31 +01:00
joshua
4b82c3a0c4 Fix crash
Fix crash for a special case (the first time since qet exist) when a
conductor have all segments to 0 in the .qet file.
See https://qelectrotech.org/forum/viewtopic.php?id=1964
2021-03-06 15:17:10 +01:00
Martin Marmsoler
ea793125a5 move m_change_connections to ElementItemEditor, so it must not be defined by every editor it self 2021-03-05 20:59:36 +01:00
Martin
bc88f2ec2e reimplement Priv function, so the ElementEditor gets called automatically 2021-03-05 17:38:51 +01:00
Martin
6887c543da add possibilities to fill the userProperties 2021-03-05 07:56:35 +01:00
Martin Marmsoler
51ed21f9ef Merge commit 'b021ac3e1fb98a56810773c7c701e3329efb3148'
Conflicts:
	sources/qetgraphicsitem/element.h
2021-03-04 21:31:55 +01:00
Martin Marmsoler
221773ea8a fix some issues 2021-03-04 21:25:04 +01:00
Martin Marmsoler
9d4b90da1a Add userProperties 2021-03-04 19:18:28 +01:00
joshua
faf4235bed Terminal element info
Provide only useful information for terminal
2021-03-03 21:28:22 +01:00
joshua
0424eb9fba Mark deprecated method 2021-03-01 22:17:58 +01:00