1 /****************************************************************************
2 **
3 ** Copyright (C) 2015 The Qt Company Ltd.
4 ** Contact: http://www.qt.io/licensing/
5 **
6 ** This file is part of the QtLocation module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL3$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see http://www.qt.io/terms-conditions. For further
15 ** information use the contact form at http://www.qt.io/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPLv3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or later as published by the Free
28 ** Software Foundation and appearing in the file LICENSE.GPL included in
29 ** the packaging of this file. Please review the following information to
30 ** ensure the GNU General Public License version 2.0 requirements will be
31 ** met: http://www.gnu.org/licenses/gpl-2.0.html.
32 **
33 ** $QT_END_LICENSE$
34 **
35 ****************************************************************************/
36 
37 #include "qplaceeditorial.h"
38 #include "qplaceeditorial_p.h"
39 
40 QT_USE_NAMESPACE
41 
QPlaceEditorialPrivate()42 QPlaceEditorialPrivate::QPlaceEditorialPrivate()
43 :   QPlaceContentPrivate()
44 {
45 }
46 
QPlaceEditorialPrivate(const QPlaceEditorialPrivate & other)47 QPlaceEditorialPrivate::QPlaceEditorialPrivate(const QPlaceEditorialPrivate &other)
48 :   QPlaceContentPrivate(other), text(other.text), contentTitle(other.contentTitle),
49     language(other.language)
50 {
51 }
52 
~QPlaceEditorialPrivate()53 QPlaceEditorialPrivate::~QPlaceEditorialPrivate()
54 {
55 }
56 
compare(const QPlaceContentPrivate * other) const57 bool QPlaceEditorialPrivate::compare(const QPlaceContentPrivate *other) const
58 {
59     const QPlaceEditorialPrivate *od = static_cast<const QPlaceEditorialPrivate *>(other);
60     return QPlaceContentPrivate::compare(other)
61            && text == od->text
62            && contentTitle == od->contentTitle
63            && language == od->language;
64 }
65 
66 /*!
67     \class QPlaceEditorial
68     \inmodule QtLocation
69     \ingroup QtLocation-places
70     \ingroup QtLocation-places-data
71     \since 5.6
72 
73     \brief The QPlaceEditorial class represents a publisher's article describing a place.
74 
75     Each QPlaceEditorial has a title, text and language; in addition to those properties
76     inherited from QPlaceContent.
77 
78     Note: The Places API only supports editorials as 'retrieve-only' objects.  Submitting editorials
79     to a provider is not a supported use case.
80 
81     \sa QPlaceContent
82 */
83 
84 /*!
85     Constructs a new editorial object.
86 */
QPlaceEditorial()87 QPlaceEditorial::QPlaceEditorial()
88 :   QPlaceContent(new QPlaceEditorialPrivate)
89 {
90 }
91 
92 /*!
93     Destructor.
94 */
~QPlaceEditorial()95 QPlaceEditorial::~QPlaceEditorial()
96 {
97 }
98 
99 /*!
100     \fn QPlaceEditorial::QPlaceEditorial(const QPlaceContent &other)
101     Constructs a copy of \a other if possible, otherwise constructs a default editorial object.
102 */
103 Q_IMPLEMENT_CONTENT_COPY_CTOR(QPlaceEditorial)
104 
Q_IMPLEMENT_CONTENT_D_FUNC(QPlaceEditorial)105 Q_IMPLEMENT_CONTENT_D_FUNC(QPlaceEditorial)
106 
107 /*!
108     Returns a textual description of the place.
109 
110     Depending upon the provider, the
111     editorial text could be either rich(HTML based) text or plain text.
112 */
113 QString QPlaceEditorial::text() const
114 {
115     Q_D(const QPlaceEditorial);
116     return d->text;
117 }
118 
119 /*!
120     Sets the \a text of the editorial.
121 */
setText(const QString & text)122 void QPlaceEditorial::setText(const QString &text)
123 {
124     Q_D(QPlaceEditorial);
125     d->text = text;
126 }
127 
128 /*!
129     Returns the title of the editorial.
130 */
title() const131 QString QPlaceEditorial::title() const
132 {
133     Q_D(const QPlaceEditorial);
134     return d->contentTitle;
135 }
136 
137 /*!
138     Sets the \a title of the editorial.
139 */
setTitle(const QString & title)140 void QPlaceEditorial::setTitle(const QString &title)
141 {
142     Q_D(QPlaceEditorial);
143     d->contentTitle = title;
144 }
145 
146 /*!
147     Returns the language of the editorial.   Typically this would be a language code
148     in the 2 letter ISO 639-1 format.
149 */
language() const150 QString QPlaceEditorial::language() const
151 {
152     Q_D(const QPlaceEditorial);
153     return d->language;
154 }
155 
156 /*!
157     Sets the \a language of the editorial. Typically this would be a language code
158     in the 2 letter ISO 639-1 format.
159 */
setLanguage(const QString & language)160 void QPlaceEditorial::setLanguage(const QString &language)
161 {
162     Q_D(QPlaceEditorial);
163     d->language = language;
164 }
165