MCPcopy Create free account
hub / github.com/IENT/YUView / MainWindow

Method MainWindow

YUViewLib/src/ui/Mainwindow.cpp:51–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49#include <ui/widgets/PlaylistTreeWidget.h>
50
51MainWindow::MainWindow(bool useAlternativeSources, QWidget *parent) : QMainWindow(parent)
52{
53 Q_INIT_RESOURCE(images);
54 Q_INIT_RESOURCE(docs);
55
56 SettingsDialog::initializeDefaults();
57
58 QSettings settings;
59 qRegisterMetaType<indexRange>("indexRange");
60
61 ui.setupUi(this);
62
63 // Create the update handler
64 updater.reset(new updateHandler(this, useAlternativeSources));
65
66 setFocusPolicy(Qt::StrongFocus);
67
68 statusBar()->hide();
69
70 saveWindowsStateOnExit = true;
71 for (int i = 0; i < 5; i++)
72 panelsVisible[i] = false;
73
74 // Initialize the separate window
75 separateViewWindow.setWindowTitle("Separate View");
76 separateViewWindow.setGeometry(0, 0, 300, 600);
77
78 connect(ui.displaySplitView,
79 &splitViewWidget::signalToggleFullScreen,
80 this,
81 &MainWindow::toggleFullscreen);
82
83 // Setup primary/separate splitView
84 ui.displaySplitView->addSlaveView(&separateViewWindow.splitView);
85 connect(ui.displaySplitView,
86 &splitViewWidget::signalShowSeparateWindow,
87 &separateViewWindow,
88 &QWidget::setVisible);
89
90 // Connect the playlistWidget signals to some slots
91 auto const fileInfoAdapter = [this] {
92 auto items = ui.playlistTreeWidget->getSelectedItems();
93 ui.fileInfoWidget->setInfo(items[0] ? items[0]->getInfo() : InfoData(),
94 items[1] ? items[1]->getInfo() : InfoData());
95 };
96 connect(ui.playlistTreeWidget,
97 &PlaylistTreeWidget::selectionRangeChanged,
98 ui.fileInfoWidget,
99 fileInfoAdapter);
100 connect(ui.playlistTreeWidget,
101 &PlaylistTreeWidget::selectedItemChanged,
102 ui.fileInfoWidget,
103 fileInfoAdapter);
104 connect(ui.fileInfoWidget, &FileInfoWidget::infoButtonClicked, [this](int infoIndex, int row) {
105 auto items = ui.playlistTreeWidget->getSelectedItems();
106 if (items[infoIndex])
107 items[infoIndex]->infoListButtonPressed(row);
108 });

Callers

nothing calls this directly

Calls 15

InfoDataClass · 0.85
setupUiMethod · 0.80
addSlaveViewMethod · 0.80
getSelectedItemsMethod · 0.80
setInfoMethod · 0.80
setAttributeMethod · 0.80
setSplitViewsMethod · 0.80
setPlaylistMethod · 0.80
setPlaybackControllerMethod · 0.80
setPlaylistTreeWidgetMethod · 0.80
setVideoCacheMethod · 0.80
setPlaylistAndCacheMethod · 0.80

Tested by

no test coverage detected