aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-11-15 09:36:28 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-11-15 09:36:28 +0000
commite2225dbc1cc75d32a94d336e6b42075cf8af1e11 (patch)
treef991886186ab91bc27cd14896d5c0daaa334cd9e
parenta12f8d697bde9e797b95d10fe66bd7eacc176b29 (diff)
downloadqmmp-e2225dbc1cc75d32a94d336e6b42075cf8af1e11.tar.gz
qmmp-e2225dbc1cc75d32a94d336e6b42075cf8af1e11.tar.bz2
qmmp-e2225dbc1cc75d32a94d336e6b42075cf8af1e11.zip
added playlist selector
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1372 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmpui/playlistmanager.cpp3
-rw-r--r--src/qmmpui/playlistmodel.cpp6
-rw-r--r--src/qmmpui/playlistmodel.h5
-rw-r--r--src/qmmpui/translations/libqmmpui_cs.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_de.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_it.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_lt.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_pl.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_pt_BR.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_ru.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_tr.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_uk_UA.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_zh_CN.ts2
-rw-r--r--src/qmmpui/translations/libqmmpui_zh_TW.ts2
-rw-r--r--src/ui/CMakeLists.txt2
-rw-r--r--src/ui/listwidget.h9
-rw-r--r--src/ui/playlist.cpp10
-rw-r--r--src/ui/playlist.h2
-rw-r--r--src/ui/playlistselector.cpp135
-rw-r--r--src/ui/playlistselector.h62
-rw-r--r--src/ui/translations/qmmp_cs.ts106
-rw-r--r--src/ui/translations/qmmp_de.ts106
-rw-r--r--src/ui/translations/qmmp_it.ts106
-rw-r--r--src/ui/translations/qmmp_lt.ts106
-rw-r--r--src/ui/translations/qmmp_pl_PL.ts106
-rw-r--r--src/ui/translations/qmmp_pt_BR.ts106
-rw-r--r--src/ui/translations/qmmp_ru.ts106
-rw-r--r--src/ui/translations/qmmp_tr.ts106
-rw-r--r--src/ui/translations/qmmp_uk_UA.ts106
-rw-r--r--src/ui/translations/qmmp_zh_CN.ts106
-rw-r--r--src/ui/translations/qmmp_zh_TW.ts106
-rw-r--r--src/ui/ui.pro6
32 files changed, 824 insertions, 604 deletions
diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp
index 280de012c..4af84d1b4 100644
--- a/src/qmmpui/playlistmanager.cpp
+++ b/src/qmmpui/playlistmanager.cpp
@@ -117,6 +117,7 @@ PlayListModel *PlayListManager::createPlayList(const QString &name)
m_models.insert(i, model);
model->prepareForRepeatablePlaying(m_repeatable);
model->prepareForShufflePlaying(m_shuffle);
+ connect(model, SIGNAL(nameChanged(QString)), SIGNAL(playListsChanged()));
emit playListAdded(i);
emit playListsChanged();
return model;
@@ -324,6 +325,8 @@ void PlayListManager::readPlayLists()
pl = 0;
m_selected = m_models.at(pl);
m_current = m_models.at(pl);
+ foreach(PlayListModel *model, m_models)
+ connect(model, SIGNAL(nameChanged(QString)), SIGNAL(playListsChanged()));
}
void PlayListManager::writePlayLists()
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index c87ad7409..7d0d339b0 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -97,7 +97,11 @@ QString PlayListModel::name() const
void PlayListModel::setName(const QString &name)
{
- m_name = name;
+ if(m_name != name)
+ {
+ m_name = name;
+ emit nameChanged(name);
+ }
}
void PlayListModel::add(PlayListItem *item)
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index 834d38f1f..c26572fe4 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -275,6 +275,11 @@ signals:
* Emitted when first item has added.
*/
void firstAdded();
+ /*!
+ * Emitted when playlist name has chanded.
+ * @param name New playlist name.
+ */
+ void nameChanged(const QString& name);
public slots:
/*!
diff --git a/src/qmmpui/translations/libqmmpui_cs.ts b/src/qmmpui/translations/libqmmpui_cs.ts
index 482642afd..02a26096b 100644
--- a/src/qmmpui/translations/libqmmpui_cs.ts
+++ b/src/qmmpui/translations/libqmmpui_cs.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_de.ts b/src/qmmpui/translations/libqmmpui_de.ts
index 61660fe08..5d3e51a66 100644
--- a/src/qmmpui/translations/libqmmpui_de.ts
+++ b/src/qmmpui/translations/libqmmpui_de.ts
@@ -76,7 +76,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_it.ts b/src/qmmpui/translations/libqmmpui_it.ts
index 816edc01c..b87aac97e 100644
--- a/src/qmmpui/translations/libqmmpui_it.ts
+++ b/src/qmmpui/translations/libqmmpui_it.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_lt.ts b/src/qmmpui/translations/libqmmpui_lt.ts
index 96ead23aa..92586da36 100644
--- a/src/qmmpui/translations/libqmmpui_lt.ts
+++ b/src/qmmpui/translations/libqmmpui_lt.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_pl.ts b/src/qmmpui/translations/libqmmpui_pl.ts
index e5a652ff4..5555007bc 100644
--- a/src/qmmpui/translations/libqmmpui_pl.ts
+++ b/src/qmmpui/translations/libqmmpui_pl.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_pt_BR.ts b/src/qmmpui/translations/libqmmpui_pt_BR.ts
index caea9ec7b..066279f71 100644
--- a/src/qmmpui/translations/libqmmpui_pt_BR.ts
+++ b/src/qmmpui/translations/libqmmpui_pt_BR.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_ru.ts b/src/qmmpui/translations/libqmmpui_ru.ts
index 04a0f26a1..909a476f9 100644
--- a/src/qmmpui/translations/libqmmpui_ru.ts
+++ b/src/qmmpui/translations/libqmmpui_ru.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation>Список воспроизведения</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_tr.ts b/src/qmmpui/translations/libqmmpui_tr.ts
index 3e052b264..f9da4fc12 100644
--- a/src/qmmpui/translations/libqmmpui_tr.ts
+++ b/src/qmmpui/translations/libqmmpui_tr.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_uk_UA.ts b/src/qmmpui/translations/libqmmpui_uk_UA.ts
index 2ed659790..a7344acc8 100644
--- a/src/qmmpui/translations/libqmmpui_uk_UA.ts
+++ b/src/qmmpui/translations/libqmmpui_uk_UA.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation>Список</translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_zh_CN.ts b/src/qmmpui/translations/libqmmpui_zh_CN.ts
index c8c8a381c..dbf912245 100644
--- a/src/qmmpui/translations/libqmmpui_zh_CN.ts
+++ b/src/qmmpui/translations/libqmmpui_zh_CN.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/qmmpui/translations/libqmmpui_zh_TW.ts b/src/qmmpui/translations/libqmmpui_zh_TW.ts
index 52e190865..c6165a84b 100644
--- a/src/qmmpui/translations/libqmmpui_zh_TW.ts
+++ b/src/qmmpui/translations/libqmmpui_zh_TW.ts
@@ -72,7 +72,7 @@ p, li { white-space: pre-wrap; }
<name>PlayListManager</name>
<message>
<location filename="../playlistmanager.cpp" line="115"/>
- <location filename="../playlistmanager.cpp" line="322"/>
+ <location filename="../playlistmanager.cpp" line="323"/>
<source>Playlist</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index dacab3fcc..172b2a3ab 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -77,6 +77,7 @@ SET(ui_SRCS
volumebar.cpp
cursorimage.cpp
playlistbrowser.cpp
+ playlistselector.cpp
)
SET(ui_MOC_HDRS
@@ -128,6 +129,7 @@ SET(ui_MOC_HDRS
volumebar.h
cursorimage.h
playlistbrowser.h
+ playlistselector.h
)
SET(ui_RCCS images/images.qrc stuff.qrc translations/qmmp_locales.qrc)
diff --git a/src/ui/listwidget.h b/src/ui/listwidget.h
index 15e657c62..7c581f4ce 100644
--- a/src/ui/listwidget.h
+++ b/src/ui/listwidget.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006 by Ilya Kotov *
+ * Copyright (C) 2006-2009 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -24,20 +24,19 @@
#include <QDir>
#include <QContextMenuEvent>
-/**
- @author Ilya Kotov <forkotov02@hotmail.ru>
-*/
class QFont;
class QFontMetrics;
class QMenu;
class QAction;
-
class PlayList;
class PlayListModel;
class Skin;
class PlayListItem;
class MediaPlayer;
+/**
+ @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
class ListWidget : public QWidget
{
Q_OBJECT
diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp
index 7aab2fa66..c4f704043 100644
--- a/src/ui/playlist.cpp
+++ b/src/ui/playlist.cpp
@@ -39,7 +39,7 @@
#include "playlistcontrol.h"
#include "keyboardmanager.h"
#include "playlistbrowser.h"
-
+#include "playlistselector.h"
#include <qmmpui/playlistitem.h>
#include <qmmpui/playlistmodel.h>
#include <qmmpui/playlistmanager.h>
@@ -73,6 +73,7 @@ PlayList::PlayList (PlayListManager *manager, QWidget *parent)
m_resizeWidget->resize(25,25);
m_resizeWidget->setCursor(m_skin->getCursor (Skin::CUR_PSIZE));
m_pl_control = new PlaylistControl (this);
+ m_pl_selector = new PlayListSelector(m_pl_manager, this);
m_length_totalLength = new SymbolDisplay (this,14);
m_length_totalLength->setAlignment (Qt::AlignLeft);
@@ -132,7 +133,11 @@ void PlayList::updatePositions()
m_titleBar->resize (275*m_ratio+25*sx, 20*m_ratio);
m_plslider->resize (20*m_ratio, 58*m_ratio+sy*29);
- m_listWidget->resize (243*m_ratio+25*sx, 58*m_ratio+29*sy);
+
+ m_pl_selector->resize(243*m_ratio+25*sx, m_pl_selector->height());
+ m_pl_selector->move(12*m_ratio, 20*m_ratio + 58*m_ratio+29*sy - m_pl_selector->height());
+
+ m_listWidget->resize (243*m_ratio+25*sx, 58*m_ratio+29*sy - m_pl_selector->height());
m_listWidget->move (12*m_ratio,20*m_ratio);
m_buttonAdd->move (11*m_ratio, 86*m_ratio+29*sy);
@@ -452,6 +457,7 @@ void PlayList::readSettings()
{
m_listWidget->readSettings();
m_titleBar->readSettings();
+ m_pl_selector->readSettings();
}
else
{
diff --git a/src/ui/playlist.h b/src/ui/playlist.h
index d74971c53..990af25ca 100644
--- a/src/ui/playlist.h
+++ b/src/ui/playlist.h
@@ -39,6 +39,7 @@ class PlaylistControl;
class KeyboardManager;
class PlayListManager;
class PlayListBrowser;
+class PlayListSelector;
/**
@author Ilya Kotov <forkotov02@hotmail.ru>
@@ -121,6 +122,7 @@ class PlayList : public QWidget
PlayListManager *m_pl_manager;
KeyboardManager* m_keyboardManager;
QPointer <PlayListBrowser> m_pl_browser;
+ PlayListSelector *m_pl_selector;
protected:
virtual void paintEvent (QPaintEvent *);
diff --git a/src/ui/playlistselector.cpp b/src/ui/playlistselector.cpp
new file mode 100644
index 000000000..534aa6bf0
--- /dev/null
+++ b/src/ui/playlistselector.cpp
@@ -0,0 +1,135 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QPainter>
+#include <QFont>
+#include <QFontMetrics>
+#include <QSettings>
+#include <QApplication>
+#include <QMouseEvent>
+#include <qmmp/qmmp.h>
+#include <qmmpui/playlistmanager.h>
+#include "skin.h"
+#include "playlistselector.h"
+
+PlayListSelector::PlayListSelector(PlayListManager *manager, QWidget *parent) : QWidget(parent)
+{
+ m_update = FALSE;
+ m_skin = Skin::instance();
+ m_pl_manager = manager;
+ connect(m_pl_manager, SIGNAL(playListsChanged()), SLOT(updateTabs()));
+ connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin()));
+ readSettings();
+ loadColors();
+ updateTabs();
+}
+
+PlayListSelector::~PlayListSelector()
+{}
+
+void PlayListSelector::readSettings()
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_font.fromString(settings.value("PlayList/Font", QApplication::font().toString()).toString());
+ if (m_update)
+ {
+ delete m_metrics;
+ m_metrics = new QFontMetrics(m_font);
+ }
+ else
+ {
+ m_update = TRUE;
+ }
+ m_metrics = new QFontMetrics(m_font);
+
+ resize(width(), m_metrics->height () +1);
+}
+
+void PlayListSelector::updateTabs()
+{
+ m_rects.clear();
+ QRect rect;
+ foreach(QString text, m_pl_manager->playListNames())
+ {
+ if(m_rects.isEmpty())
+ rect.setX(9);
+ else
+ rect.setX(m_rects.last().x() + m_rects.last().width() + m_metrics->width(" | "));
+ rect.setY(0);
+ rect.setWidth(m_metrics->width(text));
+ rect.setHeight(m_metrics->ascent ());
+ m_rects.append(rect);
+ }
+ update();
+}
+
+void PlayListSelector::updateSkin()
+{
+ loadColors();
+ updateTabs();
+}
+
+void PlayListSelector::paintEvent(QPaintEvent *)
+{
+ QPainter m_painter(this);
+ m_painter.setFont(m_font);
+ m_painter.setBrush(QBrush(m_normal_bg));
+ m_painter.drawRect(-1,-1,width()+1,height()+1);
+ QStringList names = m_pl_manager->playListNames();
+ int current = m_pl_manager->indexOf(m_pl_manager->currentPlayList());
+ int selected = m_pl_manager->indexOf(m_pl_manager->selectedPlayList());
+ m_painter.setBrush(QBrush(m_selected_bg));
+ m_painter.setPen(m_selected_bg);
+ m_painter.drawRect(m_rects.at(selected).x()-3, 0, m_rects.at(selected).width()+4, height()-1);
+
+ for (int i = 0; i < m_rects.size(); ++i)
+ {
+ if(i == current)
+ m_painter.setPen(m_current);
+ else
+ m_painter.setPen(m_normal);
+ m_painter.drawText(m_rects[i].x(), m_metrics->ascent(), names.at(i));
+ if(i < m_rects.size() - 1)
+ {
+ m_painter.setPen(m_normal);
+ m_painter.drawText(m_rects[i].x() + m_rects[i].width(), m_metrics->ascent(), " | ");
+ }
+ }
+}
+
+void PlayListSelector::mousePressEvent (QMouseEvent *e)
+{
+ for(int i = 0; i < m_rects.count(); ++i)
+ {
+ if(m_rects.at(i).contains(e->pos()))
+ {
+ m_pl_manager->selectPlayList(i);
+ break;
+ }
+ }
+}
+
+void PlayListSelector::loadColors()
+{
+ m_normal.setNamedColor(m_skin->getPLValue("normal"));
+ m_current.setNamedColor(m_skin->getPLValue("current"));
+ m_normal_bg.setNamedColor(m_skin->getPLValue("normalbg"));
+ m_selected_bg.setNamedColor(m_skin->getPLValue("selectedbg"));
+}
diff --git a/src/ui/playlistselector.h b/src/ui/playlistselector.h
new file mode 100644
index 000000000..159a09996
--- /dev/null
+++ b/src/ui/playlistselector.h
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * Copyright (C) 2009 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#ifndef PLAYLISTSELECTOR_H
+#define PLAYLISTSELECTOR_H
+
+#include <QWidget>
+#include <QColor>
+
+class QFontMetrics;
+class QFont;
+class QMouseEvent;
+class PlayListManager;
+class Skin;
+
+/**
+ @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
+class PlayListSelector : public QWidget
+{
+Q_OBJECT
+public:
+ PlayListSelector(PlayListManager *manager, QWidget *parent = 0);
+ ~PlayListSelector();
+ void readSettings();
+
+private slots:
+ void updateTabs();
+ void updateSkin();
+
+private:
+ void paintEvent(QPaintEvent *);
+ void mousePressEvent ( QMouseEvent *e);
+ void updateOffsets();
+ void loadColors();
+ PlayListManager *m_pl_manager;
+ QFontMetrics *m_metrics;
+ QFont m_font;
+ bool m_update;
+ QList <QRect> m_rects;
+ Skin *m_skin;
+ QColor m_normal, m_current, m_normal_bg, m_selected_bg;
+};
+
+#endif // PLAYLISTSELECTOR_H
diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts
index 46be78fd6..30d7022a1 100644
--- a/src/ui/translations/qmmp_cs.ts
+++ b/src/ui/translations/qmmp_cs.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>Přidat &amp;soubor</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>Přidat &amp;adresář</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Odstranit vybrané</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>Odstranit &amp;vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>Odstranit &amp;nevybrané</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Odstranit nedostupné soubory</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>Zobrazit &amp;informace o skladbě</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Seřadit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Podle názvu skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Podle názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>Podle cesty a názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Podle data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Seřadit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Zamíchat seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Obrátit pořadí seznamu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Invertovat výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Zrušit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Vybrat vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Nový seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>Načíst &amp;seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Uložit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>Přidat &amp;URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Podle čísla skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Fronta</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Činnosti</translation>
</message>
diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts
index 9da4d0a2f..d25efe14e 100644
--- a/src/ui/translations/qmmp_de.ts
+++ b/src/ui/translations/qmmp_de.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Datei hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Verzeichnis hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Ausgewählte entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Entf</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>Alle &amp;entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Nicht ausgewählte entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Nichtverfügbare Dateien entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Titeldetails anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Wiedergabeliste sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Nach Titel</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Nach Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>Nach Pfad + Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Nach Datum</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Auswahl sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Wiedergabeliste mischen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Wiedergabeliste umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Auswahl umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Auswahl aufheben</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>Alle aus&amp;wählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Strg+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Neue Wiedergabeliste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>Wiedergabeliste &amp;laden</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>Wiedergabeliste &amp;speichern</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Umschalt+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;URL hinzufügen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Nach Titelnummer</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Warteschlange</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Aktionen</translation>
</message>
diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts
index f79360629..fa0fcda1f 100644
--- a/src/ui/translations/qmmp_it.ts
+++ b/src/ui/translations/qmmp_it.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Aggiungi brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Aggiungi cartelle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Elimina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>&amp;Elimina tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Elimina i non selezionati</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Rimuovi files non disponibili</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Dettagli della traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Riordina la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Per titolo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Per titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>per percorso più titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Per data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Riordina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Mescola i brnai della lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Inverti la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Inverti la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Non scegliere alcun brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Seleziona tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Nuova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>&amp;Carica lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Salva lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Canc</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;Aggiungi URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Per numero di traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Metti in coda</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Azioni</translation>
</message>
diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts
index 324c1f656..69d04991f 100644
--- a/src/ui/translations/qmmp_lt.ts
+++ b/src/ui/translations/qmmp_lt.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Pridėti bylą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Pridėti aplanką</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Pašalinti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>&amp;Pašalinti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Pašalinti NEpasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Takelio informacija</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Rūšiuoti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Pagal dainos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Pagal bylos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>Pagal kelią iki bylos</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Pagal datą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Rūšiuoti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Sumaišyti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Apversti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation type="unfinished">Atšaukti pasirinkimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Nepasirinkti nei vieno</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Pasirinkti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Naujas sąrašas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation type="unfinished">&amp;Įkelti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Išsaugoti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;Pridėti interneto adresą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Pagal takelio numerį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Į eilę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Veiksmai</translation>
</message>
diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts
index f2b45c237..4d4454227 100644
--- a/src/ui/translations/qmmp_pl_PL.ts
+++ b/src/ui/translations/qmmp_pl_PL.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Dodaj plik</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>Dodaj &amp;katalog</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Usuń zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>Usuń &amp;wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>Usuń &amp;niezaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Usuń niedostępne pliki</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Pokaż informacje o pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Sortuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Według nazwy</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Według nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>Według Ścieżki + Nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Wg Daty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Sortuj zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Tasuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Odwróć listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Odwróć zaznaczenie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Odznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Zaznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Nowa lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>&amp;Ładuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Zapisz listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>Dod&amp;aj Url</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Wg numeru utworu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Kolejkuj</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Akcje</translation>
</message>
diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts
index abf862f4f..93d1158fd 100644
--- a/src/ui/translations/qmmp_pt_BR.ts
+++ b/src/ui/translations/qmmp_pt_BR.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation type="unfinished">&amp;Adicionar arquivo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation type="unfinished">&amp;Adicionar Diretorio</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation type="unfinished">&amp;Remover selecionadas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation type="unfinished">&amp;Remover tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation type="unfinished">&amp;Remover não selecionadas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation type="unfinished">&amp;Ver detalhes da Faixa</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation type="unfinished">Classificar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation type="unfinished">Por Título</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation type="unfinished">Por Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation type="unfinished">Por Dirertório + Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation type="unfinished">Por Data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation type="unfinished">Classificar por Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation type="unfinished">Lista Eleatória</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation type="unfinished">Lista Revertida</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation type="unfinished">Inverter Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation type="unfinished">&amp;Nenhum selecionado</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation type="unfinished">&amp;Selecionar tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation type="unfinished">&amp;Nova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation type="unfinished">&amp;Carregar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation type="unfinished">&amp;Salvar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation type="unfinished">Na fila</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation type="unfinished"></translation>
</message>
diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts
index 3582b6d5d..bae62ec9a 100644
--- a/src/ui/translations/qmmp_ru.ts
+++ b/src/ui/translations/qmmp_ru.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Добавить файл</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Добавить директорию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Удалить выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>&amp;Удалить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Удалить невыделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Удалить недоступные файлы</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Информация</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Сортировать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>По названию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation>По альбому</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation>По исполнителю</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>По имени файла</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>По пути и файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>По дате</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Сортировать выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Перемешать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Перевернуть</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Инвертировать выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Снять выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Выделить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Новый список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Выбрать следующий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Выбрать предыдущий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Показать списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation>&amp;Удалить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>&amp;Загрузить лист</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Сохранить лист</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;Добавить URL</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>По номеру трека</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;В очередь</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Действия</translation>
</message>
diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts
index 774e63ab3..df89b50e9 100644
--- a/src/ui/translations/qmmp_tr.ts
+++ b/src/ui/translations/qmmp_tr.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Dosya Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Dizin Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Seçileni Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>&amp;Hepsini Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Seçilmemişleri Kaldır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Parça Detaylarını Göster</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Listeyi Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>Başlığa Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>Dosya Yolu + Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>Tarihe Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Seçilenleri Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Rastgele Listele</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Listeyi Ters Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Seçimi Tersine Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Hiçbirini Seçme</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Tümünü Seç</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Yeni Liste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>&amp;Liste Yükle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Listeyi Kaydet</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;Url Ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>Parça Numarasına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;Kuyruğa ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Eylemler</translation>
</message>
diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts
index e777c89df..e7d92f2de 100644
--- a/src/ui/translations/qmmp_uk_UA.ts
+++ b/src/ui/translations/qmmp_uk_UA.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>&amp;Додати файл</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>&amp;Додати теку</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>&amp;Видалити вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>&amp;Видалити все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>&amp;Видалити не вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation>Видалити недоступні файли</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>&amp;Інформація</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>Сортувати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>За назвою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation>За альбомом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation>За артистом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>За ім&apos;ям файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>За шляхом та файлом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>За датою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>Сортувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>Перемішати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>Перевернути</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>Інвертувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>&amp;Зняти виділення</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>&amp;Вибрати все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>&amp;Новий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation>Вибрати &amp;наступний список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation>Вибрати &amp;попередній список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation>Показати &amp;всі списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>&amp;Завантажити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>&amp;Зберегти список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>&amp;Додати адресу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>&amp;В чергу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>Дії</translation>
</message>
diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts
index 3b2b3a3e8..963be8c38 100644
--- a/src/ui/translations/qmmp_zh_CN.ts
+++ b/src/ui/translations/qmmp_zh_CN.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>添加文件(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>添加文件夹(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>删除所选(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>删除全部(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>删除未选(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>查看音轨详细信息(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>列表排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>按标题</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>按文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>按路径+文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>选择排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>随机产生列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>逆序列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>反选</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>无选择(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>选择全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>新建列表(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>载入列表(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>保存列表(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>添加 URL (&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>按音轨</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>队列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>动作</translation>
</message>
diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts
index 97fe6fbf2..b635382df 100644
--- a/src/ui/translations/qmmp_zh_TW.ts
+++ b/src/ui/translations/qmmp_zh_TW.ts
@@ -1020,239 +1020,239 @@
<context>
<name>PlayList</name>
<message>
- <location filename="../playlist.cpp" line="166"/>
+ <location filename="../playlist.cpp" line="171"/>
<source>F</source>
<translation>F</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="172"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>D</source>
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="205"/>
+ <location filename="../playlist.cpp" line="210"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="309"/>
+ <location filename="../playlist.cpp" line="314"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="316"/>
+ <location filename="../playlist.cpp" line="321"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="321"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="328"/>
+ <location filename="../playlist.cpp" line="333"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="165"/>
+ <location filename="../playlist.cpp" line="170"/>
<source>&amp;Add File</source>
<translation>添加檔案(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="171"/>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;Add Directory</source>
<translation>添加檔案夾(&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="184"/>
+ <location filename="../playlist.cpp" line="189"/>
<source>&amp;Remove Selected</source>
<translation>移除所選(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="190"/>
+ <location filename="../playlist.cpp" line="195"/>
<source>&amp;Remove All</source>
<translation>移除全部(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="201"/>
<source>&amp;Remove Unselected</source>
<translation>移除未選(&amp;R)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
+ <location filename="../playlist.cpp" line="206"/>
<source>Remove unavailable files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="209"/>
<source>&amp;View Track Details</source>
<translation>檢視音軌詳細資訊(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="218"/>
<source>Sort List</source>
<translation>清單排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="216"/>
- <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="221"/>
+ <location filename="../playlist.cpp" line="255"/>
<source>By Title</source>
<translation>按標題</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="220"/>
- <location filename="../playlist.cpp" line="254"/>
+ <location filename="../playlist.cpp" line="225"/>
+ <location filename="../playlist.cpp" line="259"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="224"/>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="229"/>
+ <location filename="../playlist.cpp" line="263"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="228"/>
- <location filename="../playlist.cpp" line="262"/>
+ <location filename="../playlist.cpp" line="233"/>
+ <location filename="../playlist.cpp" line="267"/>
<source>By Filename</source>
<translation>按檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="232"/>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="237"/>
+ <location filename="../playlist.cpp" line="271"/>
<source>By Path + Filename</source>
<translation>按路徑+檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="236"/>
- <location filename="../playlist.cpp" line="270"/>
+ <location filename="../playlist.cpp" line="241"/>
+ <location filename="../playlist.cpp" line="275"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="248"/>
+ <location filename="../playlist.cpp" line="253"/>
<source>Sort Selection</source>
<translation>選取排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="288"/>
<source>Randomize List</source>
<translation>隨機產生清單</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="284"/>
+ <location filename="../playlist.cpp" line="289"/>
<source>Reverse List</source>
<translation>逆串列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="296"/>
+ <location filename="../playlist.cpp" line="301"/>
<source>Invert Selection</source>
<translation>反選</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="302"/>
+ <location filename="../playlist.cpp" line="307"/>
<source>&amp;Select None</source>
<translation>無選取(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="303"/>
+ <location filename="../playlist.cpp" line="308"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="308"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>&amp;Select All</source>
<translation>選取全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="315"/>
+ <location filename="../playlist.cpp" line="320"/>
<source>&amp;New List</source>
<translation>新建清單(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="340"/>
+ <location filename="../playlist.cpp" line="345"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="341"/>
+ <location filename="../playlist.cpp" line="346"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="346"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="347"/>
+ <location filename="../playlist.cpp" line="352"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="352"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="353"/>
+ <location filename="../playlist.cpp" line="358"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="320"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="327"/>
+ <location filename="../playlist.cpp" line="332"/>
<source>&amp;Load List</source>
<translation>載入清單(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="333"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>&amp;Save List</source>
<translation>儲存清單(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="334"/>
+ <location filename="../playlist.cpp" line="339"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
+ <location filename="../playlist.cpp" line="190"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="177"/>
+ <location filename="../playlist.cpp" line="182"/>
<source>&amp;Add Url</source>
<translation>添加 URL (&amp;A)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="178"/>
+ <location filename="../playlist.cpp" line="183"/>
<source>U</source>
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="240"/>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="245"/>
+ <location filename="../playlist.cpp" line="279"/>
<source>By Track Number</source>
<translation>按音軌</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>&amp;Queue</source>
<translation>佇列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="297"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="289"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Actions</source>
<translation>動作</translation>
</message>
diff --git a/src/ui/ui.pro b/src/ui/ui.pro
index 68644a7db..d4ab1eb7b 100644
--- a/src/ui/ui.pro
+++ b/src/ui/ui.pro
@@ -55,7 +55,8 @@ HEADERS += mainwindow.h \
shadedbar.h \
builtincommandlineoption.h \
cursorimage.h \
- playlistbrowser.h
+ playlistbrowser.h \
+ playlistselector.h
SOURCES += mainwindow.cpp \
mp3player.cpp \
button.cpp \
@@ -102,7 +103,8 @@ SOURCES += mainwindow.cpp \
shadedbar.cpp \
builtincommandlineoption.cpp \
cursorimage.cpp \
- playlistbrowser.cpp
+ playlistbrowser.cpp \
+ playlistselector.cpp
win32:HEADERS += ../qmmp/visual.h
unix {
HEADERS += unixdomainsocket.h