diff --git a/desktop/src/onionshare/gui_common.py b/desktop/src/onionshare/gui_common.py
index 5634d5f6..3559eb92 100644
--- a/desktop/src/onionshare/gui_common.py
+++ b/desktop/src/onionshare/gui_common.py
@@ -392,15 +392,6 @@ class GuiCommon:
QPushButton {
padding: 5px 10px;
}""",
- # Settings dialogs
- "settings_version": """
- QLabel {
- font-size: 16px;
- }""",
- "settings_whats_this": """
- QLabel {
- font-size: 12px;
- }""",
}
def get_tor_paths(self):
diff --git a/desktop/src/onionshare/resources/locale/en.json b/desktop/src/onionshare/resources/locale/en.json
index 3d6c8539..13326c4c 100644
--- a/desktop/src/onionshare/resources/locale/en.json
+++ b/desktop/src/onionshare/resources/locale/en.json
@@ -67,12 +67,14 @@
"gui_settings_tor_bridges_meek_lite_azure_radio_option": "Use built-in meek-azure bridge",
"gui_settings_tor_bridges_snowflake_radio_option": "Use built-in snowflake bridge",
"gui_settings_meek_lite_expensive_warning": "Warning: The meek-azure bridges are very costly for the Tor Project to run.
Only use them if unable to connect to Tor directly, via obfs4 transports, or other normal bridges.",
- "gui_settings_tor_bridges_custom_radio_option": "Use custom bridges",
- "gui_settings_tor_bridges_custom_label": "You can get bridges from https://bridges.torproject.org",
+ "gui_settings_tor_bridges_moat_radio_option": "Request a bridge from torproject.org",
+ "gui_settings_tor_bridges_custom_radio_option": "Provide a bridge you learned about from a trusted source",
"gui_settings_tor_bridges_invalid": "None of the bridges you added work.\nDouble-check them or add others.",
"gui_settings_button_save": "Save",
"gui_settings_button_cancel": "Cancel",
"gui_settings_button_help": "Help",
+ "gui_settings_version_label": "You are using OnionShare {}",
+ "gui_settings_help_label": "Need help? See docs.onionshare.org",
"settings_test_success": "Connected to the Tor controller.\n\nTor version: {}\nSupports ephemeral onion services: {}.\nSupports client authentication: {}.\nSupports next-gen .onion addresses: {}.",
"connecting_to_tor": "Connecting to the Tor network",
"update_available": "New OnionShare out. Click here to get it.
You are using {} and the latest is {}.",
diff --git a/desktop/src/onionshare/settings_dialog.py b/desktop/src/onionshare/settings_dialog.py
index 5bb7be1c..b1003386 100644
--- a/desktop/src/onionshare/settings_dialog.py
+++ b/desktop/src/onionshare/settings_dialog.py
@@ -71,17 +71,6 @@ class SettingsDialog(QtWidgets.QDialog):
self.system = platform.system()
- # Header
- version_label = QtWidgets.QLabel(f"OnionShare {self.common.version}")
- version_label.setStyleSheet(self.common.gui.css["settings_version"])
- self.help_button = QtWidgets.QPushButton(strings._("gui_settings_button_help"))
- self.help_button.clicked.connect(self.help_clicked)
- header_layout = QtWidgets.QHBoxLayout()
- header_layout.addStretch()
- header_layout.addWidget(version_label)
- header_layout.addWidget(self.help_button)
- header_layout.addStretch()
-
# Automatic updates options
# Autoupdate
@@ -146,6 +135,14 @@ class SettingsDialog(QtWidgets.QDialog):
theme_layout.addWidget(self.theme_combobox)
theme_layout.addStretch()
+ # Version and help
+ version_label = QtWidgets.QLabel(
+ strings._("gui_settings_version_label").format(self.common.version)
+ )
+ help_label = QtWidgets.QLabel(strings._("gui_settings_help_label"))
+ help_label.setTextInteractionFlags(QtCore.Qt.TextBrowserInteraction)
+ help_label.setOpenExternalLinks(True)
+
# Buttons
self.save_button = QtWidgets.QPushButton(strings._("gui_settings_button_save"))
self.save_button.clicked.connect(self.save_clicked)
@@ -160,8 +157,6 @@ class SettingsDialog(QtWidgets.QDialog):
# Layout
layout = QtWidgets.QVBoxLayout()
- layout.addLayout(header_layout)
- layout.addSpacing(20)
layout.addWidget(autoupdate_group)
if autoupdate_group.isVisible():
layout.addSpacing(20)
@@ -169,6 +164,9 @@ class SettingsDialog(QtWidgets.QDialog):
layout.addLayout(theme_layout)
layout.addSpacing(20)
layout.addStretch()
+ layout.addWidget(version_label)
+ layout.addWidget(help_label)
+ layout.addSpacing(20)
layout.addLayout(buttons_layout)
self.setLayout(layout)
diff --git a/desktop/src/onionshare/tor_settings_dialog.py b/desktop/src/onionshare/tor_settings_dialog.py
index 00d221a7..dc16e822 100644
--- a/desktop/src/onionshare/tor_settings_dialog.py
+++ b/desktop/src/onionshare/tor_settings_dialog.py
@@ -160,6 +160,38 @@ class TorSettingsDialog(QtWidgets.QDialog):
)
self.tor_bridges_use_snowflake_radio.hide()
+ # Request a bridge from torproject.org (moat)
+ # self.tor_bridges_use_moat_radio = QtWidgets.QRadioButton(
+ # strings._("gui_settings_tor_bridges_moat_radio_option")
+ # )
+ # self.tor_bridges_use_moat_radio.toggled.connect(
+ # self.tor_bridges_use_moat_radio_toggled
+ # )
+
+ # self.tor_bridges_use_moat_label = QtWidgets.QLabel(
+ # strings._("gui_settings_tor_bridges_moat_label")
+ # )
+ # self.tor_bridges_use_custom_label.setOpenExternalLinks(True)
+ # self.tor_bridges_use_custom_textbox = QtWidgets.QPlainTextEdit()
+ # self.tor_bridges_use_custom_textbox.setMaximumHeight(200)
+ # self.tor_bridges_use_custom_textbox.setPlaceholderText(
+ # "[address:port] [identifier]"
+ # )
+
+ # tor_bridges_use_custom_textbox_options_layout = QtWidgets.QVBoxLayout()
+ # tor_bridges_use_custom_textbox_options_layout.addWidget(
+ # self.tor_bridges_use_custom_label
+ # )
+ # tor_bridges_use_custom_textbox_options_layout.addWidget(
+ # self.tor_bridges_use_custom_textbox
+ # )
+
+ # self.tor_bridges_use_custom_textbox_options = QtWidgets.QWidget()
+ # self.tor_bridges_use_custom_textbox_options.setLayout(
+ # tor_bridges_use_custom_textbox_options_layout
+ # )
+ # self.tor_bridges_use_custom_textbox_options.hide()
+
# Custom bridges radio and textbox
self.tor_bridges_use_custom_radio = QtWidgets.QRadioButton(
strings._("gui_settings_tor_bridges_custom_radio_option")
@@ -167,14 +199,6 @@ class TorSettingsDialog(QtWidgets.QDialog):
self.tor_bridges_use_custom_radio.toggled.connect(
self.tor_bridges_use_custom_radio_toggled
)
-
- self.tor_bridges_use_custom_label = QtWidgets.QLabel(
- strings._("gui_settings_tor_bridges_custom_label")
- )
- self.tor_bridges_use_custom_label.setTextInteractionFlags(
- QtCore.Qt.TextBrowserInteraction
- )
- self.tor_bridges_use_custom_label.setOpenExternalLinks(True)
self.tor_bridges_use_custom_textbox = QtWidgets.QPlainTextEdit()
self.tor_bridges_use_custom_textbox.setMaximumHeight(200)
self.tor_bridges_use_custom_textbox.setPlaceholderText(
@@ -182,9 +206,6 @@ class TorSettingsDialog(QtWidgets.QDialog):
)
tor_bridges_use_custom_textbox_options_layout = QtWidgets.QVBoxLayout()
- tor_bridges_use_custom_textbox_options_layout.addWidget(
- self.tor_bridges_use_custom_label
- )
tor_bridges_use_custom_textbox_options_layout.addWidget(
self.tor_bridges_use_custom_textbox
)