mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Register a history item when an individual file is viewed that does not match a 'reserved' path
This commit is contained in:
parent
877a73ab59
commit
173b2d3f5e
@ -341,6 +341,37 @@ class ReceiveHistoryItem(HistoryItem):
|
||||
self.label.setText(self.get_canceled_label_text(self.started))
|
||||
|
||||
|
||||
class IndividualFileHistoryItem(HistoryItem):
|
||||
"""
|
||||
Individual file history item, for share mode viewing of individual files
|
||||
"""
|
||||
def __init__(self, common, path):
|
||||
super(IndividualFileHistoryItem, self).__init__()
|
||||
self.status = HistoryItem.STATUS_STARTED
|
||||
self.common = common
|
||||
|
||||
self.visited = time.time()
|
||||
self.visited_dt = datetime.fromtimestamp(self.visited)
|
||||
|
||||
# Labels
|
||||
self.timestamp_label = QtWidgets.QLabel(self.visited_dt.strftime("%b %d, %I:%M%p"))
|
||||
self.path_viewed_label = QtWidgets.QLabel(strings._('gui_individual_file_download').format(path))
|
||||
|
||||
# Layout
|
||||
layout = QtWidgets.QVBoxLayout()
|
||||
layout.addWidget(self.timestamp_label)
|
||||
layout.addWidget(self.path_viewed_label)
|
||||
self.setLayout(layout)
|
||||
|
||||
|
||||
def update(self):
|
||||
self.label.setText(self.get_finished_label_text(self.started_dt))
|
||||
self.status = HistoryItem.STATUS_FINISHED
|
||||
|
||||
def cancel(self):
|
||||
self.progress_bar.setFormat(strings._('gui_canceled'))
|
||||
self.status = HistoryItem.STATUS_CANCELED
|
||||
|
||||
class VisitHistoryItem(HistoryItem):
|
||||
"""
|
||||
Download history item, for share mode
|
||||
|
@ -28,7 +28,7 @@ from onionshare.web import Web
|
||||
from ..file_selection import FileSelection
|
||||
from .threads import CompressThread
|
||||
from .. import Mode
|
||||
from ..history import History, ToggleHistory, ShareHistoryItem
|
||||
from ..history import History, ToggleHistory, ShareHistoryItem, IndividualFileHistoryItem
|
||||
from ...widgets import Alert
|
||||
|
||||
|
||||
@ -230,6 +230,15 @@ class ShareMode(Mode):
|
||||
Handle REQUEST_LOAD event.
|
||||
"""
|
||||
self.system_tray.showMessage(strings._('systray_page_loaded_title'), strings._('systray_page_loaded_message'))
|
||||
if not event["path"].startswith(('/favicon.ico', '/download', self.web.static_url_path)) and event["path"] != '/':
|
||||
|
||||
item = IndividualFileHistoryItem(self.common, event["path"])
|
||||
|
||||
self.history.add(0, item)
|
||||
self.toggle_history.update_indicator(True)
|
||||
self.history.completed_count += 1
|
||||
self.history.update_completed()
|
||||
self.system_tray.showMessage(strings._('systray_individual_file_downloaded_title'), strings._('systray_individual_file_downloaded_message').format(event["path"]))
|
||||
|
||||
def handle_request_started(self, event):
|
||||
"""
|
||||
|
@ -160,6 +160,8 @@
|
||||
"systray_receive_started_message": "Someone is sending files to you",
|
||||
"systray_website_started_title": "Starting sharing website",
|
||||
"systray_website_started_message": "Someone is visiting your website",
|
||||
"systray_individual_file_downloaded_title": "Individual file loaded",
|
||||
"systray_individual_file_downloaded_message": "Individual file {} viewed",
|
||||
"gui_all_modes_history": "History",
|
||||
"gui_all_modes_clear_history": "Clear All",
|
||||
"gui_all_modes_transfer_started": "Started {}",
|
||||
@ -176,6 +178,7 @@
|
||||
"gui_receive_mode_no_files": "No Files Received Yet",
|
||||
"gui_receive_mode_autostop_timer_waiting": "Waiting to finish receiving",
|
||||
"gui_visit_started": "Someone has visited your website {}",
|
||||
"gui_individual_file_download": "Viewed {}",
|
||||
"receive_mode_upload_starting": "Upload of total size {} is starting",
|
||||
"days_first_letter": "d",
|
||||
"hours_first_letter": "h",
|
||||
|
Loading…
Reference in New Issue
Block a user