comparison src/gui/window.cpp @ 77:6f7385bd334c

*: update formatted all source files, no more subclassing QThread... many other changes :)
author Paper <mrpapersonic@gmail.com>
date Fri, 06 Oct 2023 06:18:53 -0400
parents 27a19dd6cba1
children c489dd4434af
comparison
equal deleted inserted replaced
76:3364fadc8a36 77:6f7385bd334c
25 #include <QMenuBar> 25 #include <QMenuBar>
26 #include <QMessageBox> 26 #include <QMessageBox>
27 #include <QPlainTextEdit> 27 #include <QPlainTextEdit>
28 #include <QStackedWidget> 28 #include <QStackedWidget>
29 #include <QTextStream> 29 #include <QTextStream>
30 #include <QThreadPool>
30 #include <QTimer> 31 #include <QTimer>
31 #include <QToolBar> 32 #include <QToolBar>
32 #include <QToolButton> 33 #include <QToolButton>
33 #if MACOSX 34 #if MACOSX
34 # include "sys/osx/dark_theme.h" 35 # include "sys/osx/dark_theme.h"
45 46
46 SEARCH, 47 SEARCH,
47 SEASONS, 48 SEASONS,
48 TORRENTS 49 TORRENTS
49 }; 50 };
51
52 static void AsyncSynchronize(QStackedWidget* stack) {
53 QThreadPool::globalInstance()->start([stack] {
54 Services::Synchronize();
55 reinterpret_cast<AnimeListPage*>(stack->widget(static_cast<int>(Pages::ANIME_LIST)))->Refresh();
56 });
57 }
50 58
51 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) { 59 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) {
52 main_widget = new QWidget(parent); 60 main_widget = new QWidget(parent);
53 61
54 SideBar* sidebar = new SideBar(main_widget); 62 SideBar* sidebar = new SideBar(main_widget);
96 menu->addSeparator(); 104 menu->addSeparator();
97 105
98 action = menu->addAction(tr("E&xit"), qApp, &QApplication::quit); 106 action = menu->addAction(tr("E&xit"), qApp, &QApplication::quit);
99 107
100 menu = menubar->addMenu(tr("&Services")); 108 menu = menubar->addMenu(tr("&Services"));
101 action = menu->addAction(tr("Synchronize &list"), [stack] { 109 action = menu->addAction(tr("Synchronize &list"), [stack] { AsyncSynchronize(stack); });
102 Services::Synchronize();
103 reinterpret_cast<AnimeListPage*>(stack->widget(static_cast<int>(Pages::ANIME_LIST)))->Refresh();
104 });
105 action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_S)); 110 action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_S));
106 111
107 menu->addSeparator(); 112 menu->addSeparator();
108 113
109 submenu = menu->addMenu(tr("&AniList")); 114 submenu = menu->addMenu(tr("&AniList"));
197 202
198 setMenuBar(menubar); 203 setMenuBar(menubar);
199 204
200 /* Toolbar */ 205 /* Toolbar */
201 QToolBar* toolbar = new QToolBar(this); 206 QToolBar* toolbar = new QToolBar(this);
202 toolbar->addAction(QIcon(":/icons/24x24/arrow-circle-double-135.png"), tr("&Synchronize"), [stack] { 207 toolbar->addAction(QIcon(":/icons/24x24/arrow-circle-double-135.png"), tr("&Synchronize"),
203 Services::Synchronize(); 208 [stack] { AsyncSynchronize(stack); });
204 reinterpret_cast<AnimeListPage*>(stack->widget(static_cast<int>(Pages::ANIME_LIST)))->Refresh();
205 });
206 toolbar->addSeparator(); 209 toolbar->addSeparator();
207 210
208 QToolButton* button = new QToolButton(toolbar); 211 QToolButton* button = new QToolButton(toolbar);
209 212
210 menu = new QMenu(button); 213 menu = new QMenu(button);