]> sigrok.org Git - pulseview.git/commitdiff
Fix #969 by scheduling another call after a small delay
authorSoeren Apel <redacted>
Tue, 6 Jun 2017 10:07:25 +0000 (12:07 +0200)
committerSoeren Apel <redacted>
Tue, 6 Jun 2017 14:17:26 +0000 (16:17 +0200)
pv/view/view.cpp
pv/view/view.hpp

index 61b03b2e16b8495b8d8c6e8f0093bb4b7830a978..1cb03afcf3cbf5f5c0fd33ebee12c226b5a5797e 100644 (file)
@@ -889,6 +889,13 @@ void View::expand_header_to_fit()
        for (int w : splitter_->sizes())
                splitter_area_width += w;
 
+       // Workaround for when the header needs resizing but the view
+       // isn't visible yet and thus splitter_->sizes() returns (0, 0)
+       if (splitter_area_width == 0) {
+               QTimer::singleShot(50, this, SLOT(on_repeat_splitter_expansion()));
+               return;
+       }
+
        // Make sure the header has enough horizontal space to show all labels fully
        QList<int> pane_sizes;
        pane_sizes.push_back(header_->extended_size_hint().width());
@@ -1079,6 +1086,11 @@ void View::on_splitter_moved()
                expand_header_to_fit();
 }
 
+void View::on_repeat_splitter_expansion()
+{
+       expand_header_to_fit();
+}
+
 void View::h_scroll_value_changed(int value)
 {
        if (updating_scroll_)
index 76a38f16630b672cdd2a5ba1ebcc2378ca363277..9b6ce3ff2967c31283a499a3ff106a1aaa6fa430 100644 (file)
@@ -356,6 +356,8 @@ public:
 private Q_SLOTS:
 
        void on_splitter_moved();
+       void on_repeat_splitter_expansion();
+
        void h_scroll_value_changed(int value);
        void v_scroll_value_changed();