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 "src/basics.h" #include "src/libraries.h" class LibrariesEditor : public QWidget { Q_OBJECT public: LibrariesEditor(QWidget* parent = nullptr); ~LibrariesEditor(); void saveSettings(); void setModel(LibrariesModel *model); private Q_SLOTS: void searchPathForNewLibrary(); void addNewLibrary(); void showContextMenu(const QPoint position); void setCurrentLibraryRole(); void removeCurrentLibrary(); void moveCurrentLibraryUp(); void moveCurrentLibraryDown(); private: enum { RoleColumn, PathColumn }; class Ui_LibrariesEditor& ui; LibrariesModel* currentModel(); index_t currentLibraryIndex() const; };