From 4bf179070888c008532d3885f61abbc6b217101a Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Tue, 24 Jan 2023 13:14:14 -0600 Subject: [PATCH] slides now follow moving a single serviceItem around --- src/cpp/slidemodel.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/cpp/slidemodel.cpp b/src/cpp/slidemodel.cpp index 2cb2f85..be5a792 100644 --- a/src/cpp/slidemodel.cpp +++ b/src/cpp/slidemodel.cpp @@ -555,7 +555,8 @@ void SlideModel::moveRowFromService(const int &fromIndex, const bool isMoveDown = toIndex > fromIndex; qDebug() << "@@@Move SIs" << fromIndex << "to" << toIndex << "@@@"; int slideId = findSlideIdFromServItm(fromIndex); - int toSlideId = findSlideIdFromServItm(toIndex); + int toSlideId = isMoveDown ? findSlideIdFromServItm(toIndex + 1) - 1 : findSlideIdFromServItm(toIndex); + // Slide toSlide = m_items[toSlideId]; int count; if (item.type() == "song") count = item.text().length(); @@ -563,10 +564,21 @@ void SlideModel::moveRowFromService(const int &fromIndex, count = item.slideNumber(); else count = 1; + // int toCount = toSlide.imageCount(); int toId = count + slideId; qDebug() << "@@@Move Row" << slideId << "to" << toSlideId << "@@@"; qDebug() << count; - moveRows(slideId, toSlideId, count); + if (isMoveDown) { + if (toSlideId - slideId > 1) + moveRows(slideId, toSlideId - 1, count); + else + moveRows(slideId, toSlideId, count); + } else { + if (slideId - toSlideId > 1) + moveRows(slideId - 1, toSlideId, count); + else + moveRows(slideId, toSlideId, count); + } m_items[toSlideId]->setServiceItemId(toIndex); if (isMoveDown) { for (int i = slideId; i < toSlideId; i++) {