From 5f4da8b536e997cf0fc0e08e93b3856b07c224c4 Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang Date: Mon, 6 Apr 2020 15:03:40 -0400 Subject: [PATCH] settingswidget: add option for enabling or disabling running the application on startup Change-Id: Ie8a9ed96b59c972c937037645c9972472fd32b16 --- src/settingswidget.cpp | 15 +++++++++++++++ src/settingswidget.h | 1 + src/settingswidget.ui | 36 ++++++++++++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 4 deletions(-) diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index 8bf57f6..f91fc63 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -234,6 +234,8 @@ SettingsWidget::SettingsWidget(QWidget* parent) connect(ui->closeOrMinCheckBox, &QAbstractButton::clicked, this, &SettingsWidget::slotSetClosedOrMin); + connect(ui->applicationOnStartUpCheckBox, &QAbstractButton::clicked, this, &SettingsWidget::slotSetRunOnStartUp); + connect(ui->downloadButton, &QAbstractButton::clicked, this, &SettingsWidget::openDownloadFolderSlot); connect(ui->checkUpdateButton, &QAbstractButton::clicked, this, &SettingsWidget::checkForUpdateSlot); @@ -909,6 +911,7 @@ SettingsWidget::populateGeneralSettings() Utils::setElidedText(ui->downloadButton, downloadPath); ui->closeOrMinCheckBox->setChecked(settings.value(SettingsKey::closeOrMinimized).toBool()); + ui->applicationOnStartUpCheckBox->setChecked(Utils::CheckStartupLink(L"Jami")); auto notifs = settings.value(SettingsKey::enableNotifications).toBool(); ui->notificationCheckBox->setChecked(notifs); @@ -952,6 +955,18 @@ SettingsWidget::slotSetClosedOrMin(bool state) settings.setValue(SettingsKey::closeOrMinimized, state); } +void +SettingsWidget::slotSetRunOnStartUp(bool state) +{ + if (Utils::CheckStartupLink(L"Jami")) { + if (!state) { + Utils::DeleteStartupLink(L"Jami"); + } + } else if (state) { + Utils::CreateStartupLink(L"Jami"); + } +} + void SettingsWidget::checkForUpdateSlot() { diff --git a/src/settingswidget.h b/src/settingswidget.h index 2e3b5b1..982bd50 100644 --- a/src/settingswidget.h +++ b/src/settingswidget.h @@ -132,6 +132,7 @@ private slots: void slotSetNotifications(bool state); void checkForUpdateSlot(); void slotSetClosedOrMin(bool state); + void slotSetRunOnStartUp(bool state); void openDownloadFolderSlot(); void openRecordFolderSlot(); void slotAlwaysRecordingClicked(bool state); diff --git a/src/settingswidget.ui b/src/settingswidget.ui index 4291f85..6ae04e7 100644 --- a/src/settingswidget.ui +++ b/src/settingswidget.ui @@ -6,8 +6,8 @@ 0 0 - 919 - 690 + 890 + 656 @@ -39,8 +39,8 @@ 0 0 - 917 - 688 + 888 + 654 @@ -668,6 +668,34 @@ + + + + + + + 0 + 0 + + + + + 0 + 30 + + + + + 10 + + + + Run on Startup + + + + + -- GitLab