summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaptak S <saptak013@gmail.com>2021-01-30 22:13:22 +0530
committerSaptak S <saptak013@gmail.com>2021-01-31 02:30:17 +0530
commit26e5bf31a0cfc7efe6620774198e0be929415e55 (patch)
tree79785dec0698a83c266cc06f196050fcf2e1b16f
parent6bbd55fca79c5ebcdd51cbd0daf645acd2220d95 (diff)
downloadonionshare-26e5bf31a0cfc7efe6620774198e0be929415e55.tar.gz
onionshare-26e5bf31a0cfc7efe6620774198e0be929415e55.zip
Shows warning to restart if color mode changed while onionshare is running
-rw-r--r--desktop/src/onionshare/__init__.py4
-rw-r--r--desktop/src/onionshare/main_window.py14
-rw-r--r--desktop/src/onionshare/resources/locale/en.json1
3 files changed, 15 insertions, 4 deletions
diff --git a/desktop/src/onionshare/__init__.py b/desktop/src/onionshare/__init__.py
index a8cdd60b..b1275a90 100644
--- a/desktop/src/onionshare/__init__.py
+++ b/desktop/src/onionshare/__init__.py
@@ -58,10 +58,6 @@ class Application(QtWidgets.QApplication):
and event.modifiers() == QtCore.Qt.ControlModifier
):
self.quit()
-
- # Check if color switched while the app was open
- if event.type() == QtCore.QEvent.Type.ApplicationPaletteChange:
- self.color_mode = self.get_color_mode()
return False
def is_dark_mode(self):
diff --git a/desktop/src/onionshare/main_window.py b/desktop/src/onionshare/main_window.py
index 86258de9..f4f333d9 100644
--- a/desktop/src/onionshare/main_window.py
+++ b/desktop/src/onionshare/main_window.py
@@ -289,6 +289,20 @@ class MainWindow(QtWidgets.QMainWindow):
self.system_tray.hide()
e.accept()
+ def event(self, event):
+ # Check if color mode switched while onionshare was open, if so, ask user to restart
+ if event.type() == QtCore.QEvent.Type.ApplicationPaletteChange:
+ QtCore.QTimer.singleShot(1, self.color_mode_warning)
+ return True
+ return QtWidgets.QMainWindow.event(self, event)
+
+ def color_mode_warning(self):
+ """
+ Open the color mode warning alert.
+ """
+ notice = strings._("gui_color_mode_changed_notice")
+ Alert(self.common, notice, QtWidgets.QMessageBox.Information)
+
def cleanup(self):
self.common.log("MainWindow", "cleanup")
self.tabs.cleanup()
diff --git a/desktop/src/onionshare/resources/locale/en.json b/desktop/src/onionshare/resources/locale/en.json
index 502fe13e..f7b8f7bb 100644
--- a/desktop/src/onionshare/resources/locale/en.json
+++ b/desktop/src/onionshare/resources/locale/en.json
@@ -111,6 +111,7 @@
"gui_open_folder_error": "Failed to open folder with xdg-open. The file is here: {}",
"gui_settings_language_label": "Preferred language",
"gui_settings_language_changed_notice": "Restart OnionShare for the new language to be applied.",
+ "gui_color_mode_changed_notice": "Restart OnionShare for the new color mode to be applied.",
"systray_menu_exit": "Quit",
"systray_page_loaded_title": "Page Loaded",
"systray_page_loaded_message": "OnionShare address loaded",