mirror of
https://github.com/onionshare/onionshare.git
synced 2025-08-03 11:56:06 -04:00
Display desktop notification to the user when the receiver closes the server, and finish up closing the server
This commit is contained in:
parent
ae13492749
commit
7f320d3535
5 changed files with 78 additions and 21 deletions
|
@ -284,3 +284,41 @@ class Mode(QtWidgets.QWidget):
|
|||
Add custom initialization here.
|
||||
"""
|
||||
pass
|
||||
|
||||
# Handle web server events
|
||||
|
||||
def handle_request_load(self, event):
|
||||
"""
|
||||
Handle REQUEST_LOAD event.
|
||||
"""
|
||||
pass
|
||||
|
||||
def handle_request_download(self, event):
|
||||
"""
|
||||
Handle REQUEST_DOWNLOAD event.
|
||||
"""
|
||||
pass
|
||||
|
||||
def handle_request_rate_limit(self, event):
|
||||
"""
|
||||
Handle REQUEST_RATE_LIMIT event.
|
||||
"""
|
||||
pass
|
||||
|
||||
def handle_request_progress(self, event):
|
||||
"""
|
||||
Handle REQUEST_PROGRESS event.
|
||||
"""
|
||||
pass
|
||||
|
||||
def handle_request_canceled(self, event):
|
||||
"""
|
||||
Handle REQUEST_CANCELED event.
|
||||
"""
|
||||
pass
|
||||
|
||||
def handle_request_close_server(self, event):
|
||||
"""
|
||||
Handle REQUEST_CLOSE_SERVER event.
|
||||
"""
|
||||
pass
|
||||
|
|
|
@ -382,41 +382,43 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||
|
||||
# Process events from the web object
|
||||
if self.mode == self.MODE_SHARE:
|
||||
web = self.share_mode.web
|
||||
mode = self.share_mode
|
||||
else:
|
||||
web = self.receive_mode.web
|
||||
mode = self.receive_mode
|
||||
|
||||
events = []
|
||||
|
||||
done = False
|
||||
while not done:
|
||||
try:
|
||||
r = web.q.get(False)
|
||||
r = mode.web.q.get(False)
|
||||
events.append(r)
|
||||
except queue.Empty:
|
||||
done = True
|
||||
|
||||
for event in events:
|
||||
if event["type"] == Web.REQUEST_LOAD:
|
||||
self.share_mode.handle_request_load(event)
|
||||
mode.handle_request_load(event)
|
||||
|
||||
elif event["type"] == Web.REQUEST_DOWNLOAD:
|
||||
self.share_mode.handle_request_download(event)
|
||||
mode.handle_request_download(event)
|
||||
|
||||
elif event["type"] == Web.REQUEST_RATE_LIMIT:
|
||||
self.share_mode.handle_request_rate_limit(event)
|
||||
mode.handle_request_rate_limit(event)
|
||||
|
||||
elif event["type"] == Web.REQUEST_PROGRESS:
|
||||
self.share_mode.handle_request_progress(event)
|
||||
mode.handle_request_progress(event)
|
||||
|
||||
elif event["type"] == Web.REQUEST_CANCELED:
|
||||
self.share_mode.handle_request_canceled(event)
|
||||
mode.handle_request_canceled(event)
|
||||
|
||||
elif event["type"] == Web.REQUEST_CLOSE_SERVER:
|
||||
mode.handle_request_close_server(event)
|
||||
|
||||
elif event["path"] != '/favicon.ico':
|
||||
self.status_bar.showMessage('[#{0:d}] {1:s}: {2:s}'.format(web.error404_count, strings._('other_page_loaded', True), event["path"]))
|
||||
self.status_bar.showMessage('[#{0:d}] {1:s}: {2:s}'.format(mode.web.error404_count, strings._('other_page_loaded', True), event["path"]))
|
||||
|
||||
self.share_mode.timer_callback()
|
||||
self.receive_mode.timer_callback()
|
||||
mode.timer_callback()
|
||||
|
||||
def copy_url(self):
|
||||
"""
|
||||
|
|
|
@ -92,3 +92,10 @@ class ReceiveMode(Mode):
|
|||
# Continue
|
||||
self.starting_server_step3.emit()
|
||||
self.start_server_finished.emit()
|
||||
|
||||
def handle_request_close_server(self, event):
|
||||
"""
|
||||
Handle REQUEST_CLOSE_SERVER event.
|
||||
"""
|
||||
self.stop_server()
|
||||
self.system_tray.showMessage(strings._('systray_close_server_title', True), strings._('systray_close_server_message', True))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue