#ifndef GRID_COMICS_VIEW_H #define GRID_COMICS_VIEW_H #include "comics_view.h" #include #include "comic_db.h" class QAbstractListModel; class QItemSelectionModel; class QQuickView; class QQuickView; class YACReaderToolBarStretch; class YACReaderComicsSelectionHelper; class YACReaderComicInfoHelper; class GridComicsView : public ComicsView { Q_OBJECT public: explicit GridComicsView(QWidget *parent = 0); virtual ~GridComicsView(); void setToolBar(QToolBar * toolBar); void setModel(ComicModel *model); void setCurrentIndex(const QModelIndex &index); QModelIndex currentIndex(); QItemSelectionModel * selectionModel(); void scrollTo(const QModelIndex & mi, QAbstractItemView::ScrollHint hint ); void toFullScreen(); void toNormal(); void updateConfig(QSettings * settings); void enableFilterMode(bool enabled); QSize sizeHint(); QByteArray getMimeDataFromSelection(); void updateCurrentComicView(); public slots: //ComicsView void setShowMarks(bool show); void selectAll(); void selectIndex(int index); void triggerOpenCurrentComic(); void updateBackgroundConfig(); void showInfo(); protected slots: void setCurrentIndex(int index); //QML - double clicked item void selectedItem(int index); //QML - rating void rate(int index, int rating); //QML - dragManager void startDrag(); //QML - dropManager bool canDropUrls(const QList & urls, Qt::DropAction action); bool canDropFormats(const QString &formats); void droppedFiles(const QList & urls, Qt::DropAction action); void droppedComicsForResortingAt(const QString & data, int index); //QML - context menu void requestedContextMenu(const QPoint & point); void setCoversSize(int width); void dummyUpdater(); //TODO remove this void setCurrentComicIfNeeded(); void resetScroll(); signals: void onScrollToOrigin(); private: QSettings * settings; QToolBar * toolbar; YACReaderToolBarStretch * toolBarStretch; QAction * toolBarStretchAction; QWidget * coverSizeSliderWidget; QSlider * coverSizeSlider; QAction * coverSizeSliderAction; QAction * showInfoAction; QAction * showInfoSeparatorAction; boolean filterEnabled; YACReaderComicsSelectionHelper * selectionHelper; YACReaderComicInfoHelper * comicInfoHelper; ComicDB currentComic; bool dummy; void closeEvent ( QCloseEvent * event ); void createCoverSizeSliderWidget(); }; #endif // GRID_COMICS_VIEW_H