yacreader/YACReaderLibrary/yacreader_history_controller.h
Luis Ángel San Martín 268bebbddd Use nullptr instead of 0
2019-06-01 16:04:48 +02:00

61 lines
1.6 KiB
C++

#ifndef YACREADER_HISTORY_CONTROLLER_H
#define YACREADER_HISTORY_CONTROLLER_H
#include <QObject>
#include <QModelIndex>
class YACReaderHistoryController;
class YACReaderLibrarySourceContainer
{
public:
enum SourceType {
None,
Folder,
List
};
explicit YACReaderLibrarySourceContainer();
explicit YACReaderLibrarySourceContainer(const QModelIndex &sourceModelIndex, YACReaderLibrarySourceContainer::SourceType type);
QModelIndex getSourceModelIndex() const;
YACReaderLibrarySourceContainer::SourceType getType() const;
bool operator==(const YACReaderLibrarySourceContainer &other) const;
bool operator!=(const YACReaderLibrarySourceContainer &other) const;
protected:
QModelIndex sourceModelIndex;
YACReaderLibrarySourceContainer::SourceType type;
friend class YACReaderHistoryController;
};
Q_DECLARE_METATYPE(YACReaderLibrarySourceContainer)
class YACReaderHistoryController : public QObject
{
Q_OBJECT
public:
explicit YACReaderHistoryController(QObject *parent = nullptr);
signals:
void enabledForward(bool enabled);
void enabledBackward(bool enabled);
void modelIndexSelected(YACReaderLibrarySourceContainer);
public slots:
void clear();
void backward();
void forward();
void updateHistory(const YACReaderLibrarySourceContainer &source);
YACReaderLibrarySourceContainer lastSourceContainer();
YACReaderLibrarySourceContainer currentSourceContainer();
protected:
int currentFolderNavigation;
QList<YACReaderLibrarySourceContainer> history;
};
#endif // YACREADER_HISTORY_CONTROLLER_H