File indexing completed on 2024-05-05 17:04:27
0001 /* This file is part of the KDE project 0002 * Copyright (C) 2014 Dan Leinir Turthra Jensen <admin@leinir.dk> 0003 * 0004 * This program is free software; you can redistribute it and/or modify 0005 * it under the terms of the GNU General Public License as published by 0006 * the Free Software Foundation; either version 2 of the License, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details. 0013 * 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program; if not, write to the Free Software 0016 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 0017 */ 0018 0019 #ifndef TEMPLATESMODEL_H 0020 #define TEMPLATESMODEL_H 0021 0022 #include <QAbstractListModel> 0023 0024 class TemplatesModel : public QAbstractListModel 0025 { 0026 Q_OBJECT 0027 Q_PROPERTY(QString templateType READ templateType WRITE setTemplateType NOTIFY templateTypeChanged) 0028 Q_PROPERTY(bool showWide READ showWide WRITE setShowWide NOTIFY showWideChanged) 0029 public: 0030 enum TemplateRoles { 0031 TitleRole = Qt::UserRole + 1, 0032 DescriptionRole, 0033 ColorRole, 0034 ThumbnailRole, 0035 UrlRole, 0036 VariantCountRole, 0037 VariantsRole 0038 }; 0039 explicit TemplatesModel(QObject* parent = 0); 0040 ~TemplatesModel() override; 0041 0042 QVariant data(const QModelIndex& index, int role) const override; 0043 int rowCount(const QModelIndex& parent) const override; 0044 0045 QString templateType() const; 0046 void setTemplateType(const QString& newType); 0047 0048 bool showWide() const; 0049 void setShowWide(const bool& newValue); 0050 0051 Q_SIGNALS: 0052 void templateTypeChanged(); 0053 void showWideChanged(); 0054 0055 private: 0056 class Private; 0057 Private* d; 0058 }; 0059 0060 #endif // TEMPLATESMODEL_H