Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
e9e84fc1
Commit
e9e84fc1
authored
Mar 29, 2010
by
Tobias Hunger
Browse files
Update wizards to use targetsetuppage
parent
2319f57c
Changes
10
Hide whitespace changes
Inline
Side-by-side
src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -52,7 +52,7 @@ CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName,
setIntroDescription
(
tr
(
"This wizard generates a Qt4 Designer Custom Widget "
"or a Qt4 Designer Custom Widget Collection project."
));
addTarget
s
Page
(
BaseQt4ProjectWizardDialog
::
desktopTarget
());
addTarget
Setup
Page
(
BaseQt4ProjectWizardDialog
::
desktopTarget
());
m_widgetPageId
=
addPage
(
m_widgetsPage
);
m_pluginPageId
=
addPage
(
m_pluginPage
);
...
...
src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -52,7 +52,7 @@ ConsoleAppWizardDialog::ConsoleAppWizardDialog(const QString &templateName,
"provide a GUI."
));
addModulesPage
();
addTarget
s
Page
();
addTarget
Setup
Page
();
foreach
(
QWizardPage
*
p
,
extensionPages
)
addPage
(
p
);
...
...
src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -45,7 +45,7 @@ EmptyProjectWizardDialog::EmptyProjectWizardDialog(const QString &templateName,
setIntroDescription
(
tr
(
"This wizard generates an empty Qt4 project. "
"Add files to it later on by using the other wizards."
));
addTarget
s
Page
();
addTarget
Setup
Page
();
foreach
(
QWizardPage
*
p
,
extensionPages
)
addPage
(
p
);
...
...
src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -62,7 +62,7 @@ GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName,
"and includes an empty widget."
));
addModulesPage
();
addTarget
s
Page
();
addTarget
Setup
Page
();
m_filesPage
->
setFormInputCheckable
(
true
);
m_filesPage
->
setClassTypeComboVisible
(
false
);
...
...
@@ -110,12 +110,11 @@ GuiAppParameters GuiAppWizardDialog::parameters() const
rc
.
formFileName
=
m_filesPage
->
formFileName
();
rc
.
designerForm
=
m_filesPage
->
formInputChecked
();
rc
.
isMobileApplication
=
true
;
QSet
<
QString
>
targets
=
selectedTargets
();
if
(
targets
.
contains
(
QLatin1String
(
Constants
::
MAEMO_DEVICE_TARGET_ID
)))
{
if
(
isTargetSelected
(
QLatin1String
(
Constants
::
MAEMO_DEVICE_TARGET_ID
)))
{
rc
.
widgetWidth
=
800
;
rc
.
widgetHeight
=
480
;
}
else
if
(
t
arget
s
.
contains
(
QLatin1String
(
Constants
::
S60_DEVICE_TARGET_ID
))
||
t
arget
s
.
contains
(
QLatin1String
(
Constants
::
S60_EMULATOR_TARGET_ID
)))
{
}
else
if
(
isT
arget
Selected
(
QLatin1String
(
Constants
::
S60_DEVICE_TARGET_ID
))
||
isT
arget
Selected
(
QLatin1String
(
Constants
::
S60_EMULATOR_TARGET_ID
)))
{
rc
.
widgetWidth
=
360
;
rc
.
widgetHeight
=
640
;
}
else
{
...
...
src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -146,7 +146,7 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName,
// Use the intro page instead, set up initially
setIntroDescription
(
tr
(
"This wizard generates a C++ library project."
));
m_targetPageId
=
addTarget
s
Page
();
m_targetPageId
=
addTarget
Setup
Page
();
m_modulesPageId
=
addModulesPage
();
m_filesPage
->
setNamespacesEnabled
(
true
);
...
...
src/plugins/qt4projectmanager/wizards/qtwizard.cpp
View file @
e9e84fc1
...
...
@@ -30,10 +30,11 @@
#include "qtwizard.h"
#include "qt4project.h"
#include "qt4projectmanager.h"
#include "qt4projectmanagerconstants.h"
#include "qt4target.h"
#include "modulespage.h"
#include "targetspage.h"
#include "targets
etup
page.h"
#include <coreplugin/icore.h>
#include <cpptools/cpptoolsconstants.h>
...
...
@@ -164,7 +165,7 @@ QWizard *CustomQt4ProjectWizard::createWizardDialog(QWidget *parent,
initProjectWizardDialog
(
wizard
,
defaultPath
,
extensionPages
);
if
(
wizard
->
pageIds
().
contains
(
targetPageId
))
qWarning
(
"CustomQt4ProjectWizard: Unable to insert target page at %d"
,
int
(
targetPageId
));
wizard
->
addTarget
s
Page
(
QSet
<
QString
>
(),
targetPageId
);
wizard
->
addTarget
Setup
Page
(
QSet
<
QString
>
(),
targetPageId
);
return
wizard
;
}
...
...
@@ -182,7 +183,7 @@ void CustomQt4ProjectWizard::registerSelf()
BaseQt4ProjectWizardDialog
::
BaseQt4ProjectWizardDialog
(
bool
showModulesPage
,
QWidget
*
parent
)
:
ProjectExplorer
::
BaseProjectWizardDialog
(
parent
),
m_modulesPage
(
0
),
m_target
s
Page
(
0
)
m_target
Setup
Page
(
0
)
{
init
(
showModulesPage
);
}
...
...
@@ -192,15 +193,15 @@ BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage,
int
introId
,
QWidget
*
parent
)
:
ProjectExplorer
::
BaseProjectWizardDialog
(
introPage
,
introId
,
parent
),
m_modulesPage
(
0
),
m_target
s
Page
(
0
)
m_target
Setup
Page
(
0
)
{
init
(
showModulesPage
);
}
BaseQt4ProjectWizardDialog
::~
BaseQt4ProjectWizardDialog
()
{
if
(
m_target
s
Page
&&
!
m_target
s
Page
->
parent
())
delete
m_target
s
Page
;
if
(
m_target
Setup
Page
&&
!
m_target
Setup
Page
->
parent
())
delete
m_target
Setup
Page
;
if
(
m_modulesPage
&&
!
m_modulesPage
->
parent
())
delete
m_modulesPage
;
}
...
...
@@ -209,7 +210,6 @@ void BaseQt4ProjectWizardDialog::init(bool showModulesPage)
{
if
(
showModulesPage
)
m_modulesPage
=
new
ModulesPage
;
m_targetsPage
=
new
TargetsPage
;
}
int
BaseQt4ProjectWizardDialog
::
addModulesPage
(
int
id
)
...
...
@@ -223,18 +223,26 @@ int BaseQt4ProjectWizardDialog::addModulesPage(int id)
return
addPage
(
m_modulesPage
);
}
int
BaseQt4ProjectWizardDialog
::
addTarget
s
Page
(
QSet
<
QString
>
targets
,
int
id
)
int
BaseQt4ProjectWizardDialog
::
addTarget
Setup
Page
(
QSet
<
QString
>
targets
,
int
id
)
{
m_targetsPage
->
setValidTargets
(
targets
);
if
(
!
m_targetsPage
->
needToDisplayPage
())
m_targetSetupPage
=
new
TargetSetupPage
;
QList
<
TargetSetupPage
::
ImportInfo
>
infos
=
TargetSetupPage
::
importInfosForKnownQtVersions
(
0
);
if
(
!
targets
.
isEmpty
())
infos
=
TargetSetupPage
::
filterImportInfos
(
targets
,
infos
);
m_targetSetupPage
->
setImportDirectoryBrowsingEnabled
(
false
);
m_targetSetupPage
->
setShowLocationInformation
(
false
);
if
(
infos
.
count
()
<=
1
)
return
-
1
;
if
(
id
>=
0
)
{
setPage
(
id
,
m_targetsPage
);
return
id
;
}
return
addPage
(
m_targetsPage
);
m_targetSetupPage
->
setImportInfos
(
infos
);
if
(
id
>=
0
)
setPage
(
id
,
m_targetSetupPage
);
else
id
=
addPage
(
m_targetSetupPage
);
return
id
;
}
QString
BaseQt4ProjectWizardDialog
::
selectedModules
()
const
...
...
@@ -269,18 +277,30 @@ void BaseQt4ProjectWizardDialog::setDeselectedModules(const QString &modules)
}
}
void
BaseQt4ProjectWizardDialog
::
writeUserFile
(
const
QString
&
proFileName
)
const
bool
BaseQt4ProjectWizardDialog
::
writeUserFile
(
const
QString
&
proFileName
)
const
{
if
(
!
m_targetSetupPage
)
return
false
;
Qt4Manager
*
manager
=
ExtensionSystem
::
PluginManager
::
instance
()
->
getObject
<
Qt4Manager
>
();
Q_ASSERT
(
manager
);
Qt4Project
*
pro
=
new
Qt4Project
(
manager
,
proFileName
);
bool
success
=
m_targetSetupPage
->
setupProject
(
pro
);
if
(
success
)
pro
->
saveSettings
();
delete
pro
;
return
success
;
}
bool
BaseQt4ProjectWizardDialog
::
setupProject
(
Qt4Project
*
project
)
const
{
if
(
m_targetsPage
)
m_targetsPage
->
writeUserFile
(
proFileName
);
return
m_targetSetupPage
->
setupProject
(
project
);
}
QSet
<
QString
>
BaseQt4ProjectWizardDialog
::
selectedT
arget
s
(
)
const
bool
BaseQt4ProjectWizardDialog
::
isTargetSelected
(
const
QString
&
t
arget
id
)
const
{
QSet
<
QString
>
targets
;
if
(
m_targetsPage
)
targets
=
m_targetsPage
->
selectedTargets
();
return
targets
;
return
m_targetSetupPage
->
isTargetSelected
(
targetid
);
}
QSet
<
QString
>
BaseQt4ProjectWizardDialog
::
desktopTarget
()
...
...
src/plugins/qt4projectmanager/wizards/qtwizard.h
View file @
e9e84fc1
...
...
@@ -39,10 +39,13 @@
#include <QtCore/QSet>
namespace
Qt4ProjectManager
{
class
Qt4Project
;
namespace
Internal
{
class
ModulesPage
;
class
Target
s
Page
;
class
Target
Setup
Page
;
/* Base class for wizard creating Qt projects using QtProjectParameters.
* To implement a project wizard, overwrite:
...
...
@@ -125,7 +128,7 @@ public:
virtual
~
BaseQt4ProjectWizardDialog
();
int
addModulesPage
(
int
id
=
-
1
);
int
addTarget
s
Page
(
QSet
<
QString
>
targets
=
QSet
<
QString
>
(),
int
id
=
-
1
);
int
addTarget
Setup
Page
(
QSet
<
QString
>
targets
=
QSet
<
QString
>
(),
int
id
=
-
1
);
static
QSet
<
QString
>
desktopTarget
();
...
...
@@ -135,14 +138,15 @@ public:
QString
deselectedModules
()
const
;
void
setDeselectedModules
(
const
QString
&
);
void
writeUserFile
(
const
QString
&
proFileName
)
const
;
QSet
<
QString
>
selectedTargets
()
const
;
bool
writeUserFile
(
const
QString
&
proFileName
)
const
;
bool
setupProject
(
Qt4Project
*
project
)
const
;
bool
isTargetSelected
(
const
QString
&
targetid
)
const
;
private:
inline
void
init
(
bool
showModulesPage
);
ModulesPage
*
m_modulesPage
;
Target
s
Page
*
m_target
s
Page
;
Target
Setup
Page
*
m_target
Setup
Page
;
QString
m_selectedModules
;
QString
m_deselectedModules
;
};
...
...
src/plugins/qt4projectmanager/wizards/targetspage.cpp
deleted
100644 → 0
View file @
2319f57c
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#include "targetspage.h"
#include "qt4projectmanager/qt4project.h"
#include "qt4projectmanager/qt4projectmanager.h"
#include "qt4projectmanager/qt4target.h"
#include "qt4projectmanager/qtversionmanager.h"
#include "qt4projectmanager/qt4projectmanagerconstants.h"
#include <extensionsystem/pluginmanager.h>
#include <QtCore/QSet>
#include <QtCore/QString>
#include <QtGui/QTreeWidget>
#include <QtGui/QLabel>
#include <QtGui/QLayout>
using
namespace
Qt4ProjectManager
::
Internal
;
TargetsPage
::
TargetsPage
(
QWidget
*
parent
)
:
QWizardPage
(
parent
)
{
setTitle
(
tr
(
"Choose Qt versions"
));
QVBoxLayout
*
vbox
=
new
QVBoxLayout
(
this
);
setTitle
(
tr
(
"Select required Qt versions"
));
QLabel
*
label
=
new
QLabel
(
tr
(
"Select the Qt versions to use in your project."
),
this
);
label
->
setWordWrap
(
true
);
vbox
->
addWidget
(
label
);
m_treeWidget
=
new
QTreeWidget
(
this
);
m_treeWidget
->
setHeaderHidden
(
true
);
vbox
->
addWidget
(
m_treeWidget
);
QtVersionManager
*
vm
=
QtVersionManager
::
instance
();
QStringList
targets
=
vm
->
supportedTargetIds
().
toList
();
qSort
(
targets
.
begin
(),
targets
.
end
());
Qt4TargetFactory
factory
;
foreach
(
const
QString
&
t
,
targets
)
{
QTreeWidgetItem
*
targetItem
=
new
QTreeWidgetItem
(
m_treeWidget
);
targetItem
->
setText
(
0
,
factory
.
displayNameForId
(
t
));
targetItem
->
setFlags
(
Qt
::
ItemIsEnabled
|
Qt
::
ItemIsSelectable
);
targetItem
->
setData
(
0
,
Qt
::
UserRole
,
t
);
targetItem
->
setExpanded
(
true
);
foreach
(
QtVersion
*
v
,
vm
->
versionsForTargetId
(
t
))
{
QTreeWidgetItem
*
versionItem
=
new
QTreeWidgetItem
(
targetItem
);
versionItem
->
setText
(
0
,
v
->
displayName
());
versionItem
->
setFlags
(
Qt
::
ItemIsUserCheckable
|
Qt
::
ItemIsEnabled
|
Qt
::
ItemIsSelectable
);
versionItem
->
setData
(
0
,
Qt
::
UserRole
,
v
->
uniqueId
());
versionItem
->
setCheckState
(
0
,
Qt
::
Unchecked
);
}
}
connect
(
m_treeWidget
,
SIGNAL
(
itemChanged
(
QTreeWidgetItem
*
,
int
)),
this
,
SLOT
(
itemWasChanged
()));
emit
completeChanged
();
}
void
TargetsPage
::
setValidTargets
(
const
QSet
<
QString
>
&
targets
)
{
if
(
targets
.
isEmpty
())
return
;
for
(
int
i
=
0
;
i
<
m_treeWidget
->
topLevelItemCount
();
++
i
)
{
QTreeWidgetItem
*
currentTargetItem
=
m_treeWidget
->
topLevelItem
(
i
);
QString
currentTarget
=
currentTargetItem
->
data
(
0
,
Qt
::
UserRole
).
toString
();
if
(
targets
.
contains
(
currentTarget
))
currentTargetItem
->
setHidden
(
false
);
else
currentTargetItem
->
setHidden
(
true
);
}
// Make sure we have something checked!
if
(
selectedTargets
().
isEmpty
())
{
for
(
int
i
=
0
;
i
<
m_treeWidget
->
topLevelItemCount
();
++
i
)
{
QTreeWidgetItem
*
currentTargetItem
=
m_treeWidget
->
topLevelItem
(
i
);
QString
currentTarget
=
currentTargetItem
->
data
(
0
,
Qt
::
UserRole
).
toString
();
if
(
targets
.
contains
(
currentTarget
)
&&
currentTargetItem
->
childCount
()
>=
1
)
{
currentTargetItem
->
child
(
0
)
->
setCheckState
(
0
,
Qt
::
Checked
);
break
;
}
}
}
emit
completeChanged
();
}
QSet
<
QString
>
TargetsPage
::
selectedTargets
()
const
{
QSet
<
QString
>
result
;
for
(
int
i
=
0
;
i
<
m_treeWidget
->
topLevelItemCount
();
++
i
)
{
QTreeWidgetItem
*
targetItem
=
m_treeWidget
->
topLevelItem
(
i
);
QString
target
=
targetItem
->
data
(
0
,
Qt
::
UserRole
).
toString
();
QList
<
int
>
versions
=
selectedQtVersionIdsForTarget
(
target
);
if
(
!
versions
.
isEmpty
())
result
.
insert
(
target
);
}
return
result
;
}
QList
<
int
>
TargetsPage
::
selectedQtVersionIdsForTarget
(
const
QString
&
t
)
const
{
QList
<
int
>
result
;
for
(
int
i
=
0
;
i
<
m_treeWidget
->
topLevelItemCount
();
++
i
)
{
QTreeWidgetItem
*
current
=
m_treeWidget
->
topLevelItem
(
i
);
QString
target
=
current
->
data
(
0
,
Qt
::
UserRole
).
toString
();
if
(
t
!=
target
||
current
->
isHidden
())
continue
;
for
(
int
j
=
0
;
j
<
current
->
childCount
();
++
j
)
{
QTreeWidgetItem
*
child
=
current
->
child
(
j
);
if
(
child
->
checkState
(
0
)
!=
Qt
::
Checked
)
continue
;
result
.
append
(
child
->
data
(
0
,
Qt
::
UserRole
).
toInt
());
}
}
return
result
;
}
void
TargetsPage
::
itemWasChanged
()
{
emit
completeChanged
();
}
bool
TargetsPage
::
isComplete
()
const
{
return
!
selectedTargets
().
isEmpty
();
}
bool
TargetsPage
::
needToDisplayPage
()
const
{
int
targetCount
=
0
;
for
(
int
i
=
0
;
i
<
m_treeWidget
->
topLevelItemCount
();
++
i
)
{
QTreeWidgetItem
*
current
=
m_treeWidget
->
topLevelItem
(
i
);
if
(
current
->
isHidden
())
continue
;
++
targetCount
;
if
(
targetCount
>
1
)
return
true
;
if
(
current
->
childCount
()
>
1
)
return
true
;
}
return
false
;
}
void
TargetsPage
::
writeUserFile
(
const
QString
&
proFileName
)
const
{
Qt4Manager
*
manager
=
ExtensionSystem
::
PluginManager
::
instance
()
->
getObject
<
Qt4Manager
>
();
Q_ASSERT
(
manager
);
Qt4Project
*
pro
=
new
Qt4Project
(
manager
,
proFileName
);
if
(
setupProject
(
pro
))
pro
->
saveSettings
();
delete
pro
;
}
bool
TargetsPage
::
setupProject
(
Qt4ProjectManager
::
Qt4Project
*
project
)
const
{
if
(
!
project
)
return
false
;
// Generate user settings:
QSet
<
QString
>
targets
=
selectedTargets
();
if
(
targets
.
isEmpty
())
return
false
;
QtVersionManager
*
vm
=
QtVersionManager
::
instance
();
foreach
(
const
QString
&
targetId
,
targets
)
{
QList
<
int
>
versionIds
=
selectedQtVersionIdsForTarget
(
targetId
);
QList
<
QtVersion
*>
versions
;
foreach
(
int
id
,
versionIds
)
versions
.
append
(
vm
->
version
(
id
));
Qt4Target
*
target
=
project
->
targetFactory
()
->
create
(
project
,
targetId
,
versions
);
project
->
addTarget
(
target
);
}
return
true
;
}
src/plugins/qt4projectmanager/wizards/targetspage.h
deleted
100644 → 0
View file @
2319f57c
/**************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** Commercial Usage
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Nokia.
**
** GNU Lesser General Public License Usage
**
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://qt.nokia.com/contact.
**
**************************************************************************/
#ifndef TARGETSPAGE_H
#define TARGETSPAGE_H
#include <QtCore/QList>
#include <QtCore/QSet>
#include <QtCore/QString>
#include <QtGui/QWizard>
QT_BEGIN_NAMESPACE
class
QTreeWidget
;
QT_END_NAMESPACE
namespace
Qt4ProjectManager
{
class
Qt4Project
;
namespace
Internal
{
class
TargetsPage
:
public
QWizardPage
{
Q_OBJECT
public:
explicit
TargetsPage
(
QWidget
*
parent
=
0
);
void
setValidTargets
(
const
QSet
<
QString
>
&
targets
);
QSet
<
QString
>
selectedTargets
()
const
;
QList
<
int
>
selectedQtVersionIdsForTarget
(
const
QString
&
)
const
;
bool
isComplete
()
const
;
bool
needToDisplayPage
()
const
;
void
writeUserFile
(
const
QString
&
proFileName
)
const
;
bool
setupProject
(
Qt4Project
*
project
)
const
;
private
slots
:
void
itemWasChanged
();
private:
QSet
<
QString
>
m_validTargets
;
QTreeWidget
*
m_treeWidget
;
};
}
// namespace Internal
}
// namespace Qt4ProjectManager
#endif // TARGETSPAGE_H
src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp
View file @
e9e84fc1
...
...
@@ -60,7 +60,7 @@ TestWizardDialog::TestWizardDialog(const QString &templateName,
setWindowIcon
(
icon
);
setWindowTitle
(
templateName
);
setSelectedModules
(
QLatin1String
(
"core testlib"
),
true
);
addTarget
s
Page
();
addTarget
Setup
Page
();
m_testPageId
=
addPage
(
m_testPage
);
m_modulesPageId
=
addModulesPage
();
foreach
(
QWizardPage
*
p
,
extensionPages
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment