Bind some playlistbuttons.

This commit is contained in:
Tobias Rundstrom 2006-03-15 19:08:07 -04:00
parent b575931c13
commit bfc0548cd2
5 changed files with 19 additions and 14 deletions

View file

@ -264,6 +264,7 @@ void
PlaylistWidget::addButtons (void) PlaylistWidget::addButtons (void)
{ {
PlaylistMenuButton *b; PlaylistMenuButton *b;
XMMSHandler *xmmsh = XMMSHandler::getInstance();
m_add = new PlaylistMenu (this, Skin::PLS_ADD, m_add = new PlaylistMenu (this, Skin::PLS_ADD,
Skin::PLS_ADD_DEC); Skin::PLS_ADD_DEC);
@ -284,10 +285,12 @@ PlaylistWidget::addButtons (void)
Skin::PLS_MSC_BTN_1); Skin::PLS_MSC_BTN_1);
b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_ALL_0, b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_ALL_0,
Skin::PLS_DEL_ALL_1); Skin::PLS_DEL_ALL_1);
connect (b, SIGNAL(activated ()), xmmsh, SLOT (playlistClear ()));
b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_CRP_0, b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_CRP_0,
Skin::PLS_DEL_CRP_1); Skin::PLS_DEL_CRP_1);
b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_FIL_0, b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_FIL_0,
Skin::PLS_DEL_FIL_1); Skin::PLS_DEL_FIL_1);
connect (b, SIGNAL(activated ()), m_list, SLOT (deleteFiles ()));
m_sel = new PlaylistMenu (this, Skin::PLS_SEL, m_sel = new PlaylistMenu (this, Skin::PLS_SEL,
Skin::PLS_SEL_DEC); Skin::PLS_SEL_DEC);

View file

@ -487,7 +487,6 @@ void
PlaylistList::keyPressEvent (QKeyEvent *event) PlaylistList::keyPressEvent (QKeyEvent *event)
{ {
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
QWidget *w = dynamic_cast<QWidget*>(parent()); QWidget *w = dynamic_cast<QWidget*>(parent());
QSize s = w->size (); QSize s = w->size ();
int lastitem = (m_offset + s.height()) / getFontH () - 1; int lastitem = (m_offset + s.height()) / getFontH () - 1;
@ -532,12 +531,7 @@ PlaylistList::keyPressEvent (QKeyEvent *event)
case Qt::Key_Backspace: case Qt::Key_Backspace:
case Qt::Key_Delete: case Qt::Key_Delete:
{ {
/* Sort list and remove in reverse order */ deleteFiles ();
qSort (*m_selected);
for (int i = (m_selected->count () - 1); i >= 0; i --) {
xmmsh->playlistRemove (m_selected->value (i));
}
m_selected->clear ();
} }
break; break;
case Qt::Key_A: case Qt::Key_A:
@ -555,6 +549,19 @@ PlaylistList::keyPressEvent (QKeyEvent *event)
} }
void
PlaylistList::deleteFiles ()
{
XMMSHandler *xmmsh = XMMSHandler::getInstance ();
/* Sort list and remove in reverse order */
qSort (*m_selected);
for (int i = (m_selected->count () - 1); i >= 0; i --) {
xmmsh->playlistRemove (m_selected->value (i));
}
m_selected->clear ();
}
void void
PlaylistList::paintEvent (QPaintEvent *event) PlaylistList::paintEvent (QPaintEvent *event)
{ {

View file

@ -31,6 +31,7 @@ class PlaylistList : public QWidget {
void currentID (uint); void currentID (uint);
void setStatus (uint); void setStatus (uint);
void settingsSaved (); void settingsSaved ();
void deleteFiles ();
signals: signals:
void sizeChanged (QSize); void sizeChanged (QSize);

View file

@ -89,12 +89,6 @@ XMMSHandler::playlistAddURL (QString s)
delete m_xmmsc->playlist_add (s.toAscii ().constData ()); delete m_xmmsc->playlist_add (s.toAscii ().constData ());
} }
void
XMMSHandler::playlistClear (void)
{
delete m_xmmsc->playlist_clear ();
}
void void
XMMSHandler::requestMediainfo (uint id) XMMSHandler::requestMediainfo (uint id)
{ {

View file

@ -30,7 +30,6 @@ class XMMSHandler : public QObject, public sigc::trackable {
void requestTrackChange (int pos); void requestTrackChange (int pos);
void playlistAddURL (QString); void playlistAddURL (QString);
void playlistClear (void);
void playlistRemove (uint pos) { delete m_xmmsc->playlist_remove (pos); } void playlistRemove (uint pos) { delete m_xmmsc->playlist_remove (pos); }
void playlistMove (uint pos, uint newpos) { delete m_xmmsc->playlist_move (pos, newpos); } void playlistMove (uint pos, uint newpos) { delete m_xmmsc->playlist_move (pos, newpos); }
uint medialibQuery (QString); uint medialibQuery (QString);
@ -43,6 +42,7 @@ class XMMSHandler : public QObject, public sigc::trackable {
public slots: public slots:
void setPlaytime (uint pos); void setPlaytime (uint pos);
void playlistClear () { delete m_xmmsc->playlist_clear (); }
void play () { delete m_xmmsc->playback_start (); } void play () { delete m_xmmsc->playback_start (); }
void stop () { delete m_xmmsc->playback_stop (); } void stop () { delete m_xmmsc->playback_stop (); }
void pause () { delete m_xmmsc->playback_pause (); } void pause () { delete m_xmmsc->playback_pause (); }