19 : BaseMainWindow(parent)
20 , main_zone(
new board(
this))
21 , settings(
new settings_panel(
this))
22#if defined(KC_ANDROID) || defined(Q_OS_ANDROID)
23 , zones_stack(
new QStackedWidget(
this))
25 , settings_dock(
new QDockWidget(
str_label(
"settings"),
this))
28#if defined(KC_ANDROID) || defined(Q_OS_ANDROID)
29 zones_stack->addWidget(main_zone);
30 zones_stack->addWidget(settings);
31 zones_stack->setCurrentWidget(main_zone);
32 setCentralWidget(zones_stack);
37 settings_dock->setAllowedAreas(
38 Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea
40 settings_dock->setFeatures(
41 QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable
43 addDockWidget(Qt::RightDockWidgetArea, settings_dock);
44 const auto settings_action =
settings_dock->toggleViewAction();
45 settings_action->setText(
str_label(
"settings"));
47 const auto top_toolbar = addToolBar(
str_label(
"top"));
48 top_toolbar->addAction(settings_action);
51 connect(
this, &QObject::destroyed,
this, [mgr]() {
delete mgr; });
53 auto* ctrl =
new controller(mgr, settings, main_zone,
this);
56 settings, &settings_panel::add_file_stream, ctrl,
57 &controller::handle_add_file
61 &controller::handle_add_local
65 &controller::handle_add_url
73 &controller::handle_show_stream_changed
75 ctrl->handle_detect_local_sources();
QDockWidget * settings_dock
Dock widget hosting settings on desktop platforms.
board * main_zone
Central board widget showing streams (owned).
main_window(QWidget *parent=nullptr)
Construct the main window and create all core UI components.
settings_panel * settings
Settings side panel (owned).