QDS uses hidden wizards as backend for the New Project dialog.
When creating a hidden wizard we shouldn't add window support for it.
Change-Id: I28e8848f654f2fdee4e00a4906aa3d82b96ee786
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Turn the current un-themed icons into icon masks which now get recolored
according to the current theme.
Change-Id: I435f9a43dae04797ad0b948992f77179d93164a8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Wizard json files can now define via
"iconKind" : "Themed"
that the provided icon is a themable mask rather than a plain image.
Change-Id: I668b7fe368b6989f3609143b22270cb8cec21b12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
A QPainter on a QPixmap behaves differently on Qt 5 and 6 when it comes
to the pixmap's devicePixelRatio. On Qt6/DPR>1, the text in this code
would be rendered outside the pixmap. Forcing the DPR of the pixmap
to 1 while rendering the text fixes the issue.
Since I cannot test on all platforms, nor have a multi monitor setup
with different scalings, I added some cargo cult code which resets the
original DPR after rendering. Just to be on the safe side.
Fixes: QTCREATORBUG-26315
Change-Id: I32ce78a45d52a4c75eb437574b925c85b9295402
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Make setting the icon and the text atomic, and move the text drawing
code to iwizardfactory.cpp. That simplifies things such as setting the
fallback icon.
Also, it enables the upcoming theming of wizard icons.
Change-Id: Ieb803eba52a659b3278b29db32838d9b41d73cb6
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* We need the showing of the Wizard dialog to be optional
* Each wizard has a "detailsPage.qml" file that stores wizard-specific
UI configuration. We need a way to access that path (QUrl) from QDS.
* ComboboxField is used directly by QDS, and the field object is
fetched by a call to JsonFieldPage::jsonField() - hence, the
ComboboxField needs to be dllexported. We need to access fields
directly from QDS because the QML controls use those fields as backend.
* From QDS we need to select / activate in a combobox field, and to see
which item is current (activated). We also need to make use of the
model that the ComboBoxField uses in order to show those same items in
the qml controls of QDS.
* From QDS we need to set the text in a LineEditField
Task-number: QDS-4490
Change-Id: Ia42d539a5bcbf3dff4593fb027ac18c52da4d046
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
... and let the fallout trickle down a bit.
Change-Id: I1a2f79e281725c4a121cc2fbbc0377e881616ce5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
readability-make-member-function-const finds lots of member functions
that could be made const. This change just picks getter functions that
really should be const.
readability-convert-member-functions-to-static finds non-static member
functions which do not access this. This change turns most of them
into static ones, but leaves some non static to keep the class API
consistent.
Change-Id: I004d6f7fab4375f9902f940f29b4a4f561fc7604
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The coreplugin/id.h header is kept for downstream for now.
Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Also, add context to connect() expressions where we are or were
capturing "this".
Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
E.g. only show wizards that can create qmake projects when
contining after a SUBDIR-project wizard.
Change-Id: Ib189b1efa479f5b986fdec8658715245e2f2db40
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Fix fallout of this in KitInformation/Kit/KitManager and the wizards.
Change-Id: I5cb88cc381dc04409401909b810940ab6dccf86a
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Use Core::Id for Feature and QSet<Core::Id> for FeatureSet.
Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd
Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
The subdirs wizard tries to re-run the NewItemDialog to add
subprojects to the qmake SUBDIRS template it created.
Make this work again.
Task-number: QTCREATORBUG-15057
Change-Id: If5c61970afb3bb4507d4a7de7dde1a6e7078c29a
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
Add an action to trigger it (not bound to any key sequence
by default).
Change-Id: I52ed9107fcbcb8c6b5ae1e4c4768250e405e141a
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
The side-effect is that WizardEventLoop can go!
Change-Id: I0eae0e0fa91a48e2a5010b47cc0de86758969904
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
That is block the New file or project action.
Change-Id: Ic7bb6013fce02fdcdd5c86b70ba5428218597a40
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This information is only available via pluginFeatures() now.
Change-Id: I4945933288e492578dafc2600eb8f77f0ee43cb3
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This needs the patch that splits features and plugins in the json wizard
and makes sure that the requiredFeatures are ignored by the "All templates"
selector in the NewDialog while the "enabled" statement of the JSON
wizard still takes effect.
Change-Id: I76fd5d72a73af064cf5047a6a43aec6598f675bf
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
Now that we have the infrastructure to handle both separately it makes
no more sense to merge them.
Change-Id: Ia2694eef60c0fe17b025e4d6766c7a8f775513f5
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com>
This will make the custom and the json wizard scan for their files
the next time all wizards are requested.
Change-Id: Ibe1ed3f838d1c177e9bbf91ed0eae49028f671cd
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Do not use the object pool to hold potential wizards. Register
FactoryCreator functions with IWizardFactory instead and use
those to create the wizards when necessary.
This saves us a couple of cycles during startup since we can now
delay construction of all wizards and it makes us more flexible
wrt. managing the lifecycle of the wizard factories.
Change-Id: I95d6a6dfcdf0fd995e1934a9fefcd96c6a676753
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
and avoid putting those objects into the object pool.
Change-Id: I46c5ed93a9e80532b3cbd7dba2e52b28b1595aa3
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Get rid of IFeatureProviders that are only telling the wizard factory
that a plugin was loaded.
Change-Id: Id12c669974a6ab98036f070e1adcae35b34ca376
Reviewed-by: Eike Ziller <eike.ziller@digia.com>