Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion src/gui/application.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,20 @@ Application::Application(int &argc, char **argv)
}

#if WITH_LIBCLOUDPROVIDERS
_gui->setupCloudProviders();
// Configuration: showCloudProvidersInFileManager (default: true)
// This setting controls whether Nextcloud folders are exposed via the freedesktop
// CloudProviders D-Bus interface to file managers (Nautilus, etc.).
//
// Note: This is a config-file-only setting, not exposed in the UI, as it addresses
// a niche use case.
//
// Future: This global setting should be deprecated once file managers implement
// per-entry visibility controls for CloudProviders mount points. When that happens,
// users will be able to selectively hide individual cloud provider entries directly
// in their file manager preferences.
if (ConfigFile().showCloudProvidersInFileManager()) {
_gui->setupCloudProviders();
}
#endif

if (_theme->doNotUseProxy()) {
Expand Down
13 changes: 13 additions & 0 deletions src/libsync/configfile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,19 @@ void ConfigFile::setShowInExplorerNavigationPane(bool show)
settings.sync();
}

bool ConfigFile::showCloudProvidersInFileManager() const
{
QSettings settings(configFile(), QSettings::IniFormat);
return settings.value(showCloudProvidersInFileManagerC, true).toBool();
}

void ConfigFile::setShowCloudProvidersInFileManager(bool show)
{
QSettings settings(configFile(), QSettings::IniFormat);
settings.setValue(showCloudProvidersInFileManagerC, show);
settings.sync();
}

int ConfigFile::timeout() const
{
QSettings settings(configFile(), QSettings::IniFormat);
Expand Down
4 changes: 4 additions & 0 deletions src/libsync/configfile.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ class OWNCLOUDSYNC_EXPORT ConfigFile
[[nodiscard]] bool showInExplorerNavigationPane() const;
void setShowInExplorerNavigationPane(bool show);

[[nodiscard]] bool showCloudProvidersInFileManager() const;
void setShowCloudProvidersInFileManager(bool show);

[[nodiscard]] int timeout() const;
[[nodiscard]] qint64 chunkSize() const;
[[nodiscard]] qint64 maxChunkSize() const;
Expand Down Expand Up @@ -296,6 +299,7 @@ class OWNCLOUDSYNC_EXPORT ConfigFile
static constexpr char showQuotaWarningNotificationsC[] = "showQuotaWarningNotifications";
static constexpr char showChatNotificationsC[] = "showChatNotifications";
static constexpr char showInExplorerNavigationPaneC[] = "showInExplorerNavigationPane";
static constexpr char showCloudProvidersInFileManagerC[] = "showCloudProvidersInFileManager";
static constexpr char confirmExternalStorageC[] = "confirmExternalStorage";
static constexpr char useNewBigFolderSizeLimitC[] = "useNewBigFolderSizeLimit";
static constexpr char newBigFolderSizeLimitC[] = "newBigFolderSizeLimit";
Expand Down