comparison src/gui/window.cpp @ 54:466ac9870df9

add stub pages (to be implemented)
author Paper <mrpapersonic@gmail.com>
date Tue, 26 Sep 2023 11:18:50 -0400
parents 75c804f713b2
children b7a1c0010ffd
comparison
equal deleted inserted replaced
53:a6e51a03112e 54:466ac9870df9
5 #include "gui/dialog/settings.h" 5 #include "gui/dialog/settings.h"
6 #include "gui/dialog/about.h" 6 #include "gui/dialog/about.h"
7 #include "gui/pages/anime_list.h" 7 #include "gui/pages/anime_list.h"
8 #include "gui/pages/now_playing.h" 8 #include "gui/pages/now_playing.h"
9 #include "gui/pages/statistics.h" 9 #include "gui/pages/statistics.h"
10 #include "gui/pages/seasons.h"
11 #include "gui/pages/search.h"
12 #include "gui/pages/torrents.h"
13 #include "gui/pages/history.h"
10 #include "gui/widgets/sidebar.h" 14 #include "gui/widgets/sidebar.h"
11 #include "services/services.h" 15 #include "services/services.h"
12 #include <QApplication> 16 #include <QApplication>
13 #include <QFile> 17 #include <QFile>
14 #include <QMainWindow> 18 #include <QMainWindow>
51 sidebar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); 55 sidebar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
52 56
53 QStackedWidget* stack = new QStackedWidget(main_widget); 57 QStackedWidget* stack = new QStackedWidget(main_widget);
54 stack->addWidget(new NowPlayingWidget(main_widget)); 58 stack->addWidget(new NowPlayingWidget(main_widget));
55 stack->addWidget(new AnimeListWidget(main_widget)); 59 stack->addWidget(new AnimeListWidget(main_widget));
60 stack->addWidget(new HistoryWidget(main_widget));
56 stack->addWidget(new StatisticsWidget(main_widget)); 61 stack->addWidget(new StatisticsWidget(main_widget));
57 62 stack->addWidget(new SearchWidget(main_widget));
58 connect(sidebar, &SideBar::CurrentItemChanged, stack, [stack](int index) { 63 stack->addWidget(new SeasonsWidget(main_widget));
59 switch (index) { 64 stack->addWidget(new TorrentsWidget(main_widget));
60 case 0: 65
61 case 1: stack->setCurrentIndex(index); break; 66 connect(sidebar, &SideBar::CurrentItemChanged, stack, &QStackedWidget::setCurrentIndex);
62 case 3: stack->setCurrentIndex(2); break;
63 default: break;
64 }
65 });
66 sidebar->setCurrentRow(2); 67 sidebar->setCurrentRow(2);
67 68
68 /* Menu Bar */ 69 /* Menu Bar */
69 QAction* action; 70 QAction* action;
70 QMenuBar* menubar = new QMenuBar(parent); 71 QMenuBar* menubar = new QMenuBar(parent);
165 166
166 action = pages_group->addAction(menu->addAction(tr("&Torrents"))); 167 action = pages_group->addAction(menu->addAction(tr("&Torrents")));
167 action->setCheckable(true); 168 action->setCheckable(true);
168 page_to_index_map[action] = 6; 169 page_to_index_map[action] = 6;
169 170
171 connect(stack, &QStackedWidget::currentChanged, this, [pages_group, sidebar](int index){
172 pages_group->actions()[index]->setChecked(true);
173 });
174
170 connect(pages_group, &QActionGroup::triggered, this, [page_to_index_map, stack](QAction* action) { 175 connect(pages_group, &QActionGroup::triggered, this, [page_to_index_map, stack](QAction* action) {
171 int index = page_to_index_map.at(action); 176 stack->setCurrentIndex(page_to_index_map.at(action));
172 switch (index) { 177 });
173 case 0: 178
174 case 1: stack->setCurrentIndex(index); break;
175 case 3: stack->setCurrentIndex(2);
176 default: break;
177 }
178 });
179 menu->addSeparator(); 179 menu->addSeparator();
180 menu->addAction(tr("Show sidebar")); 180 menu->addAction(tr("Show sidebar"));
181 181
182 menu = menubar->addMenu(tr("&Help")); 182 menu = menubar->addMenu(tr("&Help"));
183 action = menu->addAction(tr("About Minori"), this, [this] { 183 action = menu->addAction(tr("About Minori"), this, [this] {