#include "devicewindow.h" #include "ui_devicewindow.h" #include #include DeviceWindow::DeviceWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::DeviceWindow) , model(new WidgetModel(this)) , sortProxy(new QSortFilterProxyModel(this)) { // build the UI ui->setupUi(this); ui->menubar->setNativeMenuBar(false); // workaround for poor Qt6 support in KDE 5 // setup the model sortProxy->setSourceModel(model); ui->widgetView->setModel(sortProxy); ui->widgetView->setSortingEnabled(true); ui->widgetView->sortByColumn(WidgetModel::Column::PortName, Qt::SortOrder::AscendingOrder); // action connections connect(ui->actionAbout, &QAction::triggered, this, [this](){ QString title = tr("About") % " " % qAppName(); QString text = QApplication::organizationName() % "\n" % "https://" % QApplication::organizationDomain() % "\n\n" % QApplication::applicationName() % " is a demonstration of the capabilities " % "of the DMX-USB-Pro driver implimentation in the OpenLCP protocol library." % "\n\n" % "© 2023 Kevin Matz" % "\n\n" % "Permission is hereby granted, free of charge, to any person obtaining a copy" % "of this software and associated documentation files (the \"Software\"), " % "to deal in the Software without restriction, including without limitation " % "the rights to use, copy, modify, merge, publish, distribute, sublicense, " % "and/or sell copies of the Software, and to permit persons to whom the " % "Software is furnished to do so, subject to the following conditions:" % "\n\n" % "The above copyright notice and this permission notice shall be included in " % "all copies or substantial portions of the Software." % "\n\n" % "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR " % "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, " % "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE " % "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER " % "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING " % "FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER " % "DEALINGS IN THE SOFTWARE."; QMessageBox::about(this, title, text); }); connect(ui->actionAbout_Qt, &QAction::triggered, this, [this](){QMessageBox::aboutQt(this);}); } DeviceWindow::~DeviceWindow() { delete ui; }