[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdepim/KDE/4.14] libkdepim/addressline: Exclude some domain
From:       Montel Laurent <montel () kde ! org>
Date:       2015-01-29 21:20:00
Message-ID: E1YGwVM-00023e-0H () scm ! kde ! org
[Download RAW message or body]

Git commit 1fad61ca62a5b76097c57e66e39ec281aaf18e8d by Montel Laurent.
Committed on 29/01/2015 at 21:19.
Pushed by mlaurent into branch 'KDE/4.14'.

Exclude some domain

M  +8    -0    libkdepim/addressline/addresseelineedit.cpp
M  +9    -0    libkdepim/addressline/blacklistbaloocompletion/autotests/blacklistbalooemailcompletionwidgettest.cpp
 M  +30   -3    libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
 M  +2    -0    libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.h


http://commits.kde.org/kdepim/1fad61ca62a5b76097c57e66e39ec281aaf18e8d

diff --git a/libkdepim/addressline/addresseelineedit.cpp \
b/libkdepim/addressline/addresseelineedit.cpp index de1a8c7..412eca4 100644
--- a/libkdepim/addressline/addresseelineedit.cpp
+++ b/libkdepim/addressline/addresseelineedit.cpp
@@ -267,6 +267,7 @@ public:
 
     AddresseeLineEdit *q;
     QStringList m_balooBlackList;
+    QStringList m_domainExcludeList;
     QString m_previousAddresses;
     QString m_searchString;
     bool m_useCompletion;
@@ -387,6 +388,12 @@ void AddresseeLineEdit::Private::searchInBaloo()
     Baloo::PIM::ContactCompleter com(trimmedString, 20);
     const QStringList listEmail = cleanupBalooContact(com.complete());
     Q_FOREACH (const QString& email, listEmail) {
+        Q_FOREACH(const QString &excludeDomain, m_domainExcludeList) {
+            if (email.endsWith(excludeDomain)) {
+                continue;
+            }
+        }
+
         if (!m_balooBlackList.contains(email)) {
             addCompletionItem(email, 1, s_static->balooCompletionSource);
         }
@@ -1033,6 +1040,7 @@ void AddresseeLineEdit::Private::loadBalooBlackList()
     KSharedConfig::Ptr config = KSharedConfig::openConfig( \
QLatin1String("kpimbalooblacklist") );  KConfigGroup group( config, "AddressLineEdit" \
);  m_balooBlackList = group.readEntry( "BalooBackList", QStringList() );
+    m_domainExcludeList = group.readEntry("ExcludeDomain", QStringList());
 }
 
 AddresseeLineEdit::AddresseeLineEdit( QWidget *parent, bool enableCompletion )
diff --git a/libkdepim/addressline/blacklistbaloocompletion/autotests/blacklistbalooemailcompletionwidgettest.cpp \
b/libkdepim/addressline/blacklistbaloocompletion/autotests/blacklistbalooemailcompletionwidgettest.cpp
 index d6b91c7..3de8ebc 100644
--- a/libkdepim/addressline/blacklistbaloocompletion/autotests/blacklistbalooemailcompletionwidgettest.cpp
                
+++ b/libkdepim/addressline/blacklistbaloocompletion/autotests/blacklistbalooemailcompletionwidgettest.cpp
 @@ -63,6 +63,15 @@ void \
BlackListBalooEmailCompletionWidgetTest::shouldHaveDefaultValue()  \
QVERIFY(unselectButton);  
 
+    QLabel *excludeDomainLabel = qFindChild<QLabel *>(&widget, \
QLatin1String("domain_label")); +    QVERIFY(excludeDomainLabel);
+
+    KLineEdit *excludeDomainLineEdit = qFindChild<KLineEdit *>(&widget, \
QLatin1String("domain_lineedit")); +    QVERIFY(excludeDomainLineEdit);
+    QVERIFY(excludeDomainLineEdit->trapReturnKey());
+    QVERIFY(excludeDomainLineEdit->text().isEmpty());
+    QVERIFY(excludeDomainLineEdit->isClearButtonShown());
+    QVERIFY(!excludeDomainLineEdit->clickMessage().isEmpty());
 }
 
 void BlackListBalooEmailCompletionWidgetTest::shouldEnablePushButtonWhenTestSizeSupperiorToTwo()
                
