From 637334ba36d44239d501f13310dc4aa61fc45216 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Thu, 29 Sep 2022 23:53:42 -0400 Subject: Customizable shortcuts, maybe. --- qdeduper/preferencedialog.hpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'qdeduper/preferencedialog.hpp') diff --git a/qdeduper/preferencedialog.hpp b/qdeduper/preferencedialog.hpp index 06977fd..8efefde 100644 --- a/qdeduper/preferencedialog.hpp +++ b/qdeduper/preferencedialog.hpp @@ -2,15 +2,20 @@ #define PREFERENCEDIALOG_HPP #include +#include +#include #include #include +#include #include "settings.hpp" class QTabWidget; class QGridLayout; class QDialogButtonBox; +class QTableView; +class QStandardItemModel; class PreferenceDialog : public QDialog { @@ -18,8 +23,10 @@ class PreferenceDialog : public QDialog public: PreferenceDialog(SettingsRegistry *sr, QWidget *parent = nullptr); void setup_widgets(); + void set_hkactions(int tab, std::map defmap, std::map actmap); void load_widget_status(); void save_widget_status(); + void open() override; void accept() override; private: @@ -27,6 +34,19 @@ private: QTabWidget *tw; std::vector tabs; QDialogButtonBox *bb; + QTableView *hktv = nullptr; + QStandardItemModel *hkim = nullptr; + std::map defmap; + std::map actmap; +}; + +class ShortcutEditorDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override; + void setEditorData(QWidget *editor, const QModelIndex &index) const override; + void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override; }; #endif -- cgit v1.2.3