From fda7c88e8ee976fb712ca85cd4bf5e08f3d6d2d6 Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> Date: Fri, 13 Mar 2015 10:02:47 -0400 Subject: [PATCH] build: Fix compilation with Qt 5.3 Regressed in 3d72371a5b Refs #68352 --- src/fallbackpersoncollection.cpp | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/fallbackpersoncollection.cpp b/src/fallbackpersoncollection.cpp index a6dd9f62..4e7404e6 100644 --- a/src/fallbackpersoncollection.cpp +++ b/src/fallbackpersoncollection.cpp @@ -53,16 +53,22 @@ private: virtual QVector<Person*> items() const override; }; -class FallbackPersonCollectionPrivate +class FallbackPersonCollectionPrivate : public QObject { + Q_OBJECT public: - FallbackPersonCollectionPrivate(CollectionMediator<Person>* mediator, const QString& path); + FallbackPersonCollectionPrivate(FallbackPersonCollection* parent, CollectionMediator<Person>* mediator, const QString& path); CollectionMediator<Person>* m_pMediator; QString m_Path ; QString m_Name ; + + FallbackPersonCollection* q_ptr; + +public Q_SLOTS: + void loadAsync(); }; -FallbackPersonCollectionPrivate::FallbackPersonCollectionPrivate(CollectionMediator<Person>* mediator, const QString& path) : m_pMediator(mediator), m_Path(path) +FallbackPersonCollectionPrivate::FallbackPersonCollectionPrivate(FallbackPersonCollection* parent, CollectionMediator<Person>* mediator, const QString& path) : q_ptr(parent), m_pMediator(mediator), m_Path(path) { m_Name = path.split('/').last(); if (m_Name.size()) @@ -72,7 +78,7 @@ FallbackPersonCollectionPrivate::FallbackPersonCollectionPrivate(CollectionMedia } FallbackPersonCollection::FallbackPersonCollection(CollectionMediator<Person>* mediator, const QString& path, FallbackPersonCollection* parent) : -CollectionInterface(new FallbackPersonBackendEditor(mediator,path),parent),d_ptr(new FallbackPersonCollectionPrivate(mediator,path)) +CollectionInterface(new FallbackPersonBackendEditor(mediator,path),parent),d_ptr(new FallbackPersonCollectionPrivate(this,mediator,path)) { } @@ -149,12 +155,7 @@ bool FallbackPersonCollection::load() } //Add all sub directories as new backends - QTimer::singleShot(0,[this]() { - QDir d(d_ptr->m_Path); - for (const QString& dir : d.entryList(QDir::AllDirs)) { - PersonModel::instance()->addCollection<FallbackPersonCollection,QString,FallbackPersonCollection*>(d_ptr->m_Path+'/'+dir,this); - } - }); + QTimer::singleShot(0,d_ptr,&FallbackPersonCollectionPrivate::loadAsync); return true; } @@ -187,3 +188,14 @@ QByteArray FallbackPersonCollection::id() const { return "fpc2"; } + + +void FallbackPersonCollectionPrivate::loadAsync() +{ + QDir d(m_Path); + for (const QString& dir : d.entryList(QDir::AllDirs)) { + PersonModel::instance()->addCollection<FallbackPersonCollection,QString,FallbackPersonCollection*>(m_Path+'/'+dir,q_ptr); + } +} + +#include "fallbackpersoncollection.moc" -- GitLab