File indexing completed on 2024-05-12 16:01:45

0001 /*
0002  *  SPDX-FileCopyrightText: 2009 Cyrille Berger <cberger@cberger.net>
0003  *  SPDX-FileCopyrightText: 2014 Sven Langkamp <sven.langkamp@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef KIS_PAINTING_ASSISTANTS_MANAGER_H
0009 #define KIS_PAINTING_ASSISTANTS_MANAGER_H
0010 
0011 #include <QObject>
0012 #include <QPointer>
0013 
0014 #include "KisView.h"
0015 #include "kis_painting_assistants_decoration.h"
0016 #include "KisReferenceImagesDecoration.h"
0017 
0018 class KisViewManager;
0019 class KisAction;
0020 class KisActionManager;
0021 
0022 class KisDecorationsManager : public QObject
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     KisDecorationsManager(KisViewManager* view);
0028     ~KisDecorationsManager() override;
0029 
0030     void setup(KisActionManager* actionManager);
0031 
0032     void setView(QPointer<KisView> imageView);
0033 
0034 private Q_SLOTS:
0035     void updateAction();
0036 
0037 private:
0038     KisPaintingAssistantsDecorationSP assistantsDecoration() const;
0039     KisReferenceImagesDecorationSP referenceImagesDecoration() const;
0040 
0041     QPointer<KisView> m_imageView;
0042 
0043     KisAction *m_toggleAssistant {nullptr};
0044     KisAction *m_togglePreview {nullptr};
0045 
0046     KisAction *m_toggleReferenceImages {nullptr};
0047 };
0048 
0049 #endif // KIS_PAINTING_ASSISTANTS_MANAGER_H