diff --git a/src/nqrduck_pulseprogrammer/controller.py b/src/nqrduck_pulseprogrammer/controller.py index eafcf33..73de6c2 100644 --- a/src/nqrduck_pulseprogrammer/controller.py +++ b/src/nqrduck_pulseprogrammer/controller.py @@ -2,6 +2,7 @@ import logging import json import decimal from PyQt6.QtCore import pyqtSlot +from nqrduck.helpers.serializer import DecimalEncoder from nqrduck.module.module_controller import ModuleController from nqrduck_spectrometer.pulsesequence import PulseSequence @@ -50,7 +51,7 @@ class PulseProgrammerController(ModuleController): logger.debug("Saving pulse sequence to %s", path) sequence = self.module.model.pulse_sequence.to_json() with open(path, "w") as file: - file.write(json.dumps(sequence)) + file.write(json.dumps(sequence, cls=DecimalEncoder)) def load_pulse_sequence(self, path): diff --git a/src/nqrduck_pulseprogrammer/view.py b/src/nqrduck_pulseprogrammer/view.py index aba0f17..784e025 100644 --- a/src/nqrduck_pulseprogrammer/view.py +++ b/src/nqrduck_pulseprogrammer/view.py @@ -426,9 +426,9 @@ class FunctionOptionWidget(QWidget): def on_replot_button_clicked(self): logger.debug("Replot button clicked") # Update the resolution, start_x, end_x and expr lineedits - self.function_option.value.resolution = float(self.resolution_lineedit.text()) - self.function_option.value.start_x = float(self.start_x_lineedit.text()) - self.function_option.value.end_x = float(self.end_x_lineedit.text()) + self.function_option.value.resolution = self.resolution_lineedit.text() + self.function_option.value.start_x = self.start_x_lineedit.text() + self.function_option.value.end_x = self.end_x_lineedit.text() try: self.function_option.value.expr = self.expr_lineedit.text() except SyntaxError: