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;