Beispiel #1
0
    def paintCell(self, painter: QtGui.QPainter, rect: QtCore.QRect,
                  date: typing.Union[QtCore.QDate, datetime.date]) -> None:
        painter.save()
        with open(get_resource("config.json")) as file:
            if date.toPyDate().strftime("%Y-%m-%d") in json.loads(
                    file.read())["favorites"]:
                painter.fillRect(rect, QtGui.QColor.fromRgb(255, 255, 0))
        if (date.month() != self.monthShown()):
            painter.setPen(QtGui.QColor("#888888"))
        elif date.dayOfWeek() == 6 or date.dayOfWeek() == 7:
            painter.setPen(QtGui.QColor("red"))

        tags = self.get_tags_from_date_file(date.toPyDate())
        rect.adjust(0, 0, -1, -1)
        pen = painter.pen()
        pen.setColor(
            QtGui.QColor.fromHsl(pen.color().hue(),
                                 pen.color().saturation(),
                                 pen.color().lightness(), 150))
        painter.setPen(pen)
        painter.drawRect(rect)
        pen.setColor(
            QtGui.QColor.fromHsl(pen.color().hue(),
                                 pen.color().saturation(),
                                 pen.color().lightness(), 255))
        painter.setPen(pen)

        painter.drawText(rect, QtCore.Qt.AlignTop, str(date.day()))
        text = ""
        try:
            for tag in tags[:5]:
                if len(tag) > 12:
                    tag = str(tag[:12]) + "..."
                text += f" {tag} \n"
        except TypeError:
            text = ""
        font = QtGui.QFont()
        font.setPixelSize(10)
        painter.setFont(font)
        brush = painter.background()
        random.seed(date)
        brush.setColor(QtGui.QColor().fromHsl(randint(0, 255), randint(0, 255),
                                              randint(200, 255)))
        painter.setPen(QtGui.QColor("black"))
        painter.setBackground(brush)
        painter.setBackgroundMode(QtCore.Qt.OpaqueMode)
        painter.drawText(rect, QtCore.Qt.AlignBottom | QtCore.Qt.AlignHCenter,
                         text)
        painter.restore()
    def enrollmentDateChanged(self):
        # Fetch the currently selected date, this is a QDate object
        date = self.calEnrollment.selectedDate()
        # This is a gives us the date contained in the QDate as a native
        # python date[time] object
        pydate = date.toPyDate()

        self.txtEnrollment.setText(pydate.isoformat())
    def enrollmentDateChanged(self):
        # Fetch the currently selected date, this is a QDate object
        date = self.calEnrollment.selectedDate()
        # This is a gives us the date contained in the QDate as a native
        # python date[time] object
        pydate = date.toPyDate()

        self.txtEnrollment.setText(pydate.isoformat())
Beispiel #4
0
	def updateDisplay(self, date):
		date=date.toPyDate()
		p,m,s,e=self.report.transit_cycle_num(date)
		self.pdisplay.setText(str(p))
		self.mdisplay.setText(str(m))
		self.sdisplay.setText(str(s))
		self.edisplay.setText(str(e))

		pdatenums=self.report.personal_date_nums(date)
		self.pydisplay.setText(str(pdatenums["year"]))
		self.pmdisplay.setText(str(pdatenums["month"]))
		self.pddisplay.setText(str(pdatenums["day"]))
Beispiel #5
0
 def create_new_db(self):
     group = self.values['group']
     save_path = self.values['save_path']
     date = self.values['start_date']
     logo = self.values['logo']
     if self.values['auth'] == 'file':
         keyfile = self.values['file']
         password = None
     else:
         keyfile = None
         password = self.values['password']
     crypted = os.path.join(save_path,
                            '{}.gmandb'.format(group.replace(' ', '_')))
     self.status.showMessage(
         'Erstelle verschlüsselte Datei {}'.format(crypted))
     handler = crypto.CryptedDBHandler(crypted, keyfile, password)
     db_path = handler.decrypt()
     Session = db.get_session('sqlite:///{}'.format(db_path), False)
     s = Session()
     self.status.showMessage('Erstelle Datenbanktabellen')
     db.create_tables(s)
     self.status.showMessage('Schreibe Basisdaten')
     base = db.BaseData(group_name=group,
                        start=date.toPyDate(),
                        internal_code=self.values['internal_name'],
                        institution=self.values['own_name'])
     if logo:
         with open(logo, 'rb') as fp:
             base.logo = fp.read()
     s.add(base)
     self.status.showMessage('Schreibe Punktschlüssel')
     for points, school, text in IHK:
         s.add(
             db.Ratings(key='IHK',
                        points=points,
                        school_grade=school,
                        text_rating=text))
     self.status.showMessage('Schreibe Kurse')
     for job, courses in COURSES.items():
         for course in courses:
             s.add(db.CourseData(job=job, title=course))
     s.commit()
     s.close()
     self.status.showMessage('Die Datenbank ist jetzt verwendbar')
     QtWidgets.QMessageBox.information(
         self, 'Datenbank wurde erfolgreich erstellt',
         'Bewahren Sie den Schlüssel / das Passwort gut auf!')
     self.db_created.emit(handler)
Beispiel #6
0
 def birthChanged(self, date):
     senderNoi = int(self.sender().objectName()[3])
     self.scenario.indiv[senderNoi].update({'birth': date.toPyDate()})
     self.emit(SIGNAL('compoChanged()'))
Beispiel #7
0
 def sendMinDate(self, date):
     self.currentMinData = date.toPyDate()
     self.setMinDateSignal.emit(self.currentMinData)
 def show_date(self, date):
     self.updated_date.emit(date.toPyDate())
     self.text_area.setText(date.toString())
 def birthChanged(self, date):
     senderNoi = int(self.sender().objectName()[3])
     self.scenario.indiv[senderNoi].update({'birth': date.toPyDate()})
     self.emit(SIGNAL('compoChanged()'))