void DriveManager::handleUploadFinished () { QNetworkReply *reply = qobject_cast<QNetworkReply*> (sender ()); if (!reply) return; reply->deleteLater (); bool ok = false; const auto& res = QJson::Parser ().parse (reply->readAll (), &ok); if (!ok) { qDebug () << Q_FUNC_INFO << "parse error"; return; } const auto& map = res.toMap (); const auto& id = map ["id"].toString (); if (!map.contains ("error")) { qDebug () << Q_FUNC_INFO << "file uploaded successfully"; RefreshListing (); emit gotNewItem (CreateDriveItem (res)); emit finished (id, Reply2FilePath_.take (reply)); return; } ParseError (map); }
void DriveManager::handleMoveItem () { QNetworkReply *reply = qobject_cast<QNetworkReply*> (sender ()); if (!reply) return; reply->deleteLater (); bool ok = false; const auto& res = QJson::Parser ().parse (reply->readAll (), &ok); if (!ok) { qDebug () << Q_FUNC_INFO << "parse error"; return; } if (!res.toMap ().contains ("error")) { qDebug () << Q_FUNC_INFO << "entry moved successfully"; RefreshListing (); return; } ParseError (res.toMap ()); }
void DriveManager::handleGotFiles () { QNetworkReply *reply = qobject_cast<QNetworkReply*> (sender ()); if (!reply) return; reply->deleteLater (); bool ok = false; const auto& res = QJson::Parser ().parse (reply->readAll (), &ok); if (!ok) { qDebug () << Q_FUNC_INFO << "parse error"; return; } const auto& resMap = res.toMap (); if (!resMap.contains ("items")) { qDebug () << Q_FUNC_INFO << "there are no items"; if (SecondRequestIfNoItems_) { SecondRequestIfNoItems_ = false; RefreshListing (); } return; } if (resMap.contains ("error")) { ParseError (res.toMap ()); return; } SecondRequestIfNoItems_ = true; QList<DriveItem> resList; Q_FOREACH (const auto& item, resMap ["items"].toList ()) { const auto& driveItem = CreateDriveItem (item); if (driveItem.Name_.isEmpty ()) continue; resList << driveItem; } emit gotFiles (resList); }
void CLocalTreeView::SetDir(wxString localDir) { if (m_currentDir == localDir) { RefreshListing(); return; } if (localDir.Left(2) == _T("\\\\")) { // TODO: UNC path, don't display it yet m_currentDir = _T(""); SafeSelectItem(wxTreeItemId()); return; } m_currentDir = localDir; #ifdef __WXMSW__ if (localDir == _T("\\")) { SafeSelectItem(m_drives); return; } #endif wxString subDirs = localDir; wxTreeItemId parent = GetNearestParent(subDirs); if (!parent) { SafeSelectItem(wxTreeItemId()); return; } if (subDirs.empty()) { SafeSelectItem(parent); return; } wxTreeItemId item = MakeSubdirs(parent, localDir.Left(localDir.Length() - subDirs.Length()), subDirs); if (!item) return; SafeSelectItem(item); }