diff options
Diffstat (limited to 'ticket.cxx')
| -rw-r--r-- | ticket.cxx | 30 | 
1 files changed, 12 insertions, 18 deletions
| @@ -3,6 +3,18 @@  namespace RTClient { +TicketList::TicketList(struct rtclient_ticket** list, +		QObject* parent) +	: QAbstractListModel{parent} +{ +	size_t i = 0; +	while (list[i]) { +		beginInsertRows(QModelIndex(), rowCount(), rowCount()); +		tickets << Ticket{list[i++]}; +		endInsertRows(); +	} +} +  int TicketList::rowCount(QModelIndex const& parent) const  {  	Q_UNUSED(parent) @@ -33,22 +45,4 @@ QHash<int, QByteArray> TicketList::roleNames() const  	};  } -	void TicketList::addTicket(Ticket const& ticket) -	{ -		beginInsertRows(QModelIndex(), rowCount(), rowCount()); -		tickets << ticket; -		endInsertRows(); -		emit rowCountChanged(); -	} - -	void TicketList::update(rtclient_search_ticket_list* list) -	{ -		if (list) { -			for (size_t i = 0; i < list->length; i++) -				addTicket(Ticket{list->tickets[i]}); -			rtclient_search_ticket_free(list); -			emit updated(); -		} -	} -  } |