Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 83afa8c1 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

[WIP] UI: Continuation of AssLinesModel

- Add some not implemented methods
- Don't used a custom line number column, will use the Qt's one (TBD)
- Make rows selectable
parent 38d01086
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!7Add the ASS sub document and the ASS tree
...@@ -2,6 +2,11 @@ ...@@ -2,6 +2,11 @@
using namespace Vivy; using namespace Vivy;
AssLinesModel::Item::Item(Ass::LineWeakPtr linePtr) noexcept
: line(linePtr)
{
}
quint64 quint64
AssLinesModel::Item::getLineNumber() const noexcept AssLinesModel::Item::getLineNumber() const noexcept
{ {
...@@ -33,8 +38,12 @@ AssLinesModel::Item::getLineStyle() const noexcept ...@@ -33,8 +38,12 @@ AssLinesModel::Item::getLineStyle() const noexcept
return ""; return "";
} }
AssLinesModel::AssLinesModel(const QVector<Ass::LinePtr> &) noexcept AssLinesModel::AssLinesModel(const QVector<Ass::LinePtr> &lines) noexcept
: lineRealData(lines)
{ {
childs.reserve(lines.count());
for (const Ass::LinePtr &line : lines)
childs.append(new Item(Ass::LineWeakPtr{ line }));
} }
AssLinesModel::~AssLinesModel() noexcept AssLinesModel::~AssLinesModel() noexcept
...@@ -52,9 +61,6 @@ AssLinesModel::data(const QModelIndex &index, int role) const noexcept ...@@ -52,9 +61,6 @@ AssLinesModel::data(const QModelIndex &index, int role) const noexcept
if (Qt::DisplayRole == role) { if (Qt::DisplayRole == role) {
switch (static_cast<Item::Field>(index.column())) { switch (static_cast<Item::Field>(index.column())) {
case Item::Field::Line:
return QString("%1").arg(line->getLineNumber());
case Item::Field::Style: case Item::Field::Style:
return line->getLineStyle(); return line->getLineStyle();
...@@ -132,7 +138,8 @@ AssLinesModel::columnCount(const QModelIndex & /* parent */) const noexcept ...@@ -132,7 +138,8 @@ AssLinesModel::columnCount(const QModelIndex & /* parent */) const noexcept
} }
Qt::ItemFlags Qt::ItemFlags
AssLinesModel::flags(const QModelIndex &) const noexcept AssLinesModel::flags(const QModelIndex &index) const noexcept
{ {
return Qt::ItemIsSelectable; [[maybe_unused]] const Item *item = static_cast<const Item *>(index.internalPointer());
return Qt::ItemIsSelectable | QAbstractItemModel::flags(index);
} }
...@@ -20,9 +20,8 @@ private: ...@@ -20,9 +20,8 @@ private:
~Item() noexcept = default; ~Item() noexcept = default;
enum class Field : int { enum class Field : int {
Line = 0, Style,
Style = 1, Text,
Text = 2,
// Last, the count // Last, the count
TotalFieldCount, TotalFieldCount,
...@@ -36,6 +35,8 @@ private: ...@@ -36,6 +35,8 @@ private:
Ass::LineWeakPtr line; Ass::LineWeakPtr line;
}; };
static inline const QStringList headers{ "Actor", "Text" };
public: public:
explicit AssLinesModel(const QVector<Ass::LinePtr> &) noexcept; explicit AssLinesModel(const QVector<Ass::LinePtr> &) noexcept;
~AssLinesModel() noexcept; ~AssLinesModel() noexcept;
...@@ -53,7 +54,7 @@ public: ...@@ -53,7 +54,7 @@ public:
Qt::ItemFlags flags(const QModelIndex &) const noexcept override; Qt::ItemFlags flags(const QModelIndex &) const noexcept override;
private: private:
QStringList headers{ "N°", "Actor", "Text" };
QVector<Item *> childs; QVector<Item *> childs;
const QVector<Ass::LinePtr> &lineRealData;
}; };
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter