summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Jacq <mig@mig5.net>2017-05-20 13:56:20 +1000
committerMiguel Jacq <mig@mig5.net>2017-05-20 13:56:20 +1000
commit284679885874a9418ed4ada47bbff286b37968cf (patch)
tree2dafd75cf3e477842d2089cbb994f381d894894a
parentd3eeda887bbd9eaffbd559bcd1d989ce732aa44d (diff)
downloadonionshare-284679885874a9418ed4ada47bbff286b37968cf.tar.gz
onionshare-284679885874a9418ed4ada47bbff286b37968cf.zip
Add help button to settings dialog, which takes user to the wiki
-rw-r--r--onionshare_gui/settings_dialog.py19
-rw-r--r--share/locale/en.json1
2 files changed, 19 insertions, 1 deletions
diff --git a/onionshare_gui/settings_dialog.py b/onionshare_gui/settings_dialog.py
index 79a35101..64e47dd4 100644
--- a/onionshare_gui/settings_dialog.py
+++ b/onionshare_gui/settings_dialog.py
@@ -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/>.
"""
from PyQt5 import QtCore, QtWidgets, QtGui
-import sys, platform, datetime
+import os, sys, platform, datetime, webbrowser
from onionshare import strings, common
from onionshare.settings import Settings
@@ -213,10 +213,13 @@ class SettingsDialog(QtWidgets.QDialog):
self.save_button.clicked.connect(self.save_clicked)
self.cancel_button = QtWidgets.QPushButton(strings._('gui_settings_button_cancel', True))
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.addStretch()
buttons_layout.addWidget(self.save_button)
buttons_layout.addWidget(self.cancel_button)
+ buttons_layout.addWidget(self.help_button)
# Tor network connection status
self.tor_status = QtWidgets.QLabel()
@@ -490,6 +493,20 @@ class SettingsDialog(QtWidgets.QDialog):
common.log('SettingsDialog', 'cancel_clicked')
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):
"""
Return a Settings object that's full of values from the settings dialog.
diff --git a/share/locale/en.json b/share/locale/en.json
index 701b067c..c1c14263 100644
--- a/share/locale/en.json
+++ b/share/locale/en.json
@@ -81,6 +81,7 @@
"gui_settings_cookie_label": "Cookie path",
"gui_settings_button_save": "Save",
"gui_settings_button_cancel": "Cancel",
+ "gui_settings_button_help": "Help",
"settings_saved": "Settings saved to {}",
"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/.",