aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned/playlistbrowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/skinned/playlistbrowser.cpp')
-rw-r--r--src/plugins/Ui/skinned/playlistbrowser.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/plugins/Ui/skinned/playlistbrowser.cpp b/src/plugins/Ui/skinned/playlistbrowser.cpp
index ed35dea81..981083124 100644
--- a/src/plugins/Ui/skinned/playlistbrowser.cpp
+++ b/src/plugins/Ui/skinned/playlistbrowser.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2012 by Ilya Kotov *
+ * Copyright (C) 2009-2013 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -21,6 +21,7 @@
#include <QAction>
#include <QApplication>
#include <QStyle>
+#include <QKeyEvent>
#include <qmmpui/playlistmanager.h>
#include "playlistbrowser.h"
@@ -115,3 +116,22 @@ void PlayListBrowser::on_upButton_clicked()
if(pos > 0)
m_pl_manager->move(pos, pos - 1);
}
+
+void PlayListBrowser::keyPressEvent(QKeyEvent *e)
+{
+ if(e->key() == Qt::Key_Return)
+ {
+ QListWidgetItem *item = ui.listWidget->currentItem();
+ if(item)
+ {
+ disconnect(m_pl_manager, SIGNAL(playListsChanged()), this, SLOT(updateList()));
+ m_pl_manager->activatePlayList(ui.listWidget->row(item));
+ m_pl_manager->selectPlayList(ui.listWidget->row(item));
+ connect(m_pl_manager, SIGNAL(playListsChanged()), SLOT(updateList()));
+ updateList();
+ }
+ e->accept();
+ }
+ else
+ QDialog::keyPressEvent(e);
+}