Fixed data base info retrieving through DBHelper, value(QString) should never be used because it is really slow. All items sorting should be done at db level or using std::sort.

This commit is contained in:
Luis Ángel San Martín
2017-08-26 16:16:11 +02:00
commit d6898e9a4e
1040 changed files with 102444 additions and 0 deletions

View File

@ -0,0 +1,62 @@
#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 = 0);
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