diff --git a/Playlist.cpp b/Playlist.cpp index 9ecbc19..ac1b324 100644 --- a/Playlist.cpp +++ b/Playlist.cpp @@ -264,6 +264,7 @@ void PlaylistWidget::addButtons (void) { PlaylistMenuButton *b; + XMMSHandler *xmmsh = XMMSHandler::getInstance(); m_add = new PlaylistMenu (this, Skin::PLS_ADD, Skin::PLS_ADD_DEC); @@ -284,10 +285,12 @@ PlaylistWidget::addButtons (void) Skin::PLS_MSC_BTN_1); b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_ALL_0, Skin::PLS_DEL_ALL_1); + connect (b, SIGNAL(activated ()), xmmsh, SLOT (playlistClear ())); b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_CRP_0, Skin::PLS_DEL_CRP_1); b = new PlaylistMenuButton (m_del, Skin::PLS_DEL_FIL_0, Skin::PLS_DEL_FIL_1); + connect (b, SIGNAL(activated ()), m_list, SLOT (deleteFiles ())); m_sel = new PlaylistMenu (this, Skin::PLS_SEL, Skin::PLS_SEL_DEC); diff --git a/PlaylistList.cpp b/PlaylistList.cpp index 56ac41c..c426cfa 100644 --- a/PlaylistList.cpp +++ b/PlaylistList.cpp @@ -487,7 +487,6 @@ void PlaylistList::keyPressEvent (QKeyEvent *event) { - XMMSHandler *xmmsh = XMMSHandler::getInstance (); QWidget *w = dynamic_cast(parent()); QSize s = w->size (); int lastitem = (m_offset + s.height()) / getFontH () - 1; @@ -532,12 +531,7 @@ PlaylistList::keyPressEvent (QKeyEvent *event) case Qt::Key_Backspace: case Qt::Key_Delete: { - /* 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 (); + deleteFiles (); } break; 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 PlaylistList::paintEvent (QPaintEvent *event) { diff --git a/PlaylistList.h b/PlaylistList.h index 9fe2fa0..1206e05 100644 --- a/PlaylistList.h +++ b/PlaylistList.h @@ -31,6 +31,7 @@ class PlaylistList : public QWidget { void currentID (uint); void setStatus (uint); void settingsSaved (); + void deleteFiles (); signals: void sizeChanged (QSize); diff --git a/XMMSHandler.cpp b/XMMSHandler.cpp index 6e527f1..8fc8c42 100644 --- a/XMMSHandler.cpp +++ b/XMMSHandler.cpp @@ -89,12 +89,6 @@ XMMSHandler::playlistAddURL (QString s) delete m_xmmsc->playlist_add (s.toAscii ().constData ()); } -void -XMMSHandler::playlistClear (void) -{ - delete m_xmmsc->playlist_clear (); -} - void XMMSHandler::requestMediainfo (uint id) { diff --git a/XMMSHandler.h b/XMMSHandler.h index 892573b..bd30f32 100644 --- a/XMMSHandler.h +++ b/XMMSHandler.h @@ -30,7 +30,6 @@ class XMMSHandler : public QObject, public sigc::trackable { void requestTrackChange (int pos); void playlistAddURL (QString); - void playlistClear (void); void playlistRemove (uint pos) { delete m_xmmsc->playlist_remove (pos); } void playlistMove (uint pos, uint newpos) { delete m_xmmsc->playlist_move (pos, newpos); } uint medialibQuery (QString); @@ -43,6 +42,7 @@ class XMMSHandler : public QObject, public sigc::trackable { public slots: void setPlaytime (uint pos); + void playlistClear () { delete m_xmmsc->playlist_clear (); } void play () { delete m_xmmsc->playback_start (); } void stop () { delete m_xmmsc->playback_stop (); } void pause () { delete m_xmmsc->playback_pause (); }