mirror of
https://github.com/onionshare/onionshare.git
synced 2025-03-25 15:08:12 -04:00
Add 'Try Again' button in AutoConnect bridge options. Update wording. Reset back to bridge/try again options if Tor Cancel clicked again
This commit is contained in:
parent
4f3313fd20
commit
5d8300df10
@ -95,6 +95,7 @@ class AutoConnectTab(QtWidgets.QWidget):
|
||||
# Use bridge widget
|
||||
self.use_bridge_widget = AutoConnectUseBridgeWidget(self.common)
|
||||
self.use_bridge_widget.connect_clicked.connect(self.use_bridge_connect_clicked)
|
||||
self.use_bridge_widget.try_again_clicked.connect(self.first_launch_widget_connect_clicked)
|
||||
self.use_bridge_widget.open_tor_settings.connect(self.open_tor_settings)
|
||||
self.use_bridge_widget.hide()
|
||||
|
||||
@ -192,6 +193,8 @@ class AutoConnectTab(QtWidgets.QWidget):
|
||||
"Trying to automatically obtain bridges",
|
||||
)
|
||||
self.use_bridge_widget.hide_buttons()
|
||||
self.use_bridge_widget.progress.show()
|
||||
self.use_bridge_widget.progress_label.show()
|
||||
|
||||
if self.use_bridge_widget.detect_automatic_radio.isChecked():
|
||||
country = False
|
||||
@ -259,6 +262,8 @@ class AutoConnectTab(QtWidgets.QWidget):
|
||||
self.tor_con.hide()
|
||||
self.first_launch_widget.show_buttons()
|
||||
self.use_bridge_widget.show_buttons()
|
||||
self.use_bridge_widget.progress.hide()
|
||||
self.use_bridge_widget.progress_label.hide()
|
||||
|
||||
if self.common.gui.onion.is_authenticated() and not self.tor_con.wasCanceled():
|
||||
# Tell the tabs that Tor is connected
|
||||
@ -279,6 +284,8 @@ class AutoConnectTab(QtWidgets.QWidget):
|
||||
self.first_launch_widget.show_buttons()
|
||||
self.first_launch_widget.hide()
|
||||
self.use_bridge_widget.show()
|
||||
else:
|
||||
self.use_bridge_widget.show_buttons()
|
||||
|
||||
def reload_settings(self):
|
||||
self.curr_settings.load()
|
||||
@ -374,6 +381,7 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
"""
|
||||
|
||||
connect_clicked = QtCore.Signal()
|
||||
try_again_clicked = QtCore.Signal()
|
||||
open_tor_settings = QtCore.Signal()
|
||||
|
||||
def __init__(self, common):
|
||||
@ -381,6 +389,13 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
self.common = common
|
||||
self.common.log("AutoConnectUseBridgeWidget", "__init__")
|
||||
|
||||
# Heading label when we fail to connect to Tor.
|
||||
failed_to_connect_label = QtWidgets.QLabel(
|
||||
strings._("gui_autoconnect_failed_to_connect_to_tor")
|
||||
)
|
||||
failed_to_connect_label.setTextFormat(QtCore.Qt.RichText)
|
||||
failed_to_connect_label.setStyleSheet(common.gui.css["autoconnect_failed_to_connect_label"])
|
||||
|
||||
# Description
|
||||
description_label = QtWidgets.QLabel(
|
||||
strings._("gui_autoconnect_bridge_description")
|
||||
@ -444,6 +459,13 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
self.connect_button.clicked.connect(self._connect_clicked)
|
||||
self.connect_button.setFixedWidth(150)
|
||||
self.connect_button.setStyleSheet(common.gui.css["autoconnect_start_button"])
|
||||
|
||||
self.try_again_button = QtWidgets.QPushButton(
|
||||
strings._("gui_autoconnect_try_again_without_a_bridge")
|
||||
)
|
||||
self.try_again_button.clicked.connect(self._try_again_clicked)
|
||||
self.try_again_button.setStyleSheet(common.gui.css["autoconnect_start_button"])
|
||||
|
||||
self.configure_button = QtWidgets.QPushButton(
|
||||
strings._("gui_autoconnect_configure")
|
||||
)
|
||||
@ -464,6 +486,7 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
|
||||
cta_layout = QtWidgets.QHBoxLayout()
|
||||
cta_layout.addWidget(self.connect_button)
|
||||
cta_layout.addWidget(self.try_again_button)
|
||||
cta_layout.addWidget(self.configure_button)
|
||||
cta_layout.addStretch()
|
||||
cta_widget = QtWidgets.QWidget()
|
||||
@ -471,6 +494,7 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
|
||||
# Layout
|
||||
layout = QtWidgets.QVBoxLayout()
|
||||
layout.addWidget(failed_to_connect_label)
|
||||
layout.addWidget(description_label)
|
||||
layout.addLayout(detect_layout)
|
||||
layout.addWidget(self.country_combobox)
|
||||
@ -486,15 +510,13 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
|
||||
def hide_buttons(self):
|
||||
self.connect_button.hide()
|
||||
self.try_again_button.hide()
|
||||
self.configure_button.hide()
|
||||
self.progress.show()
|
||||
self.progress_label.show()
|
||||
|
||||
def show_buttons(self):
|
||||
self.connect_button.show()
|
||||
self.try_again_button.show()
|
||||
self.configure_button.show()
|
||||
self.progress.hide()
|
||||
self.progress_label.hide()
|
||||
|
||||
def _country_changed(self, index=None):
|
||||
self.country_code = str(self.country_combobox.currentData()).lower()
|
||||
@ -528,5 +550,13 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
|
||||
self.country_combobox.setEnabled(False)
|
||||
self.connect_clicked.emit()
|
||||
|
||||
def _try_again_clicked(self):
|
||||
self.detect_automatic_radio.setEnabled(False)
|
||||
self.detect_manual_radio.setEnabled(False)
|
||||
|
||||
self.country_combobox.setEnabled(False)
|
||||
self.hide_buttons()
|
||||
self.try_again_clicked.emit()
|
||||
|
||||
def _open_tor_settings(self):
|
||||
self.open_tor_settings.emit()
|
||||
|
@ -194,6 +194,11 @@ class GuiCommon:
|
||||
font-weight: bold;
|
||||
}
|
||||
""",
|
||||
"autoconnect_failed_to_connect_label": """
|
||||
QLabel {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}""",
|
||||
# Common styles between modes and their child widgets
|
||||
"mode_settings_toggle_advanced": """
|
||||
QPushButton {
|
||||
|
@ -44,13 +44,14 @@
|
||||
"gui_tor_settings_window_title": "Tor Settings",
|
||||
"gui_autoconnect_description": "OnionShare relies on the Tor Network, run by thousands of volunteers around the world.",
|
||||
"gui_enable_autoconnect_checkbox": "Connect to Tor automatically",
|
||||
"gui_autoconnect_bridge_description": "<b>Failed connecting to Tor.</b> This could be because your internet is being censored.<br>You might be able to bypass this censorship by using a bridge.<br><br>Or, you might just need to configure the Tor connection in Network Settings.",
|
||||
"gui_autoconnect_bridge_detect_automatic": "Automatically determine my country from my IP address, to bypass country-specific censorship",
|
||||
"gui_autoconnect_bridge_detect_manual": "Manually select my country instead",
|
||||
"gui_autoconnect_failed_to_connect_to_tor": "Failed to connect to Tor.",
|
||||
"gui_autoconnect_bridge_description": "Are you connected to the internet?<br><br>It's also possible your internet is being censored.<br><br>You might be able to bypass this using a bridge.",
|
||||
"gui_autoconnect_bridge_detect_automatic": "Automatically determine my country from my IP address",
|
||||
"gui_autoconnect_bridge_detect_manual": "Manually select my country",
|
||||
"gui_autoconnect_start": "Connect to Tor",
|
||||
"gui_autoconnect_configure": "Network Settings",
|
||||
"gui_autoconnect_bridge_start": "Use a Bridge",
|
||||
"gui_autoconnect_bridge_back": "Back",
|
||||
"gui_autoconnect_try_again_without_a_bridge": "Try again without a Bridge",
|
||||
"gui_autoconnect_circumventing_censorship": "Trying to resolve connectivity issues",
|
||||
"gui_autoconnect_circumventing_censorship_starting_circumvention": "Starting censorship circumvention process",
|
||||
"gui_autoconnect_circumventing_censorship_starting_meek": "Starting Meek for domain-fronting",
|
||||
@ -247,4 +248,4 @@
|
||||
"moat_captcha_error": "The solution is not correct. Please try again.",
|
||||
"moat_solution_empty_error": "You must enter the characters from the image",
|
||||
"mode_tor_not_connected_label": "OnionShare is not connected to the Tor network"
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user