fix replay download not working if replay folder is empty (#5355)

* fix downloading single replays

* fix downloading replay folder
This commit is contained in:
RickyRister 2024-12-27 22:15:25 -08:00 committed by GitHub
parent 6a151ef97a
commit 3452cb01d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -326,7 +326,8 @@ void TabReplays::downloadNodeAtIndex(const QModelIndex &curLeft, const QModelInd
const QString name =
QString::number(replayMatch->game_id()) + "_" + QString::fromStdString(replayMatch->game_name());
const auto newDirIndex = localDirModel->mkdir(curLeft, name);
const auto dirIndex = curLeft.isValid() ? curLeft : localDirModel->index(localDirModel->rootPath());
const auto newDirIndex = localDirModel->mkdir(dirIndex, name);
int rows = serverDirView->model()->rowCount(curRight);
for (int i = 0; i < rows; i++) {
@ -335,7 +336,8 @@ void TabReplays::downloadNodeAtIndex(const QModelIndex &curLeft, const QModelInd
}
} else if (const auto replay = serverDirView->getReplay(curRight)) {
// node at index is a replay
const QString filePath = localDirModel->filePath(curLeft) + QString("/replay_%1.cor").arg(replay->replay_id());
const QString dirPath = curLeft.isValid() ? localDirModel->filePath(curLeft) : localDirModel->rootPath();
const QString filePath = dirPath + QString("/replay_%1.cor").arg(replay->replay_id());
Command_ReplayDownload cmd;
cmd.set_replay_id(replay->replay_id());