| 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 |