From 903985a4387cb108b64fe50d400fa7ad0bb32979 Mon Sep 17 00:00:00 2001 From: saturneric Date: Tue, 16 Apr 2024 10:42:25 +0200 Subject: fix: improve grt tab, mods name and its project structure --- src/ui/widgets/GRTTreeView.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/ui/widgets/GRTTreeView.cpp') diff --git a/src/ui/widgets/GRTTreeView.cpp b/src/ui/widgets/GRTTreeView.cpp index f2ae42c2..09d7dcf0 100644 --- a/src/ui/widgets/GRTTreeView.cpp +++ b/src/ui/widgets/GRTTreeView.cpp @@ -33,10 +33,34 @@ namespace GpgFrontend::UI { -GRTTreeView::GRTTreeView(QWidget *parent) : QTreeView(parent) { +GRTTreeView::GRTTreeView(QWidget* parent) : QTreeView(parent) { setModel(new Module::GlobalRegisterTableTreeModel( Module::ModuleManager::GetInstance().GRT())); + + connect(model(), &QFileSystemModel::layoutChanged, this, + &GRTTreeView::slot_adjust_column_widths); + connect(model(), &QFileSystemModel::dataChanged, this, + &GRTTreeView::slot_adjust_column_widths); + connect(this, &GRTTreeView::expanded, this, + &GRTTreeView::slot_adjust_column_widths); + connect(this, &GRTTreeView::collapsed, this, + &GRTTreeView::slot_adjust_column_widths); } GRTTreeView::~GRTTreeView() = default; + +void GRTTreeView::paintEvent(QPaintEvent* event) { + QTreeView::paintEvent(event); + + if (!initial_resize_done_) { + slot_adjust_column_widths(); + initial_resize_done_ = true; + } +} + +void GRTTreeView::slot_adjust_column_widths() { + for (int i = 0; i < model()->columnCount(); ++i) { + this->resizeColumnToContents(i); + } +} } // namespace GpgFrontend::UI \ No newline at end of file -- cgit v1.2.3