Files
pyqcrm/lib/DB/AddressModel.py
2025-04-24 01:37:09 +02:00

35 lines
1.0 KiB
Python

from PySide6.QtCore import QAbstractListModel, Qt, Slot, QModelIndex
from .AddressDAO import AddressDAO
from ..PyqcrmDataRoles import PyqcrmDataRoles
class AddressModel(QAbstractListModel):
def __init__(self):
super().__init__()
self.__address_data = AddressDAO().getAddressData()
def rowCount(self, parent=QModelIndex()):
return len(self.__address_data)
def data(self, index, role=Qt.ItemDataRole.DisplayRole):
row = index.row()
if role == Qt.ItemDataRole.DisplayRole:
data = self.__address_data[row][2]
return data
elif role == PyqcrmDataRoles.CITY_ROLE:
data = self.__address_data[row][3]
return data
return None
def roleNames(self):
return {
Qt.ItemDataRole.DisplayRole: b"display",
PyqcrmDataRoles.CITY_ROLE: b"city",
}
@Slot(bool, str)
def getAddresses(self, all, zipcode):
data = AddressDAO().getAddressData(all, zipcode)
return data