new class for controlling navigation in LibraryWindow (NavigationController), code refactoring

This commit is contained in:
Luis Ángel San Martín
2014-11-19 15:05:09 +01:00
parent b8ba1e5b70
commit 7c800011b3
18 changed files with 598 additions and 276 deletions

View File

@ -0,0 +1,40 @@
#ifndef YACREADER_NAVIGATION_CONTROLLER_H
#define YACREADER_NAVIGATION_CONTROLLER_H
#include <QObject>
class LibraryWindow;
class YACReaderNavigationController : public QObject
{
Q_OBJECT
public:
explicit YACReaderNavigationController(LibraryWindow * parent);
signals:
public slots:
//info origins
//folders view
void selectedFolder(const QModelIndex & mi);
//reading lists
void selectedList(const QModelIndex & mi);
//history navigation
void selectedIndexFromHistory(const QModelIndex & mi);
//empty subfolder
void selectSubfolder(const QModelIndex &sourceMI, int child);
void loadFolderInfo(const QModelIndex & modelIndex);
void loadPreviousStatus();
private:
void setupConnections();
LibraryWindow * libraryWindow;
//convenience methods
qulonglong folderModelIndexToID(const QModelIndex & mi);
};
#endif // YACREADER_NAVIGATION_CONTROLLER_H