comparison src/gui/window.cc @ 190:2d5823df870f

dep/animia: finalize de-objc-ifying quartz this also fixes up some... rather dumb mistakes in window.cc :) HG Enter commit message. Lines beginning with 'HG:' are removed.
author Paper <mrpapersonic@gmail.com>
date Wed, 06 Dec 2023 21:26:13 -0500
parents f88eda79c60a
children 975a3f0965e2
comparison
equal deleted inserted replaced
189:649786bae914 190:2d5823df870f
34 #include <QThreadPool> 34 #include <QThreadPool>
35 #include <QTimer> 35 #include <QTimer>
36 #include <QToolBar> 36 #include <QToolBar>
37 #include <QToolButton> 37 #include <QToolButton>
38 38
39 #include <iostream>
40
39 #ifdef MACOSX 41 #ifdef MACOSX
40 # include "sys/osx/dark_theme.h" 42 # include "sys/osx/dark_theme.h"
41 #elif defined(WIN32) 43 #elif defined(WIN32)
42 # include "sys/win32/dark_theme.h" 44 # include "sys/win32/dark_theme.h"
43 #endif 45 #endif
62 64
63 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) { 65 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) {
64 setWindowIcon(QIcon(":/favicon.png")); 66 setWindowIcon(QIcon(":/favicon.png"));
65 67
66 main_widget.reset(new QWidget(this)); 68 main_widget.reset(new QWidget(this));
67 /*QHBoxLayout* layout = */new QHBoxLayout(main_widget.get()); 69 new QHBoxLayout(main_widget.get());
68 70
69 AddMainWidgets(); 71 AddMainWidgets();
70 72
71 setCentralWidget(main_widget.get()); 73 setCentralWidget(main_widget.get());
72 74
76 78
77 qRegisterMetaType<std::vector<std::string>>(); 79 qRegisterMetaType<std::vector<std::string>>();
78 80
79 thread.reset(new PlayingThread(this)); 81 thread.reset(new PlayingThread(this));
80 82
81 QTimer* timer = new QTimer; 83 QTimer* timer = new QTimer(this);
82 84
83 connect(timer, &QTimer::timeout, this, [this, page] { 85 connect(timer, &QTimer::timeout, this, [this, page] {
84 if (!thread.get() || thread->isRunning()) 86 if (!thread.get() || thread->isRunning())
85 return; 87 return;
86 connect(thread.get(), &QThread::finished, thread.get(), &QThread::deleteLater); 88
87 connect(thread.get(), &PlayingThread::Done, this, [page](const std::vector<std::string>& files) { 89 connect(thread.get(), &PlayingThread::Done, this, [page](const std::vector<std::string>& files) {
88 for (const auto& file : files) { 90 for (const auto& file : files) {
89 anitomy::Anitomy anitomy; 91 anitomy::Anitomy anitomy;
90 anitomy.Parse(Strings::ToWstring(file)); 92 anitomy.Parse(Strings::ToWstring(file));
91 93
101 }); 103 });
102 thread->start(); 104 thread->start();
103 }); 105 });
104 106
105 timer->start(5000); 107 timer->start(5000);
106 timer->moveToThread(thread.get());
107 } 108 }
108 109
109 void MainWindow::AddMainWidgets() { 110 void MainWindow::AddMainWidgets() {
110 int page = static_cast<int>(Pages::ANIME_LIST); 111 int page = static_cast<int>(Pages::ANIME_LIST);
111 if (sidebar.get()) { 112 if (sidebar.get()) {