Add help button to settings dialog, which takes user to the wiki

This commit is contained in:
Miguel Jacq 2017-05-20 13:56:20 +10:00
parent d3eeda887b
commit 2846798858
No known key found for this signature in database
GPG Key ID: EEA4341C6D97A0B6
2 changed files with 19 additions and 1 deletions

View File

@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
""" """
from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5 import QtCore, QtWidgets, QtGui
import sys, platform, datetime import os, sys, platform, datetime, webbrowser
from onionshare import strings, common from onionshare import strings, common
from onionshare.settings import Settings from onionshare.settings import Settings
@ -213,10 +213,13 @@ class SettingsDialog(QtWidgets.QDialog):
self.save_button.clicked.connect(self.save_clicked) self.save_button.clicked.connect(self.save_clicked)
self.cancel_button = QtWidgets.QPushButton(strings._('gui_settings_button_cancel', True)) self.cancel_button = QtWidgets.QPushButton(strings._('gui_settings_button_cancel', True))
self.cancel_button.clicked.connect(self.cancel_clicked) self.cancel_button.clicked.connect(self.cancel_clicked)
self.help_button = QtWidgets.QPushButton(strings._('gui_settings_button_help', True))
self.help_button.clicked.connect(self.help_clicked)
buttons_layout = QtWidgets.QHBoxLayout() buttons_layout = QtWidgets.QHBoxLayout()
buttons_layout.addStretch() buttons_layout.addStretch()
buttons_layout.addWidget(self.save_button) buttons_layout.addWidget(self.save_button)
buttons_layout.addWidget(self.cancel_button) buttons_layout.addWidget(self.cancel_button)
buttons_layout.addWidget(self.help_button)
# Tor network connection status # Tor network connection status
self.tor_status = QtWidgets.QLabel() self.tor_status = QtWidgets.QLabel()
@ -490,6 +493,20 @@ class SettingsDialog(QtWidgets.QDialog):
common.log('SettingsDialog', 'cancel_clicked') common.log('SettingsDialog', 'cancel_clicked')
self.close() self.close()
def help_clicked(self):
"""
Help button clicked.
"""
common.log('SettingsDialog', 'help_clicked')
help_site = 'https://github.com/micahflee/onionshare/wiki'
system = platform.system()
if system == 'Darwin':
# Work around bug in webbrowser on OS X
# see http://bugs.python.org/issue30392
os.system('open {}'.format(help_site))
else:
webbrowser.open(help_site)
def settings_from_fields(self): def settings_from_fields(self):
""" """
Return a Settings object that's full of values from the settings dialog. Return a Settings object that's full of values from the settings dialog.

View File

@ -81,6 +81,7 @@
"gui_settings_cookie_label": "Cookie path", "gui_settings_cookie_label": "Cookie path",
"gui_settings_button_save": "Save", "gui_settings_button_save": "Save",
"gui_settings_button_cancel": "Cancel", "gui_settings_button_cancel": "Cancel",
"gui_settings_button_help": "Help",
"settings_saved": "Settings saved to {}", "settings_saved": "Settings saved to {}",
"settings_error_unknown": "Can't connect to Tor controller because the settings don't make sense.", "settings_error_unknown": "Can't connect to Tor controller because the settings don't make sense.",
"settings_error_automatic": "Can't connect to Tor controller. Is Tor Browser running in the background? If you don't have it you can get it from:\nhttps://www.torproject.org/.", "settings_error_automatic": "Can't connect to Tor controller. Is Tor Browser running in the background? If you don't have it you can get it from:\nhttps://www.torproject.org/.",