File 0002-popups-update-comboboxes-on-channel-selection.patch of Package pulseview
From 09cc8c4ceceb92fe5aa8568b3429f8fcd568847a Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka <me@mixaill.net> Date: Sun, 14 Dec 2025 23:19:20 +0300 Subject: [PATCH 2/3] popups: update comboboxes on channel selection needed for devices which have different set of samplerates depending of enabled channels --- pv/popups/channels.cpp | 4 ++++ pv/popups/channels.hpp | 3 +++ pv/toolbars/mainbar.cpp | 1 + 3 files changed, 8 insertions(+) diff --git a/pv/popups/channels.cpp b/pv/popups/channels.cpp index ce2e8e98..5ee769c0 100644 --- a/pv/popups/channels.cpp +++ b/pv/popups/channels.cpp @@ -181,6 +181,7 @@ void Channels::set_all_channels(bool set) } updating_channels_ = false; + config_changed(); } void Channels::enable_channels_conditionally( @@ -200,6 +201,7 @@ void Channels::enable_channels_conditionally( } updating_channels_ = false; + config_changed(); } void Channels::disable_channels_conditionally( @@ -219,6 +221,7 @@ void Channels::disable_channels_conditionally( } updating_channels_ = false; + config_changed(); } void Channels::populate_group(shared_ptr<ChannelGroup> group, @@ -380,6 +383,7 @@ void Channels::on_channel_checked(QWidget *widget) assert(s); s->set_enabled(check_box->isChecked()); + config_changed(); } void Channels::enable_all_channels() diff --git a/pv/popups/channels.hpp b/pv/popups/channels.hpp index 66d284b0..1280677d 100644 --- a/pv/popups/channels.hpp +++ b/pv/popups/channels.hpp @@ -81,6 +81,9 @@ private: void showEvent(QShowEvent *event); +Q_SIGNALS: + void config_changed(); + private Q_SLOTS: #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) void on_channel_checked(QObject *widget); diff --git a/pv/toolbars/mainbar.cpp b/pv/toolbars/mainbar.cpp index cd46c063..57307173 100644 --- a/pv/toolbars/mainbar.cpp +++ b/pv/toolbars/mainbar.cpp @@ -552,6 +552,7 @@ void MainBar::update_device_config_widgets() // Update the channels popup Channels *const channels = new Channels(session_, this); channels_button_.set_popup(channels); + QObject::connect(channels, &Channels::config_changed, this, &MainBar::on_config_changed); // Update supported options. sample_count_supported_ = false; -- 2.52.0