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