diff --git a/YACReaderLibrary/YACReaderLibrary.pro b/YACReaderLibrary/YACReaderLibrary.pro index 51a86e45..19a30431 100644 --- a/YACReaderLibrary/YACReaderLibrary.pro +++ b/YACReaderLibrary/YACReaderLibrary.pro @@ -262,7 +262,7 @@ TRANSLATIONS = yacreaderlibrary_es.ts \ yacreaderlibrary_source.ts #QML/GridView -QT += quick qml +QT += quick qml quickwidgets HEADERS += grid_comics_view.h \ comics_view_transition.h diff --git a/YACReaderLibrary/comics_view.cpp b/YACReaderLibrary/comics_view.cpp index ed4a029d..10280a52 100644 --- a/YACReaderLibrary/comics_view.cpp +++ b/YACReaderLibrary/comics_view.cpp @@ -6,6 +6,7 @@ #include "QsLog.h" #include +#include ComicsView::ComicsView(QWidget *parent) : QWidget(parent),model(NULL),comicDB(nullptr) diff --git a/YACReaderLibrary/comics_view.h b/YACReaderLibrary/comics_view.h index c77c8ff3..b6e516d3 100644 --- a/YACReaderLibrary/comics_view.h +++ b/YACReaderLibrary/comics_view.h @@ -10,7 +10,7 @@ class QSplitter; class ComicFlowWidget; class QToolBar; class ComicModel; -class QQuickView; +class QQuickWidget; class ComicsView : public QWidget { @@ -55,7 +55,7 @@ protected: void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); - QQuickView *view; + QQuickWidget *view; QWidget *container; ComicDB *comicDB; diff --git a/YACReaderLibrary/grid_comics_view.cpp b/YACReaderLibrary/grid_comics_view.cpp index 1a34ad82..47cd8836 100644 --- a/YACReaderLibrary/grid_comics_view.cpp +++ b/YACReaderLibrary/grid_comics_view.cpp @@ -1,6 +1,7 @@ #include "grid_comics_view.h" #include +#include #include #include "comic.h" @@ -40,21 +41,20 @@ GridComicsView::GridComicsView(QWidget *parent) : qmlRegisterType("com.yacreader.ComicDB",1,0,"ComicDB"); qmlRegisterType("com.yacreader.ComicInfo",1,0,"ComicInfo"); - view = new QQuickView(); + view = new QQuickWidget(this); + view->setResizeMode(QQuickWidget::SizeRootObjectToView); connect( - view, &QQuickView::statusChanged, - [=] (QQuickView::Status status) + view, &QQuickWidget::statusChanged, + [=] (QQuickWidget::Status status) { - if (status == QQuickView::Error) + if (status == QQuickWidget::Error) { QLOG_ERROR() << view->errors(); } } ); - container = QWidget::createWindowContainer(view, this); - container->setMinimumSize(200, 200); - container->setFocusPolicy(Qt::TabFocus); + //view->setFocusPolicy(Qt::TabFocus); selectionHelper = new YACReaderComicsSelectionHelper(this); connect(selectionHelper, &YACReaderComicsSelectionHelper::selectionChanged, this, &GridComicsView::dummyUpdater); @@ -183,7 +183,7 @@ GridComicsView::GridComicsView(QWidget *parent) : setShowMarks(true);//TODO save this in settings QVBoxLayout * l = new QVBoxLayout; - l->addWidget(container); + l->addWidget(view); this->setLayout(l); setContentsMargins(0,0,0,0); diff --git a/YACReaderLibrary/grid_comics_view.h b/YACReaderLibrary/grid_comics_view.h index 2b1eead0..086efd42 100644 --- a/YACReaderLibrary/grid_comics_view.h +++ b/YACReaderLibrary/grid_comics_view.h @@ -10,8 +10,7 @@ class QAbstractListModel; class QItemSelectionModel; -class QQuickView; -class QQuickView; +class QQuickWidget; class YACReaderToolBarStretch; class YACReaderComicsSelectionHelper; diff --git a/YACReaderLibrary/info_comics_view.cpp b/YACReaderLibrary/info_comics_view.cpp index 52844e4e..fddf9ee1 100644 --- a/YACReaderLibrary/info_comics_view.cpp +++ b/YACReaderLibrary/info_comics_view.cpp @@ -1,6 +1,7 @@ #include "info_comics_view.h" #include +#include #include "comic.h" #include "comic_files_manager.h" @@ -18,21 +19,20 @@ InfoComicsView::InfoComicsView(QWidget *parent) qmlRegisterType("com.yacreader.ComicDB",1,0,"ComicDB"); qmlRegisterType("com.yacreader.ComicInfo",1,0,"ComicInfo"); - view = new QQuickView(); + view = new QQuickWidget(); + view->setResizeMode(QQuickWidget::SizeRootObjectToView); connect( - view, &QQuickView::statusChanged, - [=] (QQuickView::Status status) + view, &QQuickWidget::statusChanged, + [=] (QQuickWidget::Status status) { - if (status == QQuickView::Error) + if (status == QQuickWidget::Error) { QLOG_ERROR() << view->errors(); } } ); - container = QWidget::createWindowContainer(view, this); - - container->setFocusPolicy(Qt::StrongFocus); + //container->setFocusPolicy(Qt::StrongFocus); QQmlContext *ctxt = view->rootContext(); @@ -95,7 +95,7 @@ InfoComicsView::InfoComicsView(QWidget *parent) comicInfoHelper = new YACReaderComicInfoHelper(this); QVBoxLayout * l = new QVBoxLayout; - l->addWidget(container); + l->addWidget(view); this->setLayout(l); setContentsMargins(0,0,0,0); diff --git a/YACReaderLibrary/qml/GridComicsView.qml b/YACReaderLibrary/qml/GridComicsView.qml index 997021eb..fd12c3c9 100644 --- a/YACReaderLibrary/qml/GridComicsView.qml +++ b/YACReaderLibrary/qml/GridComicsView.qml @@ -12,7 +12,7 @@ import com.yacreader.ComicInfo 1.0 import com.yacreader.ComicDB 1.0 SplitView { - anchors.fill: parent + //anchors.fill: parent orientation: Qt.Horizontal handleDelegate:Rectangle { width: 1 @@ -345,14 +345,38 @@ Rectangle { } //rating icon - RatingContextMenu { - id: ratingContextMenu + Image { + id: ratingImage + anchors {bottom: realCell.bottom; right: pageImage.left; bottomMargin: 5; rightMargin: Math.floor(pages.width)+12} + source: "star.png" + width: 13 + height: 11 + + MouseArea { + anchors.fill: parent + onPressed: { + console.log("rating"); + comicsSelectionHelper.clear(); + comicsSelectionHelper.selectIndex(index); + grid.currentIndex = index; + ratingConextMenu.popup(); + } + } + + Menu { + id: ratingConextMenu + MenuItem { text: "1"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,1) } + MenuItem { text: "2"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,2) } + MenuItem { text: "3"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,3) } + MenuItem { text: "4"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,4) } + MenuItem { text: "5"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,5) } + } } //comic rating Text { id: comicRating - anchors {bottom: realCell.bottom; right: ratingContextMenu.left; margins: 4} + anchors {bottom: realCell.bottom; right: ratingImage.left; margins: 4} text: rating>0?rating:"-" color: textColor } @@ -827,5 +851,3 @@ Rectangle { } } } - - diff --git a/YACReaderLibrary/qml/InfoComicsView.qml b/YACReaderLibrary/qml/InfoComicsView.qml index 99552df3..e1e701dc 100644 --- a/YACReaderLibrary/qml/InfoComicsView.qml +++ b/YACReaderLibrary/qml/InfoComicsView.qml @@ -11,8 +11,8 @@ Rectangle { color: infoBackgroundColor - width: parent.width - height: parent.height + //width: parent.width + //height: parent.height anchors.margins: 0 FlowView { diff --git a/YACReaderLibrary/qml/RatingContextMenu-osx.qml b/YACReaderLibrary/qml/RatingContextMenu-osx.qml deleted file mode 100644 index 17593550..00000000 --- a/YACReaderLibrary/qml/RatingContextMenu-osx.qml +++ /dev/null @@ -1,32 +0,0 @@ -import QtQuick 2.9 - -import QtQuick.Controls 1.4 - -Image { - id: ratingImage - anchors {bottom: realCell.bottom; right: pageImage.left; bottomMargin: 5; rightMargin: Math.floor(pages.width)+12} - source: "star.png" - width: 13 - height: 11 - - MouseArea { - anchors.fill: parent - onPressed: { - console.log("rating"); - comicsSelectionHelper.clear(); - comicsSelectionHelper.selectIndex(index); - grid.currentIndex = index; - ratingConextMenu.popup(); - } - } - - Menu { - id: ratingConextMenu - MenuItem { text: "1"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,1) } - MenuItem { text: "2"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,2) } - MenuItem { text: "3"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,3) } - MenuItem { text: "4"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,4) } - MenuItem { text: "5"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,5) } - } -} - diff --git a/YACReaderLibrary/qml/RatingContextMenu-win.qml b/YACReaderLibrary/qml/RatingContextMenu-win.qml deleted file mode 100644 index 4b5e03b4..00000000 --- a/YACReaderLibrary/qml/RatingContextMenu-win.qml +++ /dev/null @@ -1,36 +0,0 @@ -import QtQuick 2.9 - -import QtQuick.Controls 1.4 - -Image { - id: ratingImage - anchors {bottom: realCell.bottom; right: pageImage.left; bottomMargin: 5; rightMargin: Math.floor(pages.width)+12} - source: "star.png" - width: 13 - height: 11 - - MouseArea { - anchors.fill: parent - onPressed: { - console.log("rating"); - comicsSelectionHelper.clear(); - comicsSelectionHelper.selectIndex(index); - grid.currentIndex = index; - ratingConextMenu.popup(); - } - } - - MenuBar - { - Menu { - id: ratingConextMenu - MenuItem { text: "1"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,1) } - MenuItem { text: "2"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,2) } - MenuItem { text: "3"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,3) } - MenuItem { text: "4"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,4) } - MenuItem { text: "5"; enabled: true; iconSource:"star_menu.png"; onTriggered: comicRatingHelper.rate(index,5) } - - } - } -} - diff --git a/YACReaderLibrary/qml_osx.qrc b/YACReaderLibrary/qml_osx.qrc index 76dc6a07..1649991a 100644 --- a/YACReaderLibrary/qml_osx.qrc +++ b/YACReaderLibrary/qml_osx.qrc @@ -4,6 +4,5 @@ qml/page-macosx@2x.png qml/star-macosx.png qml/star-macosx@2x.png - qml/RatingContextMenu-osx.qml diff --git a/YACReaderLibrary/qml_win.qrc b/YACReaderLibrary/qml_win.qrc index 3125c878..59e2872f 100644 --- a/YACReaderLibrary/qml_win.qrc +++ b/YACReaderLibrary/qml_win.qrc @@ -2,6 +2,5 @@ qml/page.png qml/star.png - qml/RatingContextMenu-win.qml