1 #include "mainwindow.h"
4 #include "ui_mainwindow.h"
11 int ClipList::rowCount(const QModelIndex &parent) const {
12 if (parent.isValid()) return 0;
16 int ClipList::columnCount(const QModelIndex &parent) const {
17 if (parent.isValid()) return 0;
18 if (display_type == ListDisplay::CLIP_LIST) {
19 return int(ClipListColumn::NUM_COLUMNS);
21 return int(PlayListColumn::NUM_COLUMNS);
25 QVariant ClipList::data(const QModelIndex &parent, int role) const {
26 if (!parent.isValid())
28 if (role != Qt::DisplayRole)
31 const int row = parent.row(), column = parent.column();
32 if (size_t(row) >= clips.size())
37 return qlonglong(clips[row].pts_in);
39 if (clips[row].pts_out >= 0) {
40 return qlonglong(clips[row].pts_out);
45 if (clips[row].pts_out >= 0) {
46 return qlonglong(clips[row].pts_out - clips[row].pts_in);
55 QVariant ClipList::headerData(int section, Qt::Orientation orientation, int role) const {
56 if (role != Qt::DisplayRole)
58 if (orientation != Qt::Horizontal)
61 if (display_type == ListDisplay::CLIP_LIST) {
62 switch (ClipListColumn(section)) {
63 case ClipListColumn::IN:
65 case ClipListColumn::OUT:
67 case ClipListColumn::DURATION:
69 case ClipListColumn::CAMERA_1:
71 case ClipListColumn::CAMERA_2:
73 case ClipListColumn::CAMERA_3:
75 case ClipListColumn::CAMERA_4:
81 switch (PlayListColumn(section)) {
82 case PlayListColumn::IN:
84 case PlayListColumn::OUT:
86 case PlayListColumn::DURATION:
88 case PlayListColumn::CAMERA:
90 case PlayListColumn::DESCRIPTION:
98 void ClipList::add_clip(const Clip &clip)
100 beginInsertRows(QModelIndex(), clips.size(), clips.size());
101 clips.push_back(clip);
105 void ClipList::emit_data_changed(size_t row)
107 if (display_type == ListDisplay::CLIP_LIST) {
108 emit dataChanged(index(row, 0), index(row, int(ClipListColumn::NUM_COLUMNS)));
110 emit dataChanged(index(row, 0), index(row, int(PlayListColumn::NUM_COLUMNS)));