diff --git a/src/categorizedhistorymodel.h b/src/categorizedhistorymodel.h index c5f5f59d7e2bb01d61e2275378862c1cb297ceb4..6272bd063a40719e869d09a22102ea45c0becc5d 100644 --- a/src/categorizedhistorymodel.h +++ b/src/categorizedhistorymodel.h @@ -38,7 +38,8 @@ class AbstractHistoryBackend; class CategorizedHistoryModelPrivate; //TODO split ASAP ///CategorizedHistoryModel: History call manager -class LIB_EXPORT CategorizedHistoryModel : public QAbstractItemModel, public CollectionManagerInterface<Call> { +class LIB_EXPORT CategorizedHistoryModel : public QAbstractItemModel, public CollectionManagerInterface<Call> +{ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant" Q_OBJECT @@ -67,7 +68,6 @@ public: void setHistoryLimited(bool isLimited); void setHistoryLimit(int numberOfDays); - //Model implementation virtual bool setData ( const QModelIndex& index, const QVariant &value, int role ) override; virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const override; diff --git a/src/certificate.cpp b/src/certificate.cpp index 8652c45de31a8540ee19230c70001723188adc9c..8909baa5e07982d2824d466e451b86107df4e66d 100644 --- a/src/certificate.cpp +++ b/src/certificate.cpp @@ -314,14 +314,14 @@ void CertificatePrivate::loadChecks() } } -Certificate::Certificate(const QUrl& path, Type type, const QUrl& privateKey) : QObject(CertificateModel::instance()),d_ptr(new CertificatePrivate(LoadingType::FROM_PATH)) +Certificate::Certificate(const QUrl& path, Type type, const QUrl& privateKey) : ItemBase<QObject>(CertificateModel::instance()),d_ptr(new CertificatePrivate(LoadingType::FROM_PATH)) { Q_UNUSED(privateKey) d_ptr->m_Path = path.path(); d_ptr->m_Type = type; } -Certificate::Certificate(const QByteArray& content, Type type): QObject(CertificateModel::instance()),d_ptr(new CertificatePrivate(LoadingType::FROM_CONTENT)) +Certificate::Certificate(const QByteArray& content, Type type): ItemBase<QObject>(CertificateModel::instance()),d_ptr(new CertificatePrivate(LoadingType::FROM_CONTENT)) { d_ptr->m_Content = content; d_ptr->m_Type = type; diff --git a/src/certificate.h b/src/certificate.h index a665939540cfcde1092bc5093d308e8911f6c331..dcdc8b48e994285812f605af7d586574b38d9391 100644 --- a/src/certificate.h +++ b/src/certificate.h @@ -19,6 +19,7 @@ #define CERTIFICATE_H #include "typedefs.h" +#include "itembase.h" //Qt #include <QUrl> @@ -29,7 +30,8 @@ class CertificatePrivate; /** * This class represent a conceptual certificate. */ -class LIB_EXPORT Certificate : public QObject { +class LIB_EXPORT Certificate : public ItemBase<QObject> +{ Q_OBJECT friend class CertificateModel; diff --git a/src/certificatemodel.cpp b/src/certificatemodel.cpp index a50936c787ef960ddd2b7c59d04efee2ca5c5ed4..f92eb717fbc47ab067277b0acf63b626ac59dd42 100644 --- a/src/certificatemodel.cpp +++ b/src/certificatemodel.cpp @@ -164,7 +164,7 @@ CertificateModelPrivate::CertificateModelPrivate(CertificateModel* parent) : q_p } -CertificateModel::CertificateModel(QObject* parent) : QAbstractItemModel(parent), +CertificateModel::CertificateModel(QObject* parent) : QAbstractItemModel(parent), CollectionManagerInterface<Certificate>(this), d_ptr(new CertificateModelPrivate(this)) { setObjectName("CertificateModel"); @@ -715,4 +715,22 @@ QAbstractItemModel* CertificateModel::model(const QModelIndex& idx) const return d_ptr->getModelCommon(node); } +void CertificateModel::collectionAddedCallback(CollectionInterface* collection) +{ + Q_UNUSED(collection) +} + +bool CertificateModel::addItemCallback(const Certificate* item) +{ + Q_UNUSED(item) + return false; +} + +bool CertificateModel::removeItemCallback(const Certificate* item) +{ + Q_UNUSED(item) + return false; +} + + #include <certificatemodel.moc> diff --git a/src/certificatemodel.h b/src/certificatemodel.h index 608a2ac0cfe5640da0ca217dfd97b4fb6791b9e5..b9c2576d2c271641ae4452fe3f445342dcf6ef96 100644 --- a/src/certificatemodel.h +++ b/src/certificatemodel.h @@ -26,7 +26,7 @@ class Account; class CertificateModelPrivate; -class LIB_EXPORT CertificateModel : public QAbstractItemModel +class LIB_EXPORT CertificateModel : public QAbstractItemModel, public CollectionManagerInterface<Certificate> { Q_OBJECT public: @@ -84,6 +84,12 @@ public: static CertificateModel* instance(); private: + + //Backend interface + virtual void collectionAddedCallback(CollectionInterface* collection) override; + virtual bool addItemCallback(const Certificate* item) override; + virtual bool removeItemCallback(const Certificate* item) override; + CertificateModelPrivate* d_ptr; Q_DECLARE_PRIVATE(CertificateModel) }; diff --git a/src/itembase.h b/src/itembase.h index a4ac370d36c544ae5bf527f9620d03e6149118dd..e40c611ecb40bbc2e70b13dc86ba9f3bf0e84e2a 100644 --- a/src/itembase.h +++ b/src/itembase.h @@ -36,10 +36,10 @@ public: virtual CollectionInterface* collection() const final; //Mutator methods - bool save() const; - bool edit() ; - bool remove() ; - bool isActive() const ; + bool save () const; + bool edit () ; + bool remove () ; + bool isActive() const; //Setter void setCollection(CollectionInterface* backend);