mirror of
https://github.com/nextcloud/desktop.git
synced 2025-10-26 11:17:43 +00:00
Add method to generate materialised item models in settings controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
parent
85b3a135b6
commit
c1a5e788f8
@ -17,6 +17,8 @@
|
||||
#include <QObject>
|
||||
#include <QtQuickWidgets/QtQuickWidgets>
|
||||
|
||||
class QAbstractListModel;
|
||||
|
||||
namespace OCC {
|
||||
|
||||
class UserInfo;
|
||||
@ -41,6 +43,8 @@ public:
|
||||
[[nodiscard]] unsigned long long remoteStorageUsageForAccount(const QString &userIdAtHost) const;
|
||||
[[nodiscard]] Q_INVOKABLE float remoteStorageUsageGbForAccount(const QString &userIdAtHost) const;
|
||||
|
||||
[[nodiscard]] Q_INVOKABLE QAbstractListModel *materialisedItemsModelForAccount(const QString &userIdAtHost);
|
||||
|
||||
public slots:
|
||||
void setVfsEnabledForAccount(const QString &userIdAtHost, const bool setEnabled);
|
||||
|
||||
|
||||
@ -364,6 +364,28 @@ float FileProviderSettingsController::remoteStorageUsageGbForAccount(const QStri
|
||||
return gbFromBytesWithOneDecimal(remoteStorageUsageForAccount(userIdAtHost));
|
||||
}
|
||||
|
||||
QAbstractListModel *FileProviderSettingsController::materialisedItemsModelForAccount(const QString &userIdAtHost)
|
||||
{
|
||||
const auto items = d->materialisedItemsForAccount(userIdAtHost);
|
||||
if (items.isEmpty()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const auto model = new FileProviderMaterialisedItemsModel(this);
|
||||
model->setItems(items);
|
||||
|
||||
connect(this, &FileProviderSettingsController::materialisedItemsForAccountChanged, model, [this, model, userIdAtHost](const QString &accountUserIdAtHost) {
|
||||
if (accountUserIdAtHost != userIdAtHost) {
|
||||
return;
|
||||
}
|
||||
|
||||
const auto items = d->materialisedItemsForAccount(userIdAtHost);
|
||||
model->setItems(items);
|
||||
});
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
} // namespace Mac
|
||||
|
||||
} // namespace OCC
|
||||
|
||||
Loading…
Reference in New Issue
Block a user