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