Add a FileTagModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-04-10 19:27:31 +08:00
parent 0bdab1ee58
commit f763bd00fb
3 changed files with 73 additions and 0 deletions

View file

@ -88,6 +88,8 @@ set(client_SRCS
editlocallyjob.cpp
editlocallymanager.h
editlocallymanager.cpp
filetagmodel.h
filetagmodel.cpp
folder.h
folder.cpp
foldercreationdialog.h

39
src/gui/filetagmodel.cpp Normal file
View file

@ -0,0 +1,39 @@
/*
* Copyright (C) 2023 by Claudio Cambra <claudio.cambra@nextcloud.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*/
#include "filetagmodel.h"
FileTagModel::FileTagModel(QObject *parent)
: QAbstractListModel(parent)
{
}
int FileTagModel::rowCount(const QModelIndex &parent) const
{
// For list models only the root node (an invalid parent) should return the list's size. For all
// other (valid) parents, rowCount() should return 0 so that it does not become a tree model.
if (parent.isValid())
return 0;
// FIXME: Implement me!
}
QVariant FileTagModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
// FIXME: Implement me!
return QVariant();
}

32
src/gui/filetagmodel.h Normal file
View file

@ -0,0 +1,32 @@
/*
* Copyright (C) 2023 by Claudio Cambra <claudio.cambra@nextcloud.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*/
#pragma once
#include <QAbstractListModel>
class FileTagModel : public QAbstractListModel
{
Q_OBJECT
public:
explicit FileTagModel(QObject *parent = nullptr);
// Basic functionality:
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
[[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
private:
};