mirror of
https://github.com/YACReader/yacreader
synced 2025-05-25 18:00:46 -04:00
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
#ifndef YACREADER_NAVIGATION_CONTROLLER_H
|
|
#define YACREADER_NAVIGATION_CONTROLLER_H
|
|
|
|
#include <QObject>
|
|
class LibraryWindow;
|
|
class YACReaderLibrarySourceContainer;
|
|
class YACReaderContentViewsManager;
|
|
|
|
class YACReaderNavigationController : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit YACReaderNavigationController(LibraryWindow *parent, YACReaderContentViewsManager *contentViewsManager);
|
|
|
|
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;
|
|
YACReaderContentViewsManager *contentViewsManager;
|
|
|
|
// convenience methods
|
|
qulonglong folderModelIndexToID(const QModelIndex &mi);
|
|
};
|
|
|
|
#endif // YACREADER_NAVIGATION_CONTROLLER_H
|