Add error handling for mtp and gpod device

This commit is contained in:
Jonas Kvinge
2019-01-21 18:58:54 +01:00
parent ad5e366aad
commit 41e2a75675
12 changed files with 93 additions and 45 deletions

View File

@@ -59,11 +59,10 @@ bool GPodDevice::Init() {
loader_ = new GPodLoader(url_.path(), app_->task_manager(), backend_, shared_from_this());
loader_->moveToThread(loader_thread_);
connect(loader_, SIGNAL(Error(QString)), SIGNAL(Error(QString)));
connect(loader_, SIGNAL(Error(QString)), SLOT(LoaderError(QString)));
connect(loader_, SIGNAL(TaskStarted(int)), SIGNAL(TaskStarted(int)));
connect(loader_, SIGNAL(LoadFinished(Itdb_iTunesDB*)), SLOT(LoadFinished(Itdb_iTunesDB*)));
connect(loader_, SIGNAL(LoadFinished(Itdb_iTunesDB*, bool)), SLOT(LoadFinished(Itdb_iTunesDB*, bool)));
connect(loader_thread_, SIGNAL(started()), loader_, SLOT(LoadDatabase()));
loader_thread_->start();
return true;
@@ -71,7 +70,13 @@ bool GPodDevice::Init() {
GPodDevice::~GPodDevice() {}
void GPodDevice::LoadFinished(Itdb_iTunesDB *db) {
void GPodDevice::ConnectAsync() {
loader_thread_->start();
}
void GPodDevice::LoadFinished(Itdb_iTunesDB *db, bool success) {
QMutexLocker l(&db_mutex_);
db_ = db;
@@ -87,8 +92,12 @@ void GPodDevice::LoadFinished(Itdb_iTunesDB *db) {
loader_->deleteLater();
loader_ = nullptr;
emit ConnectFinished(unique_id_, success);
}
void GPodDevice::LoaderError(const QString &message) { app_->AddError(message); }
bool GPodDevice::StartCopy(QList<Song::FileType> *supported_filetypes) {
{