diff --git a/autotests/timelinemodeltest.cpp b/autotests/timelinemodeltest.cpp index 427a77bfafceeed67819e1d8a13b298ea58621d2..f388b1bb12663b200282744fcf98885b4a18a20d 100644 --- a/autotests/timelinemodeltest.cpp +++ b/autotests/timelinemodeltest.cpp @@ -57,7 +57,6 @@ private slots: resMgr.setPkPassManager(&mgr); TimelineModel model; - model.setPkPassManager(&mgr); model.setReservationManager(&resMgr); QSignalSpy insertSpy(&model, &TimelineModel::rowsInserted); diff --git a/src/app/TimelineDelegate.qml b/src/app/TimelineDelegate.qml index c09340471e601da6b820934c01204a06f1aecbbf..e558895eb0d6d7d7e1c11498ac881d9c61b8353c 100644 --- a/src/app/TimelineDelegate.qml +++ b/src/app/TimelineDelegate.qml @@ -25,7 +25,6 @@ import "." as App Kirigami.AbstractCard { id: root property var reservation - property var pass property string passId property var rangeType @@ -42,7 +41,7 @@ Kirigami.AbstractCard { id: pkpassComponent App.PkPassPage { passId: root.passId - pass: root.pass + pass: _pkpassManager.passObject(root.passId) } } } diff --git a/src/app/TimelinePage.qml b/src/app/TimelinePage.qml index 76843314993a3fb13731174373ad33722fa9c56d..ab25e9791f20a12fff9533fcd3efa197a264e146 100644 --- a/src/app/TimelinePage.qml +++ b/src/app/TimelinePage.qml @@ -43,7 +43,6 @@ Kirigami.ScrollablePage { App.FlightDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } @@ -52,7 +51,6 @@ Kirigami.ScrollablePage { App.HotelDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } @@ -61,7 +59,6 @@ Kirigami.ScrollablePage { App.TrainDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } @@ -70,7 +67,6 @@ Kirigami.ScrollablePage { App.BusDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } @@ -79,7 +75,6 @@ Kirigami.ScrollablePage { App.RestaurantDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } @@ -88,7 +83,6 @@ Kirigami.ScrollablePage { App.TouristAttractionDelegate { reservation: modelData.reservation passId: modelData.passId - pass: modelData.pass rangeType: modelData.rangeType } } diff --git a/src/app/main.cpp b/src/app/main.cpp index 4feae97e47cc020a8154313208b699e8754c0c15..d6f57ca6218b742c21a5972bf4d7b1f875fb791e 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -104,7 +104,6 @@ int main(int argc, char **argv) ReservationManager resMgr; resMgr.setPkPassManager(&passMgr); TimelineModel timelineModel; - timelineModel.setPkPassManager(&passMgr); timelineModel.setReservationManager(&resMgr); ApplicationController appController; diff --git a/src/app/pkpassmanager.cpp b/src/app/pkpassmanager.cpp index b5b8f36d79bd21208b55acbd468b06d9f64dc2b0..c7f829667537cf0e9ad87418322a56280b840ee3 100644 --- a/src/app/pkpassmanager.cpp +++ b/src/app/pkpassmanager.cpp @@ -73,6 +73,11 @@ KPkPass::Pass* PkPassManager::pass(const QString& passId) return file; } +QObject* PkPassManager::passObject(const QString& passId) +{ + return pass(passId); +} + void PkPassManager::importPass(const QUrl& url) { doImportPass(url, Copy); diff --git a/src/app/pkpassmanager.h b/src/app/pkpassmanager.h index 8376246bb857d6592766321c02bf61c5881ac6f3..bdaaf95506ea1f64dcd0b2bdba75fb2ee02d5372 100644 --- a/src/app/pkpassmanager.h +++ b/src/app/pkpassmanager.h @@ -37,6 +37,7 @@ public: QVector passes() const; KPkPass::Pass* pass(const QString &passId); + Q_INVOKABLE QObject* passObject(const QString &passId); Q_INVOKABLE void importPass(const QUrl &url); void importPassFromTempFile(const QString &tmpFile); diff --git a/src/app/timelinemodel.cpp b/src/app/timelinemodel.cpp index 10940cc7c03272594b431eb43e716c1a8287cbb4..f519117380ba058330f183f5c9d03aa8992f0001 100644 --- a/src/app/timelinemodel.cpp +++ b/src/app/timelinemodel.cpp @@ -110,11 +110,6 @@ TimelineModel::TimelineModel(QObject *parent) TimelineModel::~TimelineModel() = default; -void TimelineModel::setPkPassManager(PkPassManager* mgr) -{ - m_passMgr = mgr; -} - void TimelineModel::setReservationManager(ReservationManager* mgr) { beginResetModel(); @@ -158,8 +153,6 @@ QVariant TimelineModel::data(const QModelIndex& index, int role) const const auto &elem = m_elements.at(index.row()); const auto res = m_resMgr->reservation(elem.id); switch (role) { - case PassRole: - return QVariant::fromValue(m_passMgr->pass(passId(res))); case PassIdRole: return passId(res); case SectionHeader: @@ -196,7 +189,6 @@ QVariant TimelineModel::data(const QModelIndex& index, int role) const QHash TimelineModel::roleNames() const { auto names = QAbstractListModel::roleNames(); - names.insert(PassRole, "pass"); names.insert(PassIdRole, "passId"); names.insert(SectionHeader, "sectionHeader"); names.insert(ReservationRole, "reservation"); diff --git a/src/app/timelinemodel.h b/src/app/timelinemodel.h index 7517f67a914b44c2f11b910f996d173554951759..bc7725bc475d2aab779e25dde40324f2495859b1 100644 --- a/src/app/timelinemodel.h +++ b/src/app/timelinemodel.h @@ -21,7 +21,6 @@ #include #include -class PkPassManager; class ReservationManager; class TimelineModel : public QAbstractListModel @@ -31,8 +30,7 @@ class TimelineModel : public QAbstractListModel public: enum Role { - PassRole = Qt::UserRole + 1, - PassIdRole, + PassIdRole = Qt::UserRole + 1, SectionHeader, ReservationRole, ReservationIdRole, @@ -67,7 +65,6 @@ public: explicit TimelineModel(QObject *parent = nullptr); ~TimelineModel(); - void setPkPassManager(PkPassManager *mgr); void setReservationManager(ReservationManager *mgr); QVariant data(const QModelIndex& index, int role) const override; @@ -97,7 +94,6 @@ private: void updateInformationElements(); std::vector::iterator erasePreviousCountyInfo(std::vector::iterator it); - PkPassManager *m_passMgr = nullptr; ReservationManager *m_resMgr = nullptr; std::vector m_elements; };