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