diff --git a/configurationwidget.cpp b/configurationwidget.cpp index 456b05515f545b87399d38890761864750935551..23dc0ac9df7d840b0d3f723f1e7cb812153c9a52 100644 --- a/configurationwidget.cpp +++ b/configurationwidget.cpp @@ -73,11 +73,32 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent) : 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::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 ) { - ui->videoView->hide(); +void +ConfigurationWidget::atExit() { + if (CallModel::instance()->getActiveCalls().size() == 0 + && Video::PreviewManager::instance()->isPreviewing()) { Video::PreviewManager::instance()->stopPreview(); } accountModel_->save(); @@ -190,16 +211,6 @@ ConfigurationWidget::on_startupBox_toggled(bool checked) Utils::DeleteStartupLink(); } -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() {