initial commit

This commit is contained in:
dries.k
2021-08-05 18:56:17 +02:00
commit 1520e4d9e7
56 changed files with 3820 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
from typing import Optional, Union
from PyQt6 import QtCore, QtGui
from gotify_tray import gotify
class ApplicationModelItem(QtGui.QStandardItem):
def __init__(
self,
application: gotify.GotifyApplicationModel,
icon: Optional[QtGui.QIcon] = None,
*args,
**kwargs
):
super(ApplicationModelItem, self).__init__(application.name)
self.application = application
if icon:
self.setIcon(icon)
class ApplicationAllMessagesItem(QtGui.QStandardItem):
def __init__(self, *args, **kwargs):
super(ApplicationAllMessagesItem, self).__init__("ALL MESSAGES")
class ApplicationModel(QtGui.QStandardItemModel):
def setItem(self, row: int, column: int, item: Union[ApplicationModelItem, ApplicationAllMessagesItem]) -> None:
super(ApplicationModel, self).setItem(row, column, item)
def itemFromIndex(
self, index: QtCore.QModelIndex
) -> Union[ApplicationModelItem, ApplicationAllMessagesItem]:
return super(ApplicationModel, self).itemFromIndex(index)
def itemFromId(self, appid: int) -> Optional[ApplicationModelItem]:
for row in range(self.rowCount()):
item = self.item(row, 0)
if not isinstance(item, ApplicationModelItem):
continue
if item.application.id == appid:
return item
return None