QGIS API Documentation
4.0.0-Norrköping (1ddcee3d0e4)
Loading...
Searching...
No Matches
src
core
network
qgsnewsfeedmodel.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsnewsfeedmodel.h
3
------------------
4
begin : July 2019
5
copyright : (C) 2019 by Nyall Dawson
6
email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
#ifndef QGSNEWSFEEDMODEL_H
16
#define QGSNEWSFEEDMODEL_H
17
18
#include "qgis_core.h"
19
#include "
qgis_sip.h
"
20
#include "
qgsnewsfeedparser.h
"
21
22
#include <QAbstractItemModel>
23
#include <QSortFilterProxyModel>
24
34
class
CORE_EXPORT
QgsNewsFeedModel
:
public
QAbstractItemModel
35
{
36
Q_OBJECT
37
public
:
38
// *INDENT-OFF*
39
46
enum class
CustomRole
SIP_MONKEYPATCH_SCOPEENUM_UNNEST
(
QgsNewsFeedModel
, Role ) : int
47
{
48
Key = Qt::UserRole + 1,
49
Title,
50
Content,
51
ImageUrl,
52
Image,
53
Link,
54
Sticky,
55
};
56
Q_ENUM( CustomRole )
57
// *INDENT-ON*
58
59
65
QgsNewsFeedModel
(
QgsNewsFeedParser
*parser, QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
66
67
QVariant data(
const
QModelIndex &index,
int
role )
const override
;
68
Qt::ItemFlags flags(
const
QModelIndex &index )
const override
;
69
QModelIndex index(
int
row,
int
column,
const
QModelIndex &parent = QModelIndex() )
const override
;
70
QModelIndex parent(
const
QModelIndex &index )
const override
;
71
int
rowCount(
const
QModelIndex &parent = QModelIndex() )
const override
;
72
int
columnCount(
const
QModelIndex &parent = QModelIndex() )
const override
;
73
QHash<int, QByteArray> roleNames()
const override
;
74
75
private
slots:
76
77
void
onEntryAdded(
const
QgsNewsFeedParser::Entry
&entry );
78
void
onEntryRemoved(
const
QgsNewsFeedParser::Entry
&entry );
79
void
onEntryUpdated(
const
QgsNewsFeedParser::Entry
&entry );
80
void
onImageFetched(
int
key,
const
QPixmap &pixmap );
81
82
private
:
83
QgsNewsFeedParser
*mParser =
nullptr
;
84
QList< QgsNewsFeedParser::Entry > mEntries;
85
};
86
95
class
CORE_EXPORT
QgsNewsFeedProxyModel
:
public
QSortFilterProxyModel
96
{
97
Q_OBJECT
98
public
:
105
explicit
QgsNewsFeedProxyModel
(
QgsNewsFeedParser
*parser, QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
106
107
protected
:
108
bool
lessThan
(
const
QModelIndex &left,
const
QModelIndex &right )
const override
;
109
110
private
:
111
QgsNewsFeedModel
*mModel =
nullptr
;
112
};
113
114
#endif
// QGSNEWSFEEDMODEL_H
QgsNewsFeedModel
A model for published QGIS news feeds.
Definition
qgsnewsfeedmodel.h:35
QgsNewsFeedModel::CustomRole
CustomRole
Custom model roles.
Definition
qgsnewsfeedmodel.h:47
QgsNewsFeedModel::QgsNewsFeedModel
QgsNewsFeedModel(QgsNewsFeedParser *parser, QObject *parent=nullptr)
Constructor for QgsNewsFeedModel, with the specified parent object.
Definition
qgsnewsfeedmodel.cpp:27
QgsNewsFeedParser::Entry
Represents a single entry from a news feed.
Definition
qgsnewsfeedparser.h:76
QgsNewsFeedParser
Parser for published QGIS news feeds.
Definition
qgsnewsfeedparser.h:47
QgsNewsFeedProxyModel::lessThan
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
Definition
qgsnewsfeedmodel.cpp:193
QgsNewsFeedProxyModel::QgsNewsFeedProxyModel
QgsNewsFeedProxyModel(QgsNewsFeedParser *parser, QObject *parent=nullptr)
Constructor for QgsNewsFeedProxyModel, with the specified parent object.
Definition
qgsnewsfeedmodel.cpp:183
qgis_sip.h
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_MONKEYPATCH_SCOPEENUM_UNNEST
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition
qgis_sip.h:267
qgsnewsfeedparser.h
Generated on
for QGIS API Documentation by
1.15.0