aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmpui/playlistmanager.cpp5
-rw-r--r--src/qmmpui/playlistmanager.h4
-rw-r--r--src/qmmpui/playlistmodel.cpp16
-rw-r--r--src/qmmpui/playlistmodel.h5
-rw-r--r--src/ui/playlist.cpp1
-rw-r--r--src/ui/translations/qmmp_cs.ts89
-rw-r--r--src/ui/translations/qmmp_de.ts89
-rw-r--r--src/ui/translations/qmmp_hu.ts89
-rw-r--r--src/ui/translations/qmmp_it.ts89
-rw-r--r--src/ui/translations/qmmp_lt.ts89
-rw-r--r--src/ui/translations/qmmp_pl_PL.ts89
-rw-r--r--src/ui/translations/qmmp_pt_BR.ts89
-rw-r--r--src/ui/translations/qmmp_ru.ts89
-rw-r--r--src/ui/translations/qmmp_tr.ts89
-rw-r--r--src/ui/translations/qmmp_uk_UA.ts89
-rw-r--r--src/ui/translations/qmmp_zh_CN.ts89
-rw-r--r--src/ui/translations/qmmp_zh_TW.ts89
17 files changed, 590 insertions, 509 deletions
diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp
index 1c7e7ab79..c755ecc42 100644
--- a/src/qmmpui/playlistmanager.cpp
+++ b/src/qmmpui/playlistmanager.cpp
@@ -457,3 +457,8 @@ void PlayListManager::removeInvalidItems()
{
m_selected->removeInvalidItems();
}
+
+void PlayListManager::removeDuplicates()
+{
+ m_selected->removeDuplicates();
+}
diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h
index 0a33b577a..ffcc3ab33 100644
--- a/src/qmmpui/playlistmanager.h
+++ b/src/qmmpui/playlistmanager.h
@@ -191,6 +191,10 @@ public slots:
* This is a convenience function and is the same as calling \b selectedPlayList()->clearInvalidItems()
*/
void removeInvalidItems();
+ /*!
+ * This is a convenience function and is the same as calling \b selectedPlayList()->removeDuplicates()
+ */
+ void removeDuplicates();
private:
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 007eee910..53ba242c8 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright(C) 2006-2009 by Ilya Kotov *
+ * Copyright(C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -414,7 +414,7 @@ FileLoader * PlayListModel::createFileLoader()
FileLoader* f_loader = new FileLoader(this);
// f_loader->setStackSize(20 * 1024 * 1024);
m_running_loaders << f_loader;
- connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)), SLOT(add(PlayListItem*)),Qt::QueuedConnection);
+ connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)),SLOT(add(PlayListItem*)),Qt::QueuedConnection);
connect(f_loader,SIGNAL(finished()),this,SLOT(preparePlayState()));
connect(f_loader,SIGNAL(finished()),f_loader,SLOT(deleteLater()));
return f_loader;
@@ -920,3 +920,15 @@ void PlayListModel::removeInvalidItems()
removeItem(item);
}
}
+
+void PlayListModel::removeDuplicates()
+{
+ for(int i = 0; i < m_items.size(); ++i)
+ {
+ for(int j = i + 1; j < m_items.size(); ++j)
+ {
+ if(m_items.at(i)->url() == m_items.at(j)->url())
+ removeItem(m_items.at(j));
+ }
+ }
+}
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index 6f9e9f9d1..f63dec6b2 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2009 by Ilya Kotov *
+ * Copyright (C) 2006-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -403,7 +403,7 @@ public slots:
/*!
* Removes duplicate items by URL.
*/
- //void removeDuplicates();
+ void removeDuplicates();
private:
/*!
@@ -432,7 +432,6 @@ private:
*/
void removeSelection(bool inverted = false);
-
private slots:
void preparePlayState();
diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp
index 87047731f..dd89852bc 100644
--- a/src/ui/playlist.cpp
+++ b/src/ui/playlist.cpp
@@ -208,6 +208,7 @@ void PlayList::createActions()
m_subMenu->addSeparator();
m_subMenu->addAction (tr("Remove unavailable files"), m_pl_manager, SLOT(removeInvalidItems()));
+ m_subMenu->addAction (tr("Remove duplicates"), m_pl_manager, SLOT(removeDuplicates()));
//listwidget menu
QAction *detailsAct = new QAction (tr ("&View Track Details"),this);
diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts
index 54c0d7e8f..e99a63234 100644
--- a/src/ui/translations/qmmp_cs.ts
+++ b/src/ui/translations/qmmp_cs.ts
@@ -1178,163 +1178,168 @@
<translation>Odstranit nedostupné soubory</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>Zobrazit &amp;informace o skladbě</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Seřadit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Podle názvu skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>Podle alba</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>Podle umělce</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Podle názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Podle cesty a názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Podle data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Seřadit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Zamíchat seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Obrátit pořadí seznamu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Invertovat výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Zrušit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation>Shift+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Vybrat vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Nový seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>Vybrat další &amp;seznam skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation>Ctrl+PgDown</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>Vybrat předchozí &amp;seznam skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation>Ctrl+PgUp</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>Zobrazit &amp;seznamy skladeb</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>O&amp;dstranit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>Načíst &amp;seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Uložit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Podle čísla skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Fronta</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>Činnosti</translation>
</message>
diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts
index 5d97122f7..7f27756f5 100644
--- a/src/ui/translations/qmmp_de.ts
+++ b/src/ui/translations/qmmp_de.ts
@@ -1178,163 +1178,168 @@
<translation>Nichtverfügbare Dateien entfernen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Titeldetails anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Wiedergabeliste sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Nach Titel</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>Nach Album</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>Nach Interpret</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Nach Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Nach Pfad + Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Nach Datum</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Auswahl sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Wiedergabeliste mischen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Wiedergabeliste umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Auswahl umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Auswahl aufheben</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation>Umschalt+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>Alle aus&amp;wählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Strg+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Neue Wiedergabeliste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation>Strg+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation>Strg+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation>Strg+Bild ab</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>Vorherige Wiedergabeli&amp;ste auswählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation>Strg+Bild auf</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>Wiedergabeli&amp;sten anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>&amp;Liste löschen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>Wiedergabeliste &amp;laden</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>Wiedergabeliste &amp;speichern</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Umschalt+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Nach Titelnummer</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Warteschlange</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>Aktionen</translation>
</message>
diff --git a/src/ui/translations/qmmp_hu.ts b/src/ui/translations/qmmp_hu.ts
index 5e4b5ed9e..ef8cc15da 100644
--- a/src/ui/translations/qmmp_hu.ts
+++ b/src/ui/translations/qmmp_hu.ts
@@ -1188,184 +1188,189 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>Szám adatainak &amp;megnézése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Lista rendezése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Cím szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Fájlnév szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Elérési út és fájlnév szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Dátum szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Zene sorszáma szerint</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Jelöltek rendezése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Lista összekeverése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Fordított lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>Tevékenységek</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Sorba tesz</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Fordított kijelölés</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Kijelölés megszűntetése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Összes kijelölése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Új lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Lista betöltése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>Lista &amp;mentése</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts
index 3e55d649e..ec7c41625 100644
--- a/src/ui/translations/qmmp_it.ts
+++ b/src/ui/translations/qmmp_it.ts
@@ -1143,27 +1143,27 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1198,138 +1198,143 @@
<translation>Rimuovi files non disponibili</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Dettagli della traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Riordina la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Per titolo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>Per album</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>PEr interprete</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Per titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>per percorso più titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Per data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Riordina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Mescola i brnai della lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Inverti la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Inverti la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Non scegliere alcun brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation>Shift+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Seleziona tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Nuova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Seleziona la successiva lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation>Ctrl+PgDown</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Seleziona la rpecedente lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation>Ctrl+PgUp</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>Mostra lista esecuzione brani</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation>P</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>&amp;Cancella lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Carica lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Salva lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Per numero di traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Metti in coda</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>Azioni</translation>
</message>
diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts
index 9d384505b..a90869d49 100644
--- a/src/ui/translations/qmmp_lt.ts
+++ b/src/ui/translations/qmmp_lt.ts
@@ -1144,27 +1144,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1199,138 +1199,143 @@
<translation>Pašalinti nesamas bylas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Takelio informacija</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Rūšiuoti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Pagal dainos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>Pagal albumą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>Pagal atlikėją</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Pagal bylos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Pagal kelią iki bylos</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Pagal datą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Rūšiuoti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Sumaišyti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Apversti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation type="unfinished">Atšaukti pasirinkimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Nepasirinkti nei vieno</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Pasirinkti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Naujas sąrašas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Pasirinkti sekantį grojaraštį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Pasirinkti ankstesnį grojaraštį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Rodyti grojaraščius</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>&amp;Pašalinti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Įkelti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Išsaugoti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1350,23 +1355,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Pagal takelio numerį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Į eilę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 71bb36763..0caea7c6a 100644
--- a/src/ui/translations/qmmp_pl_PL.ts
+++ b/src/ui/translations/qmmp_pl_PL.ts
@@ -1143,27 +1143,27 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1198,138 +1198,143 @@
<translation>Usuń niedostępne pliki</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Pokaż informacje o pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Sortuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Według nazwy</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>Według nazwy albumu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>Według artysty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Według nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Według Ścieżki + Nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Wg Daty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Sortuj zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Tasuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Odwróć listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Odwróć zaznaczenie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Odznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Zaznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Nowa lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>Wybierz na&amp;stępną listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>Wybierz poprzednią li&amp;stę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>Pokaż li&amp;sty odtwarzania</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>Usuń listę o&amp;dtwarzana</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Ładuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Zapisz listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Wg numeru utworu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Kolejkuj</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 fc70514be..ddaad7671 100644
--- a/src/ui/translations/qmmp_pt_BR.ts
+++ b/src/ui/translations/qmmp_pt_BR.ts
@@ -1143,27 +1143,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1198,138 +1198,143 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation type="unfinished">&amp;Ver detalhes da Faixa</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation type="unfinished">Classificar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation type="unfinished">Por Título</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation type="unfinished">Por Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation type="unfinished">Por Dirertório + Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation type="unfinished">Por Data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation type="unfinished">Classificar por Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation type="unfinished">Lista Eleatória</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation type="unfinished">Lista Revertida</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation type="unfinished">Inverter Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation type="unfinished">&amp;Nenhum selecionado</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation type="unfinished">&amp;Selecionar tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation type="unfinished">&amp;Nova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation type="unfinished">&amp;Carregar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation type="unfinished">&amp;Salvar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1349,23 +1354,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation type="unfinished">Na fila</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 441f7ce46..34f56b80f 100644
--- a/src/ui/translations/qmmp_ru.ts
+++ b/src/ui/translations/qmmp_ru.ts
@@ -1143,27 +1143,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1198,138 +1198,143 @@
<translation>Удалить недоступные файлы</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation>Удалить дубликаты</translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Информация</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Сортировать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>По названию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>По альбому</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>По исполнителю</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>По имени файла</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>По пути и файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>По дате</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Сортировать выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Перемешать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Перевернуть</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Инвертировать выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Снять выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Выделить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Новый список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>&amp;Выбрать следующий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>&amp;Выбрать предыдущий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>&amp;Показать списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>&amp;Удалить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Загрузить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Сохранить список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1349,23 +1354,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>По номеру трека</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;В очередь</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>Действия</translation>
</message>
diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts
index 26daf1319..081091683 100644
--- a/src/ui/translations/qmmp_tr.ts
+++ b/src/ui/translations/qmmp_tr.ts
@@ -1143,27 +1143,27 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1198,138 +1198,143 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Parça Detaylarını Göster</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Listeyi Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>Başlığa Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>Dosya Yolu + Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>Tarihe Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Seçilenleri Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Rastgele Listele</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Listeyi Ters Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Seçimi Tersine Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Hiçbirini Seçme</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Tümünü Seç</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Yeni Liste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Liste Yükle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Listeyi Kaydet</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>Parça Numarasına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;Kuyruğa ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 822950a1c..5815240f1 100644
--- a/src/ui/translations/qmmp_uk_UA.ts
+++ b/src/ui/translations/qmmp_uk_UA.ts
@@ -1143,27 +1143,27 @@
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation></translation>
</message>
@@ -1198,138 +1198,143 @@
<translation>Видалити недоступні файли</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>&amp;Інформація</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>Сортувати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>За назвою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation>За альбомом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation>За артистом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>За ім&apos;ям файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>За шляхом та файлом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>За датою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>Сортувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>Перемішати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>Перевернути</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>Інвертувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>&amp;Зняти виділення</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>&amp;Вибрати все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>&amp;Новий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation>Вибрати &amp;наступний список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation>Вибрати &amp;попередній список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation>Показати &amp;всі списки</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation>&amp;Видалити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>&amp;Завантажити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>&amp;Зберегти список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation></translation>
</message>
@@ -1349,23 +1354,23 @@
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>&amp;В чергу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 661614aaa..d0aaddb50 100644
--- a/src/ui/translations/qmmp_zh_CN.ts
+++ b/src/ui/translations/qmmp_zh_CN.ts
@@ -1143,27 +1143,27 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1198,138 +1198,143 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>查看音轨详细信息(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>列表排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>按标题</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>按文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>按路径+文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>选择排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>随机产生列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>逆序列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>反选</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>无选择(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>选择全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>新建列表(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>载入列表(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>保存列表(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>按音轨</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>队列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<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 e5c8cd47b..9c04eec40 100644
--- a/src/ui/translations/qmmp_zh_TW.ts
+++ b/src/ui/translations/qmmp_zh_TW.ts
@@ -1143,27 +1143,27 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="214"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="318"/>
+ <location filename="../playlist.cpp" line="319"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="325"/>
+ <location filename="../playlist.cpp" line="326"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="330"/>
+ <location filename="../playlist.cpp" line="331"/>
<source>Ctrl+W</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="337"/>
+ <location filename="../playlist.cpp" line="338"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1198,138 +1198,143 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="213"/>
+ <location filename="../playlist.cpp" line="211"/>
+ <source>Remove duplicates</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="214"/>
<source>&amp;View Track Details</source>
<translation>檢視音軌詳細資訊(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="222"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>Sort List</source>
<translation>清單排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="225"/>
- <location filename="../playlist.cpp" line="259"/>
+ <location filename="../playlist.cpp" line="226"/>
+ <location filename="../playlist.cpp" line="260"/>
<source>By Title</source>
<translation>按標題</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="229"/>
- <location filename="../playlist.cpp" line="263"/>
+ <location filename="../playlist.cpp" line="230"/>
+ <location filename="../playlist.cpp" line="264"/>
<source>By Album</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="233"/>
- <location filename="../playlist.cpp" line="267"/>
+ <location filename="../playlist.cpp" line="234"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>By Artist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="237"/>
- <location filename="../playlist.cpp" line="271"/>
+ <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="272"/>
<source>By Filename</source>
<translation>按檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="241"/>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="242"/>
+ <location filename="../playlist.cpp" line="276"/>
<source>By Path + Filename</source>
<translation>按路徑+檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="245"/>
- <location filename="../playlist.cpp" line="279"/>
+ <location filename="../playlist.cpp" line="246"/>
+ <location filename="../playlist.cpp" line="280"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="257"/>
+ <location filename="../playlist.cpp" line="258"/>
<source>Sort Selection</source>
<translation>選取排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="292"/>
+ <location filename="../playlist.cpp" line="293"/>
<source>Randomize List</source>
<translation>隨機產生清單</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="293"/>
+ <location filename="../playlist.cpp" line="294"/>
<source>Reverse List</source>
<translation>逆串列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="305"/>
+ <location filename="../playlist.cpp" line="306"/>
<source>Invert Selection</source>
<translation>反選</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="311"/>
+ <location filename="../playlist.cpp" line="312"/>
<source>&amp;Select None</source>
<translation>無選取(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="312"/>
+ <location filename="../playlist.cpp" line="313"/>
<source>Shift+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="317"/>
+ <location filename="../playlist.cpp" line="318"/>
<source>&amp;Select All</source>
<translation>選取全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="324"/>
+ <location filename="../playlist.cpp" line="325"/>
<source>&amp;New List</source>
<translation>新建清單(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="349"/>
+ <location filename="../playlist.cpp" line="350"/>
<source>&amp;Select Next Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="350"/>
+ <location filename="../playlist.cpp" line="351"/>
<source>Ctrl+PgDown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="355"/>
+ <location filename="../playlist.cpp" line="356"/>
<source>&amp;Select Previous Playlist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="356"/>
+ <location filename="../playlist.cpp" line="357"/>
<source>Ctrl+PgUp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="361"/>
+ <location filename="../playlist.cpp" line="362"/>
<source>&amp;Show Playlists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="362"/>
+ <location filename="../playlist.cpp" line="363"/>
<source>P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="329"/>
+ <location filename="../playlist.cpp" line="330"/>
<source>&amp;Delete List</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="336"/>
+ <location filename="../playlist.cpp" line="337"/>
<source>&amp;Load List</source>
<translation>載入清單(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="342"/>
+ <location filename="../playlist.cpp" line="343"/>
<source>&amp;Save List</source>
<translation>儲存清單(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="343"/>
+ <location filename="../playlist.cpp" line="344"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1349,23 +1354,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="249"/>
- <location filename="../playlist.cpp" line="283"/>
+ <location filename="../playlist.cpp" line="250"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>By Track Number</source>
<translation>按音軌</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>&amp;Queue</source>
<translation>佇列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="301"/>
+ <location filename="../playlist.cpp" line="302"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="298"/>
+ <location filename="../playlist.cpp" line="299"/>
<source>Actions</source>
<translation>動作</translation>
</message>