Sun, 09 Apr 2023 15:59:08 +0300
Extracted the state of the program into a MainState structure, and extracted local functions of main() into static functions.
I was planning to make the core logic and state of the program into a Main class, which would be a QObject that would
have lots of signals and slots, but it looks like this works even without it
#pragma once #include <QWidget> #include <QAbstractTableModel> class KeyboardShortcutsEditor : public QAbstractTableModel { Q_OBJECT public: enum Column { TitleColumn, ShortcutColumn, }; explicit KeyboardShortcutsEditor(QObject* subject, QObject* parent = nullptr); int rowCount(const QModelIndex&) const override; int columnCount(const QModelIndex&) const override; QVariant data(const QModelIndex& index, int role) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; private: const std::vector<QAction*> actions; };