aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2023-10-17 09:39:06 +1100
committerMiguel Jacq <mig@mig5.net>2023-10-17 09:39:06 +1100
commitadd88ef21596a43bc0c2f60d051366ef3dffb73c (patch)
tree3c6ae2469f65b9740f9651cae85c8faa6c681b5d
parent7c112661071f039c9613c4dc71b193bf28f2e473 (diff)
downloadonionshare-enforce_one_receive_mode_type.tar.gz
onionshare-enforce_one_receive_mode_type.zip
Prevent disabling files as well as text (or vice versa) in receive modeenforce_one_receive_mode_type
-rw-r--r--desktop/onionshare/gui_common.py4
-rw-r--r--desktop/onionshare/tab/mode/receive_mode/__init__.py12
2 files changed, 16 insertions, 0 deletions
diff --git a/desktop/onionshare/gui_common.py b/desktop/onionshare/gui_common.py
index e3d712f5..fcbf47f7 100644
--- a/desktop/onionshare/gui_common.py
+++ b/desktop/onionshare/gui_common.py
@@ -471,6 +471,10 @@ class GuiCommon:
QPushButton {
padding: 5px 10px;
}""",
+ "receive_options": """
+ QCheckBox:disabled {
+ color: #666666;
+ }""",
# Tor Settings dialogs
"tor_settings_error": """
QLabel {
diff --git a/desktop/onionshare/tab/mode/receive_mode/__init__.py b/desktop/onionshare/tab/mode/receive_mode/__init__.py
index 87f8fc5f..bfa85459 100644
--- a/desktop/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/receive_mode/__init__.py
@@ -85,12 +85,14 @@ class ReceiveMode(Mode):
self.disable_text_checkbox.setText(
strings._("mode_settings_receive_disable_text_checkbox")
)
+ self.disable_text_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
self.disable_files_checkbox = self.settings.get("receive", "disable_files")
self.disable_files_checkbox = QtWidgets.QCheckBox()
self.disable_files_checkbox.clicked.connect(self.disable_files_checkbox_clicked)
self.disable_files_checkbox.setText(
strings._("mode_settings_receive_disable_files_checkbox")
)
+ self.disable_files_checkbox.setStyleSheet(self.common.gui.css["receive_options"])
disable_layout = QtWidgets.QHBoxLayout()
disable_layout.addWidget(self.disable_text_checkbox)
disable_layout.addWidget(self.disable_files_checkbox)
@@ -235,11 +237,21 @@ class ReceiveMode(Mode):
self.settings.set(
"receive", "disable_text", self.disable_text_checkbox.isChecked()
)
+ if self.disable_text_checkbox.isChecked():
+ # Prevent also disabling files if text is disabled
+ self.disable_files_checkbox.setDisabled(True)
+ else:
+ self.disable_files_checkbox.setDisabled(False)
def disable_files_checkbox_clicked(self):
self.settings.set(
"receive", "disable_files", self.disable_files_checkbox.isChecked()
)
+ if self.disable_files_checkbox.isChecked():
+ # Prevent also disabling text if files is disabled
+ self.disable_text_checkbox.setDisabled(True)
+ else:
+ self.disable_text_checkbox.setDisabled(False)
def webhook_url_checkbox_clicked(self):
if self.webhook_url_checkbox.isChecked():