File indexing completed on 2024-05-12 04:57:14

0001 /*
0002     SPDX-FileCopyrightText: 2022 Mladen Milinkovic <max@smoothware.net>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef APPGLOBAL_H
0008 #define APPGLOBAL_H
0009 
0010 #include <QExplicitlySharedDataPointer>
0011 
0012 namespace SubtitleComposer {
0013 class Application;
0014 class Subtitle;
0015 class UndoStack;
0016 
0017 class AppGlobal
0018 {
0019     friend class Application;
0020     friend Application * app();
0021     friend Subtitle *appSubtitle();
0022     friend UndoStack * appUndoStack();
0023 
0024     static Application *app;
0025     static QExplicitlySharedDataPointer<Subtitle> subtitle;
0026     static UndoStack *undoStack;
0027 };
0028 
0029 inline Application * app() { return AppGlobal::app; }
0030 inline Subtitle * appSubtitle() { return AppGlobal::subtitle.data(); }
0031 inline UndoStack * appUndoStack() { return AppGlobal::undoStack; }
0032 
0033 }
0034 
0035 #endif // APPGLOBAL_H