mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-27 23:17:13 +03:00
[CSE] Fix infoForFileId
We need to traverse the path recursivelly.
This commit is contained in:
parent
ce41e3e42f
commit
7ef2489f1d
3 changed files with 17 additions and 5 deletions
|
@ -408,7 +408,7 @@ void AccountSettings::slotDecryptionFlagError(const QByteArray& fileID, int http
|
||||||
|
|
||||||
void AccountSettings::slotUnlockForDecryptionError(const QByteArray& fileId, int httpReturnCode)
|
void AccountSettings::slotUnlockForDecryptionError(const QByteArray& fileId, int httpReturnCode)
|
||||||
{
|
{
|
||||||
|
qDebug() << "Error unlocking folder after decryption";
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountSettings::slotDeleteMetadataError(const QByteArray& fileId, int httpReturnCode)
|
void AccountSettings::slotDeleteMetadataError(const QByteArray& fileId, int httpReturnCode)
|
||||||
|
|
|
@ -396,12 +396,24 @@ FolderStatusModel::SubFolderInfo *FolderStatusModel::infoForIndex(const QModelIn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FolderStatusModel::SubFolderInfo *FolderStatusModel::infoForFileId(const QByteArray& fileId) const
|
|
||||||
|
/* Recursivelly traverse the file info looking for the id */
|
||||||
|
FolderStatusModel::SubFolderInfo *FolderStatusModel::infoForFileId(const QByteArray& fileId, SubFolderInfo* info) const
|
||||||
{
|
{
|
||||||
for(int i = 0, end = _folders.size(); i < end; i++) {
|
qDebug() << "Looking for " << fileId;
|
||||||
auto *info = const_cast<SubFolderInfo *>(&_folders[i]);
|
qDebug() << "Current size of the folders array" << _folders.size();
|
||||||
|
|
||||||
|
// We are in the root folder, start.
|
||||||
|
const QVector<SubFolderInfo>& infoVec = info ? info->_subs : _folders;
|
||||||
|
for(int i = 0, end = infoVec.size(); i < end; i++) {
|
||||||
|
auto *info = const_cast<SubFolderInfo *>(&infoVec[i]);
|
||||||
|
qDebug() << "Current file id " << info->_fileId;
|
||||||
if (info->_fileId == fileId) {
|
if (info->_fileId == fileId) {
|
||||||
return info;
|
return info;
|
||||||
|
} else if (info->_subs.size()) {
|
||||||
|
if (auto *subInfo = infoForFileId(fileId, info)) {
|
||||||
|
return subInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ public:
|
||||||
FetchLabel };
|
FetchLabel };
|
||||||
ItemType classify(const QModelIndex &index) const;
|
ItemType classify(const QModelIndex &index) const;
|
||||||
SubFolderInfo *infoForIndex(const QModelIndex &index) const;
|
SubFolderInfo *infoForIndex(const QModelIndex &index) const;
|
||||||
SubFolderInfo *infoForFileId(const QByteArray &fileId) const;
|
SubFolderInfo *infoForFileId(const QByteArray &fileId, SubFolderInfo *info = nullptr) const;
|
||||||
// If the selective sync check boxes were changed
|
// If the selective sync check boxes were changed
|
||||||
bool isDirty() { return _dirty; }
|
bool isDirty() { return _dirty; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue