File indexing completed on 2024-05-19 04:26:42

0001 /*
0002  *  SPDX-FileCopyrightText: 2017 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef KISIMAGECONFIGNOTIFIER_H
0008 #define KISIMAGECONFIGNOTIFIER_H
0009 
0010 #include <QObject>
0011 #include "kritaimage_export.h"
0012 
0013 class KRITAIMAGE_EXPORT KisImageConfigNotifier : public QObject
0014 {
0015     Q_OBJECT
0016 public:
0017     explicit KisImageConfigNotifier();
0018     ~KisImageConfigNotifier() override;
0019 
0020     static KisImageConfigNotifier* instance();
0021 
0022     /**
0023      * Notify that the configuration has changed. This will cause the
0024      * configChanged() signal to be emitted.
0025      */
0026     void notifyConfigChanged(void);
0027 
0028     /**
0029      * Notify that the animation keyframing configuration has changed.
0030      * This will cause the autoKeyFrameConfigurationChanged() signal
0031      * to be emitted.
0032      */
0033     void notifyAutoKeyFrameConfigurationChanged();
0034 
0035 Q_SIGNALS:
0036     /**
0037      * This signal is emitted whenever notifyConfigChanged() is called.
0038      */
0039     void configChanged(void);
0040 
0041     /**
0042      * This signal is emitted whenever notifyConfigChanged() is called.
0043      */
0044     void autoKeyFrameConfigurationChanged();
0045 
0046 private:
0047     Q_DISABLE_COPY(KisImageConfigNotifier)
0048 
0049 private:
0050     struct Private;
0051     const QScopedPointer<Private> m_d;
0052 };
0053 
0054 #endif // KISIMAGECONFIGNOTIFIER_H