cplusplus: Make functions of Icons static

This avoids multiple instatiations and reloading of the same image files.

Change-Id: I4d0bb955e23c1cb817671c25bff4e74fb7b3d0f4
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
Alessandro Portale
2016-04-06 10:08:01 +02:00
parent 44aaec767f
commit 984a6eca73
13 changed files with 140 additions and 168 deletions

View File

@@ -34,21 +34,6 @@
namespace ClassView {
namespace Internal {
///////////////////////////////// TreeItemModelPrivate //////////////////////////////////
/*!
\class TreeItemModelPrivate
\brief The TreeItemModelPrivate class contains private class data for
the TreeItemModel class.
\sa TreeItemModel
*/
class TreeItemModelPrivate
{
public:
//! icon provider
CPlusPlus::Icons icons;
};
///////////////////////////////// TreeItemModel //////////////////////////////////
/*!
@@ -57,14 +42,12 @@ public:
*/
TreeItemModel::TreeItemModel(QObject *parent)
: QStandardItemModel(parent),
d(new TreeItemModelPrivate())
: QStandardItemModel(parent)
{
}
TreeItemModel::~TreeItemModel()
{
delete d;
}
QVariant TreeItemModel::data(const QModelIndex &index, int role) const
@@ -79,7 +62,7 @@ QVariant TreeItemModel::data(const QModelIndex &index, int role) const
bool ok = false;
int type = iconType.toInt(&ok);
if (ok && type >= 0)
return d->icons.iconForType(static_cast<CPlusPlus::Icons::IconType>(type));
return CPlusPlus::Icons::iconForType(static_cast<CPlusPlus::Icons::IconType>(type));
}
}
break;