X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fclip_list.cpp;fp=futatabi%2Fclip_list.cpp;h=0321727cef00888b4ce96bc719b5ed016d6da897;hb=85e1c098fb61869cba7edf20a6281b2f87a7b9ed;hp=9ccbb71367be6a8a4376822262fc7197dbcc2706;hpb=db71f5501fe92501c09a32c778fbacccadd26206;p=nageru diff --git a/futatabi/clip_list.cpp b/futatabi/clip_list.cpp index 9ccbb71..0321727 100644 --- a/futatabi/clip_list.cpp +++ b/futatabi/clip_list.cpp @@ -58,7 +58,7 @@ int ClipList::columnCount(const QModelIndex &parent) const { if (parent.isValid()) return 0; - return int(Column::NUM_COLUMNS); + return int(Column::NUM_NON_CAMERA_COLUMNS) + NUM_CAMERAS; } int PlayList::columnCount(const QModelIndex &parent) const @@ -105,15 +105,13 @@ QVariant ClipList::data(const QModelIndex &parent, int role) const } else { return QVariant(); } - case Column::CAMERA_1: - case Column::CAMERA_2: - case Column::CAMERA_3: - case Column::CAMERA_4: { - unsigned stream_idx = column - int(Column::CAMERA_1); - return QString::fromStdString(clips[row].descriptions[stream_idx]); - } default: - return ""; + if (is_camera_column(column)) { + unsigned stream_idx = column - int(Column::CAMERA_1); + return QString::fromStdString(clips[row].descriptions[stream_idx]); + } else { + return ""; + } } } @@ -213,16 +211,12 @@ QVariant ClipList::headerData(int section, Qt::Orientation orientation, int role return "Out"; case Column::DURATION: return "Duration"; - case Column::CAMERA_1: - return "Camera 1"; - case Column::CAMERA_2: - return "Camera 2"; - case Column::CAMERA_3: - return "Camera 3"; - case Column::CAMERA_4: - return "Camera 4"; default: - return ""; + if (section >= int(Column::CAMERA_1) && section < int(Column::CAMERA_1) + NUM_CAMERAS) { + return QString::fromStdString("Camera " + to_string(section - int(Column::CAMERA_1) + 1)); + } else { + return ""; + } } } @@ -261,13 +255,9 @@ Qt::ItemFlags ClipList::flags(const QModelIndex &index) const if (size_t(row) >= clips.size()) return Qt::ItemIsEnabled | Qt::ItemIsSelectable; - switch (Column(column)) { - case Column::CAMERA_1: - case Column::CAMERA_2: - case Column::CAMERA_3: - case Column::CAMERA_4: + if (is_camera_column(column)) { return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled; - default: + } else { return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } } @@ -301,17 +291,12 @@ bool ClipList::setData(const QModelIndex &index, const QVariant &value, int role if (size_t(row) >= clips.size()) return false; - switch (Column(column)) { - case Column::CAMERA_1: - case Column::CAMERA_2: - case Column::CAMERA_3: - case Column::CAMERA_4: { + if (is_camera_column(column)) { unsigned stream_idx = column - int(Column::CAMERA_1); clips[row].descriptions[stream_idx] = value.toString().toStdString(); emit_data_changed(row); return true; - } - default: + } else { return false; } } @@ -405,7 +390,7 @@ void PlayList::move_clips(size_t first, size_t last, int delta) void ClipList::emit_data_changed(size_t row) { - emit dataChanged(index(row, 0), index(row, int(Column::NUM_COLUMNS))); + emit dataChanged(index(row, 0), index(row, int(Column::NUM_NON_CAMERA_COLUMNS) + NUM_CAMERAS)); emit any_content_changed(); }