TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musictoolsetswidget.cpp
Go to the documentation of this file.
1 #include "musictoolsetswidget.h"
2 #include "ui_musictoolsetswidget.h"
3 #include "musictimerwidget.h"
4 #include "musictransformwidget.h"
9 #include "musicapplication.h"
10 #include "musicrightareawidget.h"
11 #include "musicspectrumwidget.h"
12 
14  : MusicAbstractMoveWidget(parent),
15  m_ui(new Ui::MusicToolSetsWidget)
16 {
17  m_ui->setupUi(this);
18  setFixedSize(size());
19  setAttribute(Qt::WA_DeleteOnClose);
20  setBackgroundLabel(m_ui->background);
21 
22  m_ui->topTitleCloseButton->setIcon(QIcon(":/functions/btn_close_hover"));
23  m_ui->topTitleCloseButton->setStyleSheet(TTK::UI::ToolButtonStyle04);
24  m_ui->topTitleCloseButton->setCursor(QCursor(Qt::PointingHandCursor));
25  m_ui->topTitleCloseButton->setToolTip(tr("Close"));
26  connect(m_ui->topTitleCloseButton, SIGNAL(clicked()), SLOT(close()));
27 
28  m_ui->listItemWidget->setSpacing(11);
29  m_ui->listItemWidget->setIconSize(QSize(60, 60));
30  m_ui->listItemWidget->setFrameShape(QFrame::NoFrame);
31  m_ui->listItemWidget->setViewMode(QListView::IconMode);
32  m_ui->listItemWidget->setMovement(QListView::Static);
33  m_ui->listItemWidget->setStyleSheet(TTK::UI::ListWidgetStyle02);
34  m_ui->listItemWidget->verticalScrollBar()->setStyleSheet(TTK::UI::ScrollBarStyle01);
35 
36  connect(m_ui->listItemWidget, SIGNAL(itemClicked(QListWidgetItem*)), SLOT(currentItemClicked(QListWidgetItem*)));
37 
38  addCelltItems();
39 }
40 
42 {
43  TTKRemoveSingleWidget(className());
44  clear();
45  delete m_ui;
46 }
47 
49 {
50  struct ToolItem
51  {
52  QString m_icon;
53  QString m_name;
54 
55  ToolItem() = default;
56  ToolItem(const QString &icon, const QString &name)
57  : m_icon(icon),
58  m_name(name)
59  {
60 
61  }
62  };
63  TTK_DECLARE_LIST(ToolItem);
64 
65  ToolItemList pairs;
66  pairs << ToolItem(":/tools/lb_bell", tr("Bell"))
67  << ToolItem(":/tools/lb_timer", tr("Timing"))
68  << ToolItem(":/tools/lb_transform", tr("Transform"))
69  << ToolItem(":/tools/lb_spectrum", tr("Spectrum"))
70  << ToolItem(":/tools/lb_connections" ,tr("Connection"))
71  << ToolItem(":/tools/lb_gain", tr("Gain"))
72  << ToolItem(":/tools/lb_dlna", tr("DLNA"))
73  << ToolItem(":/tools/lb_detect", tr("Identify"))
74  << ToolItem(":/tools/lb_screen_saver", tr("Saver"))
75  << ToolItem(":/tools/lb_playlist", tr("Playlist"));
76 
77  for(const ToolItem &pair : qAsConst(pairs))
78  {
79  QListWidgetItem *item = new QListWidgetItem(QIcon(pair.m_icon), pair.m_name, m_ui->listItemWidget);
80  item->setForeground(QColor(TTK::UI::Color01));
81  item->setSizeHint(QSize(80, 90));
82  m_ui->listItemWidget->addItem(item);
83  }
84 }
85 
86 void MusicToolSetsWidget::currentItemClicked(QListWidgetItem *item)
87 {
88  hide();
89  //
90  switch(m_ui->listItemWidget->row(item))
91  {
92  case 0:
93  {
95  break;
96  }
97  case 1:
98  {
99  MusicTimerWidget widget(this);
100  QStringList songlist;
102  widget.setSongStringList(songlist);
103  widget.exec();
104  break;
105  }
106  case 2:
107  {
108  MusicTransformWidget(this).exec();
109  break;
110  }
111  case 3:
112  {
114  break;
115  }
116  case 4:
117  {
119  break;
120  }
121  case 5:
122  {
124  break;
125  }
126  case 6:
127  {
129  break;
130  }
131  case 7:
132  {
134  break;
135  }
136  case 8:
137  {
139  break;
140  }
141  case 9:
142  {
144  break;
145  }
146  default: break;
147  }
148 }
149 
151 {
152  m_ui->listItemWidget->clear();
153 }
154 
155 void MusicToolSetsWidget::contextMenuEvent(QContextMenuEvent *event)
156 {
157  Q_UNUSED(event);
158  QListWidgetItem *it = m_ui->listItemWidget->currentItem();
159  if(it)
160  {
161  currentItemClicked(it);
162  }
163 }
static MusicRightAreaWidget * instance()
void setBackgroundLabel(QLabel *label)
static const QString ListWidgetStyle02
static MusicApplication * instance()
The class of the tool sets widget.
#define TTK_DECLARE_LIST(Class)
Definition: ttkqtglobal.h:161
void currentItemClicked(QListWidgetItem *item)
Ui::MusicToolSetsWidget * m_ui
voidpf void uLong size
Definition: ioapi.h:136
The class of the replay gain widget.
The class of the song ringtone maker widget.
#define TTKGenerateSingleWidget(...)
virtual void contextMenuEvent(QContextMenuEvent *event) overridefinal
The class of the music spectrum widget all.
#define qAsConst
Definition: ttkqtglobal.h:53
const char * name
Definition: http_parser.c:458
static const QString ScrollBarStyle01
ScrollBar.
#define TTKRemoveSingleWidget(name)
The class of the song dlna transfer widget.
void currentPlaylist(QStringList &list)
MusicToolSetsWidget(QWidget *parent=nullptr)
The class of the network connection test widget.
static const QString ToolButtonStyle04
void setSongStringList(const QStringList &list)
static constexpr unsigned int Color01
Color QRgb.
Definition: musicuiobject.h:32
The class of the transform widget.
The class of the timer widget.
void functionClicked(int index, QWidget *widget=nullptr)
The class of the moving widget base.