summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2018-11-26 18:03:52 -0800
committerGitHub <noreply@github.com>2018-11-26 18:03:52 -0800
commit6bfe9d4476b894e7d0dbb54f4bb689637ead0ad0 (patch)
treebeb135d1eca802a9111d4176b6a7d156987379f2
parent4a765e0768ca42109a7748f5686f4fd4e86259f2 (diff)
parent86b537a4a6376a4280f30912ab9b2e313083c058 (diff)
downloadonionshare-6bfe9d4476b894e7d0dbb54f4bb689637ead0ad0.tar.gz
onionshare-6bfe9d4476b894e7d0dbb54f4bb689637ead0ad0.zip
Merge pull request #763 from mig5/open_folder_uploads_macos_windows
Open folder containing uploads with the file selected, in macOS and Windows
-rw-r--r--onionshare/settings.py10
-rw-r--r--onionshare_gui/mode/history.py9
2 files changed, 9 insertions, 10 deletions
diff --git a/onionshare/settings.py b/onionshare/settings.py
index ed827cbd..42f7259c 100644
--- a/onionshare/settings.py
+++ b/onionshare/settings.py
@@ -138,9 +138,13 @@ class Settings(object):
"""
Returns the path of the default Downloads directory for receive mode.
"""
- # TODO: Test in Windows, though it looks like it should work
- # https://docs.python.org/3/library/os.path.html#os.path.expanduser
- return os.path.expanduser('~/OnionShare')
+ # On Windows, os.path.expanduser() needs to use backslash, or else it
+ # retains the forward slash, which breaks opening the folder in explorer.
+ p = platform.system()
+ if p == 'Windows':
+ return os.path.expanduser('~\OnionShare')
+ else:
+ return os.path.expanduser('~/OnionShare')
def load(self):
"""
diff --git a/onionshare_gui/mode/history.py b/onionshare_gui/mode/history.py
index 38e0fed3..e72a3838 100644
--- a/onionshare_gui/mode/history.py
+++ b/onionshare_gui/mode/history.py
@@ -184,16 +184,11 @@ class UploadHistoryItemFile(QtWidgets.QWidget):
# macOS
elif self.common.platform == 'Darwin':
- # TODO: Implement opening folder with file selected in macOS
- # This seems helpful: https://stackoverflow.com/questions/3520493/python-show-in-finder
- self.common.log('UploadHistoryItemFile', 'open_folder', 'not implemented for Darwin yet')
+ subprocess.call(['open', '-R', abs_filename])
# Windows
elif self.common.platform == 'Windows':
- # TODO: Implement opening folder with file selected in Windows
- # This seems helpful: https://stackoverflow.com/questions/6631299/python-opening-a-folder-in-explorer-nautilus-mac-thingie
- self.common.log('UploadHistoryItemFile', 'open_folder', 'not implemented for Windows yet')
-
+ subprocess.Popen(['explorer', '/select,{}'.format(abs_filename)])
class UploadHistoryItem(HistoryItem):
def __init__(self, common, id, content_length):