summaryrefslogtreecommitdiffstats
path: root/src/sys_settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys_settings.cpp')
-rw-r--r--src/sys_settings.cpp40
1 files changed, 38 insertions, 2 deletions
diff --git a/src/sys_settings.cpp b/src/sys_settings.cpp
index 32d215d..b4d6bf1 100644
--- a/src/sys_settings.cpp
+++ b/src/sys_settings.cpp
@@ -72,11 +72,15 @@ using namespace utils;
// GUI settings
#define FLD_GUI_USE_SYSTRAY "gui_use_systray"
#define FLD_GUI_HIDE_ON_CLOSE "gui_hide_on_close"
+#define FLD_GUI_SHOW_INCOMING_POPUP "gui_show_incoming_popup"
#define FLD_GUI_AUTO_SHOW_INCOMING "gui_auto_show_incoming"
#define FLD_GUI_AUTO_SHOW_TIMEOUT "gui_auto_show_timeout"
#define FLD_GUI_BROWSER_CMD "gui_browser_cmd"
#define FLD_GUI_SHOW_CALL_OSD "gui_show_call_osd"
+// Inhibit idle session
+#define FLD_INHIBIT_IDLE_SESSION "inhibit_idle_session"
+
// Address book settings
#define FLD_AB_SHOW_SIP_ONLY "ab_show_sip_only"
#define FLD_AB_LOOKUP_NAME "ab_lookup_name"
@@ -261,9 +265,12 @@ t_sys_settings::t_sys_settings() {
gui_use_systray = true;
gui_hide_on_close = true;
+ gui_show_incoming_popup = true;
gui_auto_show_incoming = false;
gui_auto_show_timeout = 10;
gui_show_call_osd = true;
+
+ inhibit_idle_session = false;
ab_show_sip_only = false;
ab_lookup_name = true;
@@ -410,6 +417,11 @@ bool t_sys_settings::get_gui_use_systray(void) const {
return gui_use_systray;
}
+bool t_sys_settings::get_gui_show_incoming_popup(void) const {
+ t_mutex_guard guard(mtx_sys);
+ return gui_show_incoming_popup;
+}
+
bool t_sys_settings::get_gui_auto_show_incoming(void) const {
t_mutex_guard guard(mtx_sys);
return gui_auto_show_incoming;
@@ -430,6 +442,11 @@ string t_sys_settings::get_gui_browser_cmd(void) const {
return gui_browser_cmd;
}
+bool t_sys_settings::get_inhibit_idle_session(void) const {
+ t_mutex_guard guard(mtx_sys);
+ return inhibit_idle_session;
+}
+
bool t_sys_settings::get_ab_show_sip_only(void) const {
bool result;
mtx_sys.lock();
@@ -645,6 +662,7 @@ bool t_sys_settings::get_show_buddy_list(void) const {
}
bool t_sys_settings::get_gui_show_call_osd() const {
+ t_mutex_guard guard(mtx_sys);
return gui_show_call_osd;
}
@@ -764,6 +782,11 @@ void t_sys_settings::set_gui_hide_on_close(bool b) {
gui_hide_on_close = b;
}
+void t_sys_settings::set_gui_show_incoming_popup(bool b) {
+ t_mutex_guard guard(mtx_sys);
+ gui_show_incoming_popup = b;
+}
+
void t_sys_settings::set_gui_auto_show_incoming(bool b) {
t_mutex_guard guard(mtx_sys);
gui_auto_show_incoming = b;
@@ -779,6 +802,11 @@ void t_sys_settings::set_gui_browser_cmd(const string &s) {
gui_browser_cmd = s;
}
+void t_sys_settings::set_inhibit_idle_session(bool b) {
+ t_mutex_guard guard(mtx_sys);
+ inhibit_idle_session = b;
+}
+
void t_sys_settings::set_ab_show_sip_only(bool b) {
mtx_sys.lock();
ab_show_sip_only = b;
@@ -982,8 +1010,7 @@ void t_sys_settings::set_warn_hide_user(bool b) {
}
void t_sys_settings::set_gui_show_call_osd(bool b) {
- // Using mutexes in primitive type getters/setters doesn't make any sense.
- // TODO: remove t_mutex_guard from other getters/setters like this one.
+ t_mutex_guard guard(mtx_sys);
gui_show_call_osd = b;
}
@@ -1588,6 +1615,8 @@ bool t_sys_settings::read_config(string &error_msg) {
gui_use_systray = yesno2bool(value);
} else if (parameter == FLD_GUI_HIDE_ON_CLOSE) {
gui_hide_on_close = yesno2bool(value);
+ } else if (parameter == FLD_GUI_SHOW_INCOMING_POPUP) {
+ gui_show_incoming_popup = yesno2bool(value);
} else if (parameter == FLD_GUI_AUTO_SHOW_INCOMING) {
gui_auto_show_incoming = yesno2bool(value);
} else if (parameter == FLD_GUI_AUTO_SHOW_TIMEOUT) {
@@ -1596,6 +1625,8 @@ bool t_sys_settings::read_config(string &error_msg) {
gui_browser_cmd = value;
} else if (parameter == FLD_GUI_SHOW_CALL_OSD) {
gui_show_call_osd = yesno2bool(value);
+ } else if (parameter == FLD_INHIBIT_IDLE_SESSION) {
+ inhibit_idle_session = yesno2bool(value);
} else if (parameter == FLD_AB_SHOW_SIP_ONLY) {
ab_show_sip_only = yesno2bool(value);
} else if (parameter == FLD_AB_LOOKUP_NAME) {
@@ -1732,11 +1763,16 @@ bool t_sys_settings::write_config(string &error_msg) {
config << "# GUI\n";
config << FLD_GUI_USE_SYSTRAY << '=' << bool2yesno(gui_use_systray) << endl;
config << FLD_GUI_HIDE_ON_CLOSE << '=' << bool2yesno(gui_hide_on_close) << endl;
+ config << FLD_GUI_SHOW_INCOMING_POPUP << '=' << bool2yesno(gui_show_incoming_popup) << endl;
config << FLD_GUI_AUTO_SHOW_INCOMING << '=' << bool2yesno(gui_auto_show_incoming) << endl;
config << FLD_GUI_AUTO_SHOW_TIMEOUT << '=' << gui_auto_show_timeout << endl;
config << FLD_GUI_BROWSER_CMD << '=' << gui_browser_cmd << endl;
config << FLD_GUI_SHOW_CALL_OSD << '=' << bool2yesno(gui_show_call_osd) << endl;
config << endl;
+
+ // Write inhibit idle session settings
+ config << FLD_INHIBIT_IDLE_SESSION << '=' << bool2yesno(inhibit_idle_session) << endl;
+ config << endl;
// Write address book settings
config << "# Address book\n";