summaryrefslogtreecommitdiffstats
path: root/gui/instancemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/instancemodel.cpp')
-rw-r--r--gui/instancemodel.cpp126
1 files changed, 0 insertions, 126 deletions
diff --git a/gui/instancemodel.cpp b/gui/instancemodel.cpp
deleted file mode 100644
index 39dea34b..00000000
--- a/gui/instancemodel.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-#include "instancemodel.h"
-#include <logic/BaseInstance.h>
-#include <logic/IconListModel.h>
-#include <QIcon>
-//#include "iconcache.h"
-
-InstanceModel::InstanceModel ( const InstanceList& instances, QObject *parent )
- : QAbstractListModel ( parent ), m_instances ( &instances )
-{
- currentInstancesNumber = m_instances->count();
- connect(m_instances,SIGNAL(instanceAdded(int)),this,SLOT(onInstanceAdded(int)));
- connect(m_instances,SIGNAL(instanceChanged(int)),this,SLOT(onInstanceChanged(int)));
- connect(m_instances,SIGNAL(invalidated()),this,SLOT(onInvalidated()));
-}
-
-void InstanceModel::onInstanceAdded ( int index )
-{
- beginInsertRows(QModelIndex(), index, index);
- currentInstancesNumber ++;
- endInsertRows();
-}
-
-void InstanceModel::onInstanceChanged ( int index )
-{
- QModelIndex mx = InstanceModel::index(index);
- dataChanged(mx,mx);
-}
-
-void InstanceModel::onInvalidated()
-{
- beginResetModel();
- currentInstancesNumber = m_instances->count();
- endResetModel();
-}
-
-
-int InstanceModel::rowCount ( const QModelIndex& parent ) const
-{
- Q_UNUSED ( parent );
- return m_instances->count();
-}
-
-QModelIndex InstanceModel::index ( int row, int column, const QModelIndex& parent ) const
-{
- Q_UNUSED ( parent );
- if ( row < 0 || row >= currentInstancesNumber )
- return QModelIndex();
- return createIndex ( row, column, ( void* ) m_instances->at ( row ).data() );
-}
-
-QVariant InstanceModel::data ( const QModelIndex& index, int role ) const
-{
- if ( !index.isValid() )
- {
- return QVariant();
- }
- BaseInstance *pdata = static_cast<BaseInstance*> ( index.internalPointer() );
- switch ( role )
- {
- case InstancePointerRole:
- {
- QVariant v = qVariantFromValue((void *) pdata);
- return v;
- }
- case Qt::DisplayRole:
- {
- return pdata->name();
- }
- case Qt::ToolTipRole:
- {
- return pdata->instanceRoot();
- }
- case Qt::DecorationRole:
- {
- IconList * ic = IconList::instance();
- // FIXME: replace with an icon cache/renderer
- /*
- QString path = ":/icons/instances/";
- path += pdata->iconKey();
- QIcon icon(path);
- */
- QString key = pdata->iconKey();
- return ic->getIcon(key);
- //else return QIcon(":/icons/multimc/scalable/apps/multimc.svg");
- }
- // for now.
- case KCategorizedSortFilterProxyModel::CategorySortRole:
- case KCategorizedSortFilterProxyModel::CategoryDisplayRole:
- {
- return pdata->group();
- }
- default:
- break;
- }
- return QVariant();
-}
-
-Qt::ItemFlags InstanceModel::flags ( const QModelIndex& index ) const
-{
- Qt::ItemFlags f;
- if ( index.isValid() )
- {
- f |= ( Qt::ItemIsEnabled | Qt::ItemIsSelectable );
- }
- return f;
-}
-
-InstanceProxyModel::InstanceProxyModel ( QObject *parent )
- : KCategorizedSortFilterProxyModel ( parent )
-{
- // disable since by default we are globally sorting by date:
- setCategorizedModel(true);
-}
-
-bool InstanceProxyModel::subSortLessThan (
- const QModelIndex& left, const QModelIndex& right ) const
-{
- BaseInstance *pdataLeft = static_cast<BaseInstance*> ( left.internalPointer() );
- BaseInstance *pdataRight = static_cast<BaseInstance*> ( right.internalPointer() );
- //kDebug() << *pdataLeft << *pdataRight;
- return QString::localeAwareCompare(pdataLeft->name(), pdataRight->name()) < 0;
- //return pdataLeft->name() < pdataRight->name();
-}
-
-#include "instancemodel.moc"
-