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_selected = new QList<uint>;
|
||||||
m_itemmap = new QHash<uint, PlaylistItem *>;
|
m_itemmap = new QHash<uint, PlaylistItem *>;
|
||||||
m_offset = 0;
|
m_offset = 0;
|
||||||
|
m_status = XMMS_PLAYBACK_STATUS_STOP;
|
||||||
|
|
||||||
connect (xmmsh, SIGNAL(playlistList(QList<uint>)),
|
connect (xmmsh, SIGNAL(playlistList(QList<uint>)),
|
||||||
this, SLOT(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>)),
|
connect (xmmsh, SIGNAL(playlistChanged(QHash<QString, QString>)),
|
||||||
this, SLOT(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
|
void
|
||||||
|
@ -174,6 +184,11 @@ PlaylistList::mouseDoubleClickEvent (QMouseEvent *event)
|
||||||
}
|
}
|
||||||
|
|
||||||
xmmsh->requestTrackChange (m_items->indexOf(it));
|
xmmsh->requestTrackChange (m_items->indexOf(it));
|
||||||
|
if (m_status == XMMS_PLAYBACK_STATUS_STOP ||
|
||||||
|
m_status == XMMS_PLAYBACK_STATUS_PAUSE)
|
||||||
|
{
|
||||||
|
xmmsh->play ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -24,6 +24,7 @@ class PlaylistList : public QWidget {
|
||||||
void mediainfoChanged (uint, QHash<QString,QString>);
|
void mediainfoChanged (uint, QHash<QString,QString>);
|
||||||
void playlistChanged (QHash<QString,QString>);
|
void playlistChanged (QHash<QString,QString>);
|
||||||
void currentID (uint);
|
void currentID (uint);
|
||||||
|
void setStatus (uint);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void paintEvent (QPaintEvent *event);
|
void paintEvent (QPaintEvent *event);
|
||||||
|
@ -45,6 +46,7 @@ class PlaylistList : public QWidget {
|
||||||
int getFontH (void);
|
int getFontH (void);
|
||||||
int m_offset;
|
int m_offset;
|
||||||
int m_active;
|
int m_active;
|
||||||
|
uint m_status;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PlaylistItem {
|
class PlaylistItem {
|
||||||
|
|
|
@ -47,6 +47,9 @@ XMMSHandler::XMMSHandler (void) : sigc::trackable ()
|
||||||
r = m_xmmsc->broadcast_playback_current_id ();
|
r = m_xmmsc->broadcast_playback_current_id ();
|
||||||
r->connect (sigc::mem_fun (this, &XMMSHandler::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 = m_xmmsc->broadcast_playback_status ();
|
||||||
r->connect (sigc::mem_fun (this, &XMMSHandler::playback_status));
|
r->connect (sigc::mem_fun (this, &XMMSHandler::playback_status));
|
||||||
|
|
||||||
|
@ -151,6 +154,10 @@ XMMSHandler::playback_status (XMMSResultValue<uint> *res)
|
||||||
res->getValue (&status);
|
res->getValue (&status);
|
||||||
|
|
||||||
emit playbackStatusChanged (status);
|
emit playbackStatusChanged (status);
|
||||||
|
|
||||||
|
if (res->getClass() == XMMSC_RESULT_CLASS_DEFAULT) {
|
||||||
|
delete res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue