summaryrefslogtreecommitdiff
path: root/src/location/declarativeplaces/qdeclarativeplace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/location/declarativeplaces/qdeclarativeplace.cpp')
-rw-r--r--src/location/declarativeplaces/qdeclarativeplace.cpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/location/declarativeplaces/qdeclarativeplace.cpp b/src/location/declarativeplaces/qdeclarativeplace.cpp
index 54010656..146ab6ec 100644
--- a/src/location/declarativeplaces/qdeclarativeplace.cpp
+++ b/src/location/declarativeplaces/qdeclarativeplace.cpp
@@ -325,14 +325,7 @@ void QDeclarativePlace::setPlace(const QPlace &src)
}
setRatings(m_src.ratings());
-
- if (m_supplier && m_supplier->parent() == this) {
- m_supplier->setSupplier(m_src.supplier(), m_plugin);
- } else if (!m_supplier || m_supplier->parent() != this) {
- m_supplier = new QDeclarativeSupplier(m_src.supplier(), m_plugin, this);
- emit supplierChanged();
- }
-
+ setSupplier(m_src.supplier());
setIcon(m_src.icon());
if (previous.name() != m_src.name()) {
@@ -397,7 +390,7 @@ QPlace QDeclarativePlace::place() const
result.setRatings(m_ratings);
// Supplier
- result.setSupplier(m_supplier ? m_supplier->supplier() : QPlaceSupplier());
+ result.setSupplier(m_supplier);
// Icon
result.setIcon(m_icon);
@@ -474,19 +467,16 @@ QPlaceRatings QDeclarativePlace::ratings() const
This property holds the supplier of the place data.
The supplier is typically a business or organization that collected the data about the place.
*/
-void QDeclarativePlace::setSupplier(QDeclarativeSupplier *supplier)
+void QDeclarativePlace::setSupplier(const QPlaceSupplier &supplier)
{
if (m_supplier == supplier)
return;
- if (m_supplier && m_supplier->parent() == this)
- delete m_supplier;
-
m_supplier = supplier;
emit supplierChanged();
}
-QDeclarativeSupplier *QDeclarativePlace::supplier() const
+QPlaceSupplier QDeclarativePlace::supplier() const
{
return m_supplier;
}