Skip to content

Commit aa39c2b

Browse files
committed
feat: implement property editor base classes and widget wrappers for the sound event editor
1 parent 3b5054d commit aa39c2b

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

src/editors/soundevent_editor/property/common.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -264,17 +264,20 @@ def paste_from_clipboard(self):
264264
clipboard = QGuiApplication.clipboard()
265265
clipboard_text = clipboard.text()
266266
if clipboard_text.endswith('}'):
267-
origin_list = re.search(r'origin = "(.*?)"', clipboard_text).group(1)
268-
origin_list = origin_list.split()
269-
for index in range(len(self.float_widget_instances)):
270-
widget_instance: FloatWidget = self.float_widget_instances[index]
271-
__single_axis = float(origin_list[index])
272-
widget_instance.set_value(__single_axis)
267+
origin_match = re.search(r'origin = "(.*?)"', clipboard_text)
268+
if origin_match:
269+
origin_list = origin_match.group(1).split()
270+
for index in range(len(self.float_widget_instances)):
271+
if index < len(origin_list):
272+
widget_instance: FloatWidget = self.float_widget_instances[index]
273+
__single_axis = float(origin_list[index].replace(',', '.'))
274+
widget_instance.set_value(__single_axis)
273275
if "setpos" in clipboard_text:
274-
setpos_match = re.search(r'setpos\s+([\d\.\-]+)\s+([\d\.\-]+)\s+([\d\.\-]+)', clipboard_text)
276+
setpos_match = re.search(r'setpos\s+([\d\.\,\-]+)\s+([\d\.\,\-]+)\s+([\d\.\,\-]+)', clipboard_text)
275277
if setpos_match:
276-
setpos_values = [float(setpos_match.group(1)), float(setpos_match.group(2)),
277-
float(setpos_match.group(3))]
278+
setpos_values = [float(setpos_match.group(1).replace(',', '.')),
279+
float(setpos_match.group(2).replace(',', '.')),
280+
float(setpos_match.group(3).replace(',', '.'))]
278281
for index, value in enumerate(setpos_values):
279282
if index < len(self.float_widget_instances):
280283
widget_instance: FloatWidget = self.float_widget_instances[index]

src/widgets/widgets.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ def __init__(self, int_output: bool = False, slider_range: list = [0, 0], value:
8787
# Range setup: if slider_range is default (0,0) then use dynamic scaling.
8888
if self.slider_range[0] == 0 and self.slider_range[1] == 0:
8989
try:
90-
value_current = float(self.SpinBox.text())
90+
text_current = self.SpinBox.text().replace(',', '.')
91+
value_current = float(text_current)
9192
except ValueError:
9293
value_current = 0.0
9394
self.Slider.setMaximum(abs(value_current) * self.slider_scale * 100 + 1000)
@@ -139,7 +140,8 @@ def _on_spinbox_text_changed(self):
139140
# Handler when the spinbox value is updated
140141
def on_SpinBox_updated(self):
141142
try:
142-
value = float(self.SpinBox.text())
143+
text = self.SpinBox.text().replace(',', '.')
144+
value = float(text)
143145
except ValueError:
144146
value = 0.0
145147
if self.int_output:

0 commit comments

Comments
 (0)