The Key encapsulates now a QByteArray.
Plan is to use QByteArray::fromRawData on literals, but that's not
active yet due to an unclear ASAN report, see the gerrit discussion.
For now we also paddle back when interfacing QSettings, instead of mimicing
writing a QVariantMap (and fail in some corners), always convert
the Store. This is meant to go away in the future when code paths
are better controled.
Change-Id: Id1206a434d511f8003903d5322c7c9bd5f5fb859
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Previously the undo state was not updated when the value
was set from the outside before the gui model was setup.
Change-Id: I380916f888edd120f512089bdb94762977c11978
Reviewed-by: hjk <hjk@qt.io>
QLineEdit::textEdited is only called when the user types.
It is not triggered if the text changes due to undo/redo.
QLineEdit::textChanged is triggered for all changes.
We also have to make sure that we don't call
QLineEdit::setTextKeepingActiveCursor unnecessarily
as that would clear the undo/redo stack of the QLineEdit.
Change-Id: I19562d0804e6a34b11f19e86abd256a807e147d6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This reverts commit cd8bc98e52.
Reason for revert: Breaks compilation
Change-Id: I27ef9b718adf8cd4b8ac72e77161515ff637bd6e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Added a new, clean IconButton that mimiks the ToolButton
with the compact/relaxed background.
Change-Id: I582c6aac404724af5459bab2ca9023aa63171f93
Reviewed-by: hjk <hjk@qt.io>
Removes duplicate m_autoApply from AspectContainerPrivate.
Fixes issue when calling BaseAspect::setAutoApply()
on an AspectContainer.
Change-Id: I5f56d8d3c6d52d32c9365faf3d0e22facb757f03
Reviewed-by: hjk <hjk@qt.io>
Changes a few remaining QSettings members that popped
up when trying to build with "apt-get" Qt 6.2.4.
Change-Id: I3caa8545cf02d6453b802559c2f65279e1fb63fd
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This sets the unexpanded value, so going to a "cooked" FilePath can
at least theoretically break. On the user side it saves a
roundtrip in a few cases, but is more ugly when the input is already
a proper FilePath.
Change-Id: I8a7e8f6d46fcc34c96b55e41d656dca933fbef4e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This was pretty much ad-hoc so far. Now do the actual value proliferation
inside the aspect first and collect information on what changed. Signal
changes in the end centrally. At that time the aspect internal state is
consistent again.
Additional design desision implemented here: setDefaultValue and
fromMap/readSetting do _not_ signal, user code with unusual needs
has to check on its own.
Change-Id: I1e46282558e014f51933d1044a72bf5c67437ec5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
In BoolAspect. Felt a bit too descriptive by now.
Change-Id: I0cf2eb88576da3d3741d146a8274cf8a85bc7c83
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Instead use setParent in the two cases that use it. The parent gets
in the way when attempting to derive AspectContainer from BaseAspect.
Change-Id: I6079beb0e00334133da115b714bc5186064c6722
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
... without subclassing. This is useful in situations where there
are small modifications needed for simple aspects that are themselves
exposed as members of an aspect container in a header but we
don't want to create a subclass for it.
Change-Id: I058643137c38e564072af9a2f45b1576ea058651
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
The patch was done by
- duplicating StringAspectPrivate to FilePathAspectPrivate
- basing FilePathAspect on TypedAspect<QString>,
duplicating the needed used parts of StringAspect interface
and implementation
- dropping m_pathChooserDisplay from StringPathAspectPrivate and
all other *displays from FilePathAspect private
- remove related things until it compile
- remove now unused members in the privates.
Change-Id: I6ad710135dc4d3fc2f48bb620b502c20e717aa42
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Will be used for e.g. valgrinds error categories. These are handled
by actions in a menu outside the settings page mechanism.
Change-Id: I2dea9b9f13dbc92fa3e9938f85aa083d01d0d99b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
We will need it twice when the FilePathAspect is fully separate.
Change-Id: Ief69af0e1167d5ca5c770c3cbd16fdafa16114f7
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This is meant to be the "internal", raw, unexpanded value that does not
necessarily match a scheme://host/path pattern before expansion.
Change-Id: I627afbe1e9682d85c5bb04542c7354760ba9a13f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Helps to make it easier to reason about the necessity of emitting
*changed signals.
Change-Id: Ieab29b25f5cc2799e193417b9cab02c99501c60a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Currently and long-term synonym for operator(), to be used in
cases where (*this)() or such looks ugly.
Change-Id: I3f70ecd3298a1df394a0e3cc593917b4c7d36d82
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Make usages of QList consistent. In some cases the
declaration contained QVector arg, while the definition
had QList arg.
Remove some unneeded includes of QList.
Change-Id: I7c15b39f261cefdeec6aaaf506ff4cc981432855
Reviewed-by: hjk <hjk@qt.io>
Otherwise we may fail to hide widgets of aspects that are explicitly
set invisible while construction.
Change-Id: I2679c8fa22e79e4eb32ca5ae4266010d8cf9387d
Reviewed-by: hjk <hjk@qt.io>
Do not give them the QSettings object that has SystemScope.
Also rename the "globalSettings" term to "installSettings" locally and
in PluginManager, and the one for aspects to just "setSettings" (like
e.g. for TerminalCommand).
Change-Id: Iad051f6e507373042014db73b83d0b16944b7374
Reviewed-by: hjk <hjk@qt.io>