File indexing completed on 2024-05-12 16:02:03

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Sven Langkamp <sven.langkamp@gmail.com>
0003  *  SPDX-FileCopyrightText: 2018 Michael Zhou <simeirxh@gmail.com>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #ifndef KISPALETTELISTWIDGET_H
0009 #define KISPALETTELISTWIDGET_H
0010 
0011 #include <QString>
0012 #include <QWidget>
0013 #include <ui_WdgPaletteListWidget.h>
0014 
0015 #include "kritawidgets_export.h"
0016 
0017 #include <KoColorSet.h>
0018 
0019 class KoResource;
0020 
0021 
0022 struct KisPaletteChooserPrivate;
0023 
0024 class KRITAWIDGETS_EXPORT KisPaletteChooser : public QWidget
0025 {
0026     Q_OBJECT
0027 public:
0028     explicit KisPaletteChooser(QWidget *parent = nullptr);
0029     virtual ~KisPaletteChooser();
0030     void setCurrentItem(KoResourceSP currentResource);
0031 
0032 Q_SIGNALS:
0033     void sigPaletteSelected(KoColorSetSP);
0034     void sigAddPalette();
0035     void sigRemovePalette(KoColorSetSP);
0036     void sigImportPalette();
0037     void sigExportPalette(KoColorSetSP);
0038 
0039 public Q_SLOTS:
0040 
0041 private /* methods */:
0042     QString newPaletteFileName();
0043 
0044 public Q_SLOTS:
0045     void paletteSelected(KoResourceSP);
0046 
0047 private Q_SLOTS:
0048     void slotAdd();
0049     void slotRemove();
0050     void slotImport();
0051     void slotExport();
0052 
0053 private:
0054     QScopedPointer<Ui_WdgPaletteListWidget> m_ui;
0055     QScopedPointer<KisPaletteChooserPrivate> m_d;
0056 };
0057 
0058 #endif // KISPALETTELISTWIDGET_H