Skip to content
Snippets Groups Projects
Select Git revision
  • c2220f86c39dd01618de6a820d1e5fb848afcbb3
  • master default protected
  • beta/202508201613
  • stable/20250815.1
  • stable/20250815.0
  • nightly/20250815.0
  • nightly/20250806.0
  • nightly/20250805.0
  • beta/202508051403
  • beta/202508051107
  • nightly/20250722.0
  • beta/202507211539
  • stable/20250718.0
  • nightly/20250718.0
  • nightly/20250714.0
  • beta/202507141552
  • beta/202506161038
  • stable/20250613.0
  • nightly/20250613.0
  • beta/202506101658
  • stable/20250610.0
  • nightly/20250610.0
22 results

accountstomigratelistmodel.h

Blame
  • Sébastien Blin's avatar
    Sébastien Blin authored
    Change-Id: I32bfdd2a618aa7ac6181da2697e241667b010aab
    1f91576a
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    accountstomigratelistmodel.h 1.99 KiB
    /*
     * Copyright (C) 2019-2020 by Savoir-faire Linux
     * Author: Yang Wang   <yang.wang@savoirfairelinux.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 3 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.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     */
    
    #pragma once
    
    #include <QAbstractItemModel>
    
    #include "api/account.h"
    #include "api/contact.h"
    #include "api/conversation.h"
    #include "api/newdevicemodel.h"
    
    #include "lrcinstance.h"
    
    class AccountsToMigrateListModel : public QAbstractListModel
    {
        Q_OBJECT
    public:
        enum Role {
            Account_ID = Qt::UserRole + 1,
            ManagerUsername,
            ManagerUri,
            Username,
            Alias,
            Picture
        };
        Q_ENUM(Role)
    
        explicit AccountsToMigrateListModel(QObject *parent = 0);
        ~AccountsToMigrateListModel();
    
        /*
         * QAbstractListModel override.
         */
        int rowCount(const QModelIndex &parent = QModelIndex()) const override;
        int columnCount(const QModelIndex &parent) const override;
        QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
        /*
         * Override role name as access point in qml.
         */
        QHash<int, QByteArray> roleNames() const override;
        QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const;
        QModelIndex parent(const QModelIndex &child) const;
        Qt::ItemFlags flags(const QModelIndex &index) const;
    
        /*
         * This function is to reset the model when there's new account added.
         */
        Q_INVOKABLE void reset();
    };