From 939a52dd6ea2d7ce01d97962dac9678f2c3d37f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 12 Apr 2016 22:37:52 +0200 Subject: [PATCH] Pass comic and comicInfo to the QML context when the current index is updated, so the ComicInfo view becomes functional. --- YACReaderLibrary/info_comics_view.cpp | 14 +++++++++++++- YACReaderLibrary/info_comics_view.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/YACReaderLibrary/info_comics_view.cpp b/YACReaderLibrary/info_comics_view.cpp index ff4fe50b..e251e7ce 100644 --- a/YACReaderLibrary/info_comics_view.cpp +++ b/YACReaderLibrary/info_comics_view.cpp @@ -8,9 +8,10 @@ #include "QsLog.h" InfoComicsView::InfoComicsView(QWidget *parent) - :ComicsView(parent) + :ComicsView(parent), comicDB(0) { qmlRegisterType("com.yacreader.ComicModel",1,0,"ComicModel"); + qmlRegisterType("com.yacreader.ComicDB",1,0,"ComicDB"); qmlRegisterType("com.yacreader.ComicInfo",1,0,"ComicInfo"); view = new QQuickView(); @@ -80,7 +81,10 @@ void InfoComicsView::setModel(ComicModel *model) updateBackgroundConfig();*/ if(model->rowCount()>0) + { setCurrentIndex(model->index(0,0)); + updateInfoForIndex(0); + } } void InfoComicsView::setCurrentIndex(const QModelIndex &index) @@ -91,6 +95,14 @@ void InfoComicsView::setCurrentIndex(const QModelIndex &index) void InfoComicsView::updateInfoForIndex(int index) { + QQmlContext *ctxt = view->rootContext(); + + if(comicDB) delete comicDB; + + comicDB = new ComicDB(model->getComic(this->model->index(index, 0))); + ComicInfo *comicInfo = &(comicDB->info); + ctxt->setContextProperty("comic", comicDB); + ctxt->setContextProperty("comicInfo", comicInfo); int FIXME; } diff --git a/YACReaderLibrary/info_comics_view.h b/YACReaderLibrary/info_comics_view.h index 27440f2c..e843fb92 100644 --- a/YACReaderLibrary/info_comics_view.h +++ b/YACReaderLibrary/info_comics_view.h @@ -36,6 +36,7 @@ protected: QWidget *container; QObject *flow; QObject *list; + ComicDB *comicDB; }; #endif // INFOCOMICSVIEW_H