#ifndef CLASSIC_COMICS_VIEW_H #define CLASSIC_COMICS_VIEW_H #include "comics_view.h" #include #include class QSplitter; class QStackedWidget; class QToolBar; class ComicFlowWidget; class ComicModel; class YACReaderTableView; class YACReaderToolBarStretch; class ClassicComicsView : public ComicsView { Q_OBJECT public: ClassicComicsView(QWidget *parent = 0); void setToolBar(QToolBar *toolBar); void setModel(ComicModel *model); QModelIndex currentIndex(); QItemSelectionModel *selectionModel(); void scrollTo(const QModelIndex &mi, QAbstractItemView::ScrollHint hint); void toFullScreen(); void toNormal(); void updateConfig(QSettings *settings); void enableFilterMode(bool enabled); void selectIndex(int index); void updateCurrentComicView(); public slots: void setCurrentIndex(const QModelIndex &index); void centerComicFlow(const QModelIndex &mi); void updateTableView(int i); void saveTableHeadersStatus(); void saveSplitterStatus(); void applyModelChanges(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles); void removeItemsFromFlow(const QModelIndex &parent, int from, int to); //ComicsView void setShowMarks(bool show); void selectAll(); void selectedComicForOpening(const QModelIndex &mi); protected slots: void hideComicFlow(bool hide); void requestedViewContextMenu(const QPoint &point); void requestedItemContextMenu(const QPoint &point); private: YACReaderTableView *tableView; YACReaderToolBarStretch *toolBarStretch; QAction *toolBarStretchAction; QToolBar *toolbar; QWidget *comics; QSplitter *sVertical; ComicFlowWidget *comicFlow; QSettings *settings; void closeEvent(QCloseEvent *event); QAction *hideFlowViewAction; QStackedWidget *stack; QByteArray previousSplitterStatus; QWidget *searchingIcon; bool searching; void setupSearchingIcon(); void showSearchingIcon(); void hideSearchingIcon(); void updateSearchingIconPosition(); QMutex settingsMutex; }; #endif // CLASSIC_COMICS_VIEW_H