TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
ttkapplication.cpp
Go to the documentation of this file.
1 #include "ttkapplication.h"
2 #include "ttklocalpeer.h"
3 
4 #include <QWidget>
5 
9 class TTKApplicationPrivate : public TTKPrivate<TTKApplication>
10 {
11 public:
14 
16  QWidget *m_activeWindow;
17 };
18 
20  : m_peer(nullptr),
21  m_activeWindow(nullptr)
22 {
23 
24 }
25 
27 {
28  delete m_peer;
29 }
30 
31 
32 
33 TTKApplication::TTKApplication(int &argc, char **argv)
34  : QApplication(argc, argv)
35 {
37  initialize();
38 }
39 
40 TTKApplication::TTKApplication(const QString &id, int &argc, char **argv)
41  : QApplication(argc, argv)
42 {
44  initialize(id);
45 }
46 
48 {
50  return d->m_peer->isClient();
51 }
52 
53 QString TTKApplication::id() const
54 {
56  return d->m_peer->applicationId();
57 }
58 
59 void TTKApplication::setActivationWindow(QWidget* aw, bool activateOnMessage) const
60 {
62  d->m_activeWindow = aw;
63 
64  if(activateOnMessage)
65  {
66  connect(d->m_peer, SIGNAL(messageReceived(QString)), this, SLOT(activateWindow()));
67  }
68  else
69  {
70  disconnect(d->m_peer, SIGNAL(messageReceived(QString)), this, SLOT(activateWindow()));
71  }
72 }
73 
75 {
77  return d->m_activeWindow;
78 }
79 
80 bool TTKApplication::sendMessage(const QString &message, int timeout)
81 {
83  return d->m_peer->sendMessage(message, timeout);
84 }
85 
87 {
89  if(d->m_activeWindow)
90  {
91  d->m_activeWindow->setWindowState(d->m_activeWindow->windowState() & ~Qt::WindowMinimized);
92  d->m_activeWindow->raise();
93  d->m_activeWindow->activateWindow();
94  }
95 }
96 
97 void TTKApplication::initialize(const QString &id)
98 {
100  d->m_peer = new TTKLocalPeer(this, id);
101  connect(d->m_peer, SIGNAL(messageReceived(QString)), SIGNAL(messageReceived(QString)));
102 }
The class of the ttk application private.
bool isRunning() const
QString id() const
The class of the ttk local peer.
Definition: ttklocalpeer.h:29
The class of the ttk application.
QWidget * activationWindow() const
void messageReceived(const QString &message)
TTKApplication(int &argc, char **argv)
void initialize(const QString &id={})
void setActivationWindow(QWidget *aw, bool activateOnMessage=true) const
bool sendMessage(const QString &message, int timeout=5000)
#define TTK_INIT_PRIVATE(Class)
Definition: ttkprivate.h:33
The class of the ttk private base.
Definition: ttkprivate.h:48
#define TTK_D(Class)
Definition: ttkprivate.h:41