TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicsplititemclickedlabel.cpp
Go to the documentation of this file.
2 #include "musicrightareawidget.h"
3 #include "musicwidgetutils.h"
4 
5 #include <QMouseEvent>
6 
8  : QLabel(parent)
9 {
10  setAlignment(Qt::AlignVCenter);
11  setMouseTracking(true);
12 }
13 
15 {
16  QLabel::enterEvent(event);
17  m_lineGeometry = QRectF();
18  m_currentString.clear();
19  update();
20 }
21 
23 {
24  QLabel::leaveEvent(event);
25  m_lineGeometry = QRectF();
26  m_currentString.clear();
27  update();
28 }
29 
31 {
32  QLabel::mousePressEvent(event);
33  if(event->button() == Qt::LeftButton && !m_currentString.isEmpty())
34  {
36  }
37 }
38 
40 {
41  QLabel::mouseMoveEvent(event);
42 
43  unsetCursor();
44  m_lineGeometry = QRectF();
45  m_currentString.clear();
46 
47  const QStringList data(text().split(" - "));
48  int offset = 0;
49 
50  for(const QString &var : qAsConst(data))
51  {
52  const int fs = TTK::Widget::fontTextWidth(font(), var.trimmed());
53  if(offset <= event->pos().x() && event->pos().x() <= offset + fs)
54  {
55  setCursor(QCursor(Qt::PointingHandCursor));
56  m_lineGeometry = QRectF(offset, height() - 3, fs, 0.5);
57  m_currentString = var.trimmed();
58  break;
59  }
60  offset += (fs + TTK::Widget::fontTextWidth(font(), " - "));
61  }
62  update();
63 }
64 
66 {
67  QLabel::paintEvent(event);
68 
69  QPainter painter(this);
70  painter.drawRect(m_lineGeometry);
71 }
virtual void mousePressEvent(QMouseEvent *event) overridefinal
static MusicRightAreaWidget * instance()
#define QtEnterEvent
Event enter.
Definition: ttkqtcompat.h:160
virtual void mouseMoveEvent(QMouseEvent *event) overridefinal
MusicSplitItemClickedLabel(QWidget *parent=nullptr)
void showSongSearchedFound(const QString &text)
virtual void enterEvent(QtEnterEvent *event) overridefinal
voidpf uLong offset
Definition: ioapi.h:142
#define qAsConst
Definition: ttkqtglobal.h:53
TTK_MODULE_EXPORT QStringList split(const QString &value, const QString &key=TTK_DEFAULT_STR)
TTK_MODULE_EXPORT int fontTextWidth(const QFont &font, const QString &text)
virtual void paintEvent(QPaintEvent *event) overridefinal
virtual void leaveEvent(QEvent *event) overridefinal