File indexing completed on 2024-06-23 04:26:18
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Jouni Pentikäinen <joupent@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef ONION_SKINS_DOCKER_H 0008 #define ONION_SKINS_DOCKER_H 0009 0010 #include <QDockWidget> 0011 0012 #include <kis_mainwindow_observer.h> 0013 #include "kis_signal_compressor.h" 0014 0015 class KisAction; 0016 0017 namespace Ui { 0018 class OnionSkinsDocker; 0019 } 0020 0021 class KisEqualizerWidget; 0022 0023 class KisOnionSkinsDocker : public QDockWidget, public KisMainwindowObserver 0024 { 0025 Q_OBJECT 0026 0027 public: 0028 explicit KisOnionSkinsDocker(QWidget *parent = 0); 0029 ~KisOnionSkinsDocker() override; 0030 0031 QString observerName() override { return "OnionSkinsDocker"; } 0032 void setCanvas(KoCanvasBase *canvas) override; 0033 void unsetCanvas() override; 0034 void setViewManager(KisViewManager *kisview) override; 0035 0036 private: 0037 Ui::OnionSkinsDocker *ui; 0038 0039 KisSignalCompressor m_updatesCompressor; 0040 KisEqualizerWidget *m_equalizerWidget; 0041 KisAction *m_toggleOnionSkinsAction; 0042 0043 class KisColorLabelFilterGroup *m_filterButtonGroup; 0044 class KisColorLabelMouseDragFilter *m_dragFilter; 0045 0046 private: 0047 void loadSettings(); 0048 void initEqualizerSettings(bool useDefaults = false); 0049 0050 private Q_SLOTS: 0051 void changed(); 0052 void slotShowAdditionalSettings(bool value); 0053 void slotUpdateIcons(); 0054 void slotToggleOnionSkins(); 0055 void slotFilteredColorsChanged(); 0056 }; 0057 0058 #endif // ONION_SKINS_DOCKER_H