diff options
author | con <qtc-committer@nokia.com> | 2010-02-23 16:52:03 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2010-02-23 16:52:44 +0100 |
commit | 04d90d9563f347af36db08602535da66ed1963aa (patch) | |
tree | a0b42f895ba5d7993c549b918ca346b1e1d716c3 /src/plugins/qt4projectmanager/qt4target.cpp | |
parent | c3578f307db440ffb8c9fc115757c0dcd4ef2c92 (diff) | |
download | qt-creator-04d90d9563f347af36db08602535da66ed1963aa.tar.gz |
Show target overlay icon only in the active target button.
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4target.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/qt4target.cpp | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index 36c09cb8fa..b874c903e1 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -218,7 +218,7 @@ Qt4Target::Qt4Target(Qt4Project *parent, const QString &id) : this, SLOT(updateToolTipAndIcon())); setDisplayName(displayNameForId(id)); - updateToolTipAndIcon(); + setIcon(iconForId(id)); } Qt4Target::~Qt4Target() @@ -407,7 +407,7 @@ bool Qt4Target::fromMap(const QVariantMap &map) return false; setDisplayName(displayNameForId(id())); - updateToolTipAndIcon(); + setIcon(iconForId(id())); return true; } @@ -455,22 +455,14 @@ void Qt4Target::changeTargetInformation() void Qt4Target::updateToolTipAndIcon() { + static const int TARGET_OVERLAY_ORIGINAL_SIZE = 32; if (const S60DeviceRunConfiguration *s60DeviceRc = qobject_cast<S60DeviceRunConfiguration *>(activeRunConfiguration())) { - QPixmap pixmap(Core::Constants::TARGET_ICON_SIZE, Core::Constants::TARGET_ICON_SIZE); - pixmap.fill(Qt::transparent); - QPainter painter(&pixmap); - const QIcon &icon = iconForId(id()); - QSize actualSize = icon.actualSize(QSize(Core::Constants::TARGET_ICON_SIZE, Core::Constants::TARGET_ICON_SIZE)); - painter.drawPixmap((Core::Constants::TARGET_ICON_SIZE-actualSize.width())/2, - (Core::Constants::TARGET_ICON_SIZE-actualSize.height())/2, - icon.pixmap(Core::Constants::TARGET_ICON_SIZE)); - const SymbianUtils::SymbianDeviceManager *sdm = SymbianUtils::SymbianDeviceManager::instance(); const int deviceIndex = sdm->findByPortName(s60DeviceRc->serialPortName()); + QPixmap overlay; if (deviceIndex == -1) { setToolTip(tr("<b>Device:</b> Not connected")); - painter.drawPixmap(Core::Constants::TARGET_ICON_SIZE - m_disconnectedPixmap.width(), - m_disconnectedPixmap.height(), m_disconnectedPixmap); + overlay = m_disconnectedPixmap; } else { // device connected const SymbianUtils::SymbianDevice device = sdm->devices().at(deviceIndex); @@ -478,12 +470,20 @@ void Qt4Target::updateToolTipAndIcon() tr("<b>Device:</b> %1").arg(device.friendlyName()) : tr("<b>Device:</b> %1, %2").arg(device.friendlyName(), device.additionalInformation()); setToolTip(tooltip); - painter.drawPixmap(Core::Constants::TARGET_ICON_SIZE - m_connectedPixmap.width(), - m_connectedPixmap.height(), m_connectedPixmap); + overlay = m_connectedPixmap; } - setIcon(QIcon(pixmap)); - return; + double factor = Core::Constants::TARGET_ICON_SIZE / (double)TARGET_OVERLAY_ORIGINAL_SIZE; + QSize overlaySize(overlay.size().width()*factor, overlay.size().height()*factor); + QPixmap pixmap(Core::Constants::TARGET_ICON_SIZE, Core::Constants::TARGET_ICON_SIZE); + pixmap.fill(Qt::transparent); + QPainter painter(&pixmap); + painter.drawPixmap(Core::Constants::TARGET_ICON_SIZE - overlaySize.width(), + Core::Constants::TARGET_ICON_SIZE - overlaySize.height(), + overlay.scaled(overlaySize)); + + setOverlayIcon(QIcon(pixmap)); + } else { + setToolTip(QString()); + setOverlayIcon(QIcon()); } - setToolTip(QString()); - setIcon(iconForId(id())); } |