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>
Accessing gui elements is very aspect-specific, whereas the
rules when and how values are synchronized are rather general.
Splitting the two concepts and having a permanent 'buffer' area
that is synchronized with the gui elements if and only if they
have been created helps to keep the boilerplate needed per-aspect
at a minimum.
This value could also serve as "model" in case we wanted to allow
multiple "views" in different places of the gui onto that aspect.
Change-Id: I34832512b99c53cb0e4df437ee9b4c5d17a2ad8f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Amends 6b6b1198dd
The commit above made sure that the display of the dialog was in sync
with the checkbox in the settings dialog.
Now also the "Do not show again" checkbox in the messagebox will be
reflected in the settings dialog.
Change-Id: Ieb186b134adac09c9846a64144056b3b89d297d8
Reviewed-by: hjk <hjk@qt.io>
Will help to set up macroexpanders with less boiler plate.
Change-Id: I521af3dc9d49524cf855e82eecc0132d1bcc40db
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... by introducing "proper" FilePathAspect::value() (and therefore
hiding the inherited StringAspect::value(() and a temporary stringValue()
for the transition period for the remaining users of the QString value.
Change-Id: I40cf4238a09a9009cda0decba1acac82bd730233
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
... from StringAspect to FilePathAspect.
Task-number: QTCREATORBUG-29167
Change-Id: I6fc3bc22f905825443ebc31ebe44e7c27fdbcb56
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Generally, aspects should use fromMap/toMap, but some older pages
use {from,to}Settings with always the same ICore::settings().
To make that less intrusive on the user code side, make that globally
implicit.
Task-number: QTCREATORBUG-29167
Change-Id: I29a8e23a31eb8061bb143e93931a07c6741eb7f9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
... instead of StringAspect::setDefaultFilePath.
Closer to the intended uniform access.
Task-number: QTCREATORBUG-29167
Change-Id: I87df385ef98873a0955010149a9a9b09a5f29daf
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
`BoolAspect::checkableDecider` was used only in CMakeProjectManager for
askBeforePresetsReload and askBeforeReConfigureInitialParams.
Now the checkbox with "Ask before presets reload" would also match with
the display of the message box.
Change-Id: I45fc7a977dbeb13df051375bd3dac36e7be7bdc4
Reviewed-by: hjk <hjk@qt.io>
Changes FancyLineEdit to accept two types of validation functions:
AsyncValidationFunction, which returns a QFuture and takes the new text,
or SynchronousValidationFunction.
Especially PathChooser is changed to use async validation function to
improve snappyness of settings pages that do heavy validation,
for instance the Debugger page.
Change-Id: I1677e7d8acc29e36c69a867850304b7913e6ae7e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This avoids some repetition and could be a step towards
having type storage in (or rather accessible from) the base,
so we can have aspects for more complex data (treemodels...)
that are not easily converted to QVariant.
Change-Id: I9797b3d5646195705212db1830d2b415291ac651
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Most aspect containers end in a widget at some time. Let them declare
how.
The optionspages don't need a layouter anymore when using their
settings' one. There was only one case where there was none, fix
that one (perforce).
Change-Id: Ibd39bcd4af98c3eae1daafa59f6c1d6e7a571989
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Validation makes only sense if the placeholder is similar to
the actual contents, like a file path, not for explanatory text.
Amends 3dcdbe9.
Change-Id: I81ff7a3cf72f28c0fe49824b574b0997ada2d09b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
After an update of Qt dev the following code in Creator fails to compile with
/data/dev/creator-out/src/libs/utils/aspects.cpp: In member function ‘void Utils::IntegersAspect::setValue(const QList<int>&)
/data/dev/creator-out/src/libs/utils/aspects.cpp:2323:35: error: no matching function for call to ‘transform(const QList<int>&, <unresolved overloaded function type>)’
2323 | BaseAspect::setValue(transform(value, &QVariant::fromValue<int>));
Work around by using a lambda.
Change-Id: Id5a844e7e5fe1846c4904dbad21472743439c4da
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Add the necessary contructor to TriStateAspect, too.
Change-Id: Ieb0f19cdf95f7492380d7c4e5663f455e4da3452
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Currently this luckily conincides with the register/addAspect schism
but that's not necessarily true in the future.
Change-Id: I05a59d74182dbdf81193ebd790d6f9bab2d30439
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This is identical in remaining functionality to AtCheckBox after
the recent layout builder changes (or rather, can be adjusted on
the layouting side by having appropriate empty cells)
Task-number: QTCREATORBUG-29167
Change-Id: Ic357de6fb756acb5926afe1fd361ee4b18b17afd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The HTML generator adds it automatically and qdoc warns about it.
Change-Id: I3917d7d23b16446e28ce7bfeb8f9195f21efd7fc
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This removes the need to manual 'registerAspect' calls in most cases.
Whether the containers owns the registered aspects or just references
them is still determined by AspectContainer::setOwnsSubAspects()
Change-Id: Iadd17c919287f625bf5eb4964de4149d4da5a0f9
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>