Insert works.
This commit is contained in:
parent
429cf316ed
commit
d7eede1737
2 changed files with 32 additions and 0 deletions
|
@ -17,6 +17,15 @@ PlaylistItem::PlaylistItem (PlaylistList *pl, uint id)
|
||||||
pl->addItem (this);
|
pl->addItem (this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlaylistItem::PlaylistItem (PlaylistList *pl, uint id, uint pos)
|
||||||
|
{
|
||||||
|
m_pl = pl;
|
||||||
|
m_id = id;
|
||||||
|
m_req = false;
|
||||||
|
m_duration = QString ("00:00");
|
||||||
|
pl->addItem (this, pos);
|
||||||
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
PlaylistItem::text (void)
|
PlaylistItem::text (void)
|
||||||
{
|
{
|
||||||
|
@ -119,6 +128,17 @@ PlaylistList::playlistChanged (const QHash<QString,QString> &h)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case XMMS_PLAYLIST_CHANGED_INSERT:
|
case XMMS_PLAYLIST_CHANGED_INSERT:
|
||||||
|
{
|
||||||
|
uint id = h.value("id").toUInt ();
|
||||||
|
uint pos = h.value("position").toUInt ();
|
||||||
|
|
||||||
|
if (m_itemmap->contains (id)) {
|
||||||
|
addItem (m_itemmap->value (id));
|
||||||
|
} else {
|
||||||
|
new PlaylistItem (this, id, pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case XMMS_PLAYLIST_CHANGED_REMOVE:
|
case XMMS_PLAYLIST_CHANGED_REMOVE:
|
||||||
{
|
{
|
||||||
|
@ -635,6 +655,16 @@ PlaylistList::doResize (void)
|
||||||
emit sizeChanged (size());
|
emit sizeChanged (size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
PlaylistList::addItem (PlaylistItem *i, uint pos)
|
||||||
|
{
|
||||||
|
m_items->insert (pos, i);
|
||||||
|
if (!m_itemmap->contains (i->getID())) {
|
||||||
|
m_itemmap->insert (i->getID(), i);
|
||||||
|
}
|
||||||
|
doResize ();
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PlaylistList::addItem (PlaylistItem *i)
|
PlaylistList::addItem (PlaylistItem *i)
|
||||||
{
|
{
|
||||||
|
|
|
@ -18,6 +18,7 @@ class PlaylistList : public QWidget {
|
||||||
|
|
||||||
void setSize (int, int);
|
void setSize (int, int);
|
||||||
void addItem (PlaylistItem *i);
|
void addItem (PlaylistItem *i);
|
||||||
|
void addItem (PlaylistItem *i, uint pos);
|
||||||
void setOffset (int i) { m_offset = i; }
|
void setOffset (int i) { m_offset = i; }
|
||||||
uint getOffset (void) const { return m_offset; }
|
uint getOffset (void) const { return m_offset; }
|
||||||
void doResize (void);
|
void doResize (void);
|
||||||
|
@ -74,6 +75,7 @@ class PlaylistList : public QWidget {
|
||||||
|
|
||||||
class PlaylistItem {
|
class PlaylistItem {
|
||||||
public:
|
public:
|
||||||
|
PlaylistItem (PlaylistList *pl, uint, uint);
|
||||||
PlaylistItem (PlaylistList *pl, uint);
|
PlaylistItem (PlaylistList *pl, uint);
|
||||||
~PlaylistItem () {}
|
~PlaylistItem () {}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue