add drag and drop onto app icon (dock etc.) support for MacOS platform.

This commit is contained in:
Daisuke Cato
2016-10-12 02:09:46 +09:00
commit 649c203759
987 changed files with 90423 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