From 1e9f091f39a32193b0671e9dfbfb657dd45fec3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Bri=C3=A8re?= Date: Fri, 12 Jul 2019 19:01:41 -0400 Subject: Add an option to prevent an idle session while a call is in progress Having the session marked as idle while a call is in progress could trigger certain actions (such as locking the screen, logging out automatically, or suspending the system) which could be undesirable in this situation. Closes #123 --- src/gui/syssettingsform.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/gui/syssettingsform.cpp') diff --git a/src/gui/syssettingsform.cpp b/src/gui/syssettingsform.cpp index 355df59..6e76593 100644 --- a/src/gui/syssettingsform.cpp +++ b/src/gui/syssettingsform.cpp @@ -15,6 +15,8 @@ along with this program. If not, see . */ +#include "twinkle_config.h" + #include #include #include "gui.h" @@ -264,6 +266,14 @@ void SysSettingsForm::populate() guiUseSystrayCheckBox->setChecked(sys_config->get_gui_use_systray()); guiHideCheckBox->setChecked(sys_config->get_gui_hide_on_close()); guiHideCheckBox->setEnabled(sys_config->get_gui_use_systray()); + + // Inhibit idle session + inhibitIdleSessionCheckBox->setChecked(sys_config->get_inhibit_idle_session()); +#ifdef HAVE_DBUS + inhibitIdleSessionCheckBox->setEnabled(true); +#else + inhibitIdleSessionCheckBox->setEnabled(false); +#endif // Call history histSizeSpinBox->setValue(sys_config->get_ch_max_size()); @@ -376,6 +386,13 @@ void SysSettingsForm::validate() sys_config->set_gui_use_systray(guiUseSystrayCheckBox->isChecked()); sys_config->set_gui_hide_on_close(guiHideCheckBox->isChecked()); sys_config->set_gui_show_call_osd(osdCheckBox->isChecked()); + + // Inhibit idle session + if (sys_config->get_inhibit_idle_session() != inhibitIdleSessionCheckBox->isChecked()) { + sys_config->set_inhibit_idle_session(inhibitIdleSessionCheckBox->isChecked()); + // Changing this setting while busy requires special handling + emit inhibitIdleSessionChanged(); + } // Auto show on incoming call sys_config->set_gui_auto_show_incoming(autoShowCheckBox->isChecked()); -- cgit v1.2.3