From 7c78a6f936682395aa101b2429c118934bb0f1d8 Mon Sep 17 00:00:00 2001 From: eshe Date: Tue, 26 Oct 2010 14:17:38 +0100 Subject: [PATCH] Added option to skip the leading zero of an incoming call. --- src/common/settings.cpp | 1 + src/daemon/calllistener.cpp | 11 ++++++++++- src/daemon/calllistener.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 6453bb3..78bbc2b 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp @@ -185,6 +185,7 @@ QString Settings::getDefaultValue(QString const& name) defaultValues["eniro_site"] = tr("fi"); defaultValues["cache_size"] = "200"; defaultValues["connection"] = "global"; + defaultValues["ignore_first_zero"] = "1"; defaultValuesLoaded = true; } diff --git a/src/daemon/calllistener.cpp b/src/daemon/calllistener.cpp index c76cfdc..bdc6529 100644 --- a/src/daemon/calllistener.cpp +++ b/src/daemon/calllistener.cpp @@ -43,7 +43,7 @@ QDBusConnection CallListener::systemBus_ = QDBusConnection::systemBus(); CallListener::CallListener(): source_(0), closeConnection_(false), initialized_(false), box_(0), label_(0), -retries_(-1), timer_(0), currentCall_(0) +retries_(-1), timer_(0), currentCall_(0), ignoreFirstZero_(false) { } @@ -68,6 +68,8 @@ bool CallListener::begin() sourceConfig_ = tmpConfig; delete config; + ignoreFirstZero_ = (Settings::instance()->get("ignore_first_zero") == "1"); + systemBus_.connect(CALL_SERVICE_NAME, CALL_SERVICE_PATH, CALL_SERVICE_INTERFACE, @@ -271,6 +273,13 @@ void CallListener::incomingCall(QDBusObjectPath path, QString number) return; } + // If the call has come through some kind of switch board + // there might be a leading zero added + if(ignoreFirstZero_) + { + number = number.replace(QRegExp("^00"), "0"); + } + ContactManager cm; if(!cm.numberExists(number)) diff --git a/src/daemon/calllistener.h b/src/daemon/calllistener.h index 16b6218..b58f3cb 100644 --- a/src/daemon/calllistener.h +++ b/src/daemon/calllistener.h @@ -91,6 +91,7 @@ private: int retries_; int timer_; CallDetails* currentCall_; + bool ignoreFirstZero_; }; #endif // CALLLISTENER_H -- 1.7.9.5