If the user tries to add a sub project the decision for the
parent project must happen directly on the intro page
to avoid asking for build system or kit information later on.
Any of these information are provided by the parent project
and can therefore be skipped in case of having a sub project.
So, move this decision to the first page and on the last page
only let the user decide to which sub node of the chosen
project the new project will be added to.
The old approach set the IsSubproject marker quite too late
to handle this appropriate, so explicitly set this already
on the first page.
For now there should be only qmake based projects which are
capable of adding sub projects at all, but this patch should
be a generalized preparation for having similar functionality
in other build systems.
Fixes: QTCREATORBUG-30281
Change-Id: I8f1de4fa05f46d68ac2ddec788840d473adb015e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
JsonWizardFileGenerator's path member variables become FilePath and
GeneratedFile gets the QString based file setter and getter removed.
Also, a couple of other function parameters become FilePath. TODOs notes
added for further changes.
Change-Id: Ic4b791ed71c3c03adb8f15771e2dfa9af593abd8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
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>
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.
Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Use unique_ptr for all *Private classes, except for those
in singletons.
Change-Id: Ib56c31ddedc6e9cf321f15de1f1e697a27ad4089
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
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>
... and do cleanups that are enabled by that change (e.g. remove
signal/slot macros)
Change-Id: I70c09ceb255398865c2b6fabf35ade8557116a08
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Implement it instead where it is needed.
Change-Id: If7f76bcfa82705936b555a5ebfc221978c70e106
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
The side-effect is that WizardEventLoop can go!
Change-Id: I0eae0e0fa91a48e2a5010b47cc0de86758969904
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
That method was used to set a title in the progress view of the wizard
that is different from the page title. That is used exactly once and
there it adds more confusion than it helps. So get rid of the whole
thing.
Consistently set the "shortTitle" property instead for all wizards
that want to have a separate short title.
Change-Id: Ia4881e9c00891058629491f9e9de4ac421c59727
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Introduce BaseFileWizard and derive all File Wizards from that.
Change BaseFileWizardFactory::create(...) to return a BaseFileWizard.
Change-Id: Ic0cb9e9d0390045dab57cd1a75a0f839c1f90216
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
QTBUG-28385 is biting us over and over (QWizard doesn't have close
button nor cancel button on Mac in Qt 5), and actually there's no reason
for us having a wizard without the features from Utils::Wizard.
Task-number: QTCREATORBUG-10346
Task-number: QTBUG-28385
Change-Id: I80c0d82fe6738496c2ac03c31a1c2757ade8e266
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."
Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
This patch allows a wizard to choose a "parent" project
already in the intro page.
Change-Id: Id7b010ba43f3a6aa723e5ced865a4afe96d6e40a
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
And adapt the other API respectively.
Change-Id: I1e04e555409be09242db6890f9e013396f83aeed
Reviewed-by: Bill King <bill.king@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
I moved setPath(wizardDialogParameters.defaultPath()) into
the constructor of BaseProjectWizardDialog.
I created addExtensionPages() instead of having of having the
foreach everywhere. Moving the call into the constructor of
BaseProjectWizardDialog is not trivial since a lot of derived classes
rely on execution order and the order is often different.
Entangling this is not trivial and easily might break functionality.
Change-Id: I48dddaf72caea84da783dc9e2f42f2c7eff1c0ce
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This patch introduces platforms as a top level topic when choosing
a wizard. Also I changed the categories and priorities.
Details:
1. I did change the way the dialog/view is structured in newdialog.cpp
2. I added platformName() and supportsPlatform() to BaseQtVersion.
I needed two functions because the Simulator does not provide a platform
and therefore has no platformName but supports two platforms.
I still have to turn the platform names into proper constants.
3. I changed the categories and priorities to get the layout that was
discussed. (I had to touch quite alot of files but this is mostly trivial)
4. I added a combobox that allows filtering for platforms.
5. I added flags() to IWizard to indicate that a wizard is platform independent.
Change-Id: I86c7ad628a431ad06505c76580885c6e6c3ddc23
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
The Wizards itself (derived from IWizard) and the dialogs
implementing the wizards were quite discoupled.
Since I want to add parameters that are delivered from
IWizard::run to the dialog a I added WizardDialogParameters.
Examples of paramters I want to add are the choosen platform
and the choosen subOption/template for this wizard.
Change-Id: I9c0ae2901e3d46d3c36a3f433f4d7d508a6ba74e
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>