/* 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 class QAbstractItemModel; class PictureViewer2; class QPixmap; class SeriesTreeWidget; class ArchiveController; // this was: 4707319808 - 20 * 1024 *1024 #define DVDSIZE 4686348288 // File type: used all over the place #define FT_MOVIE 1 #define FT_FRONTCOVER 2 #define FT_BACKCOVER 3 #define FT_GENERALCOVER 4 #define FT_ORIGIN 5 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 QHash & icons() const { return mIcons; } QHash filetypeMap() const { return mFiletypeMap; } QHash registeredWidgets() { return mWidgets; } void registerWidget(const QString &name, QWidget *w); QStringList reencReasons() const { return mReencReasons; } void setReencReasons(const QStringList reasons); private: SmGlobals(); SmGlobals(const SmGlobals &other); SmGlobals &operator=(const SmGlobals &other); static SmGlobals *mInstance; QHash mModels; PictureViewer2 *mPictureViewer; SeriesTreeWidget *mSeriesTreeWidget; QSize mCursorSize; QHash mIcons; ArchiveController *mArchiveController; QHash mFiletypeMap; QHash mWidgets; QStringList mReencReasons; }; #endif