Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 4f7a80687b875920445a2abab7435bfd1c848d83
  • develop par défaut
  • renovate/configure
  • rebase-v4
  • cherry-pick-moise protégée
5 résultats

matrixcommandhandler.ts

Blame
  • AssLinesModel.hh 1,69 Kio
    #pragma once
    
    #include "../../Lib/Utils.hh"
    #include "../../Lib/Ass/Ass.hh"
    #include <QAbstractItemModel>
    #include <QStringList>
    
    namespace Vivy
    {
    class AssLinesModel final : public QAbstractItemModel {
        Q_OBJECT
        VIVY_UNMOVABLE_OBJECT(AssLinesModel)
    
    private:
        class Item final {
            VIVY_UNMOVABLE_OBJECT(Item)
    
        public:
            Item(Ass::LineWeakPtr linePtr) noexcept;
            ~Item() noexcept = default;
    
            enum class Field : int {
                Text,
    
                // Last, the count
                TotalFieldCount,
            };
    
            bool getIsComment() const noexcept;
            quint64 getLineNumber() const noexcept;
            QString getLineText() const noexcept;
            QString getLineStyle() const noexcept;
    
        private:
            Ass::LineWeakPtr line;
        };
    
        static inline const QStringList headers{ "", "Style", "Text" };
    
    public:
        explicit AssLinesModel(const QVector<Ass::LinePtr> &) noexcept;
        ~AssLinesModel() noexcept;
    
        QVariant data(const QModelIndex &, int role) const noexcept override;
        bool setData(const QModelIndex &, const QVariant &v, int r = Qt::EditRole) noexcept override;
    
        QVariant headerData(int section, Qt::Orientation, int r) const noexcept override;
        QModelIndex parent(const QModelIndex &) const noexcept override;
        QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const noexcept override;
    
        int rowCount(const QModelIndex &parent = QModelIndex()) const noexcept override;
        int columnCount(const QModelIndex &parent = QModelIndex()) const noexcept override;
    
        Qt::ItemFlags flags(const QModelIndex &) const noexcept override;
    
    private:
        QVector<Item *> childs;
        const QVector<Ass::LinePtr> &lineRealData;
    };
    }