diff --git a/src/kitemviews/kstandarditem.h b/src/kitemviews/kstandarditem.h --- a/src/kitemviews/kstandarditem.h +++ b/src/kitemviews/kstandarditem.h @@ -24,7 +24,7 @@ #include #include -#include +#include #include class KStandardItemModel; @@ -36,14 +36,13 @@ * used roles. It is possible to assign values for custom * roles by using setDataValue(). */ -class DOLPHIN_EXPORT KStandardItem +class DOLPHIN_EXPORT KStandardItem : public QObject { - + Q_OBJECT public: explicit KStandardItem(KStandardItem* parent = nullptr); explicit KStandardItem(const QString& text, KStandardItem* parent = nullptr); KStandardItem(const QString& icon, const QString& text, KStandardItem* parent = nullptr); - KStandardItem(const KStandardItem& item); virtual ~KStandardItem(); /** @@ -70,14 +69,9 @@ void setDataValue(const QByteArray& role, const QVariant& value); QVariant dataValue(const QByteArray& role) const; - void setParent(KStandardItem* parent); - KStandardItem* parent() const; - void setData(const QHash& values); QHash data() const; - QList children() const; - protected: virtual void onDataValueChanged(const QByteArray& role, const QVariant& current, @@ -87,8 +81,6 @@ const QHash& previous); private: - KStandardItem* m_parent; - QList m_children; KStandardItemModel* m_model; QHash m_data; diff --git a/src/kitemviews/kstandarditem.cpp b/src/kitemviews/kstandarditem.cpp --- a/src/kitemviews/kstandarditem.cpp +++ b/src/kitemviews/kstandarditem.cpp @@ -21,40 +21,29 @@ #include "kstandarditemmodel.h" KStandardItem::KStandardItem(KStandardItem* parent) : - m_parent(parent), - m_children(), + QObject(parent), m_model(nullptr), m_data() { } KStandardItem::KStandardItem(const QString& text, KStandardItem* parent) : - m_parent(parent), - m_children(), + QObject(parent), m_model(nullptr), m_data() { setText(text); } KStandardItem::KStandardItem(const QString& icon, const QString& text, KStandardItem* parent) : - m_parent(parent), - m_children(), + QObject(parent), m_model(nullptr), m_data() { setIcon(icon); setText(text); } -KStandardItem::KStandardItem(const KStandardItem& item) : - m_parent(item.m_parent), - m_children(item.m_children), - m_model(item.m_model), - m_data(item.m_data) -{ -} - KStandardItem::~KStandardItem() { } @@ -123,17 +112,6 @@ return m_data[role]; } -void KStandardItem::setParent(KStandardItem* parent) -{ - // TODO: not implemented yet - m_parent = parent; -} - -KStandardItem* KStandardItem::parent() const -{ - return m_parent; -} - void KStandardItem::setData(const QHash& values) { const QHash previous = m_data; @@ -146,11 +124,6 @@ return m_data; } -QList KStandardItem::children() const -{ - return m_children; -} - void KStandardItem::onDataValueChanged(const QByteArray& role, const QVariant& current, const QVariant& previous) diff --git a/src/kitemviews/kstandarditemmodel.cpp b/src/kitemviews/kstandarditemmodel.cpp --- a/src/kitemviews/kstandarditemmodel.cpp +++ b/src/kitemviews/kstandarditemmodel.cpp @@ -112,7 +112,7 @@ onItemRemoved(index, item); - delete item; + item->deleteLater(); item = nullptr; emit itemsRemoved(KItemRangeList() << KItemRange(index, 1));