TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
toolskin.cpp
Go to the documentation of this file.
1 #include "toolskin.h"
2 #include "ui_toolskin.h"
3 #include "musicextractmanager.h"
4 #include "musicfileutils.h"
5 #include "musiccolordialog.h"
8 
9 ToolSkin::ToolSkin(QWidget *parent)
10  : QWidget(parent),
11  m_ui(new Ui::ToolSkin),
12  m_pixmap(QPixmap(1, 1))
13 {
14  m_ui->setupUi(this);
15  setFixedSize(630, 400);
16 
17  m_pixmap.fill(Qt::white);
18  m_ui->pixLabel->setPixmap(m_pixmap.scaled(m_ui->pixLabel->size()));
19 
20  connect(m_ui->localButton, SIGNAL(clicked()), SLOT(imageClicked()));
21  connect(m_ui->paletteButton, SIGNAL(clicked()), SLOT(paletteClicked()));
22  connect(m_ui->readButton, SIGNAL(clicked()), SLOT(readClicked()));
23  connect(m_ui->writeButton, SIGNAL(clicked()), SLOT(writeClicked()));
24 
25  G_BACKGROUND_PTR->setBackgroundUrl(":/color/lb_blue");
26 }
27 
29 {
30  delete m_ui;
31 }
32 
34 {
35  const QString &path = TTK::File::getOpenFileName(this);
36  if(path.isEmpty())
37  {
38  return;
39  }
40 
41  m_pixmap = QPixmap(path);
42  m_ui->pixLabel->setPixmap(m_pixmap.scaled(m_ui->pixLabel->size()));
43 }
44 
46 {
47  const QColor &color = MusicColorDialog::popup(this);
48  if(!color.isValid())
49  {
50  return;
51  }
52 
53  m_pixmap = QPixmap(1, 1);
54  m_pixmap.fill(color);
55  m_ui->pixLabel->setPixmap(m_pixmap.scaled(m_ui->pixLabel->size()));
56 }
57 
59 {
60  const QString &path = TTK::File::getOpenFileName(this, "TKM Files (*.tkm)");
61  if(path.isEmpty())
62  {
63  return;
64  }
65 
67  if(MusicExtractManager::outputSkin(&image, path))
68  {
69  m_pixmap = image.m_pix;
70  m_ui->pixLabel->setPixmap(m_pixmap.scaled(m_ui->pixLabel->size()));
71  m_ui->nameLineEdit->setText(image.m_item.m_name);
72  m_ui->countLineEdit->setText(QString::number(image.m_item.m_useCount));
73  }
74 }
75 
77 {
78  const QString &path = TTK::File::getSaveFileName(this, "TKM Files (*.tkm)");
79  if(path.isEmpty())
80  {
81  return;
82  }
83 
85  image.m_pix = m_pixmap;
86  image.m_item.m_name = m_ui->nameLineEdit->text().trimmed();
87  image.m_item.m_useCount = m_ui->countLineEdit->text().trimmed().toInt();
88  TTK_INFO_STREAM("Save state " << MusicExtractManager::inputSkin(&image, path));
89 }
Ui::ToolSkin * m_ui
Definition: toolskin.h:51
~ToolSkin()
Definition: toolskin.cpp:28
#define G_BACKGROUND_PTR
TTK_MODULE_EXPORT QString getOpenFileName(QWidget *parent, const QString &filter="Image Files (*.png *.bmp *.jpg)")
static bool inputSkin(MusicBackgroundImage *image, const QString &output)
QPixmap m_pixmap
Definition: toolskin.h:52
The class of the skin tool.
Definition: toolskin.h:31
TTK_MODULE_EXPORT QString getSaveFileName(QWidget *parent, const QString &filter="Image Files (*.png *.bmp *.jpg)")
void imageClicked()
Definition: toolskin.cpp:33
The class of the skin backgroud image.
#define TTK_INFO_STREAM(msg)
Definition: ttklogger.h:74
void readClicked()
Definition: toolskin.cpp:58
static QColor popup(QWidget *parent=nullptr, const QColor &color={})
static bool outputSkin(MusicBackgroundImage *image, const QString &input)
ToolSkin(QWidget *parent=nullptr)
Definition: toolskin.cpp:9
void paletteClicked()
Definition: toolskin.cpp:45
void writeClicked()
Definition: toolskin.cpp:76