/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ #ifndef SMUBERMODELSINGLETON_H #define SMUBERMODELSINGLETON_H #include #include #include class QAbstractItemModel; class PictureViewer2; class QPixmap; class SeriesTreeWidget; class ArchiveController; class SmGlobals : public QObject { Q_OBJECT public: ~SmGlobals(); static SmGlobals *instance(); QAbstractItemModel *model(const QString &which); PictureViewer2 *pictureViewer(); void setArchiveController(ArchiveController *c) { mArchiveController = c; } ArchiveController *archiveController() { return mArchiveController; } QSize cursorSize(); QIcon iconFor(const QString &type); const QSize minPVSize() const { return QSize(640, 480); } const QHash & icons() const { return mIcons; } qint64 dvdSize() const { return mDvdSize; } QHash filetypeMap() const { return mFiletypeMap; } private: SmGlobals(); SmGlobals(const SmGlobals &other); SmGlobals &operator=(const SmGlobals &other); static SmGlobals *mInstance; QHash mModels; PictureViewer2 *mPictureViewer; SeriesTreeWidget *mSeriesTreeWidget; QSize mCursorSize; QHash mIcons; qint64 mDvdSize; ArchiveController *mArchiveController; QHash mFiletypeMap; }; #endif