Singletonify XMMSHandler and kick out everything not XMMSisch from the class.
A class that needs to talk to xmms2 now calls XMMSHandler::getInstance() and all communication is handled by signals'n'slots.
This commit is contained in:
parent
56dd4cf3ee
commit
787a5c7b5b
10 changed files with 150 additions and 85 deletions
|
@ -2,8 +2,7 @@
|
|||
|
||||
ShadedDisplay::ShadedDisplay (QWidget *parent) : SkinDisplay (parent)
|
||||
{
|
||||
MainWindow *mw = dynamic_cast<MainWindow*>(parent);
|
||||
m_mw = parent;
|
||||
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
|
||||
|
||||
setMinimumSize (275, 14);
|
||||
setMaximumSize (275, 14);
|
||||
|
@ -26,31 +25,57 @@ ShadedDisplay::ShadedDisplay (QWidget *parent) : SkinDisplay (parent)
|
|||
m_prev = new Button (this);
|
||||
m_prev->move(169, 4);
|
||||
m_prev->resize (8, 7);
|
||||
connect (m_prev, SIGNAL(clicked()), mw->getHandler (), SLOT(prev()));
|
||||
connect (m_prev, SIGNAL(clicked()), xmmsh, SLOT(prev()));
|
||||
|
||||
m_play = new Button (this);
|
||||
m_play->move(177, 4);
|
||||
m_play->resize (10, 7);
|
||||
connect (m_play, SIGNAL(clicked()), mw->getHandler (), SLOT(play()));
|
||||
connect (m_play, SIGNAL(clicked()), xmmsh, SLOT(play()));
|
||||
|
||||
m_pause = new Button (this);
|
||||
m_pause->move(187, 4);
|
||||
m_pause->resize (10, 7);
|
||||
connect (m_pause, SIGNAL(clicked()), mw->getHandler (), SLOT(pause()));
|
||||
connect (m_pause, SIGNAL(clicked()), xmmsh, SLOT(pause()));
|
||||
|
||||
m_stop = new Button (this);
|
||||
m_stop->move(197, 4);
|
||||
m_stop->resize (9, 7);
|
||||
connect (m_stop, SIGNAL(clicked()), mw->getHandler (), SLOT(stop()));
|
||||
connect (m_stop, SIGNAL(clicked()), xmmsh, SLOT(stop()));
|
||||
|
||||
m_next = new Button (this);
|
||||
m_next->move(206, 4);
|
||||
m_next->resize (8, 7);
|
||||
connect (m_next, SIGNAL(clicked()), mw->getHandler (), SLOT(next()));
|
||||
connect (m_next, SIGNAL(clicked()), xmmsh, SLOT(next()));
|
||||
|
||||
m_eject = new Button (this);
|
||||
m_eject->move(216, 4);
|
||||
m_eject->resize (9, 7);
|
||||
|
||||
connect (xmmsh, SIGNAL(playbackStatusChanged(uint)),
|
||||
this, SLOT(setStatus(uint)));
|
||||
connect (xmmsh, SIGNAL(playtimeChanged(uint)),
|
||||
this, SLOT(setPlaytime(uint)));
|
||||
}
|
||||
|
||||
void
|
||||
ShadedDisplay::setStatus (uint status)
|
||||
{
|
||||
if (status == XMMS_PLAYBACK_STATUS_STOP) {
|
||||
m_number->setNumber (0, 2);
|
||||
m_number2->setNumber (0, 2);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
ShadedDisplay::setPlaytime (uint time)
|
||||
{
|
||||
uint sec, min;
|
||||
|
||||
sec = (time / 1000) % 60;
|
||||
min = (time / 1000) / 60;
|
||||
|
||||
m_number->setNumber (min, 2);
|
||||
m_number2->setNumber (sec, 2);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue