TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musiclrccolorwidget.cpp
Go to the documentation of this file.
1 #include "musiclrccolorwidget.h"
2 #include "ui_musiclrccolorwidget.h"
3 #include "musiccolordialog.h"
4 
6  : MusicAbstractMoveDialog(parent),
7  m_ui(new Ui::MusicLrcColorWidget)
8 {
9  m_ui->setupUi(this);
10  setFixedSize(size());
11  setBackgroundLabel(m_ui->background);
12 
13  m_ui->topTitleCloseButton->setIcon(QIcon(":/functions/btn_close_hover"));
14  m_ui->topTitleCloseButton->setStyleSheet(TTK::UI::ToolButtonStyle04);
15  m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
16  m_ui->topTitleCloseButton->setToolTip(tr("Close"));
17  connect(m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
18 
19  m_ui->listWidget->setSpacing(1);
20  m_ui->listWidget->setFrameShape(QFrame::NoFrame);
21 
22  m_ui->addButton->setStyleSheet(TTK::UI::PushButtonStyle04);
23  m_ui->deleteButton->setStyleSheet(TTK::UI::PushButtonStyle04);
24  m_ui->modifyButton->setStyleSheet(TTK::UI::PushButtonStyle04);
25  m_ui->upButton->setStyleSheet(TTK::UI::PushButtonStyle04);
26  m_ui->downButton->setStyleSheet(TTK::UI::PushButtonStyle04);
27  m_ui->confirmButton->setStyleSheet(TTK::UI::PushButtonStyle04);
28 
29 #ifdef Q_OS_UNIX
30  m_ui->addButton->setFocusPolicy(Qt::NoFocus);
31  m_ui->deleteButton->setFocusPolicy(Qt::NoFocus);
32  m_ui->modifyButton->setFocusPolicy(Qt::NoFocus);
33  m_ui->upButton->setFocusPolicy(Qt::NoFocus);
34  m_ui->downButton->setFocusPolicy(Qt::NoFocus);
35  m_ui->confirmButton->setFocusPolicy(Qt::NoFocus);
36 #endif
37 
38  connect(m_ui->addButton, SIGNAL(clicked()), SLOT(addButtonClicked()));
39  connect(m_ui->deleteButton, SIGNAL(clicked()), SLOT(deleteButtonClicked()));
40  connect(m_ui->modifyButton, SIGNAL(clicked()), SLOT(modifyButtonClicked()));
41  connect(m_ui->upButton, SIGNAL(clicked()), SLOT(upButtonClicked()));
42  connect(m_ui->downButton, SIGNAL(clicked()), SLOT(downButtonClicked()));
43  connect(m_ui->confirmButton, SIGNAL(clicked()), SLOT(accept()));
44 }
45 
47 {
48  delete m_ui;
49 }
50 
51 void MusicLrcColorWidget::setColors(const QList<QColor> &colors)
52 {
53  for(const QColor &color : qAsConst(colors))
54  {
55  QListWidgetItem *it = new QListWidgetItem(m_ui->listWidget);
56  it->setBackground(color);
57  m_ui->listWidget->addItem(it);
58  }
59 }
60 
61 QList<QColor> MusicLrcColorWidget::colors() const
62 {
63  QList<QColor> colors;
64  for(int i = 0; i < m_ui->listWidget->count(); ++i)
65  {
66  colors << m_ui->listWidget->item(i)->background().color();
67  }
68  return colors;
69 }
70 
72 {
73  MusicColorDialog dialog(this);
74  if(dialog.exec())
75  {
76  QListWidgetItem *it = new QListWidgetItem(m_ui->listWidget);
77  it->setBackground(dialog.color());
78  m_ui->listWidget->addItem(it);
79  }
80 }
81 
83 {
84  const int index = m_ui->listWidget->currentRow();
85  if(index >= 0)
86  {
87  delete m_ui->listWidget->takeItem(index);
88  }
89 }
90 
92 {
93  MusicColorDialog dialog(this);
94  if(dialog.exec())
95  {
96  QListWidgetItem *it = m_ui->listWidget->currentItem();
97  if(it)
98  {
99  it->setBackground(dialog.color());
100  }
101  }
102 }
103 
105 {
106  int index = m_ui->listWidget->currentRow();
107  if(index > 0)
108  {
109  QListWidgetItem *it = m_ui->listWidget->takeItem(index);
110  if(!it)
111  {
112  return;
113  }
114 
115  if(--index < 0)
116  {
117  index = 0;
118  }
119 
120  m_ui->listWidget->insertItem(index, it);
121  m_ui->listWidget->setCurrentRow(index);
122  }
123 }
124 
126 {
127  int index = m_ui->listWidget->currentRow();
128  if(index >= 0)
129  {
130  QListWidgetItem *it = m_ui->listWidget->takeItem(index);
131  if(!it)
132  {
133  return;
134  }
135 
136  if(++index >= m_ui->listWidget->count())
137  {
138  index = m_ui->listWidget->count();
139  }
140 
141  m_ui->listWidget->insertItem(index, it);
142  m_ui->listWidget->setCurrentRow(index);
143  }
144 }
void setBackgroundLabel(QLabel *label)
QList< QColor > colors() const
QColor color() const
voidpf void uLong size
Definition: ioapi.h:136
MusicLrcColorWidget(QWidget *parent=nullptr)
#define qAsConst
Definition: ttkqtglobal.h:53
Ui::MusicLrcColorWidget * m_ui
static const QString PushButtonStyle04
The class of the lrc color picker widget.
The class of the moving dialog base.
static const QString ToolButtonStyle04
The class of the get color table widget.
void setColors(const QList< QColor > &colors)