TabularDecView: Implement "focus on latest"

This commit is contained in:
Soeren Apel 2020-04-26 15:26:59 +02:00 committed by Uwe Hermann
parent 86d4b8e3e5
commit c84afcfd68
3 changed files with 14 additions and 9 deletions

View File

@ -202,8 +202,7 @@ void AnnotationCollectionModel::set_signal_and_segment(data::DecodeSignal* signa
} else {
// Force the view associated with this model to update when we have more annotations
if (prev_last_row_ < new_row_count) {
dataChanged(index(prev_last_row_, 0, QModelIndex()),
index(new_row_count, 0, QModelIndex()));
dataChanged(index(prev_last_row_, 0), index(new_row_count, 0));
layoutChanged();
}
}
@ -246,7 +245,7 @@ void AnnotationCollectionModel::update_annotations_without_hidden()
all_annotations_without_hidden_.resize(count);
dataChanged(index(0, 0, QModelIndex()), index(count, 0, QModelIndex()));
dataChanged(index(0, 0), index(count, 0));
layoutChanged();
}

View File

@ -58,8 +58,8 @@ const char* SaveTypeNames[SaveTypeCount] = {
const char* ViewModeNames[ViewModeCount] = {
"Show all",
"Show all and focus on newest",
"Show visible in main view"
"Show all and focus on newest"
// "Show visible in main view"
};
QSize QCustomTableView::minimumSizeHint() const
@ -333,7 +333,7 @@ void View::save_data_as_csv(unsigned int save_type) const
if (table_view_->horizontalHeader()->isSectionHidden(column))
continue;
const QModelIndex idx = model_->index(row, column, QModelIndex());
const QModelIndex idx = model_->index(row, column);
QString s = model_->data(idx, Qt::DisplayRole).toString();
if (save_type == SaveTypeCSVEscaped)
@ -433,8 +433,14 @@ void View::on_signal_color_changed(const QColor &color)
void View::on_new_annotations()
{
if (!delayed_view_updater_.isActive())
delayed_view_updater_.start();
if (view_mode_selector_->currentIndex() == ViewModeLatest) {
update_data();
table_view_->scrollTo(model_->index(model_->rowCount() - 1, 0),
QAbstractItemView::PositionAtBottom);
} else {
if (!delayed_view_updater_.isActive())
delayed_view_updater_.start();
}
}
void View::on_decoder_reset()

View File

@ -48,7 +48,7 @@ enum SaveType {
enum ViewModeType {
ViewModeAll,
ViewModeLatest,
ViewModeVisible,
// ViewModeVisible,
ViewModeCount // Indicates how many save types there are, must always be last
};