aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Ui/qsui/mainwindow.cpp2
-rw-r--r--src/plugins/Ui/qsui/qsuianalyzer.cpp17
-rw-r--r--src/plugins/Ui/qsui/qsuianalyzer.h3
3 files changed, 21 insertions, 1 deletions
diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp
index 399eff06a..794e4505e 100644
--- a/src/plugins/Ui/qsui/mainwindow.cpp
+++ b/src/plugins/Ui/qsui/mainwindow.cpp
@@ -214,6 +214,7 @@ void MainWindow::showState(Qmmp::State state)
case Qmmp::Playing:
{
updateStatus();
+ m_analyzer->start();
m_analyzer->setCover(MetaDataManager::instance()->getCover(m_core->url()));
CoverWidget *cw = qobject_cast<CoverWidget *>(m_ui.coverDockWidget->widget());
cw->setCover(MetaDataManager::instance()->getCover(m_core->url()));
@@ -224,6 +225,7 @@ void MainWindow::showState(Qmmp::State state)
break;
case Qmmp::Stopped:
updateStatus();
+ m_analyzer->stop();
m_timeLabel->clear();
m_slider->setValue(0);
m_analyzer->clearCover();
diff --git a/src/plugins/Ui/qsui/qsuianalyzer.cpp b/src/plugins/Ui/qsui/qsuianalyzer.cpp
index 3df0b7935..04c867ce7 100644
--- a/src/plugins/Ui/qsui/qsuianalyzer.cpp
+++ b/src/plugins/Ui/qsui/qsuianalyzer.cpp
@@ -45,6 +45,7 @@ QSUiAnalyzer::QSUiAnalyzer (QWidget *parent) : Visual (parent)
m_offset = 0;
m_update = false;
m_show_cover = false;
+ m_running = false;
m_pixLabel = new QLabel(this);
createMenu();
@@ -156,7 +157,8 @@ void QSUiAnalyzer::hideEvent (QHideEvent *)
void QSUiAnalyzer::showEvent (QShowEvent *)
{
- m_timer->start();
+ if(m_running)
+ m_timer->start();
}
void QSUiAnalyzer::resizeEvent(QResizeEvent *)
@@ -402,3 +404,16 @@ void QSUiAnalyzer::writeSettings()
settings.setValue("vis_show_cover", m_coverAction->isChecked());
settings.endGroup();
}
+
+void QSUiAnalyzer::start()
+{
+ m_running = true;
+ if(isVisible())
+ m_timer->start();
+}
+
+void QSUiAnalyzer::stop()
+{
+ m_running = false;
+ m_timer->stop();
+}
diff --git a/src/plugins/Ui/qsui/qsuianalyzer.h b/src/plugins/Ui/qsui/qsuianalyzer.h
index c2032f402..1c68e84f9 100644
--- a/src/plugins/Ui/qsui/qsuianalyzer.h
+++ b/src/plugins/Ui/qsui/qsuianalyzer.h
@@ -42,6 +42,8 @@ public:
void clear();
void clearCover();
QSize sizeHint() const;
+ void start();
+ void stop();
public slots:
void readSettings();
@@ -91,6 +93,7 @@ private:
QActionGroup *m_fpsGroup;
QActionGroup *m_analyzerFalloffGroup;
QActionGroup *m_peaksFalloffGroup;
+ bool m_running;
};