From c8f97216faa74b9d3f1f92af7acc509dbe6b5647 Mon Sep 17 00:00:00 2001 From: Nicolas Werner Date: Fri, 25 Oct 2019 11:46:25 +0200 Subject: Small fixes to delegate chooser implementation --- src/timeline2/DelegateChooser.cpp | 40 --------------------------------------- src/timeline2/DelegateChooser.h | 7 ------- 2 files changed, 47 deletions(-) (limited to 'src') diff --git a/src/timeline2/DelegateChooser.cpp b/src/timeline2/DelegateChooser.cpp index ddde93e1..b86fc6cc 100644 --- a/src/timeline2/DelegateChooser.cpp +++ b/src/timeline2/DelegateChooser.cpp @@ -5,11 +5,6 @@ // uses private API, which moved between versions #include #include -#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0) -#include -#else -#include -#endif QQmlComponent * DelegateChoice::delegate() const @@ -70,44 +65,11 @@ DelegateChooser::choices() &DelegateChooser::clearChoices); } -QString -DelegateChooser::role() const -{ - return role_; -} - -void -DelegateChooser::setRole(const QString &role) -{ - if (role != role_) { - role_ = role; - emit roleChanged(); - } -} - -QQmlComponent * -DelegateChooser::delegate(QQmlAdaptorModel *adaptorModel, int row, int column) const -{ - auto value = adaptorModel->value(adaptorModel->indexAt(row, column), role_); - - for (const auto choice : choices_) { - auto choiceValue = choice->roleValue(); - if (!value.isValid() || choiceValue == value) { - nhlog::ui()->debug("Returned delegate for {}", role_.toStdString()); - return choice->delegate(); - } - } - - nhlog::ui()->debug("Returned null delegate"); - return nullptr; -} - void DelegateChooser::appendChoice(QQmlListProperty *p, DelegateChoice *c) { DelegateChooser *dc = static_cast(p->object); dc->choices_.append(c); - // dc->recalcChild(); } int @@ -132,8 +94,6 @@ DelegateChooser::recalcChild() for (const auto choice : choices_) { auto choiceValue = choice->roleValue(); if (!roleValue_.isValid() || !choiceValue.isValid() || choiceValue == roleValue_) { - nhlog::ui()->debug("Returned delegate for {}", role_.toStdString()); - if (child) { // delete child; child = nullptr; diff --git a/src/timeline2/DelegateChooser.h b/src/timeline2/DelegateChooser.h index d2a1cf59..7350e0d3 100644 --- a/src/timeline2/DelegateChooser.h +++ b/src/timeline2/DelegateChooser.h @@ -44,19 +44,13 @@ class DelegateChooser : public QQuickItem public: Q_PROPERTY(QQmlListProperty choices READ choices CONSTANT) - Q_PROPERTY(QString role READ role WRITE setRole NOTIFY roleChanged) Q_PROPERTY(QVariant roleValue READ roleValue WRITE setRoleValue NOTIFY roleValueChanged) QQmlListProperty choices(); - QString role() const; - void setRole(const QString &role); - QVariant roleValue() const; void setRoleValue(const QVariant &value); - QQmlComponent *delegate(QQmlAdaptorModel *adaptorModel, int row, int column = 0) const; - void recalcChild(); void componentComplete() override; @@ -65,7 +59,6 @@ signals: void roleValueChanged(); private: - QString role_; QVariant roleValue_; QList choices_; QQuickItem *child; -- cgit 1.5.1