summaryrefslogtreecommitdiff
path: root/onionshare_gui
diff options
context:
space:
mode:
authorhiro <hiro@torproject.org>2019-04-23 16:03:50 +0200
committerhiro <hiro@torproject.org>2019-04-23 16:11:14 +0200
commit0c6dbe4c8a08c3372fa1707a4afc2611e2bdd535 (patch)
treeb4de09b3bc85a9626484b1d3fe65431a8fa980f6 /onionshare_gui
parent391c82f2a6ac7e0260f06d6018df57bc52da95da (diff)
downloadonionshare-0c6dbe4c8a08c3372fa1707a4afc2611e2bdd535.tar.gz
onionshare-0c6dbe4c8a08c3372fa1707a4afc2611e2bdd535.zip
Clean ui, add strings, fix web listing logic
Diffstat (limited to 'onionshare_gui')
-rw-r--r--onionshare_gui/mode/history.py21
-rw-r--r--onionshare_gui/mode/website_mode/__init__.py57
2 files changed, 29 insertions, 49 deletions
diff --git a/onionshare_gui/mode/history.py b/onionshare_gui/mode/history.py
index 1546cb68..34cd8306 100644
--- a/onionshare_gui/mode/history.py
+++ b/onionshare_gui/mode/history.py
@@ -341,6 +341,27 @@ class ReceiveHistoryItem(HistoryItem):
self.label.setText(self.get_canceled_label_text(self.started))
+class VisitHistoryItem(HistoryItem):
+ """
+ Download history item, for share mode
+ """
+ def __init__(self, common, id, total_bytes):
+ super(VisitHistoryItem, self).__init__()
+ self.common = common
+
+ self.id = id
+ self.visited = time.time()
+ self.visited_dt = datetime.fromtimestamp(self.visited)
+
+ # Label
+ self.label = QtWidgets.QLabel(strings._('gui_visit_started').format(self.started_dt.strftime("%b %d, %I:%M%p")))
+
+ # Layout
+ layout = QtWidgets.QVBoxLayout()
+ layout.addWidget(self.label)
+ self.setLayout(layout)
+
+
class HistoryItemList(QtWidgets.QScrollArea):
"""
List of items
diff --git a/onionshare_gui/mode/website_mode/__init__.py b/onionshare_gui/mode/website_mode/__init__.py
index e10da8b9..e2c5bd72 100644
--- a/onionshare_gui/mode/website_mode/__init__.py
+++ b/onionshare_gui/mode/website_mode/__init__.py
@@ -27,7 +27,7 @@ from onionshare.web import Web
from ..file_selection import FileSelection
from .. import Mode
-from ..history import History, ToggleHistory, DownloadHistoryItem
+from ..history import History, ToggleHistory, VisitHistoryItem
from ...widgets import Alert
class WebsiteMode(Mode):
@@ -130,7 +130,7 @@ class WebsiteMode(Mode):
The shutdown timer expired, should we stop the server? Returns a bool
"""
# If there were no attempts to download the share, or all downloads are done, we can stop
- if self.web.website_mode.download_count == 0 or self.web.done:
+ if self.web.website_mode.visit_count == 0 or self.web.done:
self.server_status.stop_server()
self.server_status_label.setText(strings._('close_on_timeout'))
return True
@@ -144,7 +144,7 @@ class WebsiteMode(Mode):
Starting the server.
"""
# Reset web counters
- self.web.website_mode.download_count = 0
+ self.web.website_mode.visit_count = 0
self.web.error404_count = 0
# Hide and reset the downloads if we have previously shared
@@ -201,11 +201,10 @@ class WebsiteMode(Mode):
def cancel_server_custom(self):
"""
- Stop the compression thread on cancel
+ Log that the server has been cancelled
"""
- if self.compress_thread:
- self.common.log('WebsiteMode', 'cancel_server: quitting compress thread')
- self.compress_thread.quit()
+ self.common.log('WebsiteMode', 'cancel_server')
+
def handle_tor_broke_custom(self):
"""
@@ -217,7 +216,7 @@ class WebsiteMode(Mode):
"""
Handle REQUEST_LOAD event.
"""
- self.system_tray.showMessage(strings._('systray_page_loaded_title'), strings._('systray_download_page_loaded_message'))
+ self.system_tray.showMessage(strings._('systray_site_loaded_title'), strings._('systray_site_page_loaded_message'))
def handle_request_started(self, event):
"""
@@ -226,52 +225,12 @@ class WebsiteMode(Mode):
filesize = self.web.website_mode.download_filesize
- item = DownloadHistoryItem(self.common, event["data"]["id"], filesize)
+ item = VisitHistoryItem(self.common, event["data"]["id"], filesize)
self.history.add(event["data"]["id"], item)
self.toggle_history.update_indicator(True)
self.history.in_progress_count += 1
self.history.update_in_progress()
- self.system_tray.showMessage(strings._('systray_download_started_title'), strings._('systray_download_started_message'))
-
- def handle_request_progress(self, event):
- """
- Handle REQUEST_PROGRESS event.
- """
- self.history.update(event["data"]["id"], event["data"]["bytes"])
-
- # Is the download complete?
- if event["data"]["bytes"] == self.web.website_mode.filesize:
- self.system_tray.showMessage(strings._('systray_download_completed_title'), strings._('systray_download_completed_message'))
-
- # Update completed and in progress labels
- self.history.completed_count += 1
- self.history.in_progress_count -= 1
- self.history.update_completed()
- self.history.update_in_progress()
-
- # Close on finish?
- if self.common.settings.get('close_after_first_download'):
- self.server_status.stop_server()
- self.status_bar.clearMessage()
- self.server_status_label.setText(strings._('closing_automatically'))
- else:
- if self.server_status.status == self.server_status.STATUS_STOPPED:
- self.history.cancel(event["data"]["id"])
- self.history.in_progress_count = 0
- self.history.update_in_progress()
-
- def handle_request_canceled(self, event):
- """
- Handle REQUEST_CANCELED event.
- """
- self.history.cancel(event["data"]["id"])
-
- # Update in progress count
- self.history.in_progress_count -= 1
- self.history.update_in_progress()
- self.system_tray.showMessage(strings._('systray_download_canceled_title'), strings._('systray_download_canceled_message'))
-
def on_reload_settings(self):
"""
If there were some files listed for sharing, we should be ok to re-enable