TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicsearchedit.cpp
Go to the documentation of this file.
1 #include "musicsearchedit.h"
2 #include "musicwidgetutils.h"
3 
5  : QLineEdit(parent)
6 {
7  setStyleSheet(TTK::UI::LineEditStyle02);
8  setPlaceholderText(tr("Please input search words"));
9 }
10 
11 void MusicSearchEdit::contextMenuEvent(QContextMenuEvent *event)
12 {
13  Q_UNUSED(event);
14 
15  QMenu menu(this);
16  menu.setStyleSheet(TTK::UI::MenuStyle02);
17 
18  QAction *shearAction = menu.addAction(tr("Shear"), this, SLOT(cut()));
19  QAction *copyAction = menu.addAction(tr("Copy"), this, SLOT(copy()));
20  menu.addAction(tr("Paste"), this, SLOT(paste()));
21  QAction *deleteAction = menu.addAction(tr("Delete"), this, SLOT(clear()));
22  menu.addSeparator();
23  QAction *selectAction = menu.addAction(tr("Select All"), this, SLOT(selectAll()));
24 
25  const bool state = hasSelectedText();
26  shearAction->setEnabled(state);
27  copyAction->setEnabled(state);
28  deleteAction->setEnabled(state);
29  selectAction->setEnabled(!text().trimmed().isEmpty());
30 
32  menu.exec(QCursor::pos());
33 }
34 
35 void MusicSearchEdit::keyReleaseEvent(QKeyEvent *event)
36 {
37  QLineEdit::keyReleaseEvent(event);
38  switch(event->key())
39  {
40  case Qt::Key_Return:
41  case Qt::Key_Enter:
42  {
43  if(!text().isEmpty())
44  {
45  Q_EMIT enterFinished(text());
46  }
47  break;
48  }
49  default: break;
50  }
51 }
virtual void contextMenuEvent(QContextMenuEvent *event) overridefinal
void enterFinished(const QString &text)
virtual void keyReleaseEvent(QKeyEvent *event) override
MusicSearchEdit(QWidget *parent=nullptr)
static const QString MenuStyle02
static const QString LineEditStyle02
TTK_MODULE_EXPORT void adjustMenuPosition(QMenu *menu)
state
Definition: http_parser.c:279