2020-04-16 19:37:40 +03:00
/*
* Copyright 2020 Michail Vourlakos < mvourlakos @ gmail . com >
*
* This file is part of Latte - Dock
*
* Latte - Dock 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 .
*
* Latte - Dock is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# ifndef VIEWTASKSMODEL_H
# define VIEWTASKSMODEL_H
# include <QAbstractListModel>
2020-05-18 19:04:02 +03:00
namespace PlasmaQuick {
class AppletQuickItem ;
}
2020-04-16 19:37:40 +03:00
namespace Latte {
namespace ViewPart {
class TasksModel : public QAbstractListModel
{
Q_OBJECT
2020-05-18 18:45:12 +03:00
Q_PROPERTY ( int count READ count NOTIFY countChanged )
2020-04-16 19:37:40 +03:00
public :
TasksModel ( QObject * parent = nullptr ) ;
2020-05-18 18:45:12 +03:00
int count ( ) const ;
2020-04-16 19:37:40 +03:00
int rowCount ( const QModelIndex & parent = QModelIndex ( ) ) const override ;
QVariant data ( const QModelIndex & index , int role = Qt : : DisplayRole ) const override ;
QHash < int , QByteArray > roleNames ( ) const override ;
2020-05-18 19:04:02 +03:00
void addTask ( PlasmaQuick : : AppletQuickItem * plasmoid ) ;
void removeTask ( PlasmaQuick : : AppletQuickItem * plasmoid ) ;
2020-04-16 19:37:40 +03:00
2020-05-18 18:45:12 +03:00
signals :
void countChanged ( ) ;
2020-04-16 19:37:40 +03:00
private :
2020-05-18 19:04:02 +03:00
QList < PlasmaQuick : : AppletQuickItem * > m_tasks ;
2020-04-16 19:37:40 +03:00
} ;
}
}
# endif