From 5014c62bfa4a7a80dd491f1bc9efbdb626d7d879 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sun, 13 Sep 2020 17:12:11 +0100 Subject: [PATCH] Notify user when enumerating audio devices --- Configuration.cpp | 1 + Configuration.hpp | 6 ++++++ widgets/mainwindow.cpp | 3 +++ 3 files changed, 10 insertions(+) diff --git a/Configuration.cpp b/Configuration.cpp index b414511db..91f9b1926 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -2806,6 +2806,7 @@ void Configuration::impl::load_audio_devices (QAudio::Mode mode, QComboBox * com combo_box->clear (); + Q_EMIT self_->enumerating_audio_devices (); int current_index = -1; auto const& devices = QAudioDeviceInfo::availableDevices (mode); Q_FOREACH (auto const& p, devices) diff --git a/Configuration.hpp b/Configuration.hpp index 882a78629..45fafe59b 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -293,6 +293,12 @@ public: // the fault condition has been rectified or is transient. Q_SIGNAL void transceiver_failure (QString const& reason) const; + // signal announces audio devices are being enumerated + // + // As this can take some time, particularly on Linux, consumers + // might like to notify the user. + Q_SIGNAL void enumerating_audio_devices (); + private: class impl; pimpl m_; diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 25fcee3c7..8ccf7bdb8 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -781,6 +781,9 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple, connect (&m_config, &Configuration::udp_server_changed, m_messageClient, &MessageClient::set_server); connect (&m_config, &Configuration::udp_server_port_changed, m_messageClient, &MessageClient::set_server_port); connect (&m_config, &Configuration::accept_udp_requests_changed, m_messageClient, &MessageClient::enable); + connect (&m_config, &Configuration::enumerating_audio_devices, [this] () { + showStatusMessage (tr ("Enumerating audio devices")); + }); // set up configurations menu connect (m_multi_settings, &MultiSettings::configurationNameChanged, [this] (QString const& name) {