TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicconnectionpool.cpp
Go to the documentation of this file.
1 #include "musicconnectionpool.h"
3 #include "musicplayer.h"
4 #include "musiclrcmakerwidget.h"
7 #include "musicequalizerdialog.h"
18 #include "musiccloudtablewidget.h"
24 
26 {
27 
28 }
29 
30 void MusicConnectionPool::removeValue(const QObject *object)
31 {
32  for(auto it = m_parameters.constBegin(); it != m_parameters.constEnd(); ++it)
33  {
34  if(it.value() == object)
35  {
36  m_parameters.take(it.key());
37  break;
38  }
39  }
40 }
41 
42 void MusicConnectionPool::connect(const QString &from, const QString &to)
43 {
44  const QObject *first = m_parameters.value(from);
45  const QObject *second = m_parameters.value(to);
46  if(first == nullptr || second == nullptr)
47  {
48  return;
49  }
50 
51  if(from == MusicNetworkThread::className() && to == MusicDownloadStatusModule::className())
52  {
53  QObject::connect(first, SIGNAL(networkConnectionStateChanged(bool)), second, SLOT(networkConnectionStateChanged(bool)));
54  }
55  else if(from == MusicPlayer::className() && to == MusicLrcMakerWidget::className())
56  {
57  QObject::connect(first, SIGNAL(positionChanged(qint64)), second, SLOT(positionChanged(qint64)));
58  QObject::connect(first, SIGNAL(durationChanged(qint64)), second, SLOT(durationChanged(qint64)));
59  }
60  else if((from == MusicLocalManagerWidget::className() && to == MusicSongsContainerWidget::className()) ||
61  (from == MusicMobileSongsManagerWidget::className() && to == MusicSongsContainerWidget::className()) ||
62  (from == MusicSongCheckToolsDuplicateTableWidget::className() && to == MusicSongsContainerWidget::className()) ||
63  (from == MusicSongCheckToolsQualityTableWidget::className() && to == MusicSongsContainerWidget::className()) ||
64  (from == MusicPlaylistBackupTableWidget::className() && to == MusicSongsContainerWidget::className()) ||
65  (from == MusicAbstractDownloadTableWidget::className() && to == MusicSongsContainerWidget::className()))
66  {
67  QObject::connect(first, SIGNAL(addSongToPlaylist(QStringList)), second, SLOT(addSongToPlaylist(QStringList)));
68  }
69  else if(from == MusicEqualizerDialog::className() && to == MusicPlayer::className())
70  {
71  QObject::connect(first, SIGNAL(setEqualizerEffect(TTKIntList)), second, SLOT(setEqualizerEffect(TTKIntList)));
72  QObject::connect(first, SIGNAL(setEnabledEffect(bool)), second, SLOT(setEnabledEffect(bool)));
73  }
74  else if(from == MusicEqualizerDialog::className() && to == MusicSoundEffectsWidget::className())
75  {
76  QObject::connect(first, SIGNAL(setEnabledEffect(bool)), second, SLOT(equalizerButtonChanged(bool)));
77  }
78  else if(from == MusicSoundEffectsWidget::className() && to == MusicPlayer::className())
79  {
80  QObject::connect(first, SIGNAL(setEqualizerConfig()), second, SLOT(setEqualizerConfig()));
81  }
82  else if(from == MusicQueryTableWidget::className() && to == MusicSongsContainerWidget::className())
83  {
84  QObject::connect(first, SIGNAL(songBufferToPlaylist(MusicResultDataItem)), second, SLOT(addSongBufferToPlaylist(MusicResultDataItem)));
85  }
86  else if(from == MusicLrcLocalLinkWidget::className() && to == MusicDownloadStatusModule::className())
87  {
88  QObject::connect(first, SIGNAL(currentLrcChanged(QString)), second, SLOT(showDownLoadInfoFinished(QString)));
89  }
90  else if(from == MusicVideoQualityPopWidget::className() && to == MusicVideoSearchTableWidget::className())
91  {
92  QObject::connect(first, SIGNAL(queryMediaProps(TTK::MusicSongPropertyList&)), second, SLOT(queryMediaProps(TTK::MusicSongPropertyList&)));
93  }
94  else if((from == MusicConnectTransferWidget::className() && to == MusicSongsContainerWidget::className()) ||
95  (from == MusicSongItemSelectedAreaWidget::className() && to == MusicSongsContainerWidget::className()) ||
96  (from == MusicSongDlnaTransferWidget::className() && to == MusicSongsContainerWidget::className()))
97  {
98  QObject::connect(first, SIGNAL(queryMusicItemList(MusicSongItemList&)), second, SLOT(queryMusicItemList(MusicSongItemList&)));
99  }
100  else if((from == MusicCloudManagerTableWidget::className() && to == MusicCloudUploadTableWidget::className()))
101  {
102  QObject::connect(first, SIGNAL(uploadFileError(MusicCloudDataItem)), second, SLOT(uploadFileError(MusicCloudDataItem)));
103  QObject::connect(second, SIGNAL(reuploadFilesToServer(QStringList)), first, SLOT(reuploadFilesToServer(QStringList)));
104  }
105 }
The class of the search result data item.
The class of the cloud data item.
QList< int > TTKIntList
Definition: ttkqtglobal.h:188
QMap< QString, QObject * > m_parameters
void connect(const QString &from, const QString &to)
void removeValue(const QObject *object)