Mercurial > minori
diff include/gui/window.h @ 170:c8375765f0fc
window: make threading somewhat sane
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Tue, 21 Nov 2023 11:04:13 -0500 |
parents | ab191e28e69d |
children | 4d461ef7d424 |
line wrap: on
line diff
--- a/include/gui/window.h Sun Nov 19 17:30:38 2023 -0500 +++ b/include/gui/window.h Tue Nov 21 11:04:13 2023 -0500 @@ -10,8 +10,24 @@ #include <QWidget> #include <QStackedWidget> #include <QCloseEvent> +#include <QThread> #include "gui/widgets/sidebar.h" +Q_DECLARE_METATYPE(std::vector<std::string>); + +class PlayingThread : public QThread { + Q_OBJECT + + public: + PlayingThread(QObject* object = nullptr) : QThread(object) {} + + private: + void run() override; + + signals: + void Done(const std::vector<std::string>& files); +}; + class MainWindow final : public QMainWindow { Q_OBJECT @@ -30,6 +46,8 @@ std::unique_ptr<QWidget> main_widget = nullptr; std::unique_ptr<QStackedWidget> stack = nullptr; std::unique_ptr<SideBar> sidebar = nullptr; + + std::unique_ptr<PlayingThread> thread = nullptr; }; #endif // __window_h