From 430d1bae9d27e4c3f9846fb999f4cbc8c29051dd Mon Sep 17 00:00:00 2001 From: mio Date: Sun, 2 Feb 2025 13:59:13 +1000 Subject: [PATCH] Add context menu to audioView Allows people to toggle the analyzer visibility. Signed-off-by: mio --- src/app/audioView.cpp | 30 ++++++++++++++++++++++++++++++ src/app/audioView.h | 9 +++++++++ src/app/mainWindow.cpp | 2 +- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/app/audioView.cpp b/src/app/audioView.cpp index 27a25db..4583fd4 100644 --- a/src/app/audioView.cpp +++ b/src/app/audioView.cpp @@ -6,7 +6,11 @@ #include +#include +#include + #include "analyzer.h" +#include "codeineConfig.h" namespace Codeine { @@ -26,6 +30,32 @@ AudioView::AudioView(TQWidget *parent, const char *name) 36 * (Analyzer::Block::HEIGHT + 1) - 1); layout->addWidget(m_analyzer); + + m_analyzer->setShown(config("AudioView")->readBoolEntry("showAudioAnalyzer", true)); +} + +AudioView::~AudioView() +{ + config("AudioView")->writeEntry("showAudioAnalyzer", m_analyzer->isVisible()); + config("AudioView")->sync(); +} + +void AudioView::contextMenuEvent(TQContextMenuEvent *e) +{ + TDEPopupMenu popup; + + popup.setCheckable(true); + int id = popup.insertItem(i18n("Show Analyzer"), this, TQ_SLOT(slotToggleVisibility())); + popup.setItemChecked(id, m_analyzer->isVisible()); + + popup.exec(e->globalPos()); } +void AudioView::slotToggleVisibility() +{ + m_analyzer->setShown(!m_analyzer->isVisible()); } + +} + +#include "audioView.moc" diff --git a/src/app/audioView.h b/src/app/audioView.h index 592e38f..f793e5d 100644 --- a/src/app/audioView.h +++ b/src/app/audioView.h @@ -12,8 +12,17 @@ namespace Codeine class AudioView : public TQFrame { + TQ_OBJECT + public: AudioView(TQWidget *parent, const char *name = nullptr); + ~AudioView(); + + protected: + void contextMenuEvent(TQContextMenuEvent *e) override; + + protected slots: + void slotToggleVisibility(); private: TQWidget *m_analyzer; diff --git a/src/app/mainWindow.cpp b/src/app/mainWindow.cpp index 54204e9..79cd025 100644 --- a/src/app/mainWindow.cpp +++ b/src/app/mainWindow.cpp @@ -329,7 +329,7 @@ MainWindow::contextMenuEvent(TQContextMenuEvent *ev) TDEPopupMenu menu; menu.setCheckable(true); - int id = menu.insertItem(i18n("Toggle Analyzer"), this, TQ_SLOT(toggleAnalyzer())); + int id = menu.insertItem(i18n("Show Analyzer"), this, TQ_SLOT(toggleAnalyzer())); menu.setItemChecked(id, m_analyzer->isVisible()); menu.exec(ev->globalPos());