annotate src/gui/window.cc @ 198:bc1ae1810855

dep/animia: switch from using classes to global functions the old idea was ok, but sort of hackish; this method doesn't use classes at all, and this way (especially important!) we can do wayland stuff AND x11 at the same time, which wasn't really possible without stupid workarounds in the other method
author Paper <mrpapersonic@gmail.com>
date Sun, 24 Dec 2023 02:59:42 -0500
parents 975a3f0965e2
children 84e0a3c4737a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
1 #include "gui/window.h"
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
2 #include "core/anime_db.h"
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
3 #include "core/config.h"
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
4 #include "core/session.h"
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
5 #include "core/strings.h"
102
b315f3759c56 *: big patch
Paper <mrpapersonic@gmail.com>
parents: 83
diff changeset
6 #include "gui/theme.h"
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
7 #include "gui/dialog/about.h"
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
8 #include "gui/dialog/settings.h"
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
9 #include "gui/pages/anime_list.h"
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
10 #include "gui/pages/history.h"
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
11 #include "gui/pages/now_playing.h"
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
12 #include "gui/pages/search.h"
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
13 #include "gui/pages/seasons.h"
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
14 #include "gui/pages/statistics.h"
54
466ac9870df9 add stub pages (to be implemented)
Paper <mrpapersonic@gmail.com>
parents: 51
diff changeset
15 #include "gui/pages/torrents.h"
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 44
diff changeset
16 #include "gui/widgets/sidebar.h"
15
cde8f67a7c7d *: update, megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
17 #include "services/services.h"
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
18 #include "track/media.h"
147
6fdf0632c003 track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents: 139
diff changeset
19
154
d43d68408d3c dep/animia: fix XnuFdTools
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
20 #include "anitomy/anitomy.h"
d43d68408d3c dep/animia: fix XnuFdTools
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
21
63
3d2decf093bb *: fix many clang warnings
Paper <mrpapersonic@gmail.com>
parents: 62
diff changeset
22 #include <QActionGroup>
7
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
23 #include <QApplication>
64
fe719c109dbc *: update
Paper <mrpapersonic@gmail.com>
parents: 63
diff changeset
24 #include <QDebug>
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
25 #include <QFile>
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
26 #include <QHBoxLayout>
7
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
27 #include <QMainWindow>
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
28 #include <QMenuBar>
63
3d2decf093bb *: fix many clang warnings
Paper <mrpapersonic@gmail.com>
parents: 62
diff changeset
29 #include <QMessageBox>
7
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
30 #include <QPlainTextEdit>
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
31 #include <QStackedWidget>
63
3d2decf093bb *: fix many clang warnings
Paper <mrpapersonic@gmail.com>
parents: 62
diff changeset
32 #include <QTextStream>
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
33 #include <QThread>
77
6f7385bd334c *: update
Paper <mrpapersonic@gmail.com>
parents: 69
diff changeset
34 #include <QThreadPool>
62
4c6dd5999b39 *: update
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
35 #include <QTimer>
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
36 #include <QToolBar>
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
37 #include <QToolButton>
147
6fdf0632c003 track: use a bit of a more sane way to manage recognition
Paper <mrpapersonic@gmail.com>
parents: 139
diff changeset
38
190
2d5823df870f dep/animia: finalize de-objc-ifying quartz
Paper <mrpapersonic@gmail.com>
parents: 174
diff changeset
39 #include <iostream>
2d5823df870f dep/animia: finalize de-objc-ifying quartz
Paper <mrpapersonic@gmail.com>
parents: 174
diff changeset
40
106
c8c72278f6fd *: #if -> #ifdef, remove outdated comments in sys/win32/dark_theme.cc
Paper <mrpapersonic@gmail.com>
parents: 105
diff changeset
41 #ifdef MACOSX
15
cde8f67a7c7d *: update, megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
42 # include "sys/osx/dark_theme.h"
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents: 44
diff changeset
43 #elif defined(WIN32)
15
cde8f67a7c7d *: update, megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 10
diff changeset
44 # include "sys/win32/dark_theme.h"
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
45 #endif
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
46
10
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
47 enum class Pages {
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
48 NOW_PLAYING,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
49
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
50 ANIME_LIST,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
51 HISTORY,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
52 STATISTICS,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
53
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
54 SEARCH,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
55 SEASONS,
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
56 TORRENTS
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
57 };
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
58
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
59 void PlayingThread::run() {
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
60 std::vector<std::string> files;
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
61 Track::Media::GetCurrentlyPlaying(files);
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
62 emit Done(files);
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
63 }
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
64
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
65 MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) {
103
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
66 setWindowIcon(QIcon(":/favicon.png"));
621084cc542c resources: add icons
Paper <mrpapersonic@gmail.com>
parents: 102
diff changeset
67
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
68 main_widget.reset(new QWidget(this));
190
2d5823df870f dep/animia: finalize de-objc-ifying quartz
Paper <mrpapersonic@gmail.com>
parents: 174
diff changeset
69 new QHBoxLayout(main_widget.get());
10
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
70
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
71 AddMainWidgets();
10
Paper <mrpapersonic@gmail.com>
parents: 9
diff changeset
72
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
73 setCentralWidget(main_widget.get());
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
74
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
75 CreateBars();
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
76
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
77 NowPlayingPage* page = reinterpret_cast<NowPlayingPage*>(stack->widget(static_cast<int>(Pages::NOW_PLAYING)));
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
78
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
79 qRegisterMetaType<std::vector<std::string>>();
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
80
195
975a3f0965e2 locale: only attempt loading locales after QApplication is init'd
Paper <mrpapersonic@gmail.com>
parents: 190
diff changeset
81 /* This thread will be destroyed on
975a3f0965e2 locale: only attempt loading locales after QApplication is init'd
Paper <mrpapersonic@gmail.com>
parents: 190
diff changeset
82 * close of the program OR on the destruction
975a3f0965e2 locale: only attempt loading locales after QApplication is init'd
Paper <mrpapersonic@gmail.com>
parents: 190
diff changeset
83 * of MainWindow
975a3f0965e2 locale: only attempt loading locales after QApplication is init'd
Paper <mrpapersonic@gmail.com>
parents: 190
diff changeset
84 */
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
85 thread.reset(new PlayingThread(this));
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
86
190
2d5823df870f dep/animia: finalize de-objc-ifying quartz
Paper <mrpapersonic@gmail.com>
parents: 174
diff changeset
87 QTimer* timer = new QTimer(this);
154
d43d68408d3c dep/animia: fix XnuFdTools
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
88
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
89 connect(timer, &QTimer::timeout, this, [this, page] {
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
90 if (!thread.get() || thread->isRunning())
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
91 return;
190
2d5823df870f dep/animia: finalize de-objc-ifying quartz
Paper <mrpapersonic@gmail.com>
parents: 174
diff changeset
92
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
93 connect(thread.get(), &PlayingThread::Done, this, [page](const std::vector<std::string>& files) {
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
94 for (const auto& file : files) {
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
95 anitomy::Anitomy anitomy;
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
96 anitomy.Parse(Strings::ToWstring(file));
154
d43d68408d3c dep/animia: fix XnuFdTools
Paper <mrpapersonic@gmail.com>
parents: 147
diff changeset
97
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
98 const auto& elements = anitomy.elements();
138
28842a8d0c6b dep/animia: huge refactor (again...)
Paper <mrpapersonic@gmail.com>
parents: 135
diff changeset
99
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
100 int id = Anime::db.GetAnimeFromTitle(Strings::ToUtf8String(elements.get(anitomy::kElementAnimeTitle)));
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
101 if (id <= 0)
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
102 continue;
139
478f3b366199 dep/animia: separate lots of things, use base class for OS stuff
Paper <mrpapersonic@gmail.com>
parents: 138
diff changeset
103
168
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
104 page->SetPlaying(Anime::db.items[id], elements);
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
105 break;
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
106 }
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
107 });
79a2a24453fa window: improve performance when getting running files
paper@DavesDouble.local
parents: 154
diff changeset
108 thread->start();
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
109 });
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
110
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
111 timer->start(5000);
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
112 }
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
113
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
114 void MainWindow::AddMainWidgets() {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
115 int page = static_cast<int>(Pages::ANIME_LIST);
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
116 if (sidebar.get()) {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
117 main_widget->layout()->removeWidget(sidebar.get());
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
118 sidebar.reset();
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
119 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
120
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
121 if (stack.get()) {
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
122 page = stack->currentIndex();
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
123 main_widget->layout()->removeWidget(stack.get());
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
124 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
125
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
126 sidebar.reset(new SideBar(main_widget.get()));
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
127 sidebar->setFixedWidth(128);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
128 sidebar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
129
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
130 sidebar->AddItem(tr("Now Playing"), SideBar::CreateIcon(":/icons/16x16/film.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
131 sidebar->AddSeparator();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
132 sidebar->AddItem(tr("Anime List"), SideBar::CreateIcon(":/icons/16x16/document-list.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
133 sidebar->AddItem(tr("History"), SideBar::CreateIcon(":/icons/16x16/clock-history-frame.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
134 sidebar->AddItem(tr("Statistics"), SideBar::CreateIcon(":/icons/16x16/chart.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
135 sidebar->AddSeparator();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
136 sidebar->AddItem(tr("Search"), SideBar::CreateIcon(":/icons/16x16/magnifier.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
137 sidebar->AddItem(tr("Seasons"), SideBar::CreateIcon(":/icons/16x16/calendar.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
138 sidebar->AddItem(tr("Torrents"), SideBar::CreateIcon(":/icons/16x16/feed.png"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
139
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
140 stack.reset(new QStackedWidget(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
141 stack->addWidget(new NowPlayingPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
142 stack->addWidget(new AnimeListPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
143 stack->addWidget(new HistoryPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
144 stack->addWidget(new StatisticsPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
145 stack->addWidget(new SearchPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
146 stack->addWidget(new SeasonsPage(main_widget.get()));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
147 stack->addWidget(new TorrentsPage(main_widget.get()));
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
148
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
149 connect(sidebar.get(), &SideBar::CurrentItemChanged, stack.get(), &QStackedWidget::setCurrentIndex);
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
150 sidebar->SetCurrentItem(page);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
151
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
152 main_widget->layout()->addWidget(sidebar.get());
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
153 main_widget->layout()->addWidget(stack.get());
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
154 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
155
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
156 void MainWindow::CreateBars() {
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
157 /* Menu Bar
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
158 The notation of these might seem ugly at first, but it's actually very nice
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
159 (just trust me). It makes it much easier to edit the lists and makes it clear
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
160 if you're in submenu or not. */
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
161 QMenuBar* menubar = new QMenuBar(this);
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
162
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
163 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
164 /* File */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
165 QMenu* menu = menubar->addMenu(tr("&File"));
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
166
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
167 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
168 QMenu* submenu = menu->addMenu(tr("&Library folders"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
169 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
170 QAction* action = submenu->addAction(tr("&Add new folder..."));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
171 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
172 }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
173
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
174 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
175 QAction* action = menu->addAction(tr("&Scan available episodes"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
176 }
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
177
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
178 menu->addSeparator();
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
179
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
180 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
181 // QAction* action = menu->addAction(tr("Play &next episode"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
182 // action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_N));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
183 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
184 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
185 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
186 // QAction* action = menu->addAction(tr("Play &random episode"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
187 // action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_R));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
188 // }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
189
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
190 menu->addSeparator();
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
191
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
192 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
193 QAction* action = menu->addAction(tr("E&xit"), qApp, &QApplication::quit);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
194 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
195 }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
196
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
197 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
198 /* Services */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
199 QMenu* menu = menubar->addMenu(tr("&Services"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
200 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
201 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
202 QAction* action = menu->addAction(tr("Synchronize &list"), [this] { AsyncSynchronize(stack.get()); });
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
203 action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_S));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
204 }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
205
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
206 // menu->addSeparator();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
207 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
208 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
209 // /* AniList */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
210 // QMenu* submenu = menu->addMenu(tr("&AniList"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
211 // QAction* action = submenu->addAction(tr("Go to my &profile"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
212 // action = submenu->addAction(tr("Go to my &stats"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
213 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
214 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
215 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
216 // /* Kitsu */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
217 // QMenu* submenu = menu->addMenu(tr("&Kitsu"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
218 // QAction* action = submenu->addAction(tr("Go to my &feed"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
219 // action = submenu->addAction(tr("Go to my &library"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
220 // action = submenu->addAction(tr("Go to my &profile"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
221 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
222 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
223 // QMenu* submenu = menu->addMenu(tr("&MyAnimeList"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
224 // QAction* action = submenu->addAction(tr("Go to my p&anel"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
225 // action = submenu->addAction(tr("Go to my &profile"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
226 // action = submenu->addAction(tr("Go to my &history"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
227 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
228 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
229 }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
230
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
231 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
232 /* Tools */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
233 QMenu* menu = menubar->addMenu(tr("&Tools"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
234 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
235 // /* Export anime list */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
236 // QMenu* submenu = menu->addMenu(tr("&Export anime list"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
237 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
238 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
239 // /* Markdown export */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
240 // QAction* action = submenu->addAction(tr("Export as &Markdown..."));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
241 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
242 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
243 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
244 // /* XML export */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
245 // QAction* action = submenu->addAction(tr("Export as MyAnimeList &XML..."));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
246 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
247 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
248 // menu->addSeparator();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
249 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
250 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
251 // QAction* action = menu->addAction(tr("Enable anime &recognition"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
252 // action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
253 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
254 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
255 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
256 // QAction* action = menu->addAction(tr("Enable auto &sharing"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
257 // action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
258 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
259 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
260 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
261 // QAction* action = menu->addAction(tr("Enable &auto synchronization"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
262 // action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
263 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
264 //
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
265 // menu->addSeparator();
44
619cbd6e69f9 filesystem: fix CreateDirectories function
Paper <mrpapersonic@gmail.com>
parents: 37
diff changeset
266
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
267 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
268 QAction* action = menu->addAction(tr("&Settings"), [this] {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
269 SettingsDialog dialog(this);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
270 dialog.exec();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
271 });
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
272 action->setMenuRole(QAction::PreferencesRole);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
273 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
274 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
275
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
276 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
277 /* View */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
278 QMenu* menu = menubar->addMenu(tr("&View"));
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
279
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
280 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
281 /* Pages... */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
282 std::map<QAction*, int> page_to_index_map = {};
58
b7a1c0010ffd sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents: 54
diff changeset
283
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
284 QActionGroup* pages_group = new QActionGroup(this);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
285 pages_group->setExclusive(true);
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
286
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
287 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
288 QAction* action = pages_group->addAction(menu->addAction(tr("&Now Playing")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
289 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
290 page_to_index_map[action] = 0;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
291 }
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
292
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
293 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
294 QAction* action = pages_group->addAction(menu->addAction(tr("&Anime List")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
295 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
296 action->setChecked(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
297 page_to_index_map[action] = 1;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
298 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
299
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
300 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
301 QAction* action = pages_group->addAction(menu->addAction(tr("&History")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
302 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
303 page_to_index_map[action] = 2;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
304 }
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
305
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
306 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
307 QAction* action = pages_group->addAction(menu->addAction(tr("&Statistics")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
308 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
309 page_to_index_map[action] = 3;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
310 }
48
e613772f41d5 statistics.cpp: show requests made
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
311
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
312 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
313 QAction* action = pages_group->addAction(menu->addAction(tr("S&earch")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
314 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
315 page_to_index_map[action] = 4;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
316 }
44
619cbd6e69f9 filesystem: fix CreateDirectories function
Paper <mrpapersonic@gmail.com>
parents: 37
diff changeset
317
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
318 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
319 QAction* action = pages_group->addAction(menu->addAction(tr("Se&asons")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
320 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
321 page_to_index_map[action] = 5;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
322 }
54
466ac9870df9 add stub pages (to be implemented)
Paper <mrpapersonic@gmail.com>
parents: 51
diff changeset
323
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
324 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
325 QAction* action = pages_group->addAction(menu->addAction(tr("&Torrents")));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
326 action->setCheckable(true);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
327 page_to_index_map[action] = 6;
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
328 }
54
466ac9870df9 add stub pages (to be implemented)
Paper <mrpapersonic@gmail.com>
parents: 51
diff changeset
329
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
330 /* pain in my ass */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
331 connect(sidebar.get(), &SideBar::CurrentItemChanged, this,
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
332 [pages_group](int index) { pages_group->actions()[index]->setChecked(true); });
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
333
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
334 connect(pages_group, &QActionGroup::triggered, this,
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
335 [this, page_to_index_map](QAction* action) { sidebar->SetCurrentItem(page_to_index_map.at(action)); });
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
336 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
337
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
338 menu->addSeparator();
44
619cbd6e69f9 filesystem: fix CreateDirectories function
Paper <mrpapersonic@gmail.com>
parents: 37
diff changeset
339
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
340 // {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
341 // QAction* action = menu->addAction(tr("Show sidebar"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
342 // }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
343 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
344
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
345 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
346 /* Help */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
347 QMenu* menu = menubar->addMenu(tr("&Help"));
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
348
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
349 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
350 /* About Minori */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
351 menu->addAction(tr("&About Minori"), this, [this] {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
352 AboutWindow dialog(this);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
353 dialog.exec();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
354 });
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
355 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
356
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
357 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
358 /* About Qt */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
359 QAction* action = menu->addAction(tr("About &Qt"), qApp, &QApplication::aboutQt);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
360 action->setMenuRole(QAction::AboutQtRole);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
361 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
362 }
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
363 /* QMainWindow will delete the old one for us,
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
364 according to the docs */
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
365 setMenuBar(menubar);
7
Paper <mrpapersonic@gmail.com>
parents: 6
diff changeset
366
68
2417121d894e *: normalize usage of layouts
Paper <mrpapersonic@gmail.com>
parents: 64
diff changeset
367 /* Toolbar */
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
368
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
369 /* remove old toolbar(s) */
115
c72b907b9bef window: patch for Qt 5
Paper <mrpapersonic@gmail.com>
parents: 114
diff changeset
370 /* the empty QString() is a Qt 5 wart... */
c72b907b9bef window: patch for Qt 5
Paper <mrpapersonic@gmail.com>
parents: 114
diff changeset
371 for (QToolBar*& t : findChildren<QToolBar*>(QString(), Qt::FindDirectChildrenOnly)) {
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
372 removeToolBar(t);
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
373 delete t;
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
374 }
79
c489dd4434af *: what did I do again?
Paper <mrpapersonic@gmail.com>
parents: 77
diff changeset
375
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
376 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
377 /* Toolbar */
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
378 QToolBar* toolbar = new QToolBar(this);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
379 toolbar->addAction(QIcon(":/icons/24x24/arrow-circle-double-135.png"), tr("&Synchronize"),
170
c8375765f0fc window: make threading somewhat sane
Paper <mrpapersonic@gmail.com>
parents: 168
diff changeset
380 [this] { AsyncSynchronize(stack.get()); });
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
381
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
382 toolbar->addSeparator();
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
383
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
384 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
385 QToolButton* button = new QToolButton(toolbar);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
386 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
387 QMenu* menu = new QMenu(button);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
388 QAction* action = menu->addAction(tr("..."));
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
389
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
390 button->setMenu(menu);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
391 }
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
392 button->setIcon(QIcon(":/icons/24x24/folder-open.png"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
393 button->setPopupMode(QToolButton::InstantPopup);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
394 toolbar->addWidget(button);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
395 }
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
396
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
397 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
398 QToolButton* button = new QToolButton(toolbar);
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
399
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
400 {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
401 QMenu* menu = new QMenu(button);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
402 QAction* action = menu->addAction(tr("..."));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
403
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
404 button->setMenu(menu);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
405 }
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
406
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
407 button->setIcon(QIcon(":/icons/24x24/application-export.png"));
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
408 button->setPopupMode(QToolButton::InstantPopup);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
409 toolbar->addWidget(button);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
410 }
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 68
diff changeset
411
114
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
412 toolbar->addSeparator();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
413 toolbar->addAction(QIcon(":/icons/24x24/gear.png"), tr("S&ettings"), [this] {
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
414 SettingsDialog dialog(this);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
415 dialog.exec();
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
416 });
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
417 addToolBar(toolbar);
ab191e28e69d *: add initial torrent stuff
Paper <mrpapersonic@gmail.com>
parents: 113
diff changeset
418 }
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
419 }
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
420
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
421 void MainWindow::SetActivePage(QWidget* page) {
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
422 this->setCentralWidget(page);
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
423 }
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
424
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
425 void MainWindow::AsyncSynchronize(QStackedWidget* stack) {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
426 if (session.config.service == Anime::Services::NONE) {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
427 QMessageBox msg;
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
428 msg.setWindowTitle(tr("Error synchronizing with service!"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
429 msg.setText(tr("It seems you haven't yet selected a service to use."));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
430 msg.setInformativeText(tr("Would you like to select one now?"));
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
431 msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
432 msg.setDefaultButton(QMessageBox::Yes);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
433 int ret = msg.exec();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
434 if (ret == QMessageBox::Yes) {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
435 SettingsDialog dialog;
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
436 dialog.exec();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
437 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
438 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
439 QThreadPool::globalInstance()->start([stack] {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
440 Services::Synchronize();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
441 reinterpret_cast<AnimeListPage*>(stack->widget(static_cast<int>(Pages::ANIME_LIST)))->Refresh();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
442 });
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
443 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
444
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
445 void MainWindow::RetranslateUI() {
113
32afe0e940bf window: remove tiny little debug thing
Paper <mrpapersonic@gmail.com>
parents: 112
diff changeset
446 /* This kinda sucks but nobody's really going to be changing
32afe0e940bf window: remove tiny little debug thing
Paper <mrpapersonic@gmail.com>
parents: 112
diff changeset
447 the application language all the time :p */
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
448 setUpdatesEnabled(false);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
449 AddMainWidgets();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
450 CreateBars();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
451 setUpdatesEnabled(true);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
452 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
453
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
454 void MainWindow::changeEvent(QEvent* event) {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
455 if (event) { /* is this really necessary */
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
456 switch (event->type()) {
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
457 // this event is send if a translator is loaded
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
458 case QEvent::LanguageChange:
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
459 RetranslateUI();
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
460 break;
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
461
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
462 default:
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
463 break;
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
464 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
465 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
466 QMainWindow::changeEvent(event);
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
467 }
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
468
105
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
469 void MainWindow::showEvent(QShowEvent* event) {
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
470 QMainWindow::showEvent(event);
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
471 #ifdef WIN32
112
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
472 /* Technically this *should* be
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
473 session.config.theme.IsInDarkTheme() && win32::IsInDarkTheme()
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
474 but I prefer the title bar being black even when light mode
80f49f623d30 locale: allow switching locales without restarting
Paper <mrpapersonic@gmail.com>
parents: 108
diff changeset
475 is enabled :/ */
108
2004b41d4a59 *: huge commit
Paper <mrpapersonic@gmail.com>
parents: 106
diff changeset
476 win32::SetTitleBarsToBlack(session.config.theme.IsInDarkTheme());
105
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
477 #endif
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
478 }
6d8da6e64d61 theme: add dark stylesheet, make it actually usable
Paper <mrpapersonic@gmail.com>
parents: 103
diff changeset
479
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
480 void MainWindow::closeEvent(QCloseEvent* event) {
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
481 session.config.Save();
174
f88eda79c60a anime/db: add some more json functionality, still doesn't compile :/
Paper <mrpapersonic@gmail.com>
parents: 170
diff changeset
482 Anime::db.SaveDatabaseToDisk();
2
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
483 event->accept();
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
484 }
Paper <mrpapersonic@gmail.com>
parents: 1
diff changeset
485
9
5c0397762b53 INCOMPLETE: megacommit :)
Paper <mrpapersonic@gmail.com>
parents: 8
diff changeset
486 #include "gui/moc_window.cpp"