cabana: make head section movable (#27971)

* set sections movable

* change setting key to v3

* add comment

* remove restorestate from MainWindow
old-commit-hash: f9568e9818
beeps
Dean Lee 2 years ago committed by GitHub
parent 6d69fc17da
commit 7a51caa0af
  1. 1
      tools/cabana/mainwin.cc
  2. 8
      tools/cabana/messageswidget.cc
  3. 4
      tools/cabana/settings.cc

@ -39,7 +39,6 @@ MainWindow::MainWindow() : QMainWindow() {
setGeometry(QApplication::desktop()->availableGeometry(this)); setGeometry(QApplication::desktop()->availableGeometry(this));
} }
restoreState(settings.window_state); restoreState(settings.window_state);
messages_widget->restoreHeaderState(settings.message_header_state);
qRegisterMetaType<uint64_t>("uint64_t"); qRegisterMetaType<uint64_t>("uint64_t");
qRegisterMetaType<SourceSet>("SourceSet"); qRegisterMetaType<SourceSet>("SourceSet");

@ -34,7 +34,11 @@ MessagesWidget::MessagesWidget(QWidget *parent) : QWidget(parent) {
view->setItemsExpandable(false); view->setItemsExpandable(false);
view->setIndentation(0); view->setIndentation(0);
view->setRootIsDecorated(false); view->setRootIsDecorated(false);
view->header()->setSectionsMovable(false); // Must be called before setting any header parameters to avoid overriding
restoreHeaderState(settings.message_header_state);
view->header()->setSectionsMovable(true);
main_layout->addWidget(view); main_layout->addWidget(view);
// suppress // suppress
@ -289,7 +293,7 @@ void MessageView::drawRow(QPainter *painter, const QStyleOptionViewItem &option,
auto y = option.rect.y(); auto y = option.rect.y();
painter->translate(visualRect(model()->index(0, 0)).x() - indentation() - .5, -.5); painter->translate(visualRect(model()->index(0, 0)).x() - indentation() - .5, -.5);
for (int i = 0; i < header()->count(); ++i) { for (int i = 0; i < header()->count(); ++i) {
painter->translate(header()->sectionSize(i), 0); painter->translate(header()->sectionSize(header()->logicalIndex(i)), 0);
painter->drawLine(0, y, 0, y + option.rect.height()); painter->drawLine(0, y, 0, y + option.rect.height());
} }
painter->setPen(old_pen); painter->setPen(old_pen);

@ -30,7 +30,7 @@ void Settings::save() {
s.setValue("geometry", geometry); s.setValue("geometry", geometry);
s.setValue("video_splitter_state", video_splitter_state); s.setValue("video_splitter_state", video_splitter_state);
s.setValue("recent_files", recent_files); s.setValue("recent_files", recent_files);
s.setValue("message_header_state_v2", message_header_state); s.setValue("message_header_state_v3", message_header_state);
s.setValue("chart_series_type", chart_series_type); s.setValue("chart_series_type", chart_series_type);
s.setValue("theme", theme); s.setValue("theme", theme);
s.setValue("sparkline_range", sparkline_range); s.setValue("sparkline_range", sparkline_range);
@ -53,7 +53,7 @@ void Settings::load() {
geometry = s.value("geometry").toByteArray(); geometry = s.value("geometry").toByteArray();
video_splitter_state = s.value("video_splitter_state").toByteArray(); video_splitter_state = s.value("video_splitter_state").toByteArray();
recent_files = s.value("recent_files").toStringList(); recent_files = s.value("recent_files").toStringList();
message_header_state = s.value("message_header_state_v2").toByteArray(); message_header_state = s.value("message_header_state_v3").toByteArray();
chart_series_type = s.value("chart_series_type", 0).toInt(); chart_series_type = s.value("chart_series_type", 0).toInt();
theme = s.value("theme", 0).toInt(); theme = s.value("theme", 0).toInt();
sparkline_range = s.value("sparkline_range", 15).toInt(); sparkline_range = s.value("sparkline_range", 15).toInt();

Loading…
Cancel
Save