/* 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 #include #include class QAbstractItemModel; class PictureViewer2; class QPixmap; class SeriesTreeWidget; class FrameCache; class ArchiveController; class SmGlobals : public QObject { Q_OBJECT public: ~SmGlobals(); static SmGlobals *instance(); QAbstractItemModel *model(const QString &which); PictureViewer2 *pictureViewer(); FrameCache *frameCache(); void setSeriesTreeWidget(SeriesTreeWidget *stree) { mSeriesTreeWidget = stree; } SeriesTreeWidget *seriesTreeWidget(); void setArchiveController(ArchiveController *c) { mArchiveController = c; } ArchiveController *archiveController() { return mArchiveController; } QSize cursorSize(); const QSize minPVSize() const { return QSize(640, 480); } const QHash & icons() const { return mIcons; } qint64 dvdSize() const { return mDvdSize; } QList &treeWidgets() { return mTreeWidgets; } private: SmGlobals(); SmGlobals(const SmGlobals &other); SmGlobals &operator=(const SmGlobals &other); static SmGlobals *mInstance; QHash mModels; PictureViewer2 *mPictureViewer; SeriesTreeWidget *mSeriesTreeWidget; FrameCache *mFrameCache; QSize mCursorSize; QHash mIcons; qint64 mDvdSize; QList mTreeWidgets; ArchiveController *mArchiveController; }; #endif