MCPcopy Create free account
hub / github.com/actuallyaridan/linux-devmgmt / MainWindow

Method MainWindow

src/ui/MainWindow.cpp:31–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29#include <QTimer>
30
31MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
32 setWindowTitle("Device Manager");
33 resize(640, 480);
34
35 m_model = new DeviceModel(this);
36
37 m_tree = new QTreeView(this);
38 m_tree->setModel(m_model);
39 m_tree->setHeaderHidden(true);
40 m_tree->setRootIsDecorated(true);
41 m_tree->setIndentation(16);
42 m_tree->setContextMenuPolicy(Qt::CustomContextMenu);
43 setCentralWidget(m_tree);
44
45 connect(m_tree, &QTreeView::doubleClicked,
46 this, &MainWindow::showProperties);
47 connect(m_tree, &QTreeView::customContextMenuRequested,
48 this, &MainWindow::showContextMenu);
49 connect(m_tree->selectionModel(),
50 &QItemSelectionModel::currentChanged,
51 this, [this](const QModelIndex &, const QModelIndex &) {
52 onSelectionChanged();
53 });
54
55 buildMenus();
56 buildToolbar();
57 statusBar()->showMessage("Scanning for hardware...");
58 startScan();
59
60 m_rescanTimer = new QTimer(this);
61 m_rescanTimer->setSingleShot(true);
62 m_rescanTimer->setInterval(500);
63 connect(m_rescanTimer, &QTimer::timeout, this, &MainWindow::refresh);
64
65 m_udevMonitor = new UdevMonitor(this);
66 connect(m_udevMonitor, &UdevMonitor::deviceChanged,
67 m_rescanTimer, qOverload<>(&QTimer::start));
68}
69
70MainWindow::~MainWindow() {
71 if (m_scanner && m_scanner->isRunning()) {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected