Make Items in playlist clickable.

This commit is contained in:
Tobias Rundstrom 2006-02-26 22:07:58 -03:00
parent 072a53b219
commit 18f87d65d5
4 changed files with 29 additions and 0 deletions

View file

@ -150,6 +150,23 @@ PlaylistList::playlistList (QList<uint> l)
update ();
}
void
PlaylistList::mouseDoubleClickEvent (QMouseEvent *event)
{
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
if (m_items->count() < 1 || m_selected->count() < 1) {
return;
}
PlaylistItem *it = m_items->value (m_selected->first());
if (!it) {
return;
}
xmmsh->requestTrackChange (m_items->indexOf(it));
}
void
PlaylistList::mousePressEvent (QMouseEvent *event)
{

View file

@ -28,6 +28,8 @@ class PlaylistList : public QWidget {
private:
void paintEvent (QPaintEvent *event);
void mousePressEvent (QMouseEvent *event);
void mouseDoubleClickEvent (QMouseEvent *event);
void mouseMoveEvent (QMouseEvent *event) {}
QList<PlaylistItem*> *m_items;

View file

@ -62,6 +62,15 @@ XMMSHandler::requestPlaylistList (void)
r->connect (sigc::mem_fun (this, &XMMSHandler::playlist_list));
}
void
XMMSHandler::requestTrackChange (int pos)
{
XMMSResult *r = m_xmmsc->playlist_set_next (pos);
delete r;
XMMSResult *r2 = m_xmmsc->playback_tickle ();
delete r2;
}
void
XMMSHandler::playlist_list (XMMSResultValueList<uint> *res)
{

View file

@ -23,6 +23,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
void requestMediainfo (uint id);
void requestPlaylistList (void);
void requestTrackChange (int pos);
const XMMSClient *getXMMS () { return m_xmmsc; }