GCC Code Coverage Report


Directory: ./
File: frontend/src/main_window.cpp
Date: 2025-11-24 00:30:48
Exec Total Coverage
Lines: 0 33 0.0%
Functions: 0 2 0.0%
Branches: 0 54 0.0%

Line Branch Exec Source
1 #include "main_window.hpp"
2
3 #include "helpers/controller.hpp"
4 #include "helpers/str_label.hpp"
5 // #include "stream_manager.hpp"
6 #include "widgets/board.hpp"
7 // #include "widgets/grid_view.hpp"
8 #include "widgets/settings_panel.hpp"
9
10 #include <QToolBar>
11
12 #if defined(KC_ANDROID) || defined(Q_OS_ANDROID)
13 #include <QStackedWidget>
14 #else
15 #include <QDockWidget>
16 #endif
17
18 main_window::main_window(QWidget* parent)
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))
24 #else
25 , settings_dock(new QDockWidget(str_label("settings"), this))
26 #endif
27 {
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);
33 #else
34 setCentralWidget(main_zone);
35
36 settings_dock->setWidget(settings);
37 settings_dock->setAllowedAreas(
38 Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea
39 );
40 settings_dock->setFeatures(
41 QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable
42 );
43 addDockWidget(Qt::RightDockWidgetArea, settings_dock);
44 const auto settings_action = settings_dock->toggleViewAction();
45 settings_action->setText(str_label("settings"));
46
47 const auto top_toolbar = addToolBar(str_label("top"));
48 top_toolbar->addAction(settings_action);
49 #endif
50 auto* mgr = new yodau::backend::stream_manager();
51 connect(this, &QObject::destroyed, this, [mgr]() { delete mgr; });
52
53 auto* ctrl = new controller(mgr, settings, main_zone, this);
54
55 connect(
56 settings, &settings_panel::add_file_stream, ctrl,
57 &controller::handle_add_file
58 );
59 connect(
60 settings, &settings_panel::add_local_stream, ctrl,
61 &controller::handle_add_local
62 );
63 connect(
64 settings, &settings_panel::add_url_stream, ctrl,
65 &controller::handle_add_url
66 );
67 connect(
68 settings, &settings_panel::detect_local_sources_requested, ctrl,
69 &controller::handle_detect_local_sources
70 );
71 connect(
72 settings, &settings_panel::show_stream_changed, ctrl,
73 &controller::handle_show_stream_changed
74 );
75 ctrl->handle_detect_local_sources();
76 }
77