From 7002fc09adc821564fed52175809fe5e5f95c4b6 Mon Sep 17 00:00:00 2001 From: mlong Date: Mon, 1 Feb 2021 21:40:40 -0600 Subject: [PATCH] Fixed menu error in CharSetViewer --- src/ui/viewers/charsetviewer.cpp | 49 +++++++++++++++++----------- src/ui/viewers/charsetviewer.h | 4 +++ src/ui/widgets/HiresScreenWidget.cpp | 4 +-- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/src/ui/viewers/charsetviewer.cpp b/src/ui/viewers/charsetviewer.cpp index 04153ba..38709f2 100644 --- a/src/ui/viewers/charsetviewer.cpp +++ b/src/ui/viewers/charsetviewer.cpp @@ -6,8 +6,11 @@ CharSetViewer::CharSetViewer(QWidget *parent) : FileViewerInterface(parent) { - m_file = Q_NULLPTR; - m_cse = Q_NULLPTR; + m_file = nullptr; + m_cse = nullptr; + m_showGridAction = nullptr; + m_enableBitShiftAction = nullptr; + m_charSetEncoderAction = nullptr; QGridLayout *qgl = new QGridLayout(this); setLayout(qgl); @@ -64,26 +67,34 @@ bool CharSetViewer::optionsMenuItems(QMenu *menu) { QSettings settings; - QAction *action = new QAction("Show &Grid",menu); - action->setCheckable(true); - action->setChecked(settings.value("CharSetViewer.ShowGrid",true).toBool()); - showGrid(settings.value("CharSetViewer.ShowGrid",true).toBool()); - connect(action, &QAction::toggled, this, &CharSetViewer::showGrid); - menu->addAction(action); + if (!m_showGridAction) + { + m_showGridAction = new QAction("Show &Grid",menu); + m_showGridAction->setCheckable(true); + m_showGridAction->setChecked(settings.value("CharSetViewer.ShowGrid",true).toBool()); + showGrid(settings.value("CharSetViewer.ShowGrid",true).toBool()); + connect(m_showGridAction, &QAction::toggled, this, &CharSetViewer::showGrid); + menu->addAction(m_showGridAction); + } - action = new QAction("&Enable Bit Shift",menu); - action->setCheckable(true); - action->setChecked(settings.value("CharSetViewer.EnableBitShift",true).toBool()); - enableBitShift(settings.value("CharSetViewer.EnableBitShift",true).toBool()); - connect(action, &QAction::toggled, this, &CharSetViewer::enableBitShift); - menu->addAction(action); + if (!m_enableBitShiftAction) + { + m_enableBitShiftAction = new QAction("&Enable Bit Shift",menu); + m_enableBitShiftAction->setCheckable(true); + m_enableBitShiftAction->setChecked(settings.value("CharSetViewer.EnableBitShift",true).toBool()); + enableBitShift(settings.value("CharSetViewer.EnableBitShift",true).toBool()); + connect(m_enableBitShiftAction, &QAction::toggled, this, &CharSetViewer::enableBitShift); + menu->addAction(m_enableBitShiftAction); + } - menu->addSeparator(); - - action = new QAction("&Character Set Explorer..."); - connect(action, &QAction::triggered, this, &CharSetViewer::showExplorer); - menu->addAction(action); + if (!m_charSetEncoderAction) + { + menu->addSeparator(); + m_charSetEncoderAction = new QAction("&Character Set Explorer..."); + connect(m_charSetEncoderAction, &QAction::triggered, this, &CharSetViewer::showExplorer); + menu->addAction(m_charSetEncoderAction); + } return true; } diff --git a/src/ui/viewers/charsetviewer.h b/src/ui/viewers/charsetviewer.h index 4a4bd30..807a2d0 100644 --- a/src/ui/viewers/charsetviewer.h +++ b/src/ui/viewers/charsetviewer.h @@ -46,6 +46,10 @@ private: CharacterSet m_charset; CharacterSetExplorer *m_cse; + + QAction *m_showGridAction; + QAction *m_enableBitShiftAction; + QAction *m_charSetEncoderAction; }; #endif // CHARSETVIEWER_H diff --git a/src/ui/widgets/HiresScreenWidget.cpp b/src/ui/widgets/HiresScreenWidget.cpp index 899e087..534ba09 100644 --- a/src/ui/widgets/HiresScreenWidget.cpp +++ b/src/ui/widgets/HiresScreenWidget.cpp @@ -234,8 +234,8 @@ void HiresScreenWidget::drawPixmap() doubleScan = 1; } - qDebug() << (byte & 0x01) << (byte & 0x02) << (byte & 0x04) << (byte & 0x08) - << (byte & 0x10) << (byte & 0x20) << (byte & 0x40) << "HI: " << (byte & 0x80); +// qDebug() << (byte & 0x01) << (byte & 0x02) << (byte & 0x04) << (byte & 0x08) +// << (byte & 0x10) << (byte & 0x20) << (byte & 0x40) << "HI: " << (byte & 0x80); pmpainter.setPen(xoff & 0x01?oddColor:evenColor); pmpainter.setBrush(xoff & 0x01?oddColor:evenColor);