]> sigrok.org Git - pulseview.git/commitdiff
View: Improve 2a9fcd621 by using settings_restored_
authorSoeren Apel <redacted>
Fri, 9 Jun 2017 20:44:38 +0000 (22:44 +0200)
committerSoeren Apel <redacted>
Fri, 9 Jun 2017 20:44:38 +0000 (22:44 +0200)
The timer is no longer needed as the introduction of
settings_restored_ allows us to determine whether we
should resize the trace label header to its proper
width when the show event is received.
This is because the show event is received only after
all widget resizing took place. This means that the
header pane sizes will be reliable at this point,
making this solution much cleaner than relying on
a timer repeatedly calling expand_header_to_fit().

pv/view/view.cpp
pv/view/view.hpp

index 287bfb6c51b7429467d72779abd2cadb3b3a76a1..eeda37ccfdbd1b1dc241b7ac7990d26f37af55d1 100644 (file)
@@ -892,13 +892,6 @@ 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());
@@ -1023,6 +1016,9 @@ bool View::eventFilter(QObject *object, QEvent *event)
                // resized to their final sizes.
                update_layout();
 
+               if (!settings_restored_)
+                       expand_header_to_fit();
+
                if (scroll_needs_defaults_) {
                        set_scroll_default();
                        scroll_needs_defaults_ = false;
@@ -1089,13 +1085,6 @@ void View::on_splitter_moved()
                expand_header_to_fit();
 }
 
-void View::on_repeat_splitter_expansion()
-{
-       // Don't mess with the header if settings were restored in the meanwhile
-       if (!settings_restored_)
-               expand_header_to_fit();
-}
-
 void View::h_scroll_value_changed(int value)
 {
        if (updating_scroll_)
index 08e17d6056867f45be84bee8b62d61cad70f45df..2fff8d2559d34e88e65648f76c7613b79b88d92f 100644 (file)
@@ -356,7 +356,6 @@ 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();