diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-12-13 19:05:21 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-12-13 19:05:21 +0000 |
| commit | 581e201025b971c2a0ca6e1f2748340ab1a0fa68 (patch) | |
| tree | b083f945af0d620c17c5ec51717ff5991e640886 /src | |
| parent | ecb0df68eca0dd66d9fe56fdf2241ea14ab6afe2 (diff) | |
| download | qmmp-581e201025b971c2a0ca6e1f2748340ab1a0fa68.tar.gz qmmp-581e201025b971c2a0ca6e1f2748340ab1a0fa68.tar.bz2 qmmp-581e201025b971c2a0ca6e1f2748340ab1a0fa68.zip | |
refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9136 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/qsui/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.h | 8 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsui.pro | 8 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuifactory.cpp | 8 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuifactory.h | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuiquicksearch.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuiquicksearch.h | 4 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuisettings.cpp | 28 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuisettings.h | 6 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuivisualization.cpp (renamed from src/plugins/Ui/qsui/qsuianalyzer.cpp) | 76 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuivisualization.h (renamed from src/plugins/Ui/qsui/qsuianalyzer.h) | 43 |
12 files changed, 129 insertions, 66 deletions
diff --git a/src/plugins/Ui/qsui/CMakeLists.txt b/src/plugins/Ui/qsui/CMakeLists.txt index 7af2f503d..b6d46c77a 100644 --- a/src/plugins/Ui/qsui/CMakeLists.txt +++ b/src/plugins/Ui/qsui/CMakeLists.txt @@ -22,7 +22,7 @@ SET(libqsui_SRCS logo.cpp aboutqsuidialog.cpp keyboardmanager.cpp - qsuianalyzer.cpp + qsuivisualization.cpp fft.c colorwidget.cpp qsuitabwidget.cpp diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index 8db863d2a..421d5cbf5 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -42,7 +42,7 @@ #include "qsuitabbar.h" #include "toolbareditor.h" #include "actionmanager.h" -#include "qsuianalyzer.h" +#include "qsuivisualization.h" #include "visualmenu.h" #include "listwidget.h" #include "positionslider.h" @@ -148,10 +148,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) m_volumeSlider->setValue(m_core->volume()); updateVolumeIcon(); //quick search - m_quickSearch = new QSUIQuickSearch(m_listWidget, this); + m_quickSearch = new QSUiQuickSearch(m_listWidget, this); m_quickSearch->setMaximumWidth(250); //visualization - m_analyzer = new QSUiAnalyzer(this); + m_analyzer = new QSUIVisualization(this); m_ui.analyzerDockWidget->setWidget(m_analyzer); Visual::add(m_analyzer); //filesystem browser @@ -331,7 +331,7 @@ void MainWindow::showAndRaise() void MainWindow::showSettings() { ConfigDialog *confDialog = new ConfigDialog(this); - QSUISettings *simpleSettings = new QSUISettings(this); + QSUiSettings *simpleSettings = new QSUiSettings(this); confDialog->addPage(tr("Appearance"), simpleSettings, QIcon(":/qsui/qsui_settings.png")); confDialog->addPage(tr("Shortcuts"), new HotkeyEditor(this), QIcon(":/qsui/qsui_shortcuts.png")); confDialog->exec(); diff --git a/src/plugins/Ui/qsui/mainwindow.h b/src/plugins/Ui/qsui/mainwindow.h index 17ea17c03..f1ea2bb68 100644 --- a/src/plugins/Ui/qsui/mainwindow.h +++ b/src/plugins/Ui/qsui/mainwindow.h @@ -39,10 +39,10 @@ class GeneralHandler; class VisualMenu; class PositionSlider; class KeyboardManager; -class QSUiAnalyzer; +class QSUIVisualization; class ListWidget; class QSUiTabWidget; -class QSUIQuickSearch; +class QSUiQuickSearch; /** @@ -115,9 +115,9 @@ private: QMenu *m_pl_menu; QMenu *m_tab_menu; QSlider *m_volumeSlider; - QSUIQuickSearch *m_quickSearch; + QSUiQuickSearch *m_quickSearch; KeyboardManager *m_key_manager; - QSUiAnalyzer *m_analyzer; + QSUIVisualization *m_analyzer; QToolButton *m_addListButton, *m_tabListMenuButton; ListWidget *m_listWidget; MetaDataFormatter m_titleFormatter; diff --git a/src/plugins/Ui/qsui/qsui.pro b/src/plugins/Ui/qsui/qsui.pro index 380b40a0e..3bafd4311 100644 --- a/src/plugins/Ui/qsui/qsui.pro +++ b/src/plugins/Ui/qsui/qsui.pro @@ -18,7 +18,6 @@ SOURCES += \ aboutqsuidialog.cpp \ qsuifactory.cpp \ qsuisettings.cpp \ - qsuianalyzer.cpp \ fft.c \ colorwidget.cpp \ qsuitabwidget.cpp \ @@ -33,7 +32,8 @@ SOURCES += \ playlistheader.cpp \ hotkeyeditor.cpp \ volumeslider.cpp \ - qsuiquicksearch.cpp + qsuiquicksearch.cpp \ + qsuivisualization.cpp HEADERS += mainwindow.h \ listwidget.h \ visualmenu.h \ @@ -49,7 +49,6 @@ HEADERS += mainwindow.h \ aboutqsuidialog.h \ qsuifactory.h \ qsuisettings.h \ - qsuianalyzer.h \ fft.h \ inlines.h \ colorwidget.h \ @@ -65,7 +64,8 @@ HEADERS += mainwindow.h \ playlistheader.h \ hotkeyeditor.h \ volumeslider.h \ - qsuiquicksearch.h + qsuiquicksearch.h \ + qsuivisualization.h FORMS += forms/mainwindow.ui \ forms/shortcutdialog.ui \ diff --git a/src/plugins/Ui/qsui/qsuifactory.cpp b/src/plugins/Ui/qsui/qsuifactory.cpp index 012a054ef..654c00507 100644 --- a/src/plugins/Ui/qsui/qsuifactory.cpp +++ b/src/plugins/Ui/qsui/qsuifactory.cpp @@ -25,7 +25,7 @@ #include "aboutqsuidialog.h" #include "qsuifactory.h" -UiProperties QSUIFactory::properties() const +UiProperties QSUiFactory::properties() const { UiProperties props; props.hasAbout = true; @@ -34,19 +34,19 @@ UiProperties QSUIFactory::properties() const return props; } -QObject *QSUIFactory::QSUIFactory::create() +QObject *QSUiFactory::QSUiFactory::create() { QmmpSettings::instance()->readEqSettings(EqSettings::EQ_BANDS_15); return new MainWindow(); } -void QSUIFactory::showAbout(QWidget *parent) +void QSUiFactory::showAbout(QWidget *parent) { AboutQSUIDialog about(parent); about.exec(); } -QString QSUIFactory::translation() const +QString QSUiFactory::translation() const { return QLatin1String(":/qsui_plugin_"); } diff --git a/src/plugins/Ui/qsui/qsuifactory.h b/src/plugins/Ui/qsui/qsuifactory.h index b74374750..c2ef341a9 100644 --- a/src/plugins/Ui/qsui/qsuifactory.h +++ b/src/plugins/Ui/qsui/qsuifactory.h @@ -26,7 +26,7 @@ /*! * @author Ilya Kotov <forkotov02@ya.ru> */ -class QSUIFactory : public QObject, public UiFactory +class QSUiFactory : public QObject, public UiFactory { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qmmp.qmmpui.UiFactoryInterface.1.0") diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.cpp b/src/plugins/Ui/qsui/qsuiquicksearch.cpp index 19509c9c6..92bb7a047 100644 --- a/src/plugins/Ui/qsui/qsuiquicksearch.cpp +++ b/src/plugins/Ui/qsui/qsuiquicksearch.cpp @@ -29,7 +29,7 @@ #include "listwidget.h" #include "qsuiquicksearch.h" -QSUIQuickSearch::QSUIQuickSearch(ListWidget *listWidget, QWidget *parent) : +QSUiQuickSearch::QSUiQuickSearch(ListWidget *listWidget, QWidget *parent) : QWidget(parent) { m_listWidget = listWidget; diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.h b/src/plugins/Ui/qsui/qsuiquicksearch.h index ec04e3b89..7e7091af5 100644 --- a/src/plugins/Ui/qsui/qsuiquicksearch.h +++ b/src/plugins/Ui/qsui/qsuiquicksearch.h @@ -31,11 +31,11 @@ class ListWidget; /** @author Ilya Kotov <forkotov02@ya.ru> */ -class QSUIQuickSearch : public QWidget +class QSUiQuickSearch : public QWidget { Q_OBJECT public: - explicit QSUIQuickSearch(ListWidget *listWidget, QWidget *parent = nullptr); + explicit QSUiQuickSearch(ListWidget *listWidget, QWidget *parent = nullptr); private: QLineEdit *m_lineEdit; diff --git a/src/plugins/Ui/qsui/qsuisettings.cpp b/src/plugins/Ui/qsui/qsuisettings.cpp index c6f4b2f1d..64c6267c7 100644 --- a/src/plugins/Ui/qsui/qsuisettings.cpp +++ b/src/plugins/Ui/qsui/qsuisettings.cpp @@ -32,7 +32,7 @@ #include "toolbareditor.h" #include "qsuisettings.h" -QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) +QSUiSettings::QSUiSettings(QWidget *parent) : QWidget(parent) { m_ui.setupUi(this); //setup icons @@ -51,10 +51,10 @@ QSUISettings::QSUISettings(QWidget *parent) : QWidget(parent) createActions(); } -QSUISettings::~QSUISettings() +QSUiSettings::~QSUiSettings() {} -void QSUISettings::on_plFontButton_clicked() +void QSUiSettings::on_plFontButton_clicked() { bool ok = false; QFont font = m_ui.plFontLabel->font(); @@ -66,7 +66,7 @@ void QSUISettings::on_plFontButton_clicked() } } -void QSUISettings::on_columnFontButton_clicked() +void QSUiSettings::on_columnFontButton_clicked() { bool ok = false; QFont font = m_ui.columnFontLabel->font(); @@ -78,7 +78,7 @@ void QSUISettings::on_columnFontButton_clicked() } } -void QSUISettings::on_tabsFontButton_clicked() +void QSUiSettings::on_tabsFontButton_clicked() { bool ok = false; QFont font = m_ui.tabsFontLabel->font(); @@ -90,13 +90,13 @@ void QSUISettings::on_tabsFontButton_clicked() } } -void QSUISettings::showEvent(QShowEvent *) +void QSUiSettings::showEvent(QShowEvent *) { m_ui.hiddenCheckBox->setEnabled(UiHelper::instance()->visibilityControl()); m_ui.hideOnCloseCheckBox->setEnabled(UiHelper::instance()->visibilityControl()); } -void QSUISettings::loadFonts() +void QSUiSettings::loadFonts() { QString fontName; QFont font; @@ -121,7 +121,7 @@ void QSUISettings::loadFonts() m_ui.columnFontLabel->setFont(font); } -void QSUISettings::createActions() +void QSUiSettings::createActions() { MetaDataFormatterMenu *menu = new MetaDataFormatterMenu(MetaDataFormatterMenu::TITLE_MENU, this); m_ui.windowTitleButton->setMenu(menu); @@ -129,20 +129,20 @@ void QSUISettings::createActions() connect(menu, SIGNAL(patternSelected(QString)), SLOT(addWindowTitleString(QString))); } -void QSUISettings::on_popupTemplateButton_clicked() +void QSUiSettings::on_popupTemplateButton_clicked() { PopupSettings *p = new PopupSettings(this); p->exec(); p->deleteLater(); } -void QSUISettings::on_customizeToolBarButton_clicked() +void QSUiSettings::on_customizeToolBarButton_clicked() { ToolBarEditor editor(this); editor.exec(); } -void QSUISettings::on_resetFontsButton_clicked() +void QSUiSettings::on_resetFontsButton_clicked() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); settings.remove("Simple/pl_font"); @@ -151,7 +151,7 @@ void QSUISettings::on_resetFontsButton_clicked() loadFonts(); } -void QSUISettings::readSettings() +void QSUiSettings::readSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Simple"); @@ -204,7 +204,7 @@ void QSUISettings::readSettings() settings.endGroup(); } -void QSUISettings::writeSettings() +void QSUiSettings::writeSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Simple"); @@ -248,7 +248,7 @@ void QSUISettings::writeSettings() settings.endGroup(); } -void QSUISettings::addWindowTitleString(const QString &str) +void QSUiSettings::addWindowTitleString(const QString &str) { if (m_ui.windowTitleLineEdit->cursorPosition () < 1) m_ui.windowTitleLineEdit->insert(str); diff --git a/src/plugins/Ui/qsui/qsuisettings.h b/src/plugins/Ui/qsui/qsuisettings.h index 905959786..91a7bf732 100644 --- a/src/plugins/Ui/qsui/qsuisettings.h +++ b/src/plugins/Ui/qsui/qsuisettings.h @@ -28,12 +28,12 @@ /** @author Ilya Kotov <forkotov02@ya.ru> */ -class QSUISettings : public QWidget +class QSUiSettings : public QWidget { Q_OBJECT public: - explicit QSUISettings(QWidget *parent = nullptr); - virtual ~QSUISettings(); + explicit QSUiSettings(QWidget *parent = nullptr); + virtual ~QSUiSettings(); void writeSettings(); diff --git a/src/plugins/Ui/qsui/qsuianalyzer.cpp b/src/plugins/Ui/qsui/qsuivisualization.cpp index 273926438..fcc851bda 100644 --- a/src/plugins/Ui/qsui/qsuianalyzer.cpp +++ b/src/plugins/Ui/qsui/qsuivisualization.cpp @@ -29,9 +29,9 @@ #include <stdlib.h> #include "fft.h" #include "inlines.h" -#include "qsuianalyzer.h" +#include "qsuivisualization.h" -QSUiAnalyzer::QSUiAnalyzer(QWidget *parent) : Visual (parent) +QSUIVisualization::QSUIVisualization(QWidget *parent) : Visual (parent) { m_pixLabel = new QLabel(this); createMenu(); @@ -43,7 +43,7 @@ QSUiAnalyzer::QSUiAnalyzer(QWidget *parent) : Visual (parent) clear(); } -QSUiAnalyzer::~QSUiAnalyzer() +QSUIVisualization::~QSUIVisualization() { if(m_peaks) delete [] m_peaks; @@ -53,32 +53,32 @@ QSUiAnalyzer::~QSUiAnalyzer() delete [] m_x_scale; } -void QSUiAnalyzer::clear() +void QSUIVisualization::clear() { m_rows = 0; m_cols = 0; update(); } -void QSUiAnalyzer::clearCover() +void QSUIVisualization::clearCover() { m_cover = QPixmap(); updateCover(); update(); } -QSize QSUiAnalyzer::sizeHint() const +QSize QSUIVisualization::sizeHint() const { return QSize(200, 100); } -void QSUiAnalyzer::setCover(const QPixmap &pixmap) +void QSUIVisualization::setCover(const QPixmap &pixmap) { m_cover = pixmap; updateCover(); } -void QSUiAnalyzer::timeout() +void QSUIVisualization::timeout() { if(takeData(m_buffer)) { @@ -87,30 +87,30 @@ void QSUiAnalyzer::timeout() } } -void QSUiAnalyzer::paintEvent (QPaintEvent * e) +void QSUIVisualization::paintEvent (QPaintEvent * e) { QPainter painter (this); painter.fillRect(e->rect(),m_bgColor); draw(&painter); } -void QSUiAnalyzer::hideEvent (QHideEvent *) +void QSUIVisualization::hideEvent (QHideEvent *) { m_timer->stop(); } -void QSUiAnalyzer::showEvent (QShowEvent *) +void QSUIVisualization::showEvent (QShowEvent *) { if(m_running) m_timer->start(); } -void QSUiAnalyzer::resizeEvent(QResizeEvent *) +void QSUIVisualization::resizeEvent(QResizeEvent *) { updateCover(); } -void QSUiAnalyzer::process() +void QSUIVisualization::process() { int rows = qMax((height() - 2) / m_cell_size.height(),2); int cols = qMax((width() - m_offset - 2) / m_cell_size.width(),1); @@ -178,7 +178,7 @@ void QSUiAnalyzer::process() } } -void QSUiAnalyzer::draw(QPainter *p) +void QSUIVisualization::draw(QPainter *p) { QBrush brush(Qt::SolidPattern); @@ -207,7 +207,7 @@ void QSUiAnalyzer::draw(QPainter *p) } } -void QSUiAnalyzer::createMenu() +void QSUIVisualization::createMenu() { m_menu = new QMenu (this); connect(m_menu, SIGNAL(triggered (QAction *)),SLOT(writeSettings())); @@ -262,7 +262,7 @@ void QSUiAnalyzer::createMenu() update(); } -void QSUiAnalyzer::updateCover() +void QSUIVisualization::updateCover() { if(m_show_cover && !m_cover.isNull()) { @@ -278,13 +278,13 @@ void QSUiAnalyzer::updateCover() } } -void QSUiAnalyzer::mousePressEvent (QMouseEvent *e) +void QSUIVisualization::mousePressEvent (QMouseEvent *e) { if (e->button() == Qt::RightButton) m_menu->exec(e->globalPos()); } -void QSUiAnalyzer::readSettings() +void QSUIVisualization::readSettings() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Simple"); @@ -325,7 +325,7 @@ void QSUiAnalyzer::readSettings() settings.endGroup(); } -void QSUiAnalyzer::writeSettings() +void QSUIVisualization::writeSettings() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Simple"); @@ -341,16 +341,50 @@ void QSUiAnalyzer::writeSettings() settings.endGroup(); } -void QSUiAnalyzer::start() +void QSUIVisualization::start() { m_running = true; if(isVisible()) m_timer->start(); } -void QSUiAnalyzer::stop() +void QSUIVisualization::stop() { m_running = false; m_timer->stop(); clear(); } + +void QSUiAnalyzer::draw(QPainter *p) +{ + QBrush brush(Qt::SolidPattern); + + for (int j = 0; j < m_cols; ++j) + { + int x = m_offset + j * m_cell_size.width() + 1; + + for (int i = 0; i <= m_intern_vis_data[j]; ++i) + { + if (i <= m_rows / 3) + brush.setColor(m_color1); + else if (i > m_rows / 3 && i <= 2 * m_rows / 3) + brush.setColor(m_color2); + else + brush.setColor(m_color3); + + //p->fillRect(x, height() - i * m_cell_size.height(), + // m_cell_size.width() - 1, m_cell_size.height() - 4, brush); + } + + if (m_show_peaks) + { + //p->fillRect(x, height() - int(m_peaks[j]) * m_cell_size.height(), + // m_cell_size.width() - 1, m_cell_size.height() - 4, m_peakColor); + } + } +} + +void QSUiAnalyzer::readSettings() +{ + +} diff --git a/src/plugins/Ui/qsui/qsuianalyzer.h b/src/plugins/Ui/qsui/qsuivisualization.h index 7d19dc2bb..5d2257131 100644 --- a/src/plugins/Ui/qsui/qsuianalyzer.h +++ b/src/plugins/Ui/qsui/qsuivisualization.h @@ -17,8 +17,8 @@ * Free Software Foundation, Inc., * * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef QSUIANALYZER_H -#define QSUIANALYZER_H +#ifndef QSUIVISUALIZATION_H +#define QSUIVISUALIZATION_H #include <QWidget> #include <QResizeEvent> @@ -28,14 +28,15 @@ class QTimer; class QMenu; class QActionGroup; class QLabel; +class QPainter; +class QSUiVisualDrawer; - -class QSUiAnalyzer : public Visual +class QSUIVisualization : public Visual { Q_OBJECT public: - QSUiAnalyzer(QWidget *parent = nullptr); - virtual ~QSUiAnalyzer(); + QSUIVisualization(QWidget *parent = nullptr); + virtual ~QSUIVisualization(); void setCover(const QPixmap &pixmap); void clear(); @@ -92,5 +93,33 @@ private: bool m_running = false; }; +class QSUiVisualDrawer +{ +public: + virtual void draw(QPainter *p) = 0; + virtual void readSettings() = 0; +}; + +class QSUiAnalyzer : public QSUiVisualDrawer +{ +public: + void draw(QPainter *p) override; + void readSettings() override; + +private: + int m_cols = 0, m_rows = 0, m_offset = 0; + QColor m_color1; + QColor m_color2; + QColor m_color3; + QColor m_bgColor; + QColor m_peakColor; + QSize m_cell_size; + bool m_show_peaks = false; + double *m_intern_vis_data = nullptr; + double *m_peaks = nullptr; + int *m_x_scale = nullptr; + +}; + -#endif //QSUIANALYZER_H +#endif //QSUIVISUALIZATION_H |
