Utils: Add an Icon::combinedIcon convenience override

...which takes a list of Utils::Icon. This will be used more often
in upcoming changes.

Change-Id: Id5ba1616c6ad393b1603043980ad7ec8315738d2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Alessandro Portale
2016-11-12 04:16:59 +01:00
parent 9c7ff5199f
commit 231fc628e0
3 changed files with 10 additions and 5 deletions

View File

@@ -23,6 +23,7 @@
** **
****************************************************************************/ ****************************************************************************/
#include "algorithm.h"
#include "icon.h" #include "icon.h"
#include "qtcassert.h" #include "qtcassert.h"
#include "theme/theme.h" #include "theme/theme.h"
@@ -252,4 +253,10 @@ QIcon Icon::combinedIcon(const QList<QIcon> &icons)
return result; return result;
} }
QIcon Icon::combinedIcon(const QList<Icon> &icons)
{
const QList<QIcon> qIcons = transform(icons, &Icon::icon);
return combinedIcon(qIcons);
}
} // namespace Utils } // namespace Utils

View File

@@ -76,8 +76,9 @@ public:
// Like sideBarIcon plus added action mode for the flat icon // Like sideBarIcon plus added action mode for the flat icon
static QIcon modeIcon(const Icon &classic, const Icon &flat, const Icon &flatActive); static QIcon modeIcon(const Icon &classic, const Icon &flat, const Icon &flatActive);
// Combined icon pixmaps in Normal and Disabled states from several QIcons // Combined icon pixmaps in Normal and Disabled states from several Icons
static QIcon combinedIcon(const QList<QIcon> &icons); static QIcon combinedIcon(const QList<QIcon> &icons);
static QIcon combinedIcon(const QList<Icon> &icons);
private: private:
IconStyleOptions m_style = None; IconStyleOptions m_style = None;

View File

@@ -34,7 +34,6 @@
#include "../runnables.h" #include "../runnables.h"
#include <ssh/sshconnection.h> #include <ssh/sshconnection.h>
#include <utils/algorithm.h>
#include <utils/icon.h> #include <utils/icon.h>
#include <utils/portlist.h> #include <utils/portlist.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
@@ -409,9 +408,7 @@ void IDevice::setDeviceIcon(const QList<Utils::Icon> &deviceIcon)
QIcon IDevice::deviceIcon() const QIcon IDevice::deviceIcon() const
{ {
const QList<QIcon> icons = return Utils::Icon::combinedIcon(d->deviceIcons);
Utils::transform(d->deviceIcons, [](const Utils::Icon &icon){return icon.icon();});
return Utils::Icon::combinedIcon(icons);
} }
QSsh::SshConnectionParameters IDevice::sshParameters() const QSsh::SshConnectionParameters IDevice::sshParameters() const