void UpManager::handleError (const QString& str, const QString& path) { qWarning () << Q_FUNC_INFO << str << path; RemovePending (path); auto plugin = GetSenderPlugin (); const Entity& e = Util::MakeNotification (plugin->GetStorageName (), tr ("Failed to upload %1: %2.") .arg (path) .arg (str), PWarning_); Proxy_->GetEntityManager ()->HandleEntity (e); }
void UpManager::handleGotURL (const QUrl& url, const QString& path) { const QString& urlStr = url.toString (); qApp->clipboard ()->setText (urlStr, QClipboard::Clipboard); qApp->clipboard ()->setText (urlStr, QClipboard::Selection); RemovePending (path); auto plugin = GetSenderPlugin (); const Entity& e = Util::MakeNotification (plugin->GetStorageName (), tr ("%1 is successfully uploaded, URL is pasted into clipboard.") .arg (QFileInfo (path).fileName ()), PInfo_); emit gotEntity (e); }
void UpManager::handleUploadRequest (IStorageAccount *acc, const QString& path) { if (!Uploads_.contains (acc)) { QObject *accObj = acc->GetObject (); connect (accObj, SIGNAL (gotURL (QUrl, QString)), this, SLOT (handleGotURL (QUrl, QString))); connect (accObj, SIGNAL (upError (QString, QString)), this, SLOT (handleError (QString, QString))); connect (accObj, SIGNAL (upStatusChanged (QString, QString)), this, SLOT (handleUpStatusChanged (QString, QString))); connect (accObj, SIGNAL (upProgress (quint64, quint64, QString)), this, SLOT (handleUpProgress (quint64, quint64, QString))); } else if (Uploads_ [acc].contains (path)) { const Entity& e = Util::MakeNotification ("NetStoreManager", tr ("%1 is already uploading to %2.") .arg (QFileInfo (path).fileName ()) .arg (acc->GetAccountName ()), PWarning_); emit gotEntity (e); return; } acc->Upload (path); auto plugin = qobject_cast<IStoragePlugin*> (acc->GetParentPlugin ()); QList<QStandardItem*> row; row << new QStandardItem (tr ("Uploading %1 to %2...") .arg (QFileInfo (path).fileName ()) .arg (plugin->GetStorageName ())); row << new QStandardItem (); row << new QStandardItem (tr ("Initializing...")); ReprModel_->appendRow (row); ReprItems_ [acc] [path] = row; }
void SyncWidget::RestoreData () { const auto& infos = XmlSettingsManager::Instance ().property ("Synchronization").value<QList<SyncerInfo>> (); for (const auto& info : infos) { auto isa = AM_->GetAccountFromUniqueID (info.AccountId_); if (!isa) { qWarning () << Q_FUNC_INFO << "there is no account with ID" << info.AccountId_; continue; } auto isp = qobject_cast<IStoragePlugin*> (isa->GetParentPlugin ()); if (!isp) continue; QStandardItem *accItem = new QStandardItem; accItem->setData (isp->GetStorageName () + ": " + isa->GetAccountName (), Qt::EditRole); accItem->setData (info.AccountId_, SyncItemDelegate::AccountId); QStandardItem *localDirItem = new QStandardItem; localDirItem->setData (info.LocalDirectory_, Qt::EditRole); QStandardItem *remoteDirItem = new QStandardItem; remoteDirItem->setData (info.RemoteDirectory_, Qt::EditRole); Model_->appendRow ({ accItem, localDirItem, remoteDirItem }); Ui_.SyncView_->openPersistentEditor (Model_->indexFromItem (accItem)); Ui_.SyncView_->resizeColumnToContents (SyncItemDelegate::Account); } RemoveInvalidRows (); RemoveDuplicateRows (); emit directoriesToSyncUpdated (GetInfos ()); }