diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-08-11 15:23:37 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2017-08-11 15:23:37 +0000 |
| commit | fbee7bff5a24e271a5041aa24b3b12cd002d6b08 (patch) | |
| tree | 89326546a4a014ecb8be60bbed8b9233f11d4a6b /src/plugins/Ui | |
| parent | abf4ab85de92320feb635ae1960b8e7e399b4e96 (diff) | |
| download | qmmp-fbee7bff5a24e271a5041aa24b3b12cd002d6b08.tar.gz qmmp-fbee7bff5a24e271a5041aa24b3b12cd002d6b08.tar.bz2 qmmp-fbee7bff5a24e271a5041aa24b3b12cd002d6b08.zip | |
qsui: prepare for quick search implementation
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@7380 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui')
| -rw-r--r-- | src/plugins/Ui/qsui/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/actionmanager.h | 1 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.h | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsui.pro | 6 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuiquicksearch.cpp | 59 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/qsuiquicksearch.h | 45 | ||||
| -rw-r--r-- | src/plugins/Ui/qsui/toolbareditor.cpp | 2 |
8 files changed, 119 insertions, 3 deletions
diff --git a/src/plugins/Ui/qsui/CMakeLists.txt b/src/plugins/Ui/qsui/CMakeLists.txt index 627f04a5a..e6d4c5209 100644 --- a/src/plugins/Ui/qsui/CMakeLists.txt +++ b/src/plugins/Ui/qsui/CMakeLists.txt @@ -53,6 +53,7 @@ SET(libqsui_SRCS playlistheader.cpp hotkeyeditor.cpp volumeslider.cpp + qsuiquicksearch.cpp ) SET(libqsui_HDRS diff --git a/src/plugins/Ui/qsui/actionmanager.h b/src/plugins/Ui/qsui/actionmanager.h index e68c525e8..acc0c617b 100644 --- a/src/plugins/Ui/qsui/actionmanager.h +++ b/src/plugins/Ui/qsui/actionmanager.h @@ -109,6 +109,7 @@ public: //widgets UI_POS_SLIDER, //external UI_VOL_SLIDER, //external + UI_QUICK_SEARCH, //external UI_SEPARATOR, }; diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index 084e05cbf..e21b066f0 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -56,6 +56,7 @@ #include "playlistbrowser.h" #include "volumeslider.h" #include "qsuitabwidget.h" +#include "qsuiquicksearch.h" #include "equalizer.h" #define KEY_OFFSET 10000 @@ -143,6 +144,9 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) connect(m_core, SIGNAL(mutedChanged(bool)), ACTION(ActionManager::VOL_MUTE), SLOT(setChecked(bool))); m_volumeSlider->setValue(m_core->volume()); updateVolumeIcon(); + //quick search + m_quickSearch = new QSUIQuickSearch(this); + m_quickSearch->setMaximumWidth(250); //visualization m_analyzer = new QSUiAnalyzer(this); m_ui.analyzerDockWidget->setWidget(m_analyzer); @@ -449,6 +453,8 @@ void MainWindow::createActions() tr("Position"), "position_slider"); ActionManager::instance()->registerWidget(ActionManager::UI_VOL_SLIDER, m_volumeSlider, tr("Volume"), "volume_slider"); + ActionManager::instance()->registerWidget(ActionManager::UI_QUICK_SEARCH, m_quickSearch, + tr("Quick Search"), "quick_search"); //playback SET_ACTION(ActionManager::PREVIOUS, m_player, SLOT(previous())); SET_ACTION(ActionManager::PLAY, m_player, SLOT(play())); diff --git a/src/plugins/Ui/qsui/mainwindow.h b/src/plugins/Ui/qsui/mainwindow.h index 6aa2c15a3..36e5c70cd 100644 --- a/src/plugins/Ui/qsui/mainwindow.h +++ b/src/plugins/Ui/qsui/mainwindow.h @@ -42,6 +42,7 @@ class KeyboardManager; class QSUiAnalyzer; class ListWidget; class QSUiTabWidget; +class QSUIQuickSearch; /** @@ -111,6 +112,7 @@ private: QMenu *m_pl_menu; QMenu *m_tab_menu; QSlider *m_volumeSlider; + QSUIQuickSearch *m_quickSearch; KeyboardManager *m_key_manager; QSUiAnalyzer *m_analyzer; QToolButton *m_addListButton, *m_tabListMenuButton; diff --git a/src/plugins/Ui/qsui/qsui.pro b/src/plugins/Ui/qsui/qsui.pro index c6b02b4f6..158c5edf3 100644 --- a/src/plugins/Ui/qsui/qsui.pro +++ b/src/plugins/Ui/qsui/qsui.pro @@ -37,7 +37,8 @@ SOURCES += \ listwidgetdrawer.cpp \ playlistheader.cpp \ hotkeyeditor.cpp \ - volumeslider.cpp + volumeslider.cpp \ + qsuiquicksearch.cpp HEADERS += mainwindow.h \ listwidget.h \ visualmenu.h \ @@ -68,7 +69,8 @@ HEADERS += mainwindow.h \ listwidgetdrawer.h \ playlistheader.h \ hotkeyeditor.h \ - volumeslider.h + volumeslider.h \ + qsuiquicksearch.h FORMS += forms/mainwindow.ui \ forms/shortcutdialog.ui \ diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.cpp b/src/plugins/Ui/qsui/qsuiquicksearch.cpp new file mode 100644 index 000000000..ed5011716 --- /dev/null +++ b/src/plugins/Ui/qsui/qsuiquicksearch.cpp @@ -0,0 +1,59 @@ +/*************************************************************************** + * Copyright (C) 2017 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#include <QLineEdit> +#include <QHBoxLayout> +#include <QToolButton> +#include <QStyle> +#include <QEvent> +#include <QApplication> +#include "qsuiquicksearch.h" + +QSUIQuickSearch::QSUIQuickSearch(QWidget *parent) : + QWidget(parent) +{ + m_lineEdit = new QLineEdit(this); + QHBoxLayout *layout = new QHBoxLayout; + layout->setSpacing(0); + layout->setMargin(0); + setLayout(layout); + layout->addWidget(m_lineEdit); + m_lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + + QToolButton *downButton = new QToolButton(this); + downButton->setAutoRaise(true); + downButton->setIcon(style()->standardIcon(QStyle::QStyle::SP_ArrowDown)); + layout->addWidget(downButton); + QToolButton *upButton = new QToolButton(this); + upButton->setIcon(style()->standardIcon(QStyle::QStyle::SP_ArrowUp)); + upButton->setAutoRaise(true); + layout->addWidget(upButton); + + connect(qApp, SIGNAL(focusChanged(QWidget*,QWidget*)), SLOT(onFocusChanged(QWidget*,QWidget*))); +} + +void QSUIQuickSearch::onFocusChanged(QWidget *old, QWidget *now) +{ + if(now == m_lineEdit) + qDebug("focus in"); + else if(old == m_lineEdit) + qDebug("focus out"); +} + diff --git a/src/plugins/Ui/qsui/qsuiquicksearch.h b/src/plugins/Ui/qsui/qsuiquicksearch.h new file mode 100644 index 000000000..f6bccf238 --- /dev/null +++ b/src/plugins/Ui/qsui/qsuiquicksearch.h @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright (C) 2017 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + +#ifndef QSUIQUICKSEARCH_H +#define QSUIQUICKSEARCH_H + +#include <QWidget> + +class QLineEdit; + +/** + @author Ilya Kotov <forkotov02@hotmail.ru> +*/ +class QSUIQuickSearch : public QWidget +{ + Q_OBJECT +public: + explicit QSUIQuickSearch(QWidget *parent = 0); + +private slots: + void onFocusChanged(QWidget *old, QWidget *now); + +private: + QLineEdit *m_lineEdit; + +}; + +#endif // QSUIQUICKSEARCH_H diff --git a/src/plugins/Ui/qsui/toolbareditor.cpp b/src/plugins/Ui/qsui/toolbareditor.cpp index 20d67e810..ee5f7f40a 100644 --- a/src/plugins/Ui/qsui/toolbareditor.cpp +++ b/src/plugins/Ui/qsui/toolbareditor.cpp @@ -82,7 +82,7 @@ void ToolBarEditor::populateActionList(bool reset) m_ui->toolbarNameComboBox->addItem(info.title); } - for(int id = ActionManager::PLAY; id <= ActionManager::UI_VOL_SLIDER; ++id) + for(int id = ActionManager::PLAY; id <= ActionManager::UI_QUICK_SEARCH; ++id) { QAction *action = ACTION(id); if(!action || actionNames.contains(action->objectName())) |
