mirror of https://gitlab.com/pamhyr/pamhyr2
68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
from Model.Study import Study
|
|
from View.ASubWindow import ASubWindow
|
|
|
|
from PyQt5.QtWidgets import (
|
|
QRadioButton, QLabel, QDateTimeEdit,
|
|
)
|
|
|
|
|
|
class NewStudyWindow(ASubWindow):
|
|
def __init__(self, study=None, title="New Study", parent=None):
|
|
super(NewStudyWindow, self).__init__(name=title, ui="NewStudy", parent=parent)
|
|
self.ui.setWindowTitle(title)
|
|
|
|
self.parent = parent
|
|
|
|
self.study = study
|
|
|
|
if not self.study is None:
|
|
self.set_line_edit_text("lineEdit_name", self.study.name)
|
|
self.set_text_edit_text("textEdit_description", self.study.description)
|
|
self.set_datetime_edit("dateTimeEdit_date", self.study.date)
|
|
if self.study.time_system == "date":
|
|
self.set_radio_button("radioButton_date", True)
|
|
self.find(QLabel, "label_date").setEnabled(True)
|
|
self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True)
|
|
|
|
self.connection()
|
|
|
|
def connection(self):
|
|
time = self.find(QRadioButton, "radioButton_time")
|
|
date = self.find(QRadioButton, "radioButton_date")
|
|
|
|
time.toggled.connect(self.set_time)
|
|
date.toggled.connect(self.set_date)
|
|
|
|
def set_time(self):
|
|
if self.get_radio_button("radioButton_time"):
|
|
self.find(QLabel, "label_date").setEnabled(False)
|
|
self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(False)
|
|
|
|
def set_date(self):
|
|
if self.get_radio_button("radioButton_date"):
|
|
self.find(QLabel, "label_date").setEnabled(True)
|
|
self.find(QDateTimeEdit, "dateTimeEdit_date").setEnabled(True)
|
|
|
|
|
|
def accept(self):
|
|
name = self.get_line_edit_text("lineEdit_name")
|
|
description = self.get_text_edit_text("textEdit_description")
|
|
|
|
if self.study is None:
|
|
study = Study.new(name, description)
|
|
if self.get_radio_button("radioButton_date"):
|
|
date = self.get_datetime_edit("dateTimeEdit_date")
|
|
study.use_date(date)
|
|
self.parent.set_model(study)
|
|
else:
|
|
self.study.name = name
|
|
self.study.description = description
|
|
if self.get_radio_button("radioButton_date"):
|
|
date = self.get_datetime_edit("dateTimeEdit_date")
|
|
self.study.use_date(date)
|
|
else:
|
|
self.study.use_time()
|
|
self.done(True)
|