diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-08-19 13:27:36 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-08-19 13:27:36 +0000 |
| commit | 17b5ec3eb9c85836d1f3d832b6f27507de983b2b (patch) | |
| tree | 31dbddfb2823b88ecbf4d3995e08ce00be536bdb /src/plugins/Ui/qsui | |
| parent | 602d179076a6b4b478296b4b93fecd7d06fdf5ef (diff) | |
| download | qmmp-17b5ec3eb9c85836d1f3d832b6f27507de983b2b.tar.gz qmmp-17b5ec3eb9c85836d1f3d832b6f27507de983b2b.tar.bz2 qmmp-17b5ec3eb9c85836d1f3d832b6f27507de983b2b.zip | |
qsui: reduced cpu usage (patch by Hong Jen Yee)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5428 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui')
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuianalyzer.cpp | 17 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuianalyzer.h | 3 |
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; }; |
