diff --git a/src/profile_settings_window.py b/src/profile_settings_window.py index 36c8775..24381b5 100644 --- a/src/profile_settings_window.py +++ b/src/profile_settings_window.py @@ -399,6 +399,8 @@ class ProfileSettingsPage(QWidget, Ui_profile_settings): self.checkBox_bypass_data_preservation.stateChanged.connect(self.set_check_box_state) self.checkBox_delay_inotify_processing.stateChanged.connect(self.set_check_box_state) self.checkBox_force_session_upload.stateChanged.connect(self.set_check_box_state) + self.checkBox_disable_websocket_support.stateChanged.connect(self.set_check_box_state) + self.checkBox_disable_version_check.stateChanged.connect(self.set_check_box_state) self.lineEdit_user_agent.textChanged.connect(self.set_line_edit_value) self.lineEdit_azure_ad_endpoint.textChanged.connect(self.set_line_edit_value) self.lineEdit_azure_tenant_id.textChanged.connect(self.set_line_edit_value) @@ -497,6 +499,8 @@ class ProfileSettingsPage(QWidget, Ui_profile_settings): self.checkBox_bypass_data_preservation.setChecked(self.get_check_box_state("bypass_data_preservation")) self.checkBox_delay_inotify_processing.setChecked(self.get_check_box_state("delay_inotify_processing")) self.checkBox_force_session_upload.setChecked(self.get_check_box_state("force_session_upload")) + self.checkBox_disable_websocket_support.setChecked(self.get_check_box_state("disable_websocket_support")) + self.checkBox_disable_version_check.setChecked(self.get_check_box_state("disable_version_check")) self.lineEdit_user_agent.setText(self.temp_profile_config["onedrive"]["user_agent"].strip('"')) self.lineEdit_azure_ad_endpoint.setText(self.temp_profile_config["onedrive"]["azure_ad_endpoint"].strip('"')) self.lineEdit_azure_tenant_id.setText(self.temp_profile_config["onedrive"]["azure_tenant_id"].strip('"')) diff --git a/src/resources/default_config b/src/resources/default_config index d971a54..3166a97 100644 --- a/src/resources/default_config +++ b/src/resources/default_config @@ -54,3 +54,5 @@ force_session_upload = "false" delay_inotify_processing = "false" inotify_delay = "5" display_manager_integration = "false" +disable_websocket_support = "false" +disable_version_check = "false" diff --git a/src/ui/profile_settings_page.ui b/src/ui/profile_settings_page.ui index dd00bb1..b78420d 100644 --- a/src/ui/profile_settings_page.ui +++ b/src/ui/profile_settings_page.ui @@ -166,7 +166,7 @@ - Enable display manager integration for this profile. + Controls whether the client integrates the configured 'sync_dir' with the desktop's file manager (e.g. Nautilus for GNOME, Dolphin for KDE), adding it as a "special place" in the sidebar and setting a custom OneDrive folder icon where supported. Display manager integration @@ -722,6 +722,26 @@ + + + + This option disables the built-in WebSocket support that leverages RFC6455 to communicate with the Microsoft Graph API Service, providing near real-time notifications of online changes. + + + Disable WebSocket support + + + + + + + This option determines whether the client will check the GitHub API for the current application version and grace period of running older application versions + + + Disable version check + + + diff --git a/src/ui/ui_profile_settings_page.py b/src/ui/ui_profile_settings_page.py index 915680b..c8f654a 100644 --- a/src/ui/ui_profile_settings_page.py +++ b/src/ui/ui_profile_settings_page.py @@ -462,6 +462,16 @@ class Ui_profile_settings(object): self.gridLayout_4.addWidget(self.checkBox_delay_inotify_processing, 4, 3, 1, 1) + self.checkBox_disable_websocket_support = QCheckBox(self.groupBox_5) + self.checkBox_disable_websocket_support.setObjectName(u"checkBox_disable_websocket_support") + + self.gridLayout_4.addWidget(self.checkBox_disable_websocket_support, 5, 1, 1, 1) + + self.checkBox_disable_version_check = QCheckBox(self.groupBox_5) + self.checkBox_disable_version_check.setObjectName(u"checkBox_disable_version_check") + + self.gridLayout_4.addWidget(self.checkBox_disable_version_check, 5, 2, 1, 1) + self.verticalLayout_15.addWidget(self.groupBox_5) @@ -817,7 +827,7 @@ class Ui_profile_settings(object): #endif // QT_CONFIG(tooltip) self.checkBox_auto_sync.setText(QCoreApplication.translate("profile_settings", u"Auto-sync on GUI startup", None)) #if QT_CONFIG(tooltip) - self.checkBox_display_manager_integration.setToolTip(QCoreApplication.translate("profile_settings", u"Enable display manager integration for this profile.", None)) + self.checkBox_display_manager_integration.setToolTip(QCoreApplication.translate("profile_settings", u"Controls whether the client integrates the configured 'sync_dir' with the desktop's file manager (e.g. Nautilus for GNOME, Dolphin for KDE), adding it as a \"special place\" in the sidebar and setting a custom OneDrive folder icon where supported.", None)) #endif // QT_CONFIG(tooltip) self.checkBox_display_manager_integration.setText(QCoreApplication.translate("profile_settings", u"Display manager integration", None)) #if QT_CONFIG(tooltip) @@ -930,6 +940,14 @@ class Ui_profile_settings(object): self.checkBox_bypass_data_preservation.setText(QCoreApplication.translate("profile_settings", u"Bypass data preservation", None)) self.checkBox_display_running_config.setText(QCoreApplication.translate("profile_settings", u"Display running config", None)) self.checkBox_delay_inotify_processing.setText(QCoreApplication.translate("profile_settings", u"Delay inotify processing", None)) +#if QT_CONFIG(tooltip) + self.checkBox_disable_websocket_support.setToolTip(QCoreApplication.translate("profile_settings", u"This option disables the built-in WebSocket support that leverages RFC6455 to communicate with the Microsoft Graph API Service, providing near real-time notifications of online changes.", None)) +#endif // QT_CONFIG(tooltip) + self.checkBox_disable_websocket_support.setText(QCoreApplication.translate("profile_settings", u"Disable WebSocket support", None)) +#if QT_CONFIG(tooltip) + self.checkBox_disable_version_check.setToolTip(QCoreApplication.translate("profile_settings", u"This option determines whether the client will check the GitHub API for the current application version and grace period of running older application versions", None)) +#endif // QT_CONFIG(tooltip) + self.checkBox_disable_version_check.setText(QCoreApplication.translate("profile_settings", u"Disable version check", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), QCoreApplication.translate("profile_settings", u"Sync Options", None)) #if QT_CONFIG(tooltip) self.groupBox.setToolTip(QCoreApplication.translate("profile_settings", u"

This option is used to 'skip' certain files and supports pattern matching.

Patterns are case insensitive. * and ? wildcards characters are supported.

Use | to separate multiple patterns.

Files can be skipped in the following fashion:

-Specify a wildcard, eg: '*.txt' (skip all txt files)

-Explicitly specify the filename and it's full path relative to your sync_dir, eg: 'path/to/file/filename.ext'

-Explicitly specify the filename only and skip every instance of this filename, eg: 'filename.ext'