diff options
Diffstat (limited to 'src/colortable.h')
| -rw-r--r-- | src/colortable.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/colortable.h b/src/colortable.h new file mode 100644 index 00000000..039b6024 --- /dev/null +++ b/src/colortable.h @@ -0,0 +1,39 @@ +#ifndef COLORTABLE_H +#define COLORTABLE_H + +#include <QTableWidget> + +class Settings; + +// a QTableWidget to view and modify color settings +// +class ColorTable : public QTableWidget +{ +public: + ColorTable(QWidget* parent=nullptr); + + // adds colors to the table from the settings + // + void load(Settings& s); + + // resets the colors to their default values; commitColors() must be called + // to save them + // + void resetColors(); + + // commits any changes + // + void commitColors(); + +private: + Settings* m_settings; + + void addColor( + const QString& text, const QColor& defaultColor, + std::function<QColor ()> get, + std::function<void (const QColor&)> commit); + + void onColorActivated(); +}; + +#endif // COLORTABLE_H |
