TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicqualitywidget.cpp
Go to the documentation of this file.
1 #include "musicqualitywidget.h"
3 #include "musicnumberutils.h"
4 
5 #include <qmmp/soundcore.h>
6 
8  : QLabel(parent)
9 {
10  setToolTip(tr("Quality"));
11  setFixedSize(48, 20);
12  setStyleSheet(TTK::UI::LabelQuality);
13 }
14 
16 {
17  if(!SoundCore::instance())
18  {
19  return;
20  }
21 
22  const auto &properties = SoundCore::instance()->trackInfo().properties();
23  if(!properties.contains(Qmmp::BITRATE))
24  {
25  return;
26  }
27 
28  QString style;
29  switch(TTK::Number::bitrateToLevel(properties[Qmmp::BITRATE].toInt()))
30  {
32  {
33  style = "margin-left:-48px;";
34  break;
35  }
37  {
38  style = "margin-left:-96px;";
39  break;
40  }
42  {
43  style = "margin-left:-144px;";
44  break;
45  }
47  {
48  style = "margin-left:-192px;";
49  break;
50  }
51  default: break;
52  }
53 
54  setStyleSheet(styleSheet() + style);
55 }
static SoundCore * instance()
const TrackInfo & trackInfo() const
static constexpr const char * LabelQuality
const QMap< Qmmp::TrackProperty, QString > & properties() const
TTK_MODULE_EXPORT TTK::QueryQuality bitrateToLevel(int bitrate)
MusicQualityWidget(QWidget *parent=nullptr)