The current make_layer function has a `None` default for the shape color and the line color. With that value the current preference is used. This, and how the function is called, results in some confusing behaviors:
* Newly created layers will only use 2 values from the preferences when they might use 5. The latter makes more sense for the end-user IMO.
* Layers created during DXF import (for example) will have a different shape color depending on the current preferences.
* The make_layer function may reapply colors that have already been set by the view provider.
To solve this all view property related function parameter have been changed to a not None value. If a None value is supplied the view property as set by the view provider is not changed. The Layer Manager has been updated accordingly.
I realize that calling a function with 6 None values is not very convenient, but think it is the solution that is least likely to break other exiting code.
Additionally:
* Removed the makeLayer function. Layers were introduced in V0.19 when the naming scheme was changed to "make_*". Maybe it was created by mistake, or before the actual renaming operation started, but it is safe to remove it now.
* Removed overly verbose messages.
* gui_layers.py had a missing import (result of a previous V0.22 PR): `from draftutils import utils`.
* Preferences: modernize for loop in DlgSettingsEditor.cpp
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
* Preferences: modernize for loop in DlgSettingsEditor.cpp
added textType and textColor variables to unpack range-for loops iterators
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
* Update src/Gui/PreferencePages/DlgSettingsEditor.cpp
Minor linter updates, as suggested
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* Update src/Gui/PreferencePages/DlgSettingsEditor.cpp
Minor linter updates, as suggested
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
---------
Signed-off-by: CalligaroV <vincenzo.calligaro@gmail.com>
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
In order to make getNameInDocument() always return a valid string,
we implement a getDagKey() method that shall be used instead of getNameInDocument()
when we want to use the pointer value as a "key" to identify the DocumentObject.
This fixes problem with scroll jumping after selecting page on bottom of
the pages tree view. It was caused by collapsing group of the current
item and then re-expanding it few lines after.
Fixes: #12000