removal of slides are almost there

This commit is contained in:
Chris Cochrun 2023-01-25 21:28:06 -06:00
parent 7a8c7cc389
commit 86f1e8e53c
2 changed files with 17 additions and 6 deletions

View file

@ -112,7 +112,7 @@ void Slide::setServiceItemId(int serviceItemId)
if (m_serviceItemId == serviceItemId) if (m_serviceItemId == serviceItemId)
return; return;
qDebug() << "####changing serviceItemId of" << "to:" << serviceItemId; qDebug() << "####changing serviceItemId of slide:" << m_serviceItemId << "and" << m_slideIndex << "TO:" << serviceItemId;
m_serviceItemId = serviceItemId; m_serviceItemId = serviceItemId;
emit serviceItemIdChanged(m_serviceItemId); emit serviceItemIdChanged(m_serviceItemId);
} }

View file

@ -288,22 +288,33 @@ void SlideModel::removeItem(int index) {
} }
void SlideModel::removeServiceItem(const int &index, const ServiceItem &item) { void SlideModel::removeServiceItem(const int &index, const ServiceItem &item) {
qDebug() << "Need to remove serviceItem:" << item.name() << "with" << item.slideNumber() << "slides."; qDebug() << "Need to remove serviceItem:"
<< item.name()
<< "with"
<< item.slideNumber()
<< "slides.";
int id = findSlideIdFromServItm(index); int id = findSlideIdFromServItm(index);
if (id < 0) {
qWarning() << "There is no slide with that ServiceItem";
return;
}
if (item.slideNumber() > 1) { if (item.slideNumber() > 1) {
for (int i = item.slideNumber() + id; i > id - 1; i--) { for (int i = item.slideNumber() + id - 1; i > id - 1; i--) {
qDebug() << "Removing serviceItem:" << i; qDebug() << "Removing multiple slides";
qDebug() << "Removing slide:" << i;
beginRemoveRows(QModelIndex(), i, i); beginRemoveRows(QModelIndex(), i, i);
m_items.removeAt(i); m_items.removeAt(i);
endRemoveRows(); endRemoveRows();
m_items[i]->setServiceItemId(index);
} }
for (int i = id; i < m_items.length(); i++)
m_items[i]->setServiceItemId(m_items[i]->serviceItemId() - 1);
} else { } else {
qDebug() << "Removing serviceItem:" << id; qDebug() << "Removing serviceItem:" << id;
beginRemoveRows(QModelIndex(), id, id); beginRemoveRows(QModelIndex(), id, id);
m_items.removeAt(id); m_items.removeAt(id);
endRemoveRows(); endRemoveRows();
m_items[id]->setServiceItemId(index); for (int i = id; i < m_items.length(); i++)
m_items[i]->setServiceItemId(m_items[i]->serviceItemId() - 1);
} }
} }