Add a menu item for copying songs off devices to the library
This commit is contained in:
parent
1a5f865d53
commit
c43d695d8b
|
@ -19,8 +19,10 @@
|
|||
#include "deviceproperties.h"
|
||||
#include "deviceview.h"
|
||||
#include "core/mergedproxymodel.h"
|
||||
#include "library/librarydirectorymodel.h"
|
||||
#include "library/librarymodel.h"
|
||||
#include "ui/iconloader.h"
|
||||
#include "ui/organisedialog.h"
|
||||
|
||||
#include <QContextMenuEvent>
|
||||
#include <QMenu>
|
||||
|
@ -135,8 +137,10 @@ DeviceView::DeviceView(QWidget* parent)
|
|||
add_to_playlist_action_ = library_menu_->addAction(IconLoader::Load("media-playback-start"),
|
||||
tr("Add to playlist"), this, SLOT(AddToPlaylist()));
|
||||
library_menu_->addSeparator();
|
||||
organise_action_ = library_menu_->addAction(IconLoader::Load("edit-copy"),
|
||||
tr("Copy to library..."), this, SLOT(Organise()));
|
||||
delete_action_ = library_menu_->addAction(IconLoader::Load("edit-delete"),
|
||||
tr("Delete from disk..."), this, SLOT(Delete()));
|
||||
tr("Delete from device..."), this, SLOT(Delete()));
|
||||
|
||||
setItemDelegate(new DeviceItemDelegate(this));
|
||||
SetExpandOnReset(false);
|
||||
|
@ -167,6 +171,15 @@ void DeviceView::SetDeviceManager(DeviceManager *manager) {
|
|||
properties_dialog_->SetDeviceManager(manager_);
|
||||
}
|
||||
|
||||
void DeviceView::SetLibrary(LibraryModel* library) {
|
||||
Q_ASSERT(manager_);
|
||||
|
||||
library_ = library;
|
||||
|
||||
organise_dialog_.reset(new OrganiseDialog(manager_->task_manager()));
|
||||
organise_dialog_->AddDirectoryModel(library_->directory_model());
|
||||
}
|
||||
|
||||
void DeviceView::contextMenuEvent(QContextMenuEvent* e) {
|
||||
menu_index_ = currentIndex();
|
||||
|
||||
|
@ -318,3 +331,15 @@ void DeviceView::AddToPlaylist() {
|
|||
void DeviceView::Delete() {
|
||||
|
||||
}
|
||||
|
||||
void DeviceView::Organise() {
|
||||
SongList songs = GetSelectedSongs();
|
||||
QStringList filenames;
|
||||
foreach (const Song& song, songs) {
|
||||
filenames << song.filename();
|
||||
}
|
||||
|
||||
organise_dialog_->SetCopy(true);
|
||||
organise_dialog_->SetFilenames(filenames);
|
||||
organise_dialog_->show();
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ class QSortFilterProxyModel;
|
|||
|
||||
class DeviceManager;
|
||||
class DeviceProperties;
|
||||
class LibraryModel;
|
||||
class MergedProxyModel;
|
||||
|
||||
class DeviceItemDelegate : public LibraryItemDelegate {
|
||||
|
@ -47,6 +48,7 @@ public:
|
|||
~DeviceView();
|
||||
|
||||
void SetDeviceManager(DeviceManager* manager);
|
||||
void SetLibrary(LibraryModel* library);
|
||||
|
||||
signals:
|
||||
void Load(const SongList& songs);
|
||||
|
@ -67,6 +69,7 @@ private slots:
|
|||
// Library menu actions
|
||||
void Load();
|
||||
void AddToPlaylist();
|
||||
void Organise();
|
||||
void Delete();
|
||||
|
||||
void DeviceDisconnected(int row);
|
||||
|
@ -78,10 +81,12 @@ private:
|
|||
|
||||
private:
|
||||
DeviceManager* manager_;
|
||||
LibraryModel* library_;
|
||||
MergedProxyModel* merged_model_;
|
||||
QSortFilterProxyModel* sort_model_;
|
||||
|
||||
boost::scoped_ptr<DeviceProperties> properties_dialog_;
|
||||
boost::scoped_ptr<OrganiseDialog> organise_dialog_;
|
||||
|
||||
QMenu* device_menu_;
|
||||
QAction* connect_action_;
|
||||
|
@ -92,6 +97,7 @@ private:
|
|||
QMenu* library_menu_;
|
||||
QAction* load_action_;
|
||||
QAction* add_to_playlist_action_;
|
||||
QAction* organise_action_;
|
||||
QAction* delete_action_;
|
||||
|
||||
QModelIndex menu_index_;
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -474,6 +474,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -474,6 +474,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -475,6 +475,9 @@ msgstr "Verzögerung zwischen Visualisierungen"
|
|||
msgid "Delete files..."
|
||||
msgstr "Dateien löschen..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Von der Festplatte löschen..."
|
||||
|
||||
|
|
|
@ -483,6 +483,9 @@ msgstr "Καθυστέρηση μεταξύ οπτικών εφέ"
|
|||
msgid "Delete files..."
|
||||
msgstr "Διαγραφή αρχείων..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Διαγραφή από τον δίσκο..."
|
||||
|
||||
|
|
|
@ -475,6 +475,9 @@ msgstr "Delay between visualisations"
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr "Delay between visualisations"
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -477,6 +477,9 @@ msgstr "Retardo entre visualizaciones"
|
|||
msgid "Delete files..."
|
||||
msgstr "Eliminar archivos..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Eliminar del disco..."
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr "Poista tiedostot..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Poista levyltä..."
|
||||
|
||||
|
|
|
@ -474,6 +474,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -476,6 +476,9 @@ msgstr "Ritardo tra le visualizzazioni"
|
|||
msgid "Delete files..."
|
||||
msgstr "Elimina file..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Elimina dal disco..."
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -474,6 +474,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -480,6 +480,9 @@ msgstr "Atraso entre visualizações"
|
|||
msgid "Delete files..."
|
||||
msgstr "Apagar ficheiros..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Apagar ficheiros no disco..."
|
||||
|
||||
|
|
|
@ -478,6 +478,9 @@ msgstr "Atraso entre as visualizações"
|
|||
msgid "Delete files..."
|
||||
msgstr "Remover arquivos..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Apagar do disco..."
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -474,6 +474,9 @@ msgstr "Задержка между визуализациями"
|
|||
msgid "Delete files..."
|
||||
msgstr "Удалить файлы..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Удалить с диска..."
|
||||
|
||||
|
|
|
@ -480,6 +480,9 @@ msgstr "Oneskorenie medzi vizualizáciami"
|
|||
msgid "Delete files..."
|
||||
msgstr "Vymazať súbory..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Vymazať z disku..."
|
||||
|
||||
|
|
|
@ -475,6 +475,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -463,6 +463,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -479,6 +479,9 @@ msgstr "Затримка між візуалізаціями"
|
|||
msgid "Delete files..."
|
||||
msgstr "Вилучити файли..."
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr "Вилучити з диска..."
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -473,6 +473,9 @@ msgstr ""
|
|||
msgid "Delete files..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from device..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Delete from disk..."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -201,6 +201,7 @@ MainWindow::MainWindow(NetworkAccessManager* network, Engine::Type engine, QWidg
|
|||
ui_->radio_view->SetModel(radio_model_);
|
||||
|
||||
ui_->devices_view->SetDeviceManager(devices_);
|
||||
ui_->devices_view->SetLibrary(library_->model());
|
||||
|
||||
organise_dialog_->AddDirectoryModel(library_->model()->directory_model());
|
||||
|
||||
|
|
Loading…
Reference in New Issue