summaryrefslogtreecommitdiffstats
path: root/actormodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'actormodel.cpp')
-rw-r--r--actormodel.cpp117
1 files changed, 0 insertions, 117 deletions
diff --git a/actormodel.cpp b/actormodel.cpp
deleted file mode 100644
index 14edcf8..0000000
--- a/actormodel.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version
- 2 of the License, or (at your option) any later version.
-*/
-
-#include <QIcon>
-
-#include "actormodel.h"
-
-ActorModel::ActorModel() {};
-
-QModelIndex ActorModel::index(int row, int column, const QModelIndex &) const {
- if((column != 0) || (row >= mItems.size()) || row < 0){
- return QModelIndex();
- }
- return createIndex(row, 0, 0);
-}
-
-QModelIndex ActorModel::index(const QVariant &item) const {
- if(item == QVariant()){
- return QModelIndex();
- }
- QString sItem = item.toString();
- for(int i = 0; i < mItems.size(); ++i){
- if(mItems.at(i) == sItem){
- return createIndex(i, 0, 0);
- }
- }
- return QModelIndex();
-}
-
-int ActorModel::rowCount(const QModelIndex &) const {
- return mItems.size();
-}
-
-QVariant ActorModel::data(const QModelIndex &index, int role) const {
- if(!index.isValid() || (index.column() > 0) || (index.row() > mItems.size())){
- return QVariant();
- }
- switch (role) {
- case Qt::DisplayRole:
- return mItems.at(index.row());
- break;
- case Qt::DecorationRole:
- return QIcon(":/dildo.png");
- break;
- }
- return QVariant();
-}
-
-bool ActorModel::insertRows(int row, int count, const QModelIndex &){
- beginInsertRows(QModelIndex(), row, row + count - 1);
- for(int i = row; i < (row + count); ++i){
- mItems.insert(i, QString());
- }
- endInsertRows();
- return true;
-}
-
-bool ActorModel::removeRows(int row, int count, const QModelIndex &){
- if((row > mItems.size()) || ((row + count) > mItems.size())){
- return false;
- }
- beginRemoveRows(QModelIndex(), row, row + (count - 1));
- for(int i = row; i < (row + count); ++i){
- mItems.removeAt(i);
- }
- endRemoveRows();
- return true;
-}
-
-bool ActorModel::setData(const QModelIndex &idx, const QVariant &data, int role){
- if(!idx.isValid() || (idx.column() != 0) || (role != Qt::EditRole)){
- return false;
- }
- mItems[idx.row()] = data.toString();
- qSort(mItems);
- dataChanged(index(0, 0), index((mItems.size() - 1), 0));
- return true;
-}
-
-bool ActorModel::addItem(const QVariant &data){
- if(mItems.contains(data.toString())){
- return false;
- }
- bool success = false;
- if(insertRows(0, 1, QModelIndex())){
- QModelIndex idx = index(0, 0);
- if(idx.isValid()){
- success = setData(idx, data, Qt::EditRole);
- }
- }
- return success;
-}
-
-bool ActorModel::removeItem(const QVariant &data){
- QModelIndex idx = index(data);
- if(!idx.isValid()){
- return false;
- }
- bool retval = removeRows(idx.row(), 1, QModelIndex());
- if(retval){
- int lidx = mItems.indexOf(data.toString());
- if(lidx != -1){
- mItems.removeAt(lidx);
- }
- }
- return retval;
-}
-
-void ActorModel::clear() {
- removeRows(0, mItems.size(), QModelIndex());
- mItems.clear();
-}
-