diff --git a/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp \
b/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
 index bdc9246..13bd2d5 100644
--- a/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
                
+++ b/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
 @@ -81,6 +81,24 @@ BlackListBalooEmailCompletionWidget::BlackListBalooEmailCompletionWidget(QWidget
  
 
     connect(mSearchLineEdit, SIGNAL(textChanged(QString)), this, \
SLOT(slotSearchLineEditChanged(QString))); +
+    QHBoxLayout *excludeDomainLayout = new QHBoxLayout;
+    excludeDomainLayout->setMargin(0);
+    mainLayout->addLayout(excludeDomainLayout);
+
+    //kf5 add i18n
+    QLabel *excludeDomainLabel = new QLabel(QLatin1String("Exclude domain name:"));
+    excludeDomainLabel->setObjectName(QLatin1String("domain_label"));
+    excludeDomainLayout->addWidget(excludeDomainLabel);
+
+    mExcludeDomainLineEdit = new KLineEdit;
+    excludeDomainLayout->addWidget(mExcludeDomainLineEdit);
+    mExcludeDomainLineEdit->setObjectName(QLatin1String("domain_lineedit"));
+    mExcludeDomainLineEdit->setClearButtonShown(true);
+    mExcludeDomainLineEdit->setTrapReturnKey(true);
+    //kf5 add i18n
+    mExcludeDomainLineEdit->setClickMessage(QLatin1String("Separate domain with \
\',\'")); +    load();
 }
 
 BlackListBalooEmailCompletionWidget::~BlackListBalooEmailCompletionWidget()
@@ -88,6 +106,14 @@ BlackListBalooEmailCompletionWidget::~BlackListBalooEmailCompletionWidget()
  
 }
 
+void BlackListBalooEmailCompletionWidget::load()
+{
+    KSharedConfig::Ptr config = KSharedConfig::openConfig( \
QLatin1String("kpimbalooblacklist") ); +    KConfigGroup group( config, \
"AddressLineEdit" ); +    const QStringList lst = group.readEntry("ExcludeDomain", \
QStringList()); +    mExcludeDomainLineEdit->setText(lst.join(QLatin1String(",")));
+}
+
 void BlackListBalooEmailCompletionWidget::slotUnselectEmails()
 {
     Q_FOREACH(QListWidgetItem *item, mEmailList->selectedItems()) {
@@ -125,16 +151,17 @@ void \
BlackListBalooEmailCompletionWidget::setEmailBlackList(const QStringList &l  
 void BlackListBalooEmailCompletionWidget::save()
 {
+    KSharedConfig::Ptr config = KSharedConfig::openConfig( \
QLatin1String("kpimbalooblacklist") ); +    KConfigGroup group( config, \
                "AddressLineEdit" );
     const QHash<QString, bool> result = mEmailList->blackListItemChanged();
     if (!result.isEmpty()) {
-        KSharedConfig::Ptr config = KSharedConfig::openConfig( \
                QLatin1String("kpimbalooblacklist") );
-        KConfigGroup group( config, "AddressLineEdit" );
         QStringList blackList = group.readEntry( "BalooBackList", QStringList() );
         KPIM::BlackListBalooEmailUtil util;
         util.initialBlackList(blackList);
         util.newBlackList(result);
         blackList = util.createNewBlackList();
         group.writeEntry( "BalooBackList", blackList );
-        group.sync();
     }
+    group.writeEntry("ExcludeDomain", \
mExcludeDomainLineEdit->text().split(QLatin1String(","))); +    group.sync();
 }
diff --git a/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.h \
b/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.h
 index 2497e2f..e88b9fc 100644
--- a/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.h
                
+++ b/libkdepim/addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.h
 @@ -41,7 +41,9 @@ private slots:
     void slotSearchLineEditChanged(const QString &text);
     void slotSearch();
 private:
+    void load();
     KLineEdit *mSearchLineEdit;
+    KLineEdit *mExcludeDomainLineEdit;
     BlackListBalooEmailList *mEmailList;
     KPushButton *mSearchButton;
 };


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic