Add a "delete from disk" to the playlist menu. Fixes issue #218

This commit is contained in:
David Sansome 2010-12-11 10:54:42 +00:00
parent 2986d185e3
commit 9a7087d05f
45 changed files with 126 additions and 133 deletions

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -659,9 +659,6 @@ msgstr "Затрымка паміж візуалізацыямі"
msgid "Delete files"
msgstr "Выдаліць файлы"
msgid "Delete files..."
msgstr "Выдаліць файлы..."
msgid "Delete from device..."
msgstr "Выдаліць з прылады"
@ -2463,3 +2460,6 @@ msgstr ""
#, qt-format
msgid "track %1"
msgstr ""
#~ msgid "Delete files..."
#~ msgstr "Выдаліць файлы..."

View File

@ -646,9 +646,6 @@ msgstr "Забавяне между визуализации"
msgid "Delete files"
msgstr "Изтриване на файлове"
msgid "Delete files..."
msgstr "Изтриване на файлове..."
msgid "Delete from device..."
msgstr ""
@ -2455,6 +2452,9 @@ msgstr ""
msgid "track %1"
msgstr ""
#~ msgid "Delete files..."
#~ msgstr "Изтриване на файлове..."
#~ msgid "Couldn't load the last.fm radio station: %1"
#~ msgstr "Не може да бъде заредена last.fm радио станция: %1"

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -673,9 +673,6 @@ msgstr "Retard entre visualitzacions"
msgid "Delete files"
msgstr "Esborra els fitxers"
msgid "Delete files..."
msgstr "Esborra els fitxers..."
msgid "Delete from device..."
msgstr "Esborra del dispositiu..."
@ -2505,6 +2502,9 @@ msgstr "atura"
msgid "track %1"
msgstr "peça %1"
#~ msgid "Delete files..."
#~ msgstr "Esborra els fitxers..."
#~ msgid "ASF"
#~ msgstr "ASF"

View File

@ -668,9 +668,6 @@ msgstr "Prodlení mezi znázorňováním"
msgid "Delete files"
msgstr "Smazat soubory"
msgid "Delete files..."
msgstr "Smazat soubory..."
msgid "Delete from device..."
msgstr "Smazat ze zařízení..."
@ -2514,6 +2511,9 @@ msgstr "Zastavit"
msgid "track %1"
msgstr "Skladba %1"
#~ msgid "Delete files..."
#~ msgstr "Smazat soubory..."
#~ msgid "&Hide tray icon"
#~ msgstr "S&krýt ikonu v systémovém panelu"

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -647,9 +647,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -672,9 +672,6 @@ msgstr "Verzögerung zwischen Visualisierungen"
msgid "Delete files"
msgstr "Dateien löschen"
msgid "Delete files..."
msgstr "Dateien löschen..."
msgid "Delete from device..."
msgstr "Vom Gerät löschen..."
@ -2518,6 +2515,9 @@ msgstr "Anhalten"
msgid "track %1"
msgstr "Stück %1"
#~ msgid "Delete files..."
#~ msgstr "Dateien löschen..."
#~ msgid "%1's Library"
#~ msgstr "%1s Musiksammlung"

View File

@ -677,9 +677,6 @@ msgstr "Καθυστέρηση μεταξύ οπτικών εφέ"
msgid "Delete files"
msgstr "Διαγραφή αρχείων"
msgid "Delete files..."
msgstr "Διαγραφή αρχείων..."
msgid "Delete from device..."
msgstr "Διαγραφή από την συσκευή..."
@ -2531,6 +2528,9 @@ msgstr "διακοπή"
msgid "track %1"
msgstr "κομμάτι %1"
#~ msgid "Delete files..."
#~ msgstr "Διαγραφή αρχείων..."
#~ msgid "My Loved Tracks"
#~ msgstr "Τα αγαπημένα μου κομμάτια"

View File

@ -647,9 +647,6 @@ msgstr "Delay between visualisations"
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -645,9 +645,6 @@ msgstr "Delay between visualisations"
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -674,9 +674,6 @@ msgstr "Retardo entre visualizaciones"
msgid "Delete files"
msgstr "Borrar archivos"
msgid "Delete files..."
msgstr "Eliminar archivos..."
msgid "Delete from device..."
msgstr "Eliminar del dispositivo..."
@ -2523,6 +2520,9 @@ msgstr "detener"
msgid "track %1"
msgstr "Pista %1"
#~ msgid "Delete files..."
#~ msgstr "Eliminar archivos..."
#~ msgid "&Hide tray icon"
#~ msgstr "&Ocultar icono de la bandeja"

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr "Kustuta failid"
msgid "Delete files..."
msgstr "Kustuta failid..."
msgid "Delete from device..."
msgstr "Kustuta seadmest..."
@ -2452,6 +2449,9 @@ msgstr "peata"
msgid "track %1"
msgstr ""
#~ msgid "Delete files..."
#~ msgstr "Kustuta failid..."
#~ msgid "Add as new playlist..."
#~ msgstr "Lisa kui uus esitusnimekiri..."

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -646,9 +646,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr "Poista tiedostot..."
msgid "Delete from device..."
msgstr ""
@ -2453,6 +2450,9 @@ msgstr ""
msgid "track %1"
msgstr ""
#~ msgid "Delete files..."
#~ msgstr "Poista tiedostot..."
#~ msgid "Last.fm Loved Tracks - %1"
#~ msgstr "Last.fm-suosikit - %1"

View File

@ -676,9 +676,6 @@ msgstr "Délai entre les visualisations"
msgid "Delete files"
msgstr "Supprimer les fichiers"
msgid "Delete files..."
msgstr "Supprimer les fichiers…"
msgid "Delete from device..."
msgstr "Supprimer du périphérique..."
@ -2534,6 +2531,9 @@ msgstr "stop"
msgid "track %1"
msgstr "piste %1"
#~ msgid "Delete files..."
#~ msgstr "Supprimer les fichiers…"
#~ msgid "&Hide tray icon"
#~ msgstr "&Masquer l'icône"

View File

@ -650,9 +650,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -647,9 +647,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -668,9 +668,6 @@ msgstr "Megjelenítések között váltás ideje"
msgid "Delete files"
msgstr "Fájlok törlése"
msgid "Delete files..."
msgstr "Fájlok törlése..."
msgid "Delete from device..."
msgstr "Törlés az eszközről..."
@ -2514,6 +2511,9 @@ msgstr "leállítás"
msgid "track %1"
msgstr "%1. szám"
#~ msgid "Delete files..."
#~ msgstr "Fájlok törlése..."
#~ msgid "ASF"
#~ msgstr "ASF"

View File

@ -672,9 +672,6 @@ msgstr "Ritardo tra le visualizzazioni"
msgid "Delete files"
msgstr "Elimina i file"
msgid "Delete files..."
msgstr "Elimina file..."
msgid "Delete from device..."
msgstr "Elimina da dispositivo..."
@ -2528,6 +2525,9 @@ msgstr "ferma"
msgid "track %1"
msgstr "traccia %1"
#~ msgid "Delete files..."
#~ msgstr "Elimina file..."
#~ msgid "Show section"
#~ msgstr "Mostra sezione"

View File

@ -662,9 +662,6 @@ msgstr "視覚化の間の遅延"
msgid "Delete files"
msgstr "ファイルの削除"
msgid "Delete files..."
msgstr "ファイルの削除..."
msgid "Delete from device..."
msgstr "デバイスから削除..."
@ -2496,6 +2493,9 @@ msgstr "停止"
msgid "track %1"
msgstr "トラック %1"
#~ msgid "Delete files..."
#~ msgstr "ファイルの削除..."
#~ msgid "Add as new playlist..."
#~ msgstr "新しいプレイリストとして追加..."

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -646,9 +646,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -657,9 +657,6 @@ msgstr ""
msgid "Delete files"
msgstr "Slett filer"
msgid "Delete files..."
msgstr "Slett filer …"
msgid "Delete from device..."
msgstr "Slett fra enhet..."
@ -2466,6 +2463,9 @@ msgstr "stopp"
msgid "track %1"
msgstr "spor %1"
#~ msgid "Delete files..."
#~ msgstr "Slett filer …"
#~ msgid ""
#~ "A song will be included in the playlist if it matches all of these "
#~ "conditions."

View File

@ -664,9 +664,6 @@ msgstr "Vertraging tussen visualisaties"
msgid "Delete files"
msgstr "Bestanden verwijderen"
msgid "Delete files..."
msgstr "Bestanden wissen..."
msgid "Delete from device..."
msgstr "Verwijder van apparaat..."
@ -2514,6 +2511,9 @@ msgstr "stoppen"
msgid "track %1"
msgstr "track %1"
#~ msgid "Delete files..."
#~ msgstr "Bestanden wissen..."
#~ msgid "Couldn't load the last.fm radio station: %1"
#~ msgstr "Kon last.fm radiostation: %1 niet laden"

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -667,9 +667,6 @@ msgstr "Opóźnienie pomiędzy wizualizacjami"
msgid "Delete files"
msgstr "Usuń pliki"
msgid "Delete files..."
msgstr "Usuń pliki..."
msgid "Delete from device..."
msgstr "Usuń z urządzenia..."
@ -2504,6 +2501,9 @@ msgstr "zatrzymaj"
msgid "track %1"
msgstr "utwór %1"
#~ msgid "Delete files..."
#~ msgstr "Usuń pliki..."
#~ msgid "&Hide tray icon"
#~ msgstr "&Ukryj ikonę w trayu"

View File

@ -672,9 +672,6 @@ msgstr "Atraso entre visualizações"
msgid "Delete files"
msgstr "Apagar ficheiros"
msgid "Delete files..."
msgstr "Apagar ficheiros..."
msgid "Delete from device..."
msgstr "Apagar do dispositivo..."
@ -2520,6 +2517,9 @@ msgstr "parar"
msgid "track %1"
msgstr "faixa %1"
#~ msgid "Delete files..."
#~ msgstr "Apagar ficheiros..."
#~ msgid "Couldn't load the last.fm radio station: %1"
#~ msgstr "Incapaz de carregar a estação de rádio last.fm : %1"

View File

@ -665,9 +665,6 @@ msgstr "Atraso entre as visualizações"
msgid "Delete files"
msgstr "Excluir arquivos"
msgid "Delete files..."
msgstr "Remover arquivos..."
msgid "Delete from device..."
msgstr "Apagar do dispositivo..."
@ -2498,6 +2495,9 @@ msgstr ""
msgid "track %1"
msgstr "faixa %1"
#~ msgid "Delete files..."
#~ msgstr "Remover arquivos..."
#~ msgid "Options"
#~ msgstr "Opções"

View File

@ -645,9 +645,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -665,9 +665,6 @@ msgstr "Задержка между визуализациями"
msgid "Delete files"
msgstr "Удалить файлы"
msgid "Delete files..."
msgstr "Удалить файлы..."
msgid "Delete from device..."
msgstr "Удалить с устройства"
@ -2508,6 +2505,9 @@ msgstr "Остановить"
msgid "track %1"
msgstr "композиция %1"
#~ msgid "Delete files..."
#~ msgstr "Удалить файлы..."
#~ msgid "Show section"
#~ msgstr "Показать секцию"

View File

@ -664,9 +664,6 @@ msgstr "Oneskorenie medzi vizualizáciami"
msgid "Delete files"
msgstr "Odstrániť súbory"
msgid "Delete files..."
msgstr "Vymazať súbory..."
msgid "Delete from device..."
msgstr "Vymazať zo zariadenia..."
@ -2504,6 +2501,9 @@ msgstr "zastaviť"
msgid "track %1"
msgstr "skladba %1"
#~ msgid "Delete files..."
#~ msgstr "Vymazať súbory..."
#~ msgid "&Hide tray icon"
#~ msgstr "&Skryť tray ikonu"

View File

@ -666,9 +666,6 @@ msgstr "Zamik med predočenji"
msgid "Delete files"
msgstr "Izbriši datoteke"
msgid "Delete files..."
msgstr "Izbriši datoteke ..."
msgid "Delete from device..."
msgstr "Izbriši iz naprave ..."
@ -2506,6 +2503,9 @@ msgstr "zaustavi"
msgid "track %1"
msgstr "skladba %1"
#~ msgid "Delete files..."
#~ msgstr "Izbriši datoteke ..."
#~ msgid "ASF"
#~ msgstr "ASF"

View File

@ -648,9 +648,6 @@ msgstr "Застој између визуелизација"
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr "Обриши фајлове...."
msgid "Delete from device..."
msgstr "Избруши са уређаја"
@ -2458,6 +2455,9 @@ msgstr "Заустави"
msgid "track %1"
msgstr "нумера %1"
#~ msgid "Delete files..."
#~ msgstr "Обриши фајлове...."
#~ msgid "ASF"
#~ msgstr "АСФ"

View File

@ -670,9 +670,6 @@ msgstr "Fördröjning mellan visualiseringar"
msgid "Delete files"
msgstr "Ta bort filer"
msgid "Delete files..."
msgstr "Ta bort filer..."
msgid "Delete from device..."
msgstr "Ta bort från enhet..."
@ -2508,6 +2505,9 @@ msgstr "stoppa"
msgid "track %1"
msgstr "spår %1"
#~ msgid "Delete files..."
#~ msgstr "Ta bort filer..."
#~ msgid "Show section"
#~ msgstr "Visa kolumn"

View File

@ -663,9 +663,6 @@ msgstr "Görselleştirmeler arasındaki gecikme"
msgid "Delete files"
msgstr "Dosyaları sil"
msgid "Delete files..."
msgstr "Dosyaları sil..."
msgid "Delete from device..."
msgstr "Aygıttan sil..."
@ -2498,6 +2495,9 @@ msgstr "durdur"
msgid "track %1"
msgstr "parça %1"
#~ msgid "Delete files..."
#~ msgstr "Dosyaları sil..."
#~ msgid "Options"
#~ msgstr "Seçenekler"

View File

@ -636,9 +636,6 @@ msgstr ""
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr ""
msgid "Delete from device..."
msgstr ""

View File

@ -665,9 +665,6 @@ msgstr "Затримка між візуалізаціями"
msgid "Delete files"
msgstr "Вилучити файли"
msgid "Delete files..."
msgstr "Вилучити файли..."
msgid "Delete from device..."
msgstr "Вилучити з пристрою..."
@ -2497,6 +2494,9 @@ msgstr "зупинити"
msgid "track %1"
msgstr "доріжка %1"
#~ msgid "Delete files..."
#~ msgstr "Вилучити файли..."
#~ msgid "Add as new playlist..."
#~ msgstr "Додати новий список відтворення..."

View File

@ -648,9 +648,6 @@ msgstr "在两个视觉化效果间延迟切换"
msgid "Delete files"
msgstr "删除文件"
msgid "Delete files..."
msgstr "删除文件..."
msgid "Delete from device..."
msgstr "从设备删除..."
@ -2455,6 +2452,9 @@ msgstr "停止"
msgid "track %1"
msgstr ""
#~ msgid "Delete files..."
#~ msgstr "删除文件..."
#~ msgid "Options"
#~ msgstr "选项"

View File

@ -650,9 +650,6 @@ msgstr "在兩個視覺化效果間延遲切換"
msgid "Delete files"
msgstr ""
msgid "Delete files..."
msgstr "刪除檔案"
msgid "Delete from device..."
msgstr ""
@ -2458,6 +2455,9 @@ msgstr ""
msgid "track %1"
msgstr "歌曲 %1"
#~ msgid "Delete files..."
#~ msgstr "刪除檔案"
#~ msgid "Don't use search terms (include all songs)"
#~ msgstr "不要使用搜尋字詞(包括所有歌曲)"

View File

@ -20,6 +20,7 @@
#include "core/backgroundstreams.h"
#include "core/commandlineoptions.h"
#include "core/database.h"
#include "core/deletefiles.h"
#include "core/globalshortcuts.h"
#include "core/mac_startup.h"
#include "core/mergedproxymodel.h"
@ -70,6 +71,7 @@
#include "ui/macsystemtrayicon.h"
#endif
#include "ui/organisedialog.h"
#include "ui/organiseerrordialog.h"
#include "ui/qtsystemtrayicon.h"
#include "ui/settingsdialog.h"
#include "ui/systemtrayicon.h"
@ -428,7 +430,7 @@ MainWindow::MainWindow(Engine::Type engine, QWidget *parent)
playlist_move_to_library_ = playlist_menu_->addAction(IconLoader::Load("go-jump"), tr("Move to library..."), this, SLOT(PlaylistMoveToLibrary()));
playlist_organise_ = playlist_menu_->addAction(IconLoader::Load("edit-copy"), tr("Organise files..."), this, SLOT(PlaylistMoveToLibrary()));
playlist_copy_to_device_ = playlist_menu_->addAction(IconLoader::Load("multimedia-player-ipod-mini-blue"), tr("Copy to device..."), this, SLOT(PlaylistCopyToDevice()));
playlist_delete_ = playlist_menu_->addAction(IconLoader::Load("edit-delete"), tr("Delete files..."), this, SLOT(PlaylistDelete()));
playlist_delete_ = playlist_menu_->addAction(IconLoader::Load("edit-delete"), tr("Delete from disk..."), this, SLOT(PlaylistDelete()));
playlist_menu_->addSeparator();
playlist_menu_->addAction(ui_->action_clear_playlist);
playlist_menu_->addAction(ui_->action_shuffle);
@ -437,8 +439,6 @@ MainWindow::MainWindow(Engine::Type engine, QWidget *parent)
ui_->action_shuffle->setShortcut(QKeySequence());
#endif
playlist_delete_->setVisible(false); // TODO
connect(ui_->playlist, SIGNAL(UndoRedoActionsChanged(QAction*,QAction*)),
SLOT(PlaylistUndoRedoChanged(QAction*,QAction*)));
@ -1097,6 +1097,7 @@ void MainWindow::PlaylistRightClick(const QPoint& global_pos, const QModelIndex&
playlist_move_to_library_->setVisible(false);
playlist_organise_->setVisible(false);
playlist_delete_->setVisible(false);
playlist_copy_to_device_->setVisible(false);
if (in_queue == 1 && not_in_queue == 0)
playlist_queue_->setText(tr("Dequeue track"));
@ -1142,6 +1143,9 @@ void MainWindow::PlaylistRightClick(const QPoint& global_pos, const QModelIndex&
playlist_copy_to_library_->setVisible(editable);
playlist_move_to_library_->setVisible(editable);
}
playlist_delete_->setVisible(editable);
playlist_copy_to_device_->setVisible(editable);
}
playlist_menu_->popup(global_pos);
@ -1520,7 +1524,42 @@ void MainWindow::PlaylistOrganiseSelected(bool copy) {
}
void MainWindow::PlaylistDelete() {
// TODO
// Note: copied from LibraryView::Delete
if (QMessageBox::question(this, tr("Delete files"),
tr("These files will be deleted from disk, are you sure you want to continue?"),
QMessageBox::Yes, QMessageBox::Cancel) != QMessageBox::Yes)
return;
// We can cheat and always take the storage of the first directory, since
// they'll all be FilesystemMusicStorage in a library and deleting doesn't
// check the actual directory.
boost::shared_ptr<MusicStorage> storage =
library_->model()->directory_model()->index(0, 0).data(MusicStorage::Role_Storage)
.value<boost::shared_ptr<MusicStorage> >();
// Get selected songs
SongList selected_songs;
QModelIndexList proxy_indexes = ui_->playlist->view()->selectionModel()->selectedRows();
foreach (const QModelIndex& proxy_index, proxy_indexes) {
QModelIndex index = playlists_->current()->proxy()->mapToSource(proxy_index);
selected_songs << playlists_->current()->item_at(index.row())->Metadata();
}
ui_->playlist->view()->RemoveSelected();
DeleteFiles* delete_files = new DeleteFiles(task_manager_, storage);
connect(delete_files, SIGNAL(Finished(SongList)), SLOT(DeleteFinished(SongList)));
delete_files->Start(selected_songs);
}
void MainWindow::DeleteFinished(const SongList& songs_with_errors) {
if (songs_with_errors.isEmpty())
return;
OrganiseErrorDialog* dialog = new OrganiseErrorDialog(this);
dialog->Show(OrganiseErrorDialog::Type_Delete, songs_with_errors);
// It deletes itself when the user closes it
}
void MainWindow::PlaylistQueue() {

View File

@ -202,6 +202,8 @@ class MainWindow : public QMainWindow, public PlatformInterface {
void AddSongInfoGenerator(smart_playlists::GeneratorPtr gen);
void DeleteFinished(const SongList& songs_with_errors);
private:
void AddFilesToPlaylist(bool clear_first, const QList<QUrl>& urls);
void AddLibraryItemToPlaylist(bool clear_first, const QModelIndexList& indexes);