From 5ded2a0e79d88b4422bd782c6036f1effd72c089 Mon Sep 17 00:00:00 2001 From: Phil Taylor Date: Wed, 12 Apr 2023 10:24:00 +0100 Subject: [PATCH] Some more fixes --- controllersetup.cpp | 36 ++++++++++++++++-------------------- usbcontroller.cpp | 16 ++++++++-------- wfmain.cpp | 15 ++++++++------- wfmain.h | 2 +- 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/controllersetup.cpp b/controllersetup.cpp index d33fbca..c5da264 100644 --- a/controllersetup.cpp +++ b/controllersetup.cpp @@ -26,12 +26,14 @@ controllerSetup::~controllerSetup() void controllerSetup::hideEvent(QHideEvent *event) { + Q_UNUSED(event) qDebug(logUsbControl()) << "Controller window hideEvent()"; updateDialog->hide(); } void controllerSetup::on_tabWidget_currentChanged(int index) { + Q_UNUSED(index) if (updateDialog != Q_NULLPTR) updateDialog->hide(); } @@ -726,7 +728,6 @@ void controllerSetup::pageChanged(USBDEVICE* dev, int val) updateDialog->hide(); // Hide the dialog if the page changes. - int lastPage = dev->currentPage; dev->currentPage=val; dev->pageSpin->setValue(val); @@ -735,18 +736,16 @@ void controllerSetup::pageChanged(USBDEVICE* dev, int val) { if (b->parent == dev) { - if (b->page == lastPage) - { - if (b->text != Q_NULLPTR) { - tab.value()->scene->removeItem(b->text); - delete b->text; - b->text = Q_NULLPTR; - } - if (b->bgRect != Q_NULLPTR) { - tab.value()->scene->removeItem(b->bgRect); - delete b->bgRect; - b->bgRect = Q_NULLPTR; - } + // Make sure we delete any other pages content and then update to latest. + if (b->text != Q_NULLPTR) { + tab.value()->scene->removeItem(b->text); + delete b->text; + b->text = Q_NULLPTR; + } + if (b->graphics && b->bgRect != Q_NULLPTR) { + tab.value()->scene->removeItem(b->bgRect); + delete b->bgRect; + b->bgRect = Q_NULLPTR; } if (b->page == dev->currentPage) { @@ -770,13 +769,10 @@ void controllerSetup::pageChanged(USBDEVICE* dev, int val) for (auto k = knobs->begin();k != knobs->end(); k++) { if (k->parent == dev) { - if (k->page == lastPage) - { - if (k->text) { - tab.value()->scene->removeItem(k->text); - delete k->text; - k->text = Q_NULLPTR; - } + if (k->text != Q_NULLPTR) { + tab.value()->scene->removeItem(k->text); + delete k->text; + k->text = Q_NULLPTR; } if (k->page == dev->currentPage) { diff --git a/usbcontroller.cpp b/usbcontroller.cpp index 92d5061..410b8da 100644 --- a/usbcontroller.cpp +++ b/usbcontroller.cpp @@ -1572,19 +1572,19 @@ void usbController::loadButtons() void usbController::loadKnobs() { defaultKnobs.clear(); - defaultKnobs.append(KNOB(shuttleXpress, 0, QRect(205, 189, 203, 203), Qt::green, &commands[4])); - defaultKnobs.append(KNOB(shuttlePro2, 0, QRect(104, 164, 124, 119), Qt::green, &commands[4])); - defaultKnobs.append(KNOB(RC28, 0, QRect(78, 128, 184, 168), Qt::green, &commands[4])); - defaultKnobs.append(KNOB(QuickKeys, 0, QRect(114, 130, 121, 43), Qt::green, &commands[4])); + defaultKnobs.append(KNOB(shuttleXpress, 0, QRect(205, 189, 203, 203), Qt::green, &commands[3])); + defaultKnobs.append(KNOB(shuttlePro2, 0, QRect(104, 164, 124, 119), Qt::green, &commands[3])); + defaultKnobs.append(KNOB(RC28, 0, QRect(78, 128, 184, 168), Qt::green, &commands[3])); + defaultKnobs.append(KNOB(QuickKeys, 0, QRect(114, 130, 121, 43), Qt::green, &commands[3])); // eCoder - defaultKnobs.append(KNOB(eCoderPlus, 0, QRect(173, 360, 205, 209), Qt::green, &commands[4])); + defaultKnobs.append(KNOB(eCoderPlus, 0, QRect(173, 360, 205, 209), Qt::green, &commands[3])); defaultKnobs.append(KNOB(eCoderPlus, 1, QRect(120, 153, 72, 27), Qt::green, &commands[0])); defaultKnobs.append(KNOB(eCoderPlus, 2, QRect(242, 153, 72, 27), Qt::green, &commands[0])); defaultKnobs.append(KNOB(eCoderPlus, 3, QRect(362, 153, 72, 27), Qt::green, &commands[0])); // StreamDeckPlus - defaultKnobs.append(KNOB(StreamDeckPlus, 0, QRect(74, 413, 64, 28), Qt::green, &commands[4])); + defaultKnobs.append(KNOB(StreamDeckPlus, 0, QRect(74, 413, 64, 28), Qt::green, &commands[3])); defaultKnobs.append(KNOB(StreamDeckPlus, 1, QRect(204, 413, 64, 28), Qt::green, &commands[0])); defaultKnobs.append(KNOB(StreamDeckPlus, 2, QRect(332, 413, 64, 28), Qt::green, &commands[0])); defaultKnobs.append(KNOB(StreamDeckPlus, 3, QRect(462, 413, 64, 28), Qt::green, &commands[0])); @@ -1598,12 +1598,12 @@ void usbController::loadCommands() commands.append(COMMAND(num++, "None", commandAny, cmdNone, (quint8)0x0)); commands.append(COMMAND(num++, "PTT On", commandButton, cmdSetPTT, (quint8)0x1)); commands.append(COMMAND(num++, "PTT Off", commandButton, cmdSetPTT, (quint8)0x0)); + commands.append(COMMAND(num++, "VFOA", commandKnob, cmdSetFreq, (quint8)0x0)); + commands.append(COMMAND(num++, "VFOB", commandKnob, cmdSetFreq, (quint8)0x1)); commands.append(COMMAND(num++, "Freq Down", commandButton, cmdSetFreq, (int)-1)); commands.append(COMMAND(num++, "Freq Up", commandButton, cmdSetFreq, (int)1)); commands.append(COMMAND(num++, "PTT Off", commandButton, cmdSetPTT, (quint8)0x0)); commands.append(COMMAND(num++, "PTT Toggle", commandButton, cmdPTTToggle, (quint8)0x0)); - commands.append(COMMAND(num++, "VFOA", commandKnob, cmdSetFreq, (quint8)0x0)); - commands.append(COMMAND(num++, "VFOB", commandKnob, cmdSetFreq, (quint8)0x1)); commands.append(COMMAND(num++, "Span/Step", commandKnob, cmdSeparator, (quint8)0x0)); commands.append(COMMAND(num++, "Tune", commandButton, cmdStartATU, (quint8)0x0)); commands.append(COMMAND(num++, "Span/Step", commandButton, cmdSeparator, (quint8)0x0)); diff --git a/wfmain.cpp b/wfmain.cpp index 2d62466..fb9341a 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -236,13 +236,14 @@ wfmain::~wfmain() usbControllerThread->quit(); usbControllerThread->wait(); } - - if (uDevMonitor) - { - udev_monitor_unref(uDevMonitor); - udev_unref(uDev); - delete uDevNotifier; - } + #if defined(Q_OS_LINUX) + if (uDevMonitor) + { + udev_monitor_unref(uDevMonitor); + udev_unref(uDev); + delete uDevNotifier; + } + #endif #endif } diff --git a/wfmain.h b/wfmain.h index 0c912ce..766420e 100644 --- a/wfmain.h +++ b/wfmain.h @@ -1204,7 +1204,7 @@ private: QVector usbKnobs; usbDevMap usbDevices; QMutex usbMutex; - qint64 lastUsbNotify; + qint64 lastUsbNotify=0; #if defined (Q_OS_LINUX) struct udev* uDev = nullptr;