TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musiclrcsearchwidget.cpp
Go to the documentation of this file.
1 #include "musiclrcsearchwidget.h"
2 #include "ui_musiclrcsearchwidget.h"
4 #include "musictoastlabel.h"
5 
7  : MusicAbstractMoveDialog(parent),
8  m_ui(new Ui::MusicLrcSearchWidget)
9 {
10  m_ui->setupUi(this);
11  setFixedSize(size());
12  setBackgroundLabel(m_ui->background);
13 
14  m_ui->topTitleCloseButton->setIcon(QIcon(":/functions/btn_close_hover"));
15  m_ui->topTitleCloseButton->setStyleSheet(TTK::UI::ToolButtonStyle04);
16  m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
17  m_ui->topTitleCloseButton->setToolTip(tr("Close"));
18  connect(m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
19 
20  m_ui->label_checkBox->setStyleSheet(TTK::UI::CheckBoxStyle01);
21  m_ui->songSearchEdit->setStyleSheet(TTK::UI::LineEditStyle01);
22  m_ui->lrcSearchButton->setStyleSheet(TTK::UI::PushButtonStyle04);
23  m_ui->lrcSearchDownload->setStyleSheet(TTK::UI::PushButtonStyle04);
24  m_ui->closeButton->setStyleSheet(TTK::UI::PushButtonStyle04);
25 
26 #ifdef Q_OS_UNIX
27  m_ui->label_checkBox->setFocusPolicy(Qt::NoFocus);
28  m_ui->lrcSearchButton->setFocusPolicy(Qt::NoFocus);
29  m_ui->lrcSearchDownload->setFocusPolicy(Qt::NoFocus);
30  m_ui->closeButton->setFocusPolicy(Qt::NoFocus);
31 #endif
32 
33  m_ui->lrcSearchButton->setCursor(QCursor(Qt::PointingHandCursor));
34  m_ui->lrcSearchDownload->setCursor(QCursor(Qt::PointingHandCursor));
35  m_ui->closeButton->setCursor(QCursor(Qt::PointingHandCursor));
36 
37  m_ui->functionTopLabel->setStyleSheet(TTK::UI::ColorStyle03 + TTK::UI::BackgroundStyle09);
38 
39  connect(m_ui->lrcSearchButton, SIGNAL(clicked()), SLOT(lrcSearchButtonClicked()));
40  connect(m_ui->lrcSearchDownload, SIGNAL(clicked()), SLOT(lrcSearchDownloadClicked()));
41  connect(m_ui->closeButton, SIGNAL(clicked()), SLOT(close()));
42  connect(m_ui->label_checkBox, SIGNAL(clicked(bool)), m_ui->tableWidget, SLOT(checkedItemsState(bool)));
43  connect(m_ui->tableWidget, SIGNAL(resolvedSuccess()), SLOT(lrcSearchFinished()));
44  connect(m_ui->tableWidget, SIGNAL(lrcDownloadStateChanged(QString)), SLOT(lrcDownloadStateChanged(QString)));
45  connect(m_ui->tableWidget, SIGNAL(restartToSearchQuery(QString)), SLOT(setCurrentSongName(QString)));
46 }
47 
49 {
50  delete m_ui;
51 }
52 
54 {
55  if(name.isEmpty())
56  {
58  return;
59  }
60 
61  m_ui->songSearchEdit->setText(name);
63 }
64 
66 {
67  m_ui->stateLabel->setText(tr("Lrc search finished"));
68 }
69 
71 {
72  m_ui->stateLabel->setText(tr("Lrc is searching now"));
73  const QString &text = m_ui->songSearchEdit->text().trimmed();
74  m_ui->tableWidget->startToSearchByText(text);
75  m_ui->functionTopLabel->setText(tr("&nbsp;find <font color=#158FE1> %1 </font> result").arg(TTK::Widget::elidedText(font(), text, Qt::ElideRight, 245)));
76 }
77 
79 {
80  TTKIntList list = m_ui->tableWidget->checkedIndexList();
81  list.removeOne(m_ui->tableWidget->rowCount() - 1);
82 
83  if(list.isEmpty())
84  {
85  MusicToastLabel::popup(tr("Please select one item first"));
86  return;
87  }
88 
89  for(const int row : qAsConst(list))
90  {
91  m_ui->tableWidget->downloadQueryResult(row);
92  }
93  m_ui->stateLabel->setText(tr("Lrc is downloading now"));
94 }
95 
97 {
98  if(string == DOWNLOAD_KEY_LRC)
99  {
100  m_ui->stateLabel->setText(tr("Lrc download finished"));
101  }
102 }
void setBackgroundLabel(QLabel *label)
void lrcSearchButtonClicked() const
static const QString CheckBoxStyle01
CheckBox.
voidpf void uLong size
Definition: ioapi.h:136
Ui::MusicLrcSearchWidget * m_ui
static void popup(const QString &text)
void setCurrentSongName(const QString &name) const
QList< int > TTKIntList
Definition: ttkqtglobal.h:188
#define qAsConst
Definition: ttkqtglobal.h:53
const char * name
Definition: http_parser.c:458
static constexpr const char * DOWNLOAD_KEY_LRC
static const QString PushButtonStyle04
The class of the lrc search widget.
TTK_MODULE_EXPORT QString elidedText(const QFont &font, const QString &text, Qt::TextElideMode mode, int width)
static const QString BackgroundStyle09
The class of the moving dialog base.
static const QString ColorStyle03
Definition: musicuiobject.h:43
static const QString LineEditStyle01
LineEdit.
MusicLrcSearchWidget(QWidget *parent=nullptr)
static const QString ToolButtonStyle04
void lrcDownloadStateChanged(const QString &string)