File indexing completed on 2024-06-23 04:42:36
0001 // SPDX-FileCopyrightText: 2021 Claudio Cambra <claudio.cambra@gmail.com> 0002 // SPDX-License-Identifier: LGPL-2.1-or-later 0003 0004 #pragma once 0005 0006 #include <QAbstractListModel> 0007 #include <QVector> 0008 #include <QQmlEngine> 0009 0010 class TimeZoneListModel : public QAbstractListModel 0011 { 0012 Q_OBJECT 0013 QML_ELEMENT 0014 public: 0015 enum Roles { IdRole = Qt::UserRole + 1 }; 0016 Q_ENUM(Roles); 0017 0018 explicit TimeZoneListModel(QObject *parent = nullptr); 0019 ~TimeZoneListModel() override = default; 0020 0021 QVariant data(const QModelIndex &idx, int role) const override; 0022 QHash<int, QByteArray> roleNames() const override; 0023 int rowCount(const QModelIndex &parent = {}) const override; 0024 0025 Q_INVOKABLE int getTimeZoneRow(const QByteArray &timeZone); 0026 0027 private: 0028 QVector<QByteArray> m_timeZones; 0029 };