Doubleclick something in the playlist makes it start playing if status is stopped
This commit is contained in:
parent
479aecb564
commit
09494985d1
3 changed files with 24 additions and 0 deletions
|
@ -53,6 +53,7 @@ PlaylistList::PlaylistList (QWidget *parent) : QWidget (parent)
|
|||
m_selected = new QList<uint>;
|
||||
m_itemmap = new QHash<uint, PlaylistItem *>;
|
||||
m_offset = 0;
|
||||
m_status = XMMS_PLAYBACK_STATUS_STOP;
|
||||
|
||||
connect (xmmsh, SIGNAL(playlistList(QList<uint>)),
|
||||
this, SLOT(playlistList(QList<uint>)));
|
||||
|
@ -65,6 +66,15 @@ PlaylistList::PlaylistList (QWidget *parent) : QWidget (parent)
|
|||
|
||||
connect (xmmsh, SIGNAL(playlistChanged(QHash<QString, QString>)),
|
||||
this, SLOT(playlistChanged(QHash<QString, QString>)));
|
||||
|
||||
connect (xmmsh, SIGNAL(playbackStatusChanged(uint)),
|
||||
this, SLOT(setStatus(uint)));
|
||||
}
|
||||
|
||||
void
|
||||
PlaylistList::setStatus (uint s)
|
||||
{
|
||||
m_status = s;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -174,6 +184,11 @@ PlaylistList::mouseDoubleClickEvent (QMouseEvent *event)
|
|||
}
|
||||
|
||||
xmmsh->requestTrackChange (m_items->indexOf(it));
|
||||
if (m_status == XMMS_PLAYBACK_STATUS_STOP ||
|
||||
m_status == XMMS_PLAYBACK_STATUS_PAUSE)
|
||||
{
|
||||
xmmsh->play ();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -24,6 +24,7 @@ class PlaylistList : public QWidget {
|
|||
void mediainfoChanged (uint, QHash<QString,QString>);
|
||||
void playlistChanged (QHash<QString,QString>);
|
||||
void currentID (uint);
|
||||
void setStatus (uint);
|
||||
|
||||
private:
|
||||
void paintEvent (QPaintEvent *event);
|
||||
|
@ -45,6 +46,7 @@ class PlaylistList : public QWidget {
|
|||
int getFontH (void);
|
||||
int m_offset;
|
||||
int m_active;
|
||||
uint m_status;
|
||||
};
|
||||
|
||||
class PlaylistItem {
|
||||
|
|
|
@ -47,6 +47,9 @@ XMMSHandler::XMMSHandler (void) : sigc::trackable ()
|
|||
r = m_xmmsc->broadcast_playback_current_id ();
|
||||
r->connect (sigc::mem_fun (this, &XMMSHandler::playback_current_id));
|
||||
|
||||
r = m_xmmsc->playback_status ();
|
||||
r->connect (sigc::mem_fun (this, &XMMSHandler::playback_status));
|
||||
|
||||
r = m_xmmsc->broadcast_playback_status ();
|
||||
r->connect (sigc::mem_fun (this, &XMMSHandler::playback_status));
|
||||
|
||||
|
@ -151,6 +154,10 @@ XMMSHandler::playback_status (XMMSResultValue<uint> *res)
|
|||
res->getValue (&status);
|
||||
|
||||
emit playbackStatusChanged (status);
|
||||
|
||||
if (res->getClass() == XMMSC_RESULT_CLASS_DEFAULT) {
|
||||
delete res;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue