From ef7cb1b080da48edea0c52841f7743d6bad8385c Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Fri, 19 Jul 2019 14:04:21 -0400 Subject: [PATCH] settingwidget: fix the issue where sometimes account setting does not match account type - create a pastAccount, if pastAccount matches the current account, setSelected will return as usual, and if not, it will reselect the correct account setting widget Change-Id: I870eb6d52d7e5f352489ddbd9347c3a5437e918d --- settingswidget.cpp | 6 +++++- settingswidget.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/settingswidget.cpp b/settingswidget.cpp index 1cd2a43..97bcd7c 100644 --- a/settingswidget.cpp +++ b/settingswidget.cpp @@ -172,7 +172,9 @@ void SettingsWidget::setSelected(Button sel) ui->accountSettingsButton->setChecked(true); ui->generalSettingsButton->setChecked(false); ui->mediaSettingsButton->setChecked(false); - if (pastButton_ == sel) { return; } + if (pastButton_ == sel && pastAccount_ == LRCInstance::getCurrentAccountInfo().profileInfo.type) { + return; + } if (!LRCInstance::getActiveCalls().size()) { QtConcurrent::run( [this] { LRCInstance::avModel().stopPreview(); }); @@ -183,11 +185,13 @@ void SettingsWidget::setSelected(Button sel) if (advancedSIPSettingsDropped_) { toggleAdvancedSIPSettings(); } + pastAccount_ = lrc::api::profile::Type::SIP; } else { ui->stackedWidget->setCurrentWidget(ui->currentAccountSettingsScrollWidget); if (advancedSettingsDropped_) { toggleAdvancedSettings(); } + pastAccount_ = lrc::api::profile::Type::RING; } break; diff --git a/settingswidget.h b/settingswidget.h index 43cbd6f..7c7f9ee 100644 --- a/settingswidget.h +++ b/settingswidget.h @@ -93,6 +93,7 @@ private: AdvancedSettingsWidget* advancedSettingsWidget_; QScrollArea* scrollArea_; Button pastButton_ = Button::generalSettingsButton; + lrc::api::profile::Type pastAccount_ = lrc::api::profile::Type::INVALID; bool advancedSettingsDropped_ = false; QList<QPair<std::string, float>> formatIndexList_; std::string currentDisplayedVideoDevice_; -- GitLab