summaryrefslogtreecommitdiff
path: root/desktop/src/onionshare/__init__.py
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2021-08-20 14:43:21 -0700
committerGitHub <noreply@github.com>2021-08-20 14:43:21 -0700
commitb66e742bc20ae977232fc53f22d485c10173ac2f (patch)
treec6eb66c340c34b45bac5525350c5eb5c43fe33a6 /desktop/src/onionshare/__init__.py
parent76104671c3eacbef53ad96fffd8a57512ab2d093 (diff)
parent02254b13bb4818745193092f2144fd83726d79e7 (diff)
downloadonionshare-b66e742bc20ae977232fc53f22d485c10173ac2f.tar.gz
onionshare-b66e742bc20ae977232fc53f22d485c10173ac2f.zip
Merge pull request #1395 from onionshare/developv2.3.3
Version 2.3.3, merge develop into stable
Diffstat (limited to 'desktop/src/onionshare/__init__.py')
-rw-r--r--desktop/src/onionshare/__init__.py49
1 files changed, 41 insertions, 8 deletions
diff --git a/desktop/src/onionshare/__init__.py b/desktop/src/onionshare/__init__.py
index 744f6979..9d8d8981 100644
--- a/desktop/src/onionshare/__init__.py
+++ b/desktop/src/onionshare/__init__.py
@@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import division
import os
import sys
-import platform
import argparse
import signal
import json
@@ -29,7 +28,11 @@ import psutil
import getpass
from PySide2 import QtCore, QtWidgets, QtGui
+from PySide2.QtCore import Slot,Qt
+from PySide2.QtGui import QPalette, QColor
+
from onionshare_cli.common import Common
+from onionshare_cli.settings import Settings
from .gui_common import GuiCommon
from .widgets import Alert
@@ -48,7 +51,12 @@ class Application(QtWidgets.QApplication):
QtWidgets.QApplication.__init__(self, sys.argv)
# Check color mode on starting the app
- self.color_mode = self.get_color_mode()
+ self.color_mode = self.get_color_mode(common)
+
+ # Enable Dark Theme
+ if self.color_mode == "dark":
+ self.setDarkMode()
+
self.installEventFilter(self)
def eventFilter(self, obj, event):
@@ -66,23 +74,48 @@ class Application(QtWidgets.QApplication):
return False
return True
- def get_color_mode(self):
- return "dark" if self.is_dark_mode() else "light"
-
+ def setDarkMode(self):
+ self.setStyle("Fusion")
+ dark_palette = QPalette()
+ dark_palette.setColor(QPalette.Window, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.WindowText, Qt.white)
+ dark_palette.setColor(QPalette.Base, QColor(25, 25, 25))
+ dark_palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.ToolTipBase, Qt.white)
+ dark_palette.setColor(QPalette.ToolTipText, Qt.white)
+ dark_palette.setColor(QPalette.Text, Qt.white)
+ dark_palette.setColor(QPalette.Button, QColor(53, 53, 53))
+ dark_palette.setColor(QPalette.ButtonText, Qt.white)
+ dark_palette.setColor(QPalette.BrightText, Qt.red)
+ dark_palette.setColor(QPalette.Link, QColor(42, 130, 218))
+ dark_palette.setColor(QPalette.Highlight, QColor(42, 130, 218))
+ dark_palette.setColor(QPalette.HighlightedText, Qt.black)
+ self.setPalette(dark_palette)
+ self.setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }")
+
+ def get_color_mode(self, common):
+ curr_settings = Settings(common)
+ curr_settings.load()
+ current_theme = curr_settings.get("theme")
+
+ if current_theme == 1:
+ return "light"
+ elif current_theme == 2:
+ return "dark"
+ else:
+ return "dark" if self.is_dark_mode() else "light"
def main():
"""
The main() function implements all of the logic that the GUI version of onionshare uses.
"""
common = Common()
+ common.display_banner()
# Required for macOS Big Sur: https://stackoverflow.com/a/64878899
if common.platform == "Darwin":
os.environ["QT_MAC_WANTS_LAYER"] = "1"
- # Display OnionShare banner
- print(f"OnionShare {common.version} | https://onionshare.org/")
-
# Start the Qt app
global qtapp
qtapp = Application(common)