diff --git a/src/analyzers/analyzercontainer.cpp b/src/analyzers/analyzercontainer.cpp index 53fb7f6a8..445f5315f 100644 --- a/src/analyzers/analyzercontainer.cpp +++ b/src/analyzers/analyzercontainer.cpp @@ -123,7 +123,11 @@ void AnalyzerContainer::mouseDoubleClickEvent(QMouseEvent *) { visualisation_action_->trigger(); } -void AnalyzerContainer::SetEngine(EngineBase *engine) { +void AnalyzerContainer::wheelEvent(QWheelEvent* e) { + emit WheelEvent(e->delta()); +} + +void AnalyzerContainer::SetEngine(EngineBase* engine) { if (current_analyzer_) current_analyzer_->set_engine(engine); engine_ = engine; diff --git a/src/analyzers/analyzercontainer.h b/src/analyzers/analyzercontainer.h index 07da1ef20..20035798e 100644 --- a/src/analyzers/analyzercontainer.h +++ b/src/analyzers/analyzercontainer.h @@ -37,9 +37,13 @@ public: static const char* kSettingsGroup; static const char* kSettingsFramerate; +signals: + void WheelEvent(int delta); + protected: void mouseReleaseEvent(QMouseEvent *); void mouseDoubleClickEvent(QMouseEvent *); + void wheelEvent(QWheelEvent* e); private slots: void ChangeAnalyzer(int id); diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 6f57ab7ef..4b0bd71c2 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -634,6 +634,7 @@ MainWindow::MainWindow(Application* app, // Analyzer ui_->analyzer->SetEngine(app_->player()->engine()); ui_->analyzer->SetActions(ui_->action_visualisations); + connect(ui_->analyzer, SIGNAL(WheelEvent(int)), SLOT(VolumeWheelEvent(int))); // Equalizer qLog(Debug) << "Creating equalizer";