void RepoTreeModel::removeReposDeletedOnServer(const std::vector<ServerRepo>& repos) { int i, n; DeleteRepoData data; n = repos.size(); for (i = 0; i < n; i++) { const ServerRepo& repo = repos[i]; data.map.insert(repo.id, &repo); } forEachRepoItem(&RepoTreeModel::collectDeletedRepos, (void *)&data); QListIterator<RepoItem*> iter(data.itemsToDelete); while(iter.hasNext()) { RepoItem *item = iter.next(); const ServerRepo& repo = item->repo(); qDebug("remove repo %s(%s) from \"%s\"\n", toCStr(repo.name), toCStr(repo.id), toCStr(((RepoCategoryItem*)item->parent())->name())); item->parent()->removeRow(item->row()); } }
void RepoTreeModel::refreshLocalRepos() { if (!seafApplet->mainWindow()->isVisible()) { return; } std::vector<CloneTask> tasks; seafApplet->rpcClient()->getCloneTasks(&tasks); forEachRepoItem(&RepoTreeModel::refreshRepoItem, (void*) &tasks); }
void RepoTreeModel::updateRepoItemAfterSyncNow(const QString& repo_id) { QString id = repo_id; forEachRepoItem(&RepoTreeModel::updateRepoItemAfterSyncNow, (void*) &id); }
void RepoTreeModel::refreshLocalRepos() { forEachRepoItem(&RepoTreeModel::refreshRepoItem, NULL); }