aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-27 13:24:37 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-27 13:24:37 +0000
commit43bf74b188eec00b88435e68567da94e14cb3f5e (patch)
tree0dc6771035e00e41e9452a4930b64269c0f3bd47 /src
parenta6b00949afe5faa080aeca1a17ad598a629fe493 (diff)
downloadqmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.tar.gz
qmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.tar.bz2
qmmp-43bf74b188eec00b88435e68567da94e14cb3f5e.zip
added 'remove invalid files' action'
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1084 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/qmmpui/playlistmodel.cpp16
-rw-r--r--src/qmmpui/playlistmodel.h8
-rw-r--r--src/ui/playlist.cpp3
-rw-r--r--src/ui/translations/qmmp_cs.ts61
-rw-r--r--src/ui/translations/qmmp_de.ts61
-rw-r--r--src/ui/translations/qmmp_it.ts61
-rw-r--r--src/ui/translations/qmmp_lt.ts61
-rw-r--r--src/ui/translations/qmmp_pl_PL.ts61
-rw-r--r--src/ui/translations/qmmp_pt_BR.ts61
-rw-r--r--src/ui/translations/qmmp_ru.ts61
-rw-r--r--src/ui/translations/qmmp_tr.ts61
-rw-r--r--src/ui/translations/qmmp_uk_UA.ts61
-rw-r--r--src/ui/translations/qmmp_zh_CN.ts61
-rw-r--r--src/ui/translations/qmmp_zh_TW.ts61
14 files changed, 390 insertions, 308 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 9049759a5..e0fc19ea3 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -286,6 +286,12 @@ void PlayListModel::removeAt (int i)
}
}
+void PlayListModel::removeItem (PlayListItem *item)
+{
+ if(m_items.contains(item))
+ removeAt (m_items.indexOf(item));
+}
+
void PlayListModel::removeSelection(bool inverted)
{
int i = 0;
@@ -1004,3 +1010,13 @@ void PlayListModel::setFormat(const QString &format)
PlaylistSettings::instance()->setFormat(format);
emit settingsChanged();
}
+
+void PlayListModel::clearInvalidItems()
+{
+ foreach(PlayListItem *item, m_items)
+ {
+ if(!item->url().contains("://") &&
+ !(QFile::exists(item->url()) && Decoder::supports(item->url())))
+ removeItem(item);
+ }
+}
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index b8a095a69..6b838f9c1 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -311,6 +311,10 @@ public slots:
*/
void removeAt (int i);
/*!
+ * Removes item \b item from playlist
+ */
+ void removeItem (PlayListItem *item);
+ /*!
* Inverts selection (selects unselected items and unselects selected items)
*/
void invertSelection();
@@ -417,6 +421,10 @@ public slots:
* "%g" - genre, "%f" - file name, "%F" - full path, "%y" - year)
*/
void setFormat(const QString &format);
+ /*!
+ * Removes invalid items from playlist
+ */
+ void clearInvalidItems();
private:
/*!
diff --git a/src/ui/playlist.cpp b/src/ui/playlist.cpp
index dd454df38..b14caa9e2 100644
--- a/src/ui/playlist.cpp
+++ b/src/ui/playlist.cpp
@@ -169,6 +169,9 @@ void PlayList::createActions()
connect (remUnselAct, SIGNAL (triggered()),
m_playListModel, SLOT (removeUnselected ()));
+ m_subMenu->addSeparator();
+ m_subMenu->addAction (tr("Remove unavailable files"), m_playListModel, SLOT(clearInvalidItems()));
+
//listwidget menu
QAction *detailsAct = new QAction (tr ("&View Track Details"),this);
detailsAct->setShortcut (tr ("Alt+I"));
diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts
index 3fc230d23..305a41158 100644
--- a/src/ui/translations/qmmp_cs.ts
+++ b/src/ui/translations/qmmp_cs.ts
@@ -1022,105 +1022,110 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>Zobrazit &amp;informace o skladbě</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Seřadit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Podle názvu skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Podle názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>Podle cesty a názvu souboru</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Podle data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Seřadit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Zamíchat seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Obrátit pořadí seznamu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Invertovat výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Zrušit výběr</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Vybrat vše</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Nový seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>Načíst &amp;seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Uložit seznam</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Podle čísla skladby</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Fronta</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<source>Actions</source>
<translation>Činnosti</translation>
</message>
diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts
index 373e27dfa..6f64fe0ae 100644
--- a/src/ui/translations/qmmp_de.ts
+++ b/src/ui/translations/qmmp_de.ts
@@ -1022,105 +1022,110 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Titeldetails anzeigen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Wiedergabeliste sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Nach Titel</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Nach Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>Nach Pfad + Dateinamen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Nach Datum</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Auswahl sortieren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Wiedergabeliste mischen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Wiedergabeliste umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Auswahl umkehren</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Auswahl aufheben</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>Alle aus&amp;wählen</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Strg+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Neue Wiedergabeliste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Umschalt+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>Wiedergabeliste &amp;laden</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>Wiedergabeliste &amp;speichern</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Umschalt+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Nach Titelnummer</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Warteschlange</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<source>Actions</source>
<translation>Aktionen</translation>
</message>
diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts
index 3b3802f0e..f253f491b 100644
--- a/src/ui/translations/qmmp_it.ts
+++ b/src/ui/translations/qmmp_it.ts
@@ -991,17 +991,17 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Dettagli della traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Rirdina la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Per titolo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Per titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>per percorso più titolo del brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Per data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Riordina la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Mescola i brnai della lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Inverti la lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Inverti la selezione</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Non scegliere alcun brano</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Seleziona tutto</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Nuova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Carica lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Salva lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Per numero di traccia</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Metti in coda</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<source>Actions</source>
<translation>Azioni</translation>
</message>
diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts
index b4a2bde9d..358a94c75 100644
--- a/src/ui/translations/qmmp_lt.ts
+++ b/src/ui/translations/qmmp_lt.ts
@@ -995,17 +995,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1036,90 +1036,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Takelio informacija</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Rūšiuoti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Pagal dainos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Pagal bylos pavadinimą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>Pagal kelią iki bylos</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Pagal datą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Rūšiuoti pasirinktus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Sumaišyti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Apversti</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Invert Selection</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Nepasirinkti nei vieno</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Pasirinkti visus</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Naujas sąrašas</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Įkwlti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Išsaugoti sąrašą</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1139,23 +1144,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Pagal takelio numerį</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Į eilę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 37ae1f560..65969a7c6 100644
--- a/src/ui/translations/qmmp_pl_PL.ts
+++ b/src/ui/translations/qmmp_pl_PL.ts
@@ -991,17 +991,17 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Pokaż informacje o pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Sortuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Według nazwy</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Według nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>Według Ścieżki + Nazwy pliku</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Wg Daty</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Sortuj zaznaczone</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Tasuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Odwróć listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Odwróć zaznaczenie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Odznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Zaznacz wszystkie</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Nowa lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Ładuj listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Zapisz listę</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Wg numeru utworu</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Kolejkuj</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 b63212a30..b2f64526e 100644
--- a/src/ui/translations/qmmp_pt_BR.ts
+++ b/src/ui/translations/qmmp_pt_BR.ts
@@ -987,17 +987,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1028,90 +1028,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation type="unfinished">&amp;Ver detalhes da Faixa</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation type="unfinished">Classificar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation type="unfinished">Por Título</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation type="unfinished">Por Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation type="unfinished">Por Dirertório + Nome</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation type="unfinished">Por Data</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation type="unfinished">Classificar por Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation type="unfinished">Lista Eleatória</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation type="unfinished">Lista Revertida</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation type="unfinished">Inverter Seleção</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation type="unfinished">&amp;Nenhum selecionado</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation type="unfinished">&amp;Selecionar tudo</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation type="unfinished">&amp;Nova lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation type="unfinished">&amp;Carregar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation type="unfinished">&amp;Salvar lista</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1131,23 +1136,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation type="unfinished">Na fila</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 4a36144b4..23d42f99b 100644
--- a/src/ui/translations/qmmp_ru.ts
+++ b/src/ui/translations/qmmp_ru.ts
@@ -991,17 +991,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation type="unfinished"></translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Информация</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Сортировать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>По названию</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>По имени файла</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>По пути и файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>По дате</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Сортировать выделенное</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Перемешать</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Перевернуть</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Инвертировать выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Снять выделение</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Выделить всё</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Новый лист</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Загрузить лист</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Сохранить лист</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1135,23 +1140,23 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>По номеру трека</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;В очередь</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<source>Actions</source>
<translation>Действия</translation>
</message>
diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts
index edc4e5e55..06a79adea 100644
--- a/src/ui/translations/qmmp_tr.ts
+++ b/src/ui/translations/qmmp_tr.ts
@@ -987,17 +987,17 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1028,90 +1028,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Parça Detaylarını Göster</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Listeyi Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>Başlığa Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>Dosya Yolu + Dosya Adına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>Tarihe Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Seçilenleri Sınıflandır</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Rastgele Listele</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Listeyi Ters Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Seçimi Tersine Çevir</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Hiçbirini Seçme</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Tümünü Seç</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Yeni Liste</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Liste Yükle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Listeyi Kaydet</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1131,23 +1136,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>Parça Numarasına Göre</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;Kuyruğa ekle</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 0dba0ea55..5a0df32d5 100644
--- a/src/ui/translations/qmmp_uk_UA.ts
+++ b/src/ui/translations/qmmp_uk_UA.ts
@@ -991,17 +991,17 @@
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation></translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>&amp;Інформація</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>Сортувати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>За назвою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>За ім&apos;ям файлу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>За шляхом та файлом</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>За датою</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>Сортувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>Перемішати</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>Перевернути</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>Інвертувати вибране</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>&amp;Зняти виділення</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>&amp;Вибрати все</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>&amp;Новий список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>&amp;Завантажити список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>&amp;Зберегти список</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation></translation>
</message>
@@ -1135,23 +1140,23 @@
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>&amp;В чергу</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation></translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 cbb57b52f..eb2794a7e 100644
--- a/src/ui/translations/qmmp_zh_CN.ts
+++ b/src/ui/translations/qmmp_zh_CN.ts
@@ -991,17 +991,17 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>查看音轨详细信息(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>列表排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>按标题</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>按文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>按路径+文件名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>选择排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>随机产生列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>逆序列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>反选</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>无选择(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>选择全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>新建列表(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>载入列表(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>保存列表(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>按音轨</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>队列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<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 a785f93d3..ea86dc892 100644
--- a/src/ui/translations/qmmp_zh_TW.ts
+++ b/src/ui/translations/qmmp_zh_TW.ts
@@ -991,17 +991,17 @@
<translation>D</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="174"/>
+ <location filename="../playlist.cpp" line="177"/>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="266"/>
+ <location filename="../playlist.cpp" line="269"/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="282"/>
+ <location filename="../playlist.cpp" line="285"/>
<source>O</source>
<translation>O</translation>
</message>
@@ -1032,90 +1032,95 @@
</message>
<message>
<location filename="../playlist.cpp" line="173"/>
+ <source>Remove unavailable files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../playlist.cpp" line="176"/>
<source>&amp;View Track Details</source>
<translation>檢視音軌詳細資訊(&amp;V)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="182"/>
+ <location filename="../playlist.cpp" line="185"/>
<source>Sort List</source>
<translation>清單排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="185"/>
- <location filename="../playlist.cpp" line="212"/>
+ <location filename="../playlist.cpp" line="188"/>
+ <location filename="../playlist.cpp" line="215"/>
<source>By Title</source>
<translation>按標題</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="189"/>
- <location filename="../playlist.cpp" line="216"/>
+ <location filename="../playlist.cpp" line="192"/>
+ <location filename="../playlist.cpp" line="219"/>
<source>By Filename</source>
<translation>按檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="193"/>
- <location filename="../playlist.cpp" line="220"/>
+ <location filename="../playlist.cpp" line="196"/>
+ <location filename="../playlist.cpp" line="223"/>
<source>By Path + Filename</source>
<translation>按路徑+檔名</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="197"/>
- <location filename="../playlist.cpp" line="224"/>
+ <location filename="../playlist.cpp" line="200"/>
+ <location filename="../playlist.cpp" line="227"/>
<source>By Date</source>
<translation>按日期</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="210"/>
+ <location filename="../playlist.cpp" line="213"/>
<source>Sort Selection</source>
<translation>選取排序</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="238"/>
+ <location filename="../playlist.cpp" line="241"/>
<source>Randomize List</source>
<translation>隨機產生清單</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="239"/>
+ <location filename="../playlist.cpp" line="242"/>
<source>Reverse List</source>
<translation>逆串列表</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="251"/>
+ <location filename="../playlist.cpp" line="254"/>
<source>Invert Selection</source>
<translation>反選</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="258"/>
+ <location filename="../playlist.cpp" line="261"/>
<source>&amp;Select None</source>
<translation>無選取(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="265"/>
+ <location filename="../playlist.cpp" line="268"/>
<source>&amp;Select All</source>
<translation>選取全部(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="274"/>
+ <location filename="../playlist.cpp" line="277"/>
<source>&amp;New List</source>
<translation>新建清單(&amp;N)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="275"/>
+ <location filename="../playlist.cpp" line="278"/>
<source>Shift+N</source>
<translation>Shift+N</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="281"/>
+ <location filename="../playlist.cpp" line="284"/>
<source>&amp;Load List</source>
<translation>載入清單(&amp;L)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="287"/>
+ <location filename="../playlist.cpp" line="290"/>
<source>&amp;Save List</source>
<translation>儲存清單(&amp;S)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="288"/>
+ <location filename="../playlist.cpp" line="291"/>
<source>Shift+S</source>
<translation>Shift+S</translation>
</message>
@@ -1135,23 +1140,23 @@
<translation>U</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="201"/>
- <location filename="../playlist.cpp" line="228"/>
+ <location filename="../playlist.cpp" line="204"/>
+ <location filename="../playlist.cpp" line="231"/>
<source>By Track Number</source>
<translation>按音軌</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>&amp;Queue</source>
<translation>佇列(&amp;Q)</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="247"/>
+ <location filename="../playlist.cpp" line="250"/>
<source>Q</source>
<translation>Q</translation>
</message>
<message>
- <location filename="../playlist.cpp" line="244"/>
+ <location filename="../playlist.cpp" line="247"/>
<source>Actions</source>
<translation>動作</translation>
</message>