configuration: fix video display only on video tab
Introcuded by changes 2774
Issue: #80643
Change-Id: I6519ec473a5c290c93b9b03aa90c9024bd2afae1
diff --git a/configurationwidget.cpp b/configurationwidget.cpp
index 456b055..23dc0ac 100644
--- a/configurationwidget.cpp
+++ b/configurationwidget.cpp
@@ -73,11 +73,32 @@
CategorizedHistoryModel::instance()->historyLimit());
ui->closeOrMinCheckBox->setChecked(settings_.value(
SettingsKey::closeOrMinimized).toBool());
+ connect(ui->tabWidget, QTabWidget::currentChanged, [](int index) {
+ if (index == 1
+ && CallModel::instance()->getActiveCalls().size() == 0) {
+ Video::PreviewManager::instance()->startPreview();
+ } else {
+ if (CallModel::instance()->getActiveCalls().size() == 0
+ && Video::PreviewManager::instance()->isPreviewing()) {
+ Video::PreviewManager::instance()->stopPreview();
+ }
+ }
+ });
}
-void ConfigurationWidget::atExit() {
- if (CallModel::instance()->getActiveCalls().size() == 0 ) {
- ui->videoView->hide();
+void
+ConfigurationWidget::showEvent(QShowEvent *event) {
+ QWidget::showEvent(event);
+ if (ui->tabWidget->currentIndex() == 1
+ && CallModel::instance()->getActiveCalls().size() == 0) {
+ Video::PreviewManager::instance()->startPreview();
+ }
+}
+
+void
+ConfigurationWidget::atExit() {
+ if (CallModel::instance()->getActiveCalls().size() == 0
+ && Video::PreviewManager::instance()->isPreviewing()) {
Video::PreviewManager::instance()->stopPreview();
}
accountModel_->save();
@@ -191,16 +212,6 @@
}
void
-ConfigurationWidget::showEvent(QShowEvent* event)
-{
- QWidget::showEvent(event);
- if (CallModel::instance()->getActiveCalls().size() == 0 ) {
- ui->videoView->show();
- Video::PreviewManager::instance()->startPreview();
- }
-}
-
-void
ConfigurationWidget::on_clearHistoryButton_clicked()
{
QMessageBox confirmationDialog;