TTKMusicPlayer  4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicrightareawidget.cpp
Go to the documentation of this file.
1 #include "musicrightareawidget.h"
2 #include "ui_musicapplication.h"
3 #include "musicapplication.h"
6 #include "musicvideoplaywidget.h"
8 #include "musicsettingwidget.h"
9 #include "musictoastlabel.h"
10 #include "musicfunctionuiobject.h"
11 #include "musictinyuiobject.h"
13 #include "musictopareawidget.h"
14 
15 #include "musicwebdjradiowidget.h"
16 #include "musicscreensaverwidget.h"
19 #include "musicalbumquerywidget.h"
20 #include "musicartistquerywidget.h"
30 #include "musicsongdailywidget.h"
31 
32 #ifdef Q_OS_WIN
33 # include "musicplatformmanager.h"
34 #endif
35 #include "qkugou/qkugouwindow.h"
36 
37 #include <QPropertyAnimation>
38 
40 
42  : QWidget(parent),
43  m_lowPowerMode(false),
44  m_funcIndex(KugGouSongWidget),
45  m_stackedWidget(nullptr),
46  m_stackedStandWidget(nullptr),
47  m_videoPlayerWidget(nullptr),
48  m_lrcForInterior(nullptr),
49  m_lrcForDesktop(nullptr),
50  m_lrcForWallpaper(nullptr)
51 {
52  m_instance = this;
53 
54  m_lrcAnalysis = new MusicLrcAnalysis(this);
56 
59  connect(m_settingWidget, SIGNAL(parameterSettingChanged()), parent, SLOT(applyParameter()));
60 }
61 
63 {
64  delete m_settingWidget;
66  delete m_lrcForDesktop;
67  delete m_lrcForWallpaper;
68 
70  {
71  m_videoPlayerWidget->setVisible(false); //Fix bug on linux
72  delete m_videoPlayerWidget;
73  }
74 }
75 
77 {
78  return m_instance;
79 }
80 
81 void MusicRightAreaWidget::setupUi(Ui::MusicApplication *ui)
82 {
83  m_ui = ui;
84  //
85  m_lrcForInterior = ui->musiclrccontainerforinterior;
87  m_lrcForInterior->resize(ui->functionsContainer->size());
88 
89  ui->musicBackButton->setStyleSheet(TTK::UI::BtnBackBack);
90  ui->musicRefreshButton->setStyleSheet(TTK::UI::BtnBackFresh);
91 
92  ui->lrcDisplayAllButton->setCursor(QCursor(Qt::PointingHandCursor));
93  ui->lrcDisplayAllButton->setIconSize(QSize(15, 56));
94  connect(ui->lrcDisplayAllButton, SIGNAL(clicked()), SLOT(lrcDisplayAllClicked()));
95  //
96  QButtonGroup *buttonGroup = new QButtonGroup(this);
97  buttonGroup->addButton(ui->musicSearchButton, MusicRightAreaWidget::SearchWidget);
98  buttonGroup->addButton(ui->musicWindowIdentify, MusicRightAreaWidget::IndentifyWidget);
99  QtButtonGroupConnect(buttonGroup, this, functionClicked, TTK_SLOT);
100  //
101  connect(m_lrcForInterior, SIGNAL(showCurrentLrcColorSetting()), m_settingWidget, SLOT(changeInteriorLrcWidget()));
102  connect(m_lrcForInterior, SIGNAL(currentLrcUpdated()), MusicApplication::instance(), SLOT(currentLrcUpdated()));
103  connect(m_lrcForInterior, SIGNAL(backgroundChanged()), SIGNAL(updateBackgroundThemeDownload()));
104  connect(m_lrcForInterior, SIGNAL(showCurrentLrcSetting()), MusicApplication::instance(), SLOT(showSettingWidget()));
105  connect(m_lrcForInterior, SIGNAL(updateCurrentTime(qint64)), MusicApplication::instance(), SLOT(updateCurrentTime(qint64)));
106  connect(ui->musicBackButton, SIGNAL(clicked()), SLOT(functionGoBack()));
107  connect(ui->functionOptionWidget, SIGNAL(buttonClicked(int)), SLOT(functionClicked(int)));
108  connect(ui->musicSongSearchEdit, SIGNAL(enterFinished(QString)), SLOT(showSongSearchedFound(QString)));
109 }
110 
112 {
116  {
118  }
119 }
120 
122 {
126  {
128  }
129 }
130 
132 {
134 }
135 
137 {
138  return m_lrcForDesktop->isVisible();
139 }
140 
142 {
143  m_lrcForInterior->setVisible(status);
144 }
145 
147 {
148  return m_lrcForInterior->isVisible();
149 }
150 
151 void MusicRightAreaWidget::updateCurrentLrc(qint64 current, qint64 total, bool playState) const
152 {
153  m_lrcForInterior->setCurrentTime(current, total);
154  QString currentLrc, laterLrc;
155  qint64 intervalTime;
156  if(m_lrcAnalysis->findText(current, total, currentLrc, laterLrc, intervalTime))
157  {
158  //If this is a new line of the lyrics, then restart lyrics display mask
159  if(currentLrc != m_lrcForInterior->text())
160  {
161  if(playState)
162  {
163  m_lrcForInterior->updateCurrentLrc(intervalTime);
164  }
165 
166  {
167  m_lrcForDesktop->setCurrentTime(current, total);
168  m_lrcForDesktop->updateCurrentLrc(currentLrc, laterLrc, intervalTime);
169  }
170 
172  {
173  m_lrcForWallpaper->setCurrentTime(current, total);
174  m_lrcForWallpaper->updateCurrentLrc(intervalTime);
175  }
176  }
177  }
178 }
179 
180 void MusicRightAreaWidget::loadCurrentSongLrc(const QString &name, const QString &path) const
181 {
184 
186  if(TTK_FILE_SUFFIX(QFileInfo(path)) == KRC_FILE_SUFFIX)
187  {
188  TTK_INFO_STREAM("Current in krc parser mode");
189  state = m_lrcAnalysis->loadFromKrcFile(path);
190  }
191  else
192  {
193  TTK_INFO_STREAM("Current in lrc parser mode");
194  state = m_lrcAnalysis->loadFromLrcFile(path);
195  }
196 
200 
202  {
203  m_lrcForDesktop->updateCurrentLrc(tr("No lrc data file found"), {}, 0);
204  }
205 
207  {
210  m_lrcForWallpaper->start(true);
211 
213  {
214  m_lrcForWallpaper->updateCurrentLrc(tr("No lrc data file found"));
215  }
216  }
217 }
218 
220 {
222 }
223 
225 {
227 }
228 
230 {
233 }
234 
236 {
237  m_rawData = id;
239 }
240 
242 {
243  m_rawData = id;
245 }
246 
248 {
249  m_rawData = id;
251 }
252 
254 {
255  m_rawData = data;
257 }
258 
260 {
261  m_ui->songSearchWidget->resizeWindow();
263 
265  if(stackedWidget)
266  {
267  stackedWidget->resizeWidget();
268  }
269 
271  if(stackedStandWidget)
272  {
273  stackedStandWidget->resizeWidget();
274  }
275 
277  {
279  }
280 }
281 
283 {
287  {
289  }
290 
292  m_lrcForDesktop->setVisible(config);
293  m_ui->musicDesktopLrc->setChecked(config);
294 
295  config = G_SETTING_PTR->value(MusicSettingManager::RippleLowPowerMode).toBool();
296  if(config != m_lowPowerMode)
297  {
300  {
302  }
303  }
304 
306  {
308  }
309 }
310 
312 {
313  // TODO
314 // if(m_ui->functionsContainer->count() < 4)
315 // {
316 // return;
317 // }
318 
319 // const int index = m_ui->functionsContainer->currentIndex() - 1;
320 // m_ui->functionsContainer->setCurrentIndex(index);
321 }
322 
323 void MusicRightAreaWidget::functionClicked(int index, QWidget *widget)
324 {
327 
328  if(widget)
329  {
330  m_stackedStandWidget = widget;
331  m_ui->functionsContainer->addWidget(m_stackedStandWidget);
332  m_ui->functionsContainer->setCurrentWidget(m_stackedStandWidget);
333  Q_EMIT updateBackgroundTheme();
334  return;
335  }
336 
337  if(0 <= index && index < LrcWidget)
338  {
339  m_ui->functionOptionWidget->buttonStyleSwitch(index);
340  }
341 
342  switch(m_funcIndex)
343  {
344  case KugGouSongWidget: //insert kugou song widget
345  {
347  Q_EMIT updateBackgroundTheme();
348  break;
349  }
350  case KugGouRadioWidget: //insert kugou radio widget
351  {
353  Q_EMIT updateBackgroundTheme();
354  break;
355  }
356  case kugouPlaylistWidget: //insert kugou playlist widget
357  {
359  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
360  m_ui->functionsContainer->setCurrentWidget(widget);
361  widget->setCurrentValue({});
362  Q_EMIT updateBackgroundTheme();
363  break;
364  }
365  case kugouMovieWidget: //insert kugou movie widget
366  {
368  Q_EMIT updateBackgroundTheme();
369  break;
370  }
371  case VideoWidget: //insert video widget
372  {
374  {
376  connect(m_videoPlayerWidget, SIGNAL(popupButtonClicked(bool)), SLOT(videoSetPopup(bool)));
377  connect(m_videoPlayerWidget, SIGNAL(fullscreenButtonClicked(bool)), SLOT(videoFullscreen(bool)));
378  }
379 
381  m_ui->functionsContainer->addWidget(m_videoPlayerWidget);
382  m_ui->functionsContainer->setCurrentWidget(m_videoPlayerWidget);
383  Q_EMIT updateBackgroundTheme();
384  break;
385  }
386  case LrcWidget: //insert lrc display widget
387  {
388  m_ui->functionsContainer->setCurrentIndex(MUSIC_LRC_PAGE);
389  m_ui->lrcDisplayAllButton->setStyleSheet(TTK::UI::TinyBtnLrcCollapse);
390  m_ui->lrcDisplayAllButton->setVisible(true);
392  break;
393  }
394  case RecommendWidget: //insert recommend found widget
395  {
397  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
398  m_ui->functionsContainer->setCurrentWidget(widget);
399  widget->setCurrentValue({});
400  Q_EMIT updateBackgroundTheme();
401  break;
402  }
403  case ToplistWidget: //insert toplist found widget
404  {
406  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
407  m_ui->functionsContainer->setCurrentWidget(widget);
408  widget->setCurrentValue({});
409  Q_EMIT updateBackgroundTheme();
410  break;
411  }
412  case ArtistCategoryWidget: //insert artist category found widget
413  {
415  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
416  m_ui->functionsContainer->setCurrentWidget(widget);
417  widget->setCurrentValue({});
418  Q_EMIT updateBackgroundTheme();
419  break;
420  }
421  case PlaylistCategoryWidget: //insert playlist category widget
422  {
424  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
425  m_ui->functionsContainer->setCurrentWidget(widget);
426  Q_EMIT updateBackgroundTheme();
427  break;
428  }
429  case SearchWidget: //insert search display widget
430  {
431  QString searchedString = m_ui->musicSongSearchEdit->text().trimmed();
432  searchedString = searchedString.isEmpty() ? m_ui->musicSongSearchEdit->placeholderText() : searchedString;
433  //The string searched wouldn't allow to be none
434  if(!searchedString.isEmpty() && searchedString != tr("Please input search words"))
435  {
436  m_ui->musicSongSearchEdit->setText(searchedString);
437  m_ui->songSearchWidget->startToSearchByText(searchedString);
438  }
439  else
440  {
442  MusicToastLabel::popup(tr("Please enter input search text first"));
443  break;
444  }
445 
446  m_ui->functionsContainer->setCurrentIndex(MUSIC_SEARCH_PAGE);
447  Q_EMIT updateBackgroundTheme();
448  break;
449  }
450  case SearchSingleWidget: //insert search display widget
451  {
452  m_ui->functionsContainer->setCurrentIndex(MUSIC_SEARCH_PAGE);
453  Q_EMIT updateBackgroundTheme();
454  break;
455  }
456  case SimilarWidget: //insert similar found widget
457  {
459  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
460  m_ui->functionsContainer->setCurrentWidget(widget);
461  Q_EMIT updateBackgroundTheme();
462  break;
463  }
464  case AlbumWidget: //insert album found widget
465  {
466  MusicAlbumQueryWidget *widget = new MusicAlbumQueryWidget(this);
467  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
468  m_ui->functionsContainer->setCurrentWidget(widget);
469  Q_EMIT updateBackgroundTheme();
470  break;
471  }
472  case ArtistWidget: //insert artist found widget
473  {
475  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
476  m_ui->functionsContainer->setCurrentWidget(widget);
477  Q_EMIT updateBackgroundTheme();
478  break;
479  }
480  case PlaylistWidget: //insert playlist found widget
481  {
483  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
484  m_ui->functionsContainer->setCurrentWidget(widget);
485  Q_EMIT updateBackgroundTheme();
486  break;
487  }
488  case SongDailyWidget: //insert song daily widget
489  {
490  MusicSongDailyWidget *widget = new MusicSongDailyWidget(this);
491  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
492  m_ui->functionsContainer->setCurrentWidget(widget);
493  Q_EMIT updateBackgroundTheme();
494  break;
495  }
496  case AdvancedSearchWidget: //insert advanced search widget
497  {
499  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
500  m_ui->functionsContainer->setCurrentWidget(widget);
501  Q_EMIT updateBackgroundTheme();
502  break;
503  }
504  case IndentifyWidget: //insert indentify songs widget
505  {
507  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
508  m_ui->functionsContainer->setCurrentWidget(widget);
509  widget->queryIdentifyKey();
510  Q_EMIT updateBackgroundTheme();
511  break;
512  }
513  case KuiSheWidget: //insert kugou kuishe widget
514  {
516  Q_EMIT updateBackgroundTheme();
517  break;
518  }
519  case WebDJRadioWidget: //insert web dj radio widget
520  {
521  MusicWebDJRadioWidget *widget = new MusicWebDJRadioWidget(this);
522  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
523  m_ui->functionsContainer->setCurrentWidget(widget);
524  widget->initialize();
525  Q_EMIT updateBackgroundTheme();
526  break;
527  }
528  case WebMVRadioWidget: //insert web mv radio widget
529  {
531  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
532  m_ui->functionsContainer->setCurrentWidget(widget);
533  widget->setCurrentValue({});
534  Q_EMIT updateBackgroundTheme();
535  break;
536  }
537  case WebPVRadioWidget: //insert web pv radio widget
538  {
540  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
541  m_ui->functionsContainer->setCurrentWidget(widget);
542  Q_EMIT updateBackgroundTheme();
543  break;
544  }
545  case ScreenSaverWidget: //insert screen saver widget
546  {
548  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
549  m_ui->functionsContainer->setCurrentWidget(widget);
550  Q_EMIT updateBackgroundTheme();
551  break;
552  }
553  case PlaylistBackupWidget: //insert playlist backup widget
554  {
556  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
557  m_ui->functionsContainer->setCurrentWidget(widget);
558  Q_EMIT updateBackgroundTheme();
559  break;
560  }
561  default: break;
562  }
563 }
564 
566 {
568  {
570  }
571 
572  if(m_ui->functionsContainer->currentIndex() != MUSIC_LRC_PAGE)
573  {
575  }
576 
578 }
579 
580 void MusicRightAreaWidget::showSimilarFound(const QString &text)
581 {
583  TTKObjectCast(MusicSimilarQueryWidget*, m_stackedWidget)->setCurrentValue(text);
584 }
585 
586 void MusicRightAreaWidget::showAlbumFound(const QString &text, const QString &id)
587 {
590  id.isEmpty() ? w->setCurrentValue(text) : w->setCurrentID(id);
591 }
592 
594 {
595  showArtistFound({}, m_rawData.toString());
596 }
597 
599 {
600  showAlbumFound({}, m_rawData.toString());
601 }
602 
604 {
605  showVideoSearchedFound({}, m_rawData.toString());
606 }
607 
609 {
611  {
612  m_videoPlayerWidget->raise();
613  }
614  else
615  {
617  }
618 
620 }
621 
623 {
626  w->setCurrentValue(id);
627 }
628 
629 void MusicRightAreaWidget::showArtistFound(const QString &text, const QString &id)
630 {
633  id.isEmpty() ? w->setCurrentValue(text) : w->setCurrentID(id);
634 }
635 
637 {
640  w->setCurrentID(id);
641 }
642 
643 void MusicRightAreaWidget::showPlaylistCategoryFound(const QString &id, const QString &value)
644 {
647  w->setCurrentCategory({id, value});
648 }
649 
651 {
652  m_ui->musicSongSearchEdit->setText(text.trimmed());
654 }
655 
657 {
659  m_ui->songSearchWidget->startToSearchByID(id);
660 }
661 
662 void MusicRightAreaWidget::showVideoSearchedFound(const QString &name, const QString &id)
663 {
665  {
666  m_videoPlayerWidget->raise();
667  }
668  else
669  {
671  }
672 
674 }
675 
677 {
679  const bool pre = G_SETTING_PTR->value(MusicSettingManager::WindowConciseMode).toBool();
681 #ifdef Q_OS_UNIX
682  m_ui->functionsContainer->setCurrentIndex(MUSIC_LRC_PAGE);
683 #endif
686 }
687 
689 {
690  m_ui->musicDesktopLrc->setChecked(visible);
691  m_lrcForDesktop->setVisible(visible);
694 }
695 
697 {
699 }
700 
702 {
705 
707  if(type)
708  {
710  }
711  else
712  {
714  }
716 
717  if(desktop)
718  {
720  desktop->deleteLater();
721  }
722 
726 
727  connect(m_lrcForDesktop, SIGNAL(currentLrcUpdated()), MusicApplication::instance(), SLOT(currentLrcUpdated()));
728  connect(m_lrcForDesktop, SIGNAL(showCurrentLrcSetting()), MusicApplication::instance(), SLOT(showSettingWidget()));
729  connect(m_lrcForDesktop, SIGNAL(showCurrentLrcColorSetting()), m_settingWidget, SLOT(changeDesktopLrcWidget()));
730 
732 }
733 
735 {
737  {
738  return;
739  }
740 
742  if(popup)
743  {
744  m_ui->functionsContainer->addWidget(m_stackedWidget);
745  m_ui->functionsContainer->setCurrentWidget(m_stackedWidget);
746 #ifdef Q_OS_WIN
747  MusicPlatformManager manager;
748  manager.windowsEnableLeftMode();
749 #endif
751  }
752  else
753  {
755  }
756 }
757 
759 {
761  {
762  MusicApplication::instance()->activateWindow();
763  m_videoPlayerWidget->activateWindow();
764  }
765 }
766 
768 {
770  m_ui->functionOptionWidget->switchToSelectedItemStyle(MusicRightAreaWidget::LrcWidget);
771 
772  delete m_videoPlayerWidget;
773  m_videoPlayerWidget = nullptr;
774 }
775 
777 {
779  {
782  }
783 }
784 
786 {
787  const bool lrcDisplayAll = !m_lrcForInterior->lrcDisplayExpand();
788  m_lrcForInterior->setLrcDisplayExpand(lrcDisplayAll);
789  m_ui->centerLeftWidget->setVisible(!lrcDisplayAll);
790 
791  const int height = m_lrcForInterior->height() - m_ui->lrcDisplayAllButton->height() - 40;
792  QPropertyAnimation *lrcDisplayAllAnimation = new QPropertyAnimation(m_ui->lrcDisplayAllButton, "pos", this);
793  lrcDisplayAllAnimation->setDuration(100);
794  lrcDisplayAllAnimation->setStartValue(QPoint(lrcDisplayAll ? LEFT_SIDE_WIDTH_MIN - 20 : -LEFT_SIDE_WIDTH_MIN, height / 2));
795  lrcDisplayAllAnimation->setEndValue(QPoint(0, height / 2));
796  lrcDisplayAllAnimation->start();
797 
798  m_ui->lrcDisplayAllButton->setStyleSheet(lrcDisplayAll ? TTK::UI::TinyBtnLrcExpand : TTK::UI::TinyBtnLrcCollapse);
799  m_ui->musicWindowConcise->setEnabled(!lrcDisplayAll);
800 }
801 
803 {
805  {
807  delete m_lrcForWallpaper;
808  m_lrcForWallpaper = nullptr;
809  }
810  else
811  {
812 #ifdef Q_OS_WIN
813  MusicPlatformManager manager;
814  manager.windowsEnableLeftMode();
815 #endif
819  m_lrcForWallpaper->showFullScreen();
820  connect(m_lrcForInterior, SIGNAL(linearGradientColorChanged()), m_lrcForWallpaper, SLOT(changeCurrentLrcColor()));
821 
822  MusicApplication::instance()->activateWindow();
823  MusicApplication::instance()->showMinimized();
825  }
826 }
827 
829 {
831 }
832 
834 {
838 }
839 
841 {
843  {
845  }
846 
847  if(m_funcIndex == LrcWidget)
848  {
849  m_ui->functionOptionWidget->buttonStyleClear(false);
850  m_ui->stackedFunctionWidget->transparent(true);
851  }
852  else
853  {
854  m_ui->functionOptionWidget->buttonStyleClear(true);
855  m_ui->stackedFunctionWidget->transparent(false);
856  }
857 
858  m_stackedStandWidget = nullptr;
859 
860  m_ui->lrcDisplayAllButton->setVisible(false);
862  {
864  }
865 }
866 
868 {
870 
872  {
873  module = QKugouWindow::None;
874  }
875 
876  QWidget *widget = new QKugouWindow(module, this);
877  connect(m_ui->musicRefreshButton, SIGNAL(clicked()), widget, SLOT(refresh()));
878  connect(widget, SIGNAL(buttonClicked(int)), this, SLOT(functionClicked(int)));
879 
880  m_ui->functionsContainer->addWidget(m_stackedWidget = widget);
881  m_ui->functionsContainer->setCurrentWidget(widget);
882 }
void showSingleSearchedFound(const QString &id)
static MusicRightAreaWidget * instance()
void updateBackgroundThemeDownload()
#define TTKStaticCast(x, y)
Definition: ttkglobal.h:159
virtual void setCurrentValue(const QString &value) overridefinal
The class of the playlist music query widget.
static MusicApplication * instance()
MusicDownloadStatusModule * m_downloadStatusObject
struct config_s config
void setLineMax(int max)
The class of the platform system manager.
#define MUSIC_SEARCH_PAGE
virtual void applyParameter() overridefinal
The class of the album music query widget.
The class of the playlist backup widget.
void setCurrentTime(qint64 time, qint64 total)
MusicSettingWidget * m_settingWidget
The class of the desktop vertical lrc container.
virtual void applyParameter() overridefinal
virtual void setCurrentID(const QString &id) overridefinal
static constexpr const char * TinyBtnLrcCollapse
void setWindowLockedChanged(bool lock)
void setCurrentPlayState(bool state) const
#define MUSIC_LRC_PAGE
void setLrcAnalysisModel(MusicLrcAnalysis *analysis)
void startToSearchByID(const QString &name)
The class of the song daily widget.
The class of the song identify widget.
MusicLrcContainerForInterior * m_lrcForInterior
void showSimilarFound(const QString &text)
void statusCopyFrom(MusicLrcContainerForDesktop *other)
MusicRightAreaWidget(QWidget *parent=nullptr)
virtual void setCurrentID(const QString &id) overridefinal
void setCurrentPlayState(bool state) const
The class of the personal radio query widget.
void movieRadioSearchByID(const QVariant &data)
void videoResearchButtonSearched(const QString &name)
void showSongSearchedFound(const QString &text)
MusicLrcContainerForDesktop * m_lrcForDesktop
void setInteriorLrcVisible(bool status) const
virtual void setCurrentID(const QString &id) overridefinal
virtual void setCurrentValue(const QString &value) overridefinal
static void popup(const QString &text)
void setCurrentSongName(const QString &name)
The class of the music dj radio widget.
The class of the advance search widget.
void loadCurrentSongLrc(const QString &name, const QString &path) const
MusicLrcContainerForWallpaper * m_lrcForWallpaper
virtual void setCurrentValue(const QString &value) overridefinal
virtual void startDrawLrc() overridefinal
static constexpr const char * TinyBtnLrcExpand
The class of the similar music query widget.
const char * name
Definition: http_parser.c:458
virtual void setCurrentValue(const QString &value) overridefinal
The class of the kugou window widget.
Definition: qkugouwindow.h:30
bool findText(qint64 current, qint64 total, QString &pre, QString &last, qint64 &interval) const
The class of the core lrc analysis.
#define TTK_INFO_STREAM(msg)
Definition: ttklogger.h:68
#define TTK_SIGNLE_SHOT(...)
Definition: ttkqtglobal.h:193
The class of the screen saver widget.
The class of the video play widget.
The class of the show download state object.
void showArtistFound(const QString &text, const QString &id)
void setupUi(Ui::MusicApplication *ui)
The class of the music mv query widget.
void resizeGeometry(bool resize)
State loadFromLrcFile(const QString &path)
virtual void startDrawLrc() overridefinal
static constexpr const char * BtnBackFresh
MusicLrcAnalysis * m_lrcAnalysis
MusicVideoPlayWidget * m_videoPlayerWidget
void setCurrentCategory(const MusicResultsCategoryItem &category)
#define TTK_SLOT
Definition: ttkqtglobal.h:181
State loadFromKrcFile(const QString &path)
The class of the setting parameters widget.
void showAlbumFound(const QString &text, const QString &id)
void setDestopLrcVisible(bool visible) const
void videoSetPopup(bool popup)
static constexpr int MUSIC_LRC_INTERIOR_MAX_LINE
The class of the wall paper lrc container.
#define QtButtonGroupConnect(p, q, f, s)
Button group connect.
Definition: ttkqtcompat.h:101
The class of the widget resize interface.
void showPersonalRadioFound(const QString &id)
void showPlaylistFound(const QString &id)
void movieSearchByID(const QString &id)
The class of the playlist music category widget.
virtual void setCurrentValue(const QString &value) overridefinal
The class of the desktop horizontal lrc container.
virtual void setCurrentValue(const QString &value) overridefinal
virtual void startDrawLrc() overridefinal
The class of the artist music query widget.
#define KRC_FILE_SUFFIX
Definition: musicobject.h:35
void showWallpaperRemote(bool create)
virtual void applyParameter() overridefinal
void artistSearchByID(const QString &id)
void setLrcAnalysisModel(MusicLrcAnalysis *analysis)
virtual void setCurrentValue(const QString &value) overridefinal
virtual void setCurrentValue(const QString &value) overridefinal
virtual void stopDrawLrc() overridefinal
void checkMetaDataValid(bool mode) const
const char int mode
Definition: ioapi.h:135
#define TTK_FILE_SUFFIX(fin)
Definition: ttkqtglobal.h:189
Ui::MusicApplication * m_ui
virtual void resizeWidget()=0
The class of the artist list music query widget.
static constexpr const char * BtnBackBack
void showPlaylistCategoryFound(const QString &id, const QString &value)
The class of the desktop lrc container.
void setSongTimeSpeed(qint64 time) const
virtual void stopDrawLrc() overridefinal
The class of the recommend music query widget.
The class of the app right area widget.
void blockOption(bool block)
void showVideoSearchedFound(const QString &name, const QString &id)
void updateCurrentLrc(qint64 current, qint64 total, bool playState) const
static MusicRightAreaWidget * m_instance
static MusicTopAreaWidget * instance()
state
Definition: http_parser.c:279
void updateCurrentLrc(const QString &first, const QString &second, qint64 time)
#define TTKDynamicCast(x, y)
Definition: ttkglobal.h:147
void albumSearchByID(const QString &id)
void functionClicked(int index, QWidget *widget=nullptr)
The class of the toplist music query widget.
#define G_SETTING_PTR
#define TTKObjectCast(x, y)
Definition: ttkqtglobal.h:76
#define LEFT_SIDE_WIDTH_MIN
Definition: musicobject.h:157
virtual void stopDrawLrc() overridefinal