yacreader/YACReaderLibrary/yacreader_navigation_controller.h
Luis Ángel San Martín 5aa02a19bb clang-format
2021-10-18 21:56:52 +02:00

54 lines
1.6 KiB
C++

#ifndef YACREADER_NAVIGATION_CONTROLLER_H
#define YACREADER_NAVIGATION_CONTROLLER_H
#include <QObject>
class LibraryWindow;
class YACReaderLibrarySourceContainer;
class YACReaderComicsViewsManager;
class YACReaderNavigationController : public QObject
{
Q_OBJECT
public:
explicit YACReaderNavigationController(LibraryWindow *parent, YACReaderComicsViewsManager *comicsViewsManager);
signals:
public slots:
// info origins
// folders view
void selectedFolder(const QModelIndex &mi);
void reselectCurrentFolder();
// reading lists
void selectedList(const QModelIndex &mi);
void reselectCurrentList();
void reselectCurrentSource();
// history navigation
void selectedIndexFromHistory(const YACReaderLibrarySourceContainer &sourceContainer);
void loadIndexFromHistory(const YACReaderLibrarySourceContainer &sourceContainer);
// empty subfolder
void selectSubfolder(const QModelIndex &sourceMI, int child);
void loadEmptyFolderInfo(const QModelIndex &modelIndex);
void loadFolderInfo(const QModelIndex &modelIndex);
void loadListInfo(const QModelIndex &modelIndex);
void loadSpecialListInfo(const QModelIndex &modelIndex);
void loadLabelInfo(const QModelIndex &modelIndex);
void loadReadingListInfo(const QModelIndex &modelIndex);
void loadPreviousStatus();
private:
void setupConnections();
LibraryWindow *libraryWindow;
YACReaderComicsViewsManager *comicsViewsManager;
// convenience methods
qulonglong folderModelIndexToID(const QModelIndex &mi);
};
#endif // YACREADER_NAVIGATION_CONTROLLER_H