Lazily load settings view widget

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-09-04 17:59:58 +08:00
parent d80962b634
commit 0e02a64c5e
No known key found for this signature in database
GPG key ID: C839200C384636B0
2 changed files with 9 additions and 0 deletions

View file

@ -32,6 +32,8 @@ public:
[[nodiscard]] QQuickWidget *settingsViewWidget();
private:
void instantiateSettingsWidget();
class MacImplementation;
std::unique_ptr<MacImplementation> d;

View file

@ -60,7 +60,10 @@ FileProviderSettingsController::FileProviderSettingsController(QObject *parent)
: QObject{parent}
{
d = std::make_unique<FileProviderSettingsController::MacImplementation>(this);
}
void FileProviderSettingsController::instantiateSettingsWidget()
{
_settingsViewWidget = std::make_unique<QQuickWidget>(Systray::instance()->trayEngine(), nullptr);
_settingsViewWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);
_settingsViewWidget->setSource(QUrl(fpSettingsQmlPath));
@ -69,6 +72,10 @@ FileProviderSettingsController::FileProviderSettingsController(QObject *parent)
QQuickWidget *FileProviderSettingsController::settingsViewWidget()
{
if (!_settingsViewWidget) {
instantiateSettingsWidget();
}
return _settingsViewWidget.get();
}