from config import config
class Prescriber:
- def __init__(self):
- self.read_from(config["prescriber"])
+ def __init__(self, file=None):
+ if file is None:
+ self.read_from(config["prescriber"])
+ else:
+ self.read_from(file)
def set_data(self, name="", qualification="", registration="", address="", contact="", extra=""):
self.name = name
with open(file, "r") as f:
self.set_data_from_json(json.loads(f.read()))
self.file=file
+
+ def reload_prescriber(self, file=None):
+ self.prescriber=Prescriber(file)
from PyQt6.QtWidgets import QWidget, QMainWindow, QFormLayout, QPushButton, QLabel, QLineEdit, QTextEdit, QStatusBar, QMessageBox
from PyQt6.QtGui import QIcon
+from PyQt6.QtCore import pyqtSignal
import os, json
from config import config
class EditPrescriber(QMainWindow):
+ signal_save=pyqtSignal(str)
+
file=""
prescriber=""
with open(self.file, "w") as f:
f.write(json.dumps(self.prescriber, indent=4))
QMessageBox.information(self,"Saved", "Information saved.")
+ self.signal_save.emit(self.file)
self.hide()
except Exception as e:
QMessageBox.critical(self,"Failed to save", "Failed to save the data to the file.")
self.cmd_save(save_as=True)
def cmd_refresh(self):
- self.update_instance()
- self.load_interface_from_instance()
+ self.refresh()
def cmd_quit(self):
if(self.confirm_exit()):
def cmd_prescriber(self):
self.edit_prescriber.show()
+ def cmd_prescriber_reload(self, file=None):
+ self.prescription.reload_prescriber(file=None)
+ self.refresh()
+
+ def cmd_switch(self):
+ print("switch")
+ self.prescription.reload_prescriber(QFileDialog.getOpenFileName(self, "Open File", config["prescriber_directory"], "JSON (*.json);; All Files (*)")[0])
+ self.refresh()
+
def cmd_about(self):
self.viewbox.open(os.path.join(config["resource"], "about.html"))
self.viewbox.show()
QMessageBox.critical(self,"Failed", "Critical failure happned. Please check console for more info.")
print(e)
+ def refresh(self):
+ self.update_instance()
+ self.load_interface_from_instance()
+
+
def add_attachment(self):
try:
new=QFileDialog.getOpenFileName(self, "Open File", config["document_directory"], "PDF (*.pdf);; Images (*.jpg, *.jpeg, *.png, *.gif);; All Files (*)")[0]
action_render2.triggered.connect(self.cmd_render)
action_prescriber=QAction("Prescriber", self)
action_prescriber.triggered.connect(self.cmd_prescriber)
+ action_switch=QAction("Switch", self)
+ action_switch.triggered.connect(self.cmd_switch)
action_about=QAction("About", self)
action_about.triggered.connect(self.cmd_about)
action_help=QAction("Help", self)
menu_prepare.addAction(action_render)
menu_prepare.addAction(action_refresh)
menu_prepare.addAction(action_prescriber)
+ menu_prepare.addAction(action_switch)
menu_help=menubar.addMenu("Help")
menu_help.addAction(action_about)
menu_help.addAction(action_help)
self.renderbox=RenderBox()
self.signal_view.connect(self.renderbox.update)
self.edit_prescriber=EditPrescriber()
+ self.edit_prescriber.signal_save.connect(self.cmd_prescriber_reload)
self.viewbox=ViewBox()
if(config["filename"]):