update calendar to auto remove notification dot upon deletion

This commit is contained in:
WorldTeacher
2024-06-13 09:34:23 +02:00
parent 88fae1a5ec
commit 45b611fe83
2 changed files with 30 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
from .widget_sources.Ui_calendar_entry import Ui_Dialog
from PyQt6 import QtWidgets, QtCore
from PyQt6.QtCore import pyqtSignal
from PyQt6.QtCore import pyqtSignal, QDate
from src.backend.database import Database
from src import Icon
@@ -9,16 +9,17 @@ class CalendarEntry(QtWidgets.QDialog, Ui_Dialog):
deleteSignal = pyqtSignal(
int
) # when emit, send the id of the message to be deleted
repaintSignal = pyqtSignal()
repaintSignal = pyqtSignal(str)
def __init__(self, parent=None, messages=None):
def __init__(self, parent=None, messages=None, date=None):
super().__init__(parent)
self.setupUi(self)
self.messages = messages
self.spin_select_message.setMaximum(len(self.messages))
self.spin_select_message.setMinimum(1)
self.spin_select_message.setValue(1)
print(self.messages)
self.spin_select_message.setWrapping(True)
self.date = date
self.set_message()
self.spin_select_message.valueChanged.connect(self.set_message)
Icon("close", self.btn_close)
@@ -36,13 +37,11 @@ class CalendarEntry(QtWidgets.QDialog, Ui_Dialog):
return i
def delete_message(self):
print(self.spin_select_message.value())
value = self.spin_select_message.value()
print(value)
if value > 0:
value = value - 1
message = self.messages[value]
print(message)
id = self.__get_id(message)
print("id", id)
# del self.messages[value - 1]
@@ -50,10 +49,10 @@ class CalendarEntry(QtWidgets.QDialog, Ui_Dialog):
self.message_box.clear()
self.set_message()
self.deleteSignal.emit(id)
Database().deleteMessage(id)
self.messages.pop(self.__message_index(id))
if len(self.messages) == 0:
self.repaintSignal.emit()
self.repaintSignal.emit(self.date)
self.close()
else:
#