From 5dde3fdfc57fbecb0f0b0e987713825fa8a47853 Mon Sep 17 00:00:00 2001 From: Michail Vourlakos Date: Thu, 8 Apr 2021 12:59:18 +0300 Subject: [PATCH] provide append/removeView in dialog views model --- app/settings/viewsdialog/viewsmodel.cpp | 46 +++++++++++++++++++++++++ app/settings/viewsdialog/viewsmodel.h | 4 +++ 2 files changed, 50 insertions(+) diff --git a/app/settings/viewsdialog/viewsmodel.cpp b/app/settings/viewsdialog/viewsmodel.cpp index 86662f23a..efc74594a 100644 --- a/app/settings/viewsdialog/viewsmodel.cpp +++ b/app/settings/viewsdialog/viewsmodel.cpp @@ -131,6 +131,52 @@ void Views::resetData() setOriginalData(o_viewsTable); } +void Views::appendView(const Latte::Data::View &view) +{ + //int newRow = m_layoutsTable.sortedPosForName(layout.name); + + Data::View newview = view; + + if (!newview.isCreated()) { + + } + + beginInsertRows(QModelIndex(), m_viewsTable.rowCount(), m_viewsTable.rowCount()); + m_viewsTable << view; + endInsertRows(); + + emit rowsInserted(); +} + +void Views::removeView(const QString &id) +{ + int index = m_viewsTable.indexOf(id); + + if (index >= 0) { + removeRows(index, 1); + } +} + +bool Views::removeRows(int row, int count, const QModelIndex &parent) +{ + Q_UNUSED(parent) + + int firstRow = row; + int lastRow = row+count-1; + + if (count > 0 && m_viewsTable.rowExists(firstRow) && (m_viewsTable.rowExists(lastRow))) { + beginRemoveRows(QModelIndex(), firstRow, lastRow); + for(int i=0; i