File indexing completed on 2024-06-23 04:27:08
0001 /* 0002 * This file is part of Krita 0003 * 0004 * SPDX-FileCopyrightText: 2020 L. E. Segovia <amy@amyspark.me> 0005 * 0006 * SPDX-License-Identifier: GPL-2.0-or-later 0007 */ 0008 0009 #ifndef KIS_WDG_SEEXPR_H 0010 #define KIS_WDG_SEEXPR_H 0011 0012 #include <kis_config_widget.h> 0013 #include <kis_signal_compressor.h> 0014 #include <resources/KisSeExprScript.h> 0015 0016 #include "kis_wdg_seexpr_presets_save.h" 0017 0018 class Ui_WdgSeExpr; 0019 0020 class KisWdgSeExpr : public KisConfigWidget 0021 { 0022 Q_OBJECT 0023 public: 0024 KisWdgSeExpr(QWidget *parent = 0); 0025 ~KisWdgSeExpr() override; 0026 0027 public: 0028 inline const Ui_WdgSeExpr *widget() const; 0029 void setConfiguration(const KisPropertiesConfigurationSP) override; 0030 KisPropertiesConfigurationSP configuration() const override; 0031 0032 private Q_SLOTS: 0033 void isValid(); 0034 void slotResourceSaved(KoResourceSP resource); 0035 void slotResourceSelected(KoResourceSP resource); 0036 void slotRenamePresetActivated(); 0037 void slotRenamePresetDeactivated(); 0038 void slotSaveRenameCurrentPreset(); 0039 void slotUpdatePresetSettings(); 0040 void slotSaveBrushPreset(); 0041 void slotSaveNewBrushPreset(); 0042 void slotReloadPresetClicked(); 0043 void slotHideCheckboxes(); 0044 0045 private: 0046 Ui_WdgSeExpr *m_widget; 0047 KisSignalCompressor updateCompressor; 0048 KisSeExprScriptSP m_currentPreset; 0049 KisWdgSeExprPresetsSave *m_saveDialog; 0050 0051 bool m_isCreatingPresetFromScratch; 0052 0053 void togglePresetRenameUIActive(bool isRenaming); 0054 }; 0055 0056 #endif