From b0435e197c07f46b340e39a6fa4ea75089d8e346 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Mon, 18 Sep 2023 15:44:41 -0500 Subject: [PATCH] attempting to add wrapper move function I believe this won't work, but it's an attempt --- src/cpp/serviceitemmodel.cpp | 15 +++++++++++++++ src/cpp/serviceitemmodel.h | 1 + 2 files changed, 16 insertions(+) diff --git a/src/cpp/serviceitemmodel.cpp b/src/cpp/serviceitemmodel.cpp index f4f1bb2..6886a15 100644 --- a/src/cpp/serviceitemmodel.cpp +++ b/src/cpp/serviceitemmodel.cpp @@ -394,6 +394,21 @@ bool ServiceItemModel::moveUp(int id) { return false; } +bool ServiceItemModel::moveRowsRust(int source, int dest, int count, ServiceItemMod *rustModel) { + const QModelIndex parent = index(source).parent(); + const bool isMoveDown = dest > source; + + if (!beginMoveRows(parent, source, source + count - 1, + parent, dest)) { + qDebug() << "Can't move rows"; + return false; + } + + const bool moved = rustModel->moveRows(source, dest, count); + endMoveRows(); + return moved; +} + QVariantMap ServiceItemModel::getRust(int index, ServiceItemMod *rustModel) const { QVariantMap item = rustModel->getItem(index); return item; diff --git a/src/cpp/serviceitemmodel.h b/src/cpp/serviceitemmodel.h index a4ded54..dd9b9b5 100644 --- a/src/cpp/serviceitemmodel.h +++ b/src/cpp/serviceitemmodel.h @@ -66,6 +66,7 @@ public: Q_INVOKABLE void removeItem(int index); Q_INVOKABLE void removeItems(); Q_INVOKABLE bool moveRows(int sourceIndex, int destIndex, int count); + Q_INVOKABLE bool moveRowsRust(int source, int dest, int count, ServiceItemMod *rustModel); Q_INVOKABLE bool moveDown(int index); Q_INVOKABLE bool moveUp(int index); Q_INVOKABLE bool select(int id);