summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-06-07 10:33:45 +0200
committerGitHub <noreply@github.com>2024-06-07 10:33:45 +0200
commitee2506147e5cb08f212663a1cad9c09df0ee6867 (patch)
tree0da3af38e6c416b4a131530133e4139677d517db
parent1592e011b943f9c0abeb71901ca69eba722ab1bd (diff)
Improve simulator dark theme (#2969)
* add simulator dark theme buttons * refresh simulator drawing panel on resize (important for windows)
-rw-r--r--icons/backward_command_dark.pngbin0 -> 4056 bytes
-rw-r--r--icons/backward_stitch_dark.pngbin0 -> 4342 bytes
-rw-r--r--icons/close_dark.pngbin0 -> 5563 bytes
-rw-r--r--icons/color_change_dark.pngbin0 -> 4424 bytes
-rw-r--r--icons/detach_window_dark.pngbin0 -> 2706 bytes
-rw-r--r--icons/direction_dark.pngbin0 -> 3373 bytes
-rw-r--r--icons/faster_dark.pngbin0 -> 5289 bytes
-rw-r--r--icons/forward_command_dark.pngbin0 -> 4219 bytes
-rw-r--r--icons/forward_dark.pngbin0 -> 3373 bytes
-rw-r--r--icons/forward_stitch_dark.pngbin0 -> 4120 bytes
-rw-r--r--icons/jump_dark.pngbin0 -> 7847 bytes
-rw-r--r--icons/npp_dark.pngbin0 -> 3996 bytes
-rw-r--r--icons/play_dark.pngbin0 -> 3014 bytes
-rw-r--r--icons/randomize_20x20_dark.pngbin0 -> 2843 bytes
-rw-r--r--icons/restart_dark.pngbin0 -> 6213 bytes
-rw-r--r--icons/slower_dark.pngbin0 -> 5403 bytes
-rw-r--r--icons/stop_dark.pngbin0 -> 3924 bytes
-rw-r--r--icons/trim_dark.pngbin0 -> 8179 bytes
-rw-r--r--lib/extensions/params.py7
-rw-r--r--lib/gui/simulator.py21
20 files changed, 23 insertions, 5 deletions
diff --git a/icons/backward_command_dark.png b/icons/backward_command_dark.png
new file mode 100644
index 00000000..69eab9ed
--- /dev/null
+++ b/icons/backward_command_dark.png
Binary files differ
diff --git a/icons/backward_stitch_dark.png b/icons/backward_stitch_dark.png
new file mode 100644
index 00000000..7d6afea5
--- /dev/null
+++ b/icons/backward_stitch_dark.png
Binary files differ
diff --git a/icons/close_dark.png b/icons/close_dark.png
new file mode 100644
index 00000000..90391ec8
--- /dev/null
+++ b/icons/close_dark.png
Binary files differ
diff --git a/icons/color_change_dark.png b/icons/color_change_dark.png
new file mode 100644
index 00000000..ad84d1e3
--- /dev/null
+++ b/icons/color_change_dark.png
Binary files differ
diff --git a/icons/detach_window_dark.png b/icons/detach_window_dark.png
new file mode 100644
index 00000000..5b900131
--- /dev/null
+++ b/icons/detach_window_dark.png
Binary files differ
diff --git a/icons/direction_dark.png b/icons/direction_dark.png
new file mode 100644
index 00000000..5fa15fe9
--- /dev/null
+++ b/icons/direction_dark.png
Binary files differ
diff --git a/icons/faster_dark.png b/icons/faster_dark.png
new file mode 100644
index 00000000..0a62d31d
--- /dev/null
+++ b/icons/faster_dark.png
Binary files differ
diff --git a/icons/forward_command_dark.png b/icons/forward_command_dark.png
new file mode 100644
index 00000000..1453de8a
--- /dev/null
+++ b/icons/forward_command_dark.png
Binary files differ
diff --git a/icons/forward_dark.png b/icons/forward_dark.png
new file mode 100644
index 00000000..5fa15fe9
--- /dev/null
+++ b/icons/forward_dark.png
Binary files differ
diff --git a/icons/forward_stitch_dark.png b/icons/forward_stitch_dark.png
new file mode 100644
index 00000000..785ac45e
--- /dev/null
+++ b/icons/forward_stitch_dark.png
Binary files differ
diff --git a/icons/jump_dark.png b/icons/jump_dark.png
new file mode 100644
index 00000000..11475287
--- /dev/null
+++ b/icons/jump_dark.png
Binary files differ
diff --git a/icons/npp_dark.png b/icons/npp_dark.png
new file mode 100644
index 00000000..6d498a25
--- /dev/null
+++ b/icons/npp_dark.png
Binary files differ
diff --git a/icons/play_dark.png b/icons/play_dark.png
new file mode 100644
index 00000000..bd5968fd
--- /dev/null
+++ b/icons/play_dark.png
Binary files differ
diff --git a/icons/randomize_20x20_dark.png b/icons/randomize_20x20_dark.png
new file mode 100644
index 00000000..c7b6adb6
--- /dev/null
+++ b/icons/randomize_20x20_dark.png
Binary files differ
diff --git a/icons/restart_dark.png b/icons/restart_dark.png
new file mode 100644
index 00000000..224b0be9
--- /dev/null
+++ b/icons/restart_dark.png
Binary files differ
diff --git a/icons/slower_dark.png b/icons/slower_dark.png
new file mode 100644
index 00000000..13ddcb56
--- /dev/null
+++ b/icons/slower_dark.png
Binary files differ
diff --git a/icons/stop_dark.png b/icons/stop_dark.png
new file mode 100644
index 00000000..1f1ccf12
--- /dev/null
+++ b/icons/stop_dark.png
Binary files differ
diff --git a/icons/trim_dark.png b/icons/trim_dark.png
new file mode 100644
index 00000000..6c2e278b
--- /dev/null
+++ b/icons/trim_dark.png
Binary files differ
diff --git a/lib/extensions/params.py b/lib/extensions/params.py
index 194f0cfd..ef4dc616 100644
--- a/lib/extensions/params.py
+++ b/lib/extensions/params.py
@@ -86,8 +86,11 @@ class ParamsTab(ScrolledPanel):
self.pencil_icon = wx.Image(os.path.join(get_resource_dir(
"icons"), "pencil_20x20.png")).ConvertToBitmap()
- self.randomize_icon = wx.Image(os.path.join(get_resource_dir(
- "icons"), "randomize_20x20.png")).ConvertToBitmap()
+ randomize_icon = 'randomize_20x20.png'
+ if wx.SystemSettings().GetAppearance().IsDark():
+ randomize_icon = 'randomize_20x20_dark.png'
+ self.randomize_icon = wx.Image(
+ os.path.join(get_resource_dir("icons"), randomize_icon)).ConvertToBitmap()
self.__set_properties()
self.__do_layout()
diff --git a/lib/gui/simulator.py b/lib/gui/simulator.py
index e0808d6f..ee418841 100644
--- a/lib/gui/simulator.py
+++ b/lib/gui/simulator.py
@@ -288,8 +288,14 @@ class ControlPanel(wx.Panel):
elif stitch.color_change:
self.slider.add_marker("color_change", stitch_num)
+ def is_dark_theme(self):
+ return wx.SystemSettings().GetAppearance().IsDark()
+
def load_icon(self, icon_name):
- icon = wx.Image(os.path.join(self.icons_dir, f"{icon_name}.png"))
+ if self.is_dark_theme():
+ icon = wx.Image(os.path.join(self.icons_dir, f"{icon_name}_dark.png"))
+ else:
+ icon = wx.Image(os.path.join(self.icons_dir, f"{icon_name}.png"))
icon.Rescale(self.button_size, self.button_size, wx.IMAGE_QUALITY_HIGH)
return icon.ConvertToBitmap()
@@ -500,6 +506,7 @@ class DrawingPanel(wx.Panel):
self.Bind(wx.EVT_SIZE, self.choose_zoom_and_pan)
self.Bind(wx.EVT_LEFT_DOWN, self.on_left_mouse_button_down)
self.Bind(wx.EVT_MOUSEWHEEL, self.on_mouse_wheel)
+ self.Bind(wx.EVT_SIZE, self.on_resize)
self.SetMinSize((400, 400))
@@ -507,6 +514,9 @@ class DrawingPanel(wx.Panel):
if self.stitch_plan:
wx.CallLater(50, self.load, self.stitch_plan)
+ def on_resize(self, event):
+ self.Refresh()
+
def clamp_current_stitch(self):
if self.current_stitch < 1:
self.current_stitch = 1
@@ -876,6 +886,7 @@ class SimulatorSlider(wx.Panel):
def __init__(self, parent, id=wx.ID_ANY, minValue=1, maxValue=2, **kwargs):
super().__init__(parent, id)
+ self.control_panel = parent
kwargs['style'] = wx.SL_HORIZONTAL | wx.SL_VALUE_LABEL | wx.SL_TOP | wx.ALIGN_TOP
@@ -988,8 +999,12 @@ class SimulatorSlider(wx.Panel):
gc.DrawRectangle(start_x, height * self.color_bar_start,
end_x - start_x, height * self.color_bar_thickness)
- gc.SetPen(wx.Pen(wx.Colour(255, 255, 255), 1))
- gc.SetBrush(wx.Brush(wx.Colour(0, 0, 0)))
+ if self.control_panel.is_dark_theme():
+ gc.SetPen(wx.Pen(wx.Colour(0, 0, 0), 1))
+ gc.SetBrush(wx.Brush(wx.Colour(255, 255, 255)))
+ else:
+ gc.SetPen(wx.Pen(wx.Colour(255, 255, 255), 1))
+ gc.SetBrush(wx.Brush(wx.Colour(0, 0, 0)))
value_x = _value_to_x(self._value)
tab_height = self.tab_height * height