From 672576e51eb2cefad348ef3dbeb6de5a98b1e90d Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Mon, 21 Feb 2011 14:32:45 +0100
Subject: [PATCH] Qt4BaseTargetFactory: Introduce iconForId()

to be used on the new target setup page
---
 .../qt-desktop/qt4desktoptargetfactory.cpp               | 7 +++++++
 .../qt-desktop/qt4desktoptargetfactory.h                 | 1 +
 .../qt-desktop/qt4simulatortargetfactory.cpp             | 7 +++++++
 .../qt-desktop/qt4simulatortargetfactory.h               | 1 +
 .../qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp | 6 ++++++
 .../qt4projectmanager/qt-maemo/qt4maemotargetfactory.h   | 1 +
 .../qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp | 9 +++++++++
 .../qt4projectmanager/qt-s60/qt4symbiantargetfactory.h   | 1 +
 src/plugins/qt4projectmanager/qt4target.h                | 3 +++
 9 files changed, 36 insertions(+)

diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
index 847cf163eb5..b0dc98ca12d 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
@@ -81,6 +81,13 @@ QString Qt4DesktopTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4DesktopTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::DESKTOP_TARGET_ID))
+        return qApp->style()->standardIcon(QStyle::SP_ComputerIcon);
+    return QIcon();
+}
+
 bool Qt4DesktopTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
index 76e506a2aea..2c99a7822bf 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
@@ -47,6 +47,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
index edcc0d04a1d..3061a95d592 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
@@ -84,6 +84,13 @@ QString Qt4SimulatorTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4SimulatorTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::QT_SIMULATOR_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+    return QIcon();
+}
+
 bool Qt4SimulatorTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
index cfc177b7397..0f560a6ee00 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
@@ -49,6 +49,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
index 335aed4ce4e..4dbfe011abd 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
@@ -94,6 +94,12 @@ QString Qt4MaemoTargetFactory::displayNameForId(const QString &id) const
     return QString();
 }
 
+QIcon Qt4MaemoTargetFactory::iconForId(const QString &id) const
+{
+    Q_UNUSED(id)
+    return QIcon(":/projectexplorer/images/MaemoDevice.png");
+}
+
 bool Qt4MaemoTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
index 6377f99c864..819de2b09e2 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.h
@@ -48,6 +48,7 @@ public:
 
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
index 1328d66cba7..767c068bd64 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
@@ -89,6 +89,15 @@ QString Qt4SymbianTargetFactory::displayNameForId(const QString &id) const
     return Qt4SymbianTarget::defaultDisplayName(id);
 }
 
+QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const
+{
+    if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+    if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
+        return QIcon(":/projectexplorer/images/SymbianDevice.png");
+    return QIcon();
+}
+
 bool Qt4SymbianTargetFactory::canCreate(ProjectExplorer::Project *parent, const QString &id) const
 {
     if (!qobject_cast<Qt4Project *>(parent))
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
index dbb5af9f3c3..f591a2b4b45 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.h
@@ -48,6 +48,7 @@ public:
     QStringList supportedTargetIds(ProjectExplorer::Project *parent) const;
     bool supportsTargetId(const QString &id) const;
     QString displayNameForId(const QString &id) const;
+    QIcon iconForId(const QString &id) const;
 
     bool canCreate(ProjectExplorer::Project *parent, const QString &id) const;
     bool canRestore(ProjectExplorer::Project *parent, const QVariantMap &map) const;
diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h
index a50015cebab..7aa7be7381a 100644
--- a/src/plugins/qt4projectmanager/qt4target.h
+++ b/src/plugins/qt4projectmanager/qt4target.h
@@ -116,6 +116,9 @@ public:
                                   const QString &id,
                                   QList<BuildConfigurationInfo> infos) = 0;
 
+    /// only used in the TargetSetupPage
+    virtual QIcon iconForId(const QString &id) const = 0;
+
     static Qt4BaseTargetFactory *qt4BaseTargetFactoryForId(const QString &id);
 
 protected:
-- 
GitLab