using video_model.rs and presentation_model.rs

These are hopefully a better alternative than the cpp counterparts
after some more time
This commit is contained in:
Chris Cochrun 2023-04-16 15:09:09 -05:00
parent 020e812bce
commit 9d05a7e655
8 changed files with 75 additions and 28 deletions

View file

@ -324,14 +324,15 @@ QVariantMap VideoSqlModel::getVideo(const int &row) {
VideoProxyModel::VideoProxyModel(QObject *parent)
:QSortFilterProxyModel(parent)
{
m_videoModel = new VideoSqlModel();
m_videoModel = new VideoModel();
m_videoModel->testDatabase();
setSourceModel(m_videoModel);
setDynamicSortFilter(true);
setFilterRole(Qt::UserRole + 1);
setFilterCaseSensitivity(Qt::CaseInsensitive);
}
VideoSqlModel *VideoProxyModel::videoModel() {
VideoModel *VideoProxyModel::videoModel() {
return m_videoModel;
}
@ -342,21 +343,21 @@ QModelIndex VideoProxyModel::idx(int row) {
}
QVariantMap VideoProxyModel::getVideo(const int &row) {
auto model = qobject_cast<VideoSqlModel *>(sourceModel());
QVariantMap video = model->getVideo(mapToSource(index(row, 0)).row());
auto model = qobject_cast<VideoModel *>(sourceModel());
QVariantMap video = model->getItem(mapToSource(index(row, 0)).row());
return video;
}
void VideoProxyModel::deleteVideo(const int &row) {
auto model = qobject_cast<VideoSqlModel *>(sourceModel());
model->deleteVideo(mapToSource(index(row,0)).row());
auto model = qobject_cast<VideoModel *>(sourceModel());
model->removeItem(mapToSource(index(row,0)).row());
}
void VideoProxyModel::deleteVideos(const QVector<int> &rows) {
auto model = qobject_cast<VideoSqlModel *>(sourceModel());
auto model = qobject_cast<VideoModel *>(sourceModel());
qDebug() << "DELETING!!!!!!!!!!!!!!!!!!!!!!!" << rows;
for (int i = rows.size() - 1; i >= 0; i--) {
qDebug() << "deleting" << rows.at(i);
model->deleteVideo(rows.at(i));
model->removeItem(rows.at(i));
}
}