Skip to content

Commit 392cd5c

Browse files
irgolicmarkotoplak
authored andcommitted
darkmode wip
1 parent 50345c2 commit 392cd5c

File tree

8 files changed

+84
-9
lines changed

8 files changed

+84
-9
lines changed

Orange/canvas/__main__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,9 @@ def onrequest(url):
558558

559559
stylesheet_string = pattern.sub("", stylesheet_string)
560560

561+
if 'dark' in stylesheet:
562+
app.setProperty('darkMode', True)
563+
561564
else:
562565
log.info("%r style sheet not found.", stylesheet)
563566

Orange/widgets/data/__init__.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
NAME = "Data"
23

34
ID = "orange.widgets.data"
@@ -12,6 +13,15 @@
1213

1314
ICON = "icons/Category-Data.svg"
1415

15-
BACKGROUND = "#FFD39F"
16+
from AnyQt.QtGui import QPalette
17+
18+
BACKGROUND = {
19+
'light': {
20+
QPalette.Light: '#febc57',
21+
QPalette.Midlight: '#fe9457',
22+
QPalette.Button: '#fe9057',
23+
},
24+
'plain': "#FFD39F",
25+
}
1626

1727
PRIORITY = 1

Orange/widgets/evaluate/__init__.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22
Widgets from Evaluate category
33
44
"""
5+
56
NAME = "Evaluate"
67

78
DESCRIPTION = "Evaluate classification/regression performance."
89

9-
BACKGROUND = "#C3F3F3"
10+
from AnyQt.QtGui import QPalette
11+
12+
BACKGROUND = {
13+
'light': {
14+
QPalette.Light: '#a5ebeb',
15+
QPalette.Midlight: '#5cebeb',
16+
QPalette.Button: '#4be3f2',
17+
},
18+
'plain': "#C3F3F3",
19+
}
1020

1121
ICON = "icons/Category-Evaluate.svg"
1222

Orange/widgets/model/__init__.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,16 @@
44

55
DESCRIPTION = 'Prediction.'
66

7-
BACKGROUND = '#FAC1D9'
7+
from AnyQt.QtGui import QPalette
8+
9+
BACKGROUND = {
10+
'light': {
11+
QPalette.Light: '#ffbddb',
12+
QPalette.Midlight: '#ff8dc6',
13+
QPalette.Button: '#f175b6',
14+
},
15+
'plain': "#FAC1D9",
16+
}
817

918
ICON = 'icons/Category-Model.svg'
1019

Orange/widgets/unsupervised/__init__.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,16 @@
1313

1414
DESCRIPTION = "Unsupervised learning."
1515

16-
BACKGROUND = "#CAE1EF"
16+
from AnyQt.QtGui import QPalette
17+
18+
BACKGROUND = {
19+
'light': {
20+
QPalette.Light: '#aed2d9',
21+
QPalette.Midlight: '#5abced',
22+
QPalette.Button: '#499fd8',
23+
},
24+
'plain': "#CAE1EF",
25+
}
1726

1827
ICON = "icons/Category-Unsupervised.svg"
1928

Orange/widgets/visualize/__init__.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,16 @@
1515

1616
DESCRIPTION = "Widgets for data visualization."
1717

18-
BACKGROUND = "#FFB7B1"
18+
from AnyQt.QtGui import QPalette
19+
20+
BACKGROUND = {
21+
'light': {
22+
QPalette.Light: '#f2b6b8',
23+
QPalette.Midlight: '#ff8a99',
24+
QPalette.Button: '#ff7a8a',
25+
},
26+
'plain': "#FFB7B1",
27+
}
1928

2029
ICON = "icons/Category-Visualize.svg"
2130

Orange/widgets/visualize/owscatterplotgraph.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import numpy as np
1010
from AnyQt.QtCore import Qt, QRectF, QSize, QTimer, pyqtSignal as Signal, \
11-
QObject
11+
QObject, QEvent
1212
from AnyQt.QtGui import QColor, QPen, QBrush, QPainterPath, QTransform, \
1313
QPainter
1414
from AnyQt.QtWidgets import QApplication, QToolTip, QGraphicsTextItem, \
@@ -568,8 +568,7 @@ def __init__(self, scatter_widget, parent=None, view_box=ViewBox):
568568

569569
self.view_box = view_box(self)
570570
_axis = {"left": AxisItem("left"), "bottom": AxisItem("bottom")}
571-
self.plot_widget = pg.PlotWidget(viewBox=self.view_box, parent=parent,
572-
background="w", axisItems=_axis)
571+
self.plot_widget = pg.PlotWidget(viewBox=self.view_box, parent=parent, axisItems=_axis)
573572
self.plot_widget.hideAxis("left")
574573
self.plot_widget.hideAxis("bottom")
575574
self.plot_widget.getPlotItem().buttonsHidden = True

Orange/widgets/visualize/utils/widget.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22

33
import numpy as np
44

5-
from AnyQt.QtCore import QSize, Signal
5+
from AnyQt.QtCore import QSize, Signal, QEvent, Qt
66
from AnyQt.QtWidgets import QApplication
7+
from PyQt5.QtGui import QPalette, QPen
78

89
from orangewidget.utils.visual_settings_dlg import VisualSettingsDialog
10+
from pyqtgraph import AxisItem
911

1012
from Orange.data import (
1113
Table, ContinuousVariable, Domain, Variable, StringVariable
@@ -412,6 +414,7 @@ def __init__(self):
412414
def setup_gui(self):
413415
self._add_graph()
414416
self._add_controls()
417+
# self._update_palette()
415418
self.input_changed.emit(None)
416419
self.output_changed.emit(None)
417420

@@ -663,6 +666,29 @@ def onDeleteWidget(self):
663666
self.graph.plot_widget.clear()
664667
self.graph.clear()
665668

669+
# def changeEvent(self, event):
670+
# if event.type() == QEvent.PaletteChange:
671+
# self._update_palette()
672+
# super().changeEvent(event)
673+
#
674+
# def _update_palette(self):
675+
# palette: QPalette = self.palette()
676+
# brush = palette.base()
677+
# text_color = palette.color(QPalette.WindowText)
678+
#
679+
# self.graph.update_colors() # TODO?
680+
# self.graph.plot_widget.setBackground(brush)
681+
# self.graph.tip_textitem.setDefaultTextColor(Qt.black)
682+
#
683+
# pen = QPen(text_color)
684+
#
685+
# plotItem = self.graph.plot_widget.plotItem
686+
# plotItem.titleLabel.setText(brush.color().name())
687+
# for name in plotItem.axes:
688+
# a: AxisItem = plotItem.getAxis(name)
689+
# a.setPen(pen)
690+
# a.setTextPen(pen)
691+
666692

667693
class OWAnchorProjectionWidget(OWDataProjectionWidget, openclass=True):
668694
""" Base widget for widgets with graphs with anchors. """

0 commit comments

Comments
 (0)