[SCM] ktp-accounts-kcm packaging branch, master, updated. debian/15.12.1-1-1157-gc4589c5

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:03:20 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-accounts-kcm.git;a=commitdiff;h=86b14ee

The following commit has been merged in the master branch:
commit 86b14ee1b3868a1645a8ec543aef5e27cd68e423
Author: Daniele E. Domenichelli <ddomenichelli at kde.org>
Date:   Mon Feb 25 17:18:56 2013 +0100

    Remove dynamic display name generation and generate it only when needed
---
 plugins/butterfly/main-options-widget.cpp          |  6 +--
 plugins/butterfly/main-options-widget.h            |  2 +-
 plugins/gabble/main-options-widget-facebook.cpp    |  7 +--
 plugins/gabble/main-options-widget-facebook.h      |  2 +-
 plugins/gabble/main-options-widget-googletalk.cpp  |  6 +--
 plugins/gabble/main-options-widget-googletalk.h    |  2 +-
 plugins/gabble/main-options-widget-kde-talk.cpp    |  7 +--
 plugins/gabble/main-options-widget-kde-talk.h      |  2 +-
 plugins/gabble/main-options-widget-msn.cpp         |  4 +-
 plugins/gabble/main-options-widget-msn.h           |  2 +-
 plugins/gabble/main-options-widget.cpp             |  6 +--
 plugins/gabble/main-options-widget.h               |  2 +-
 plugins/haze/aim-main-options-widget.cpp           |  6 +--
 plugins/haze/aim-main-options-widget.h             |  2 +-
 plugins/haze/icq-main-options-widget.cpp           |  6 +--
 plugins/haze/icq-main-options-widget.h             |  2 +-
 plugins/haze/msn-main-options-widget.cpp           |  6 +--
 plugins/haze/msn-main-options-widget.h             |  2 +-
 plugins/haze/myspaceim-main-options-widget.cpp     |  6 +--
 plugins/haze/myspaceim-main-options-widget.h       |  2 +-
 plugins/haze/skype-main-options-widget.cpp         |  6 +--
 plugins/haze/skype-main-options-widget.h           |  2 +-
 plugins/haze/yahoo-main-options-widget.cpp         |  6 +--
 plugins/haze/yahoo-main-options-widget.h           |  2 +-
 plugins/idle/main-options-widget.cpp               |  8 +--
 plugins/idle/main-options-widget.h                 |  2 +-
 plugins/rakia/rakia-main-options-widget.cpp        |  6 +--
 plugins/rakia/rakia-main-options-widget.h          |  2 +-
 plugins/salut/salut-main-options-widget.cpp        | 10 ++--
 plugins/salut/salut-main-options-widget.h          |  2 +-
 plugins/sunshine/sunshine-main-options-widget.cpp  |  6 +--
 plugins/sunshine/sunshine-main-options-widget.h    |  2 +-
 .../abstract-account-parameters-widget.cpp         | 33 ++----------
 .../abstract-account-parameters-widget.h           | 25 +++------
 src/KCMTelepathyAccounts/account-edit-widget.cpp   | 60 ++++++++--------------
 src/KCMTelepathyAccounts/account-edit-widget.h     | 14 ++---
 src/KCMTelepathyAccounts/parameter-edit-widget.cpp | 12 ++---
 src/KCMTelepathyAccounts/parameter-edit-widget.h   |  2 +-
 src/add-account-assistant.cpp                      |  2 +
 src/edit-account-dialog.cpp                        | 19 ++++---
 src/edit-account-dialog.h                          |  3 +-
 src/salut-details-dialog.cpp                       |  1 +
 42 files changed, 122 insertions(+), 183 deletions(-)

diff --git a/plugins/butterfly/main-options-widget.cpp b/plugins/butterfly/main-options-widget.cpp
index 7c782e1..d787b07 100644
--- a/plugins/butterfly/main-options-widget.cpp
+++ b/plugins/butterfly/main-options-widget.cpp
@@ -28,7 +28,7 @@ MainOptionsWidget::MainOptionsWidget(ParameterEditModel *model,
     m_ui = new Ui::MainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
 
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
@@ -39,9 +39,9 @@ MainOptionsWidget::~MainOptionsWidget()
     delete m_ui;
 }
 
-void MainOptionsWidget::updateDefaultDisplayName()
+QString MainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "main-options-widget.moc"
diff --git a/plugins/butterfly/main-options-widget.h b/plugins/butterfly/main-options-widget.h
index 467e226..51bfc83 100644
--- a/plugins/butterfly/main-options-widget.h
+++ b/plugins/butterfly/main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                QWidget *parent = 0);
     virtual ~MainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(MainOptionsWidget);
     Ui::MainOptionsWidget *m_ui;
diff --git a/plugins/gabble/main-options-widget-facebook.cpp b/plugins/gabble/main-options-widget-facebook.cpp
index 5ef4e6b..397bae5 100644
--- a/plugins/gabble/main-options-widget-facebook.cpp
+++ b/plugins/gabble/main-options-widget-facebook.cpp
@@ -39,9 +39,6 @@ MainOptionsWidgetFacebook::MainOptionsWidgetFacebook(ParameterEditModel *model,
         QString account = index.data().toString();
         //strip off any "@chat.facebook.com" from the parameter when displaying it in the text edit.
         account = account.left(account.indexOf(QLatin1Char('@')));
-        connect(m_ui->accountLineEdit,
-                SIGNAL(textChanged(QString)),
-                SLOT(updateDefaultDisplayName()));
         m_ui->accountLineEdit->setText(account);
     }
 
@@ -81,7 +78,7 @@ bool MainOptionsWidgetFacebook::validateParameterValues()
     return true;
 }
 
-void MainOptionsWidgetFacebook::updateDefaultDisplayName()
+QString MainOptionsWidgetFacebook::defaultDisplayName() const
 {
     QString displayName = m_ui->accountLineEdit->text();
     if (!displayName.isEmpty()) {
@@ -89,7 +86,7 @@ void MainOptionsWidgetFacebook::updateDefaultDisplayName()
         QString serverAddress = parameterModel()->indexForParameter(parameterModel()->parameter(QLatin1String("server"))).data().toString();
         displayName.append(serverAddress);
     }
-    setDefaultDisplayName(displayName);
+    return displayName;
 }
 
 #include "main-options-widget-facebook.moc"
diff --git a/plugins/gabble/main-options-widget-facebook.h b/plugins/gabble/main-options-widget-facebook.h
index a49dc77..b75f1a2 100644
--- a/plugins/gabble/main-options-widget-facebook.h
+++ b/plugins/gabble/main-options-widget-facebook.h
@@ -37,7 +37,7 @@ public:
 
     virtual void submit();
     virtual bool validateParameterValues();
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Ui::MainOptionsWidgetFacebook *m_ui;
 };
diff --git a/plugins/gabble/main-options-widget-googletalk.cpp b/plugins/gabble/main-options-widget-googletalk.cpp
index c721dfd..035e785 100644
--- a/plugins/gabble/main-options-widget-googletalk.cpp
+++ b/plugins/gabble/main-options-widget-googletalk.cpp
@@ -28,7 +28,7 @@ MainOptionsWidgetGoogleTalk::MainOptionsWidgetGoogleTalk(ParameterEditModel *mod
     m_ui = new Ui::MainOptionsWidgetGoogleTalk;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
 }
@@ -38,9 +38,9 @@ MainOptionsWidgetGoogleTalk::~MainOptionsWidgetGoogleTalk()
     delete m_ui;
 }
 
-void MainOptionsWidgetGoogleTalk::updateDefaultDisplayName()
+QString MainOptionsWidgetGoogleTalk::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "main-options-widget-googletalk.moc"
diff --git a/plugins/gabble/main-options-widget-googletalk.h b/plugins/gabble/main-options-widget-googletalk.h
index f327a03..eca0595 100644
--- a/plugins/gabble/main-options-widget-googletalk.h
+++ b/plugins/gabble/main-options-widget-googletalk.h
@@ -36,7 +36,7 @@ public:
                                QWidget *parent = 0);
     virtual ~MainOptionsWidgetGoogleTalk();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Ui::MainOptionsWidgetGoogleTalk *m_ui;
 };
diff --git a/plugins/gabble/main-options-widget-kde-talk.cpp b/plugins/gabble/main-options-widget-kde-talk.cpp
index a6972b6..51447b1 100644
--- a/plugins/gabble/main-options-widget-kde-talk.cpp
+++ b/plugins/gabble/main-options-widget-kde-talk.cpp
@@ -41,9 +41,6 @@ MainOptionsWidgetKDETalk::MainOptionsWidgetKDETalk(ParameterEditModel *model,
         QString account = index.data().toString();
         //strip off any "@kdetalk.net" from the parameter when displaying it in the text edit.
         account = account.left(account.indexOf(QLatin1Char('@')));
-        connect (m_ui->accountLineEdit,
-                 SIGNAL(textChanged(QString)),
-                 SLOT(updateDefaultDisplayName()));
         m_ui->accountLineEdit->setText(account);
     }
 
@@ -82,9 +79,9 @@ bool MainOptionsWidgetKDETalk::validateParameterValues()
     return true;
 }
 
-void MainOptionsWidgetKDETalk::updateDefaultDisplayName()
+QString MainOptionsWidgetKDETalk::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "main-options-widget-kde-talk.moc"
diff --git a/plugins/gabble/main-options-widget-kde-talk.h b/plugins/gabble/main-options-widget-kde-talk.h
index a510a39..d550837 100644
--- a/plugins/gabble/main-options-widget-kde-talk.h
+++ b/plugins/gabble/main-options-widget-kde-talk.h
@@ -41,7 +41,7 @@ public:
 
     virtual void submit();
     virtual bool validateParameterValues();
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 
 private:
     Ui::MainOptionsWidgetKDETalk *m_ui;
diff --git a/plugins/gabble/main-options-widget-msn.cpp b/plugins/gabble/main-options-widget-msn.cpp
index 1caa1d1..052cad1 100644
--- a/plugins/gabble/main-options-widget-msn.cpp
+++ b/plugins/gabble/main-options-widget-msn.cpp
@@ -51,11 +51,11 @@ bool MainOptionsWidgetMSN::validateParameterValues()
     return true;
 }
 
-void MainOptionsWidgetMSN::updateDefaultDisplayName()
+QString MainOptionsWidgetMSN::defaultDisplayName() const
 {
     // FIXME Move the class Dictionary in common internals and use string from
     //       Dictionary::instance()->string(QLatin1String("msn"))
-    setDefaultDisplayName(i18n("Windows Live Messenger"));
+    return i18n("Windows Live Messenger");
 }
 
 #include "main-options-widget-msn.moc"
diff --git a/plugins/gabble/main-options-widget-msn.h b/plugins/gabble/main-options-widget-msn.h
index 27b12b0..868e75f 100644
--- a/plugins/gabble/main-options-widget-msn.h
+++ b/plugins/gabble/main-options-widget-msn.h
@@ -37,7 +37,7 @@ public:
 
     virtual void submit();
     virtual bool validateParameterValues();
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Ui::MainOptionsWidgetMSN *m_ui;
 };
diff --git a/plugins/gabble/main-options-widget.cpp b/plugins/gabble/main-options-widget.cpp
index bae80c5..f2c62f5 100644
--- a/plugins/gabble/main-options-widget.cpp
+++ b/plugins/gabble/main-options-widget.cpp
@@ -28,7 +28,7 @@ MainOptionsWidget::MainOptionsWidget(ParameterEditModel *model,
     m_ui = new Ui::MainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     handleParameter(QLatin1String("register"), QVariant::Bool, m_ui->registerCheckBox, 0);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
@@ -39,9 +39,9 @@ MainOptionsWidget::~MainOptionsWidget()
     delete m_ui;
 }
 
-void MainOptionsWidget::updateDefaultDisplayName()
+QString MainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "main-options-widget.moc"
diff --git a/plugins/gabble/main-options-widget.h b/plugins/gabble/main-options-widget.h
index 328c047..892da20 100644
--- a/plugins/gabble/main-options-widget.h
+++ b/plugins/gabble/main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                QWidget *parent = 0);
     virtual ~MainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(MainOptionsWidget);
     Ui::MainOptionsWidget *m_ui;
diff --git a/plugins/haze/aim-main-options-widget.cpp b/plugins/haze/aim-main-options-widget.cpp
index f404de0..8bc3fb2 100644
--- a/plugins/haze/aim-main-options-widget.cpp
+++ b/plugins/haze/aim-main-options-widget.cpp
@@ -30,7 +30,7 @@ AimMainOptionsWidget::AimMainOptionsWidget(ParameterEditModel* model, QWidget* p
     m_ui->setupUi(this);
 
     //map the widgets to their data
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
 }
@@ -40,9 +40,9 @@ AimMainOptionsWidget::~AimMainOptionsWidget()
     delete m_ui;
 }
 
-void AimMainOptionsWidget::updateDefaultDisplayName()
+QString AimMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "aim-main-options-widget.moc"
diff --git a/plugins/haze/aim-main-options-widget.h b/plugins/haze/aim-main-options-widget.h
index b9a2968..bc646ec 100644
--- a/plugins/haze/aim-main-options-widget.h
+++ b/plugins/haze/aim-main-options-widget.h
@@ -36,7 +36,7 @@ public:
     explicit AimMainOptionsWidget(ParameterEditModel* model, QWidget* parent = 0);
     virtual ~AimMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Ui::AimMainOptionsWidget *m_ui;
 };
diff --git a/plugins/haze/icq-main-options-widget.cpp b/plugins/haze/icq-main-options-widget.cpp
index 470debc..4e7e7f7 100644
--- a/plugins/haze/icq-main-options-widget.cpp
+++ b/plugins/haze/icq-main-options-widget.cpp
@@ -28,7 +28,7 @@ IcqMainOptionsWidget::IcqMainOptionsWidget(ParameterEditModel *model,
     m_ui = new Ui::IcqMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
 }
@@ -38,9 +38,9 @@ IcqMainOptionsWidget::~IcqMainOptionsWidget()
     delete m_ui;
 }
 
-void IcqMainOptionsWidget::updateDefaultDisplayName()
+QString IcqMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "icq-main-options-widget.moc"
diff --git a/plugins/haze/icq-main-options-widget.h b/plugins/haze/icq-main-options-widget.h
index f9a827a..56a197d 100644
--- a/plugins/haze/icq-main-options-widget.h
+++ b/plugins/haze/icq-main-options-widget.h
@@ -33,7 +33,7 @@ public:
                                   QWidget *parent = 0);
     virtual ~IcqMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(IcqMainOptionsWidget);
     Ui::IcqMainOptionsWidget *m_ui;
diff --git a/plugins/haze/msn-main-options-widget.cpp b/plugins/haze/msn-main-options-widget.cpp
index 435e9e1..497033e 100644
--- a/plugins/haze/msn-main-options-widget.cpp
+++ b/plugins/haze/msn-main-options-widget.cpp
@@ -27,7 +27,7 @@ MsnMainOptionsWidget::MsnMainOptionsWidget(ParameterEditModel *model, QWidget *p
     m_ui = new Ui::MsnMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
 
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
@@ -38,9 +38,9 @@ MsnMainOptionsWidget::~MsnMainOptionsWidget()
     delete m_ui;
 }
 
-void MsnMainOptionsWidget::updateDefaultDisplayName()
+QString MsnMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "msn-main-options-widget.moc"
diff --git a/plugins/haze/msn-main-options-widget.h b/plugins/haze/msn-main-options-widget.h
index db40c4a..ae77f01 100644
--- a/plugins/haze/msn-main-options-widget.h
+++ b/plugins/haze/msn-main-options-widget.h
@@ -33,7 +33,7 @@ public:
     explicit MsnMainOptionsWidget(ParameterEditModel *model, QWidget *parent = 0);
     virtual ~MsnMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(MsnMainOptionsWidget);
     Ui::MsnMainOptionsWidget *m_ui;
diff --git a/plugins/haze/myspaceim-main-options-widget.cpp b/plugins/haze/myspaceim-main-options-widget.cpp
index a79343a..063ca96 100644
--- a/plugins/haze/myspaceim-main-options-widget.cpp
+++ b/plugins/haze/myspaceim-main-options-widget.cpp
@@ -29,7 +29,7 @@ MySpaceIMMainOptionsWidget::MySpaceIMMainOptionsWidget(ParameterEditModel *model
     m_ui = new Ui::MySpaceIMMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
 }
 
@@ -38,9 +38,9 @@ MySpaceIMMainOptionsWidget::~MySpaceIMMainOptionsWidget()
     delete m_ui;
 }
 
-void MySpaceIMMainOptionsWidget::updateDefaultDisplayName()
+QString MySpaceIMMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "myspaceim-main-options-widget.moc"
diff --git a/plugins/haze/myspaceim-main-options-widget.h b/plugins/haze/myspaceim-main-options-widget.h
index f5019b9..0a61cd7 100644
--- a/plugins/haze/myspaceim-main-options-widget.h
+++ b/plugins/haze/myspaceim-main-options-widget.h
@@ -32,7 +32,7 @@ public:
     explicit MySpaceIMMainOptionsWidget(ParameterEditModel *model, QWidget *parent = 0);
     virtual ~MySpaceIMMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(MySpaceIMMainOptionsWidget);
     Ui::MySpaceIMMainOptionsWidget *m_ui;
diff --git a/plugins/haze/skype-main-options-widget.cpp b/plugins/haze/skype-main-options-widget.cpp
index f58e90a..7f6866d 100644
--- a/plugins/haze/skype-main-options-widget.cpp
+++ b/plugins/haze/skype-main-options-widget.cpp
@@ -31,7 +31,7 @@ SkypeMainOptionsWidget::SkypeMainOptionsWidget(ParameterEditModel *model, QWidge
     m_ui = new Ui::SkypeMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
 
 #ifdef Q_WS_X11
     // get autocomplete choices for the accountname
@@ -55,9 +55,9 @@ SkypeMainOptionsWidget::~SkypeMainOptionsWidget()
     delete m_ui;
 }
 
-void SkypeMainOptionsWidget::updateDefaultDisplayName()
+QString SkypeMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "skype-main-options-widget.moc"
diff --git a/plugins/haze/skype-main-options-widget.h b/plugins/haze/skype-main-options-widget.h
index 564a090..4291d73 100644
--- a/plugins/haze/skype-main-options-widget.h
+++ b/plugins/haze/skype-main-options-widget.h
@@ -32,7 +32,7 @@ public:
     explicit SkypeMainOptionsWidget(ParameterEditModel *model, QWidget *parent = 0);
     virtual ~SkypeMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(SkypeMainOptionsWidget);
     Ui::SkypeMainOptionsWidget *m_ui;
diff --git a/plugins/haze/yahoo-main-options-widget.cpp b/plugins/haze/yahoo-main-options-widget.cpp
index e5ff191..6c9a011 100644
--- a/plugins/haze/yahoo-main-options-widget.cpp
+++ b/plugins/haze/yahoo-main-options-widget.cpp
@@ -30,7 +30,7 @@ YahooMainOptionsWidget::YahooMainOptionsWidget(ParameterEditModel* model, QWidge
     m_ui->setupUi(this);
 
     //map the widgets to their data
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
 }
@@ -60,9 +60,9 @@ void YahooMainOptionsWidget::submit()
     AbstractAccountParametersWidget::submit();
 }
 
-void YahooMainOptionsWidget::updateDefaultDisplayName()
+QString YahooMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "yahoo-main-options-widget.moc"
diff --git a/plugins/haze/yahoo-main-options-widget.h b/plugins/haze/yahoo-main-options-widget.h
index f213b3e..d0ce4d9 100644
--- a/plugins/haze/yahoo-main-options-widget.h
+++ b/plugins/haze/yahoo-main-options-widget.h
@@ -35,7 +35,7 @@ public:
     virtual ~YahooMainOptionsWidget();
 
     virtual void submit();
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(YahooMainOptionsWidget);
     Ui::YahooMainOptionsWidget* m_ui;
diff --git a/plugins/idle/main-options-widget.cpp b/plugins/idle/main-options-widget.cpp
index 4438e41..8acfd02 100644
--- a/plugins/idle/main-options-widget.cpp
+++ b/plugins/idle/main-options-widget.cpp
@@ -29,8 +29,8 @@ MainOptionsWidget::MainOptionsWidget(
     m_ui = new Ui::MainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel, true);
-    handleParameter(QLatin1String("server"), QVariant::String, m_ui->serverLineEdit, m_ui->serverLabel, true);
+    handleParameter(QLatin1String("account"), QVariant::String, m_ui->accountLineEdit, m_ui->accountLabel);
+    handleParameter(QLatin1String("server"), QVariant::String, m_ui->serverLineEdit, m_ui->serverLabel);
     handleParameter(QLatin1String("fullname"), QVariant::String, m_ui->fullnameLineEdit, m_ui->fullnameLabel);
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
 }
@@ -40,7 +40,7 @@ MainOptionsWidget::~MainOptionsWidget()
     delete m_ui;
 }
 
-void MainOptionsWidget::updateDefaultDisplayName()
+QString MainOptionsWidget::defaultDisplayName() const
 {
     const QString &account = m_ui->accountLineEdit->text();
     const QString &server = m_ui->serverLineEdit->text();
@@ -52,7 +52,7 @@ void MainOptionsWidget::updateDefaultDisplayName()
             displayName.append(QString::fromLatin1(" on %1").arg(server));
         }
     }
-    setDefaultDisplayName(displayName);
+    return displayName;
 }
 
 #include "main-options-widget.moc"
diff --git a/plugins/idle/main-options-widget.h b/plugins/idle/main-options-widget.h
index ace85e0..64b9347 100644
--- a/plugins/idle/main-options-widget.h
+++ b/plugins/idle/main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                QWidget *parent = 0);
     virtual ~MainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(MainOptionsWidget);
     Ui::MainOptionsWidget *m_ui;
diff --git a/plugins/rakia/rakia-main-options-widget.cpp b/plugins/rakia/rakia-main-options-widget.cpp
index 9738653..c574274 100644
--- a/plugins/rakia/rakia-main-options-widget.cpp
+++ b/plugins/rakia/rakia-main-options-widget.cpp
@@ -31,7 +31,7 @@ RakiaMainOptionsWidget::RakiaMainOptionsWidget(ParameterEditModel *model, QWidge
     m_ui = new Ui::RakiaMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
     handleParameter(QLatin1String("alias"),    QVariant::String, m_ui->aliasLineEdit,    m_ui->aliasLabel);
 
@@ -48,7 +48,7 @@ RakiaMainOptionsWidget::~RakiaMainOptionsWidget()
     delete m_ui;
 }
 
-void RakiaMainOptionsWidget::updateDefaultDisplayName()
+QString RakiaMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
\ No newline at end of file
diff --git a/plugins/rakia/rakia-main-options-widget.h b/plugins/rakia/rakia-main-options-widget.h
index 359ce91..167f3cf 100644
--- a/plugins/rakia/rakia-main-options-widget.h
+++ b/plugins/rakia/rakia-main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                     QWidget *parent = 0);
     virtual ~RakiaMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(RakiaMainOptionsWidget);
     Ui::RakiaMainOptionsWidget *m_ui;
diff --git a/plugins/salut/salut-main-options-widget.cpp b/plugins/salut/salut-main-options-widget.cpp
index fdd23b5..036e240 100644
--- a/plugins/salut/salut-main-options-widget.cpp
+++ b/plugins/salut/salut-main-options-widget.cpp
@@ -32,9 +32,9 @@ SalutMainOptionsWidget::SalutMainOptionsWidget(ParameterEditModel *model, QWidge
     m_ui = new Ui::SalutMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("first-name"), QVariant::String, m_ui->firstnameLineEdit, m_ui->firstnameLabel, true);
-    handleParameter(QLatin1String("last-name"),  QVariant::String, m_ui->lastnameLineEdit,  m_ui->lastnameLabel, true);
-    handleParameter(QLatin1String("nickname"),   QVariant::String, m_ui->nicknameLineEdit,  m_ui->nicknameLabel, true);
+    handleParameter(QLatin1String("first-name"), QVariant::String, m_ui->firstnameLineEdit, m_ui->firstnameLabel);
+    handleParameter(QLatin1String("last-name"),  QVariant::String, m_ui->lastnameLineEdit,  m_ui->lastnameLabel);
+    handleParameter(QLatin1String("nickname"),   QVariant::String, m_ui->nicknameLineEdit,  m_ui->nicknameLabel);
 
     // if the first- and last-name are empty on startup we add them based on
     // the current users full name
@@ -58,7 +58,7 @@ SalutMainOptionsWidget::~SalutMainOptionsWidget()
     delete m_ui;
 }
 
-void SalutMainOptionsWidget::updateDefaultDisplayName()
+QString SalutMainOptionsWidget::defaultDisplayName() const
 {
     QString displayName;
     QString firstname = m_ui->firstnameLineEdit->text();
@@ -85,7 +85,7 @@ void SalutMainOptionsWidget::updateDefaultDisplayName()
         }
     }
 
-    setDefaultDisplayName(displayName);
+    return displayName;
 }
 
 #include "salut-main-options-widget.moc"
diff --git a/plugins/salut/salut-main-options-widget.h b/plugins/salut/salut-main-options-widget.h
index b61c075..618e134 100644
--- a/plugins/salut/salut-main-options-widget.h
+++ b/plugins/salut/salut-main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                     QWidget *parent = 0);
     virtual ~SalutMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(SalutMainOptionsWidget);
     Ui::SalutMainOptionsWidget *m_ui;
diff --git a/plugins/sunshine/sunshine-main-options-widget.cpp b/plugins/sunshine/sunshine-main-options-widget.cpp
index af69f38..26aa199 100644
--- a/plugins/sunshine/sunshine-main-options-widget.cpp
+++ b/plugins/sunshine/sunshine-main-options-widget.cpp
@@ -29,7 +29,7 @@ SunshineMainOptionsWidget::SunshineMainOptionsWidget(ParameterEditModel *model,
     m_ui = new Ui::SunshineMainOptionsWidget;
     m_ui->setupUi(this);
 
-    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel, true);
+    handleParameter(QLatin1String("account"),  QVariant::String, m_ui->accountLineEdit,  m_ui->accountLabel);
     handleParameter(QLatin1String("password"), QVariant::String, m_ui->passwordLineEdit, m_ui->passwordLabel);
 
     QTimer::singleShot(0, m_ui->accountLineEdit, SLOT(setFocus()));
@@ -40,9 +40,9 @@ SunshineMainOptionsWidget::~SunshineMainOptionsWidget()
     delete m_ui;
 }
 
-void SunshineMainOptionsWidget::updateDefaultDisplayName()
+QString SunshineMainOptionsWidget::defaultDisplayName() const
 {
-    setDefaultDisplayName(m_ui->accountLineEdit->text());
+    return m_ui->accountLineEdit->text();
 }
 
 #include "sunshine-main-options-widget.moc"
diff --git a/plugins/sunshine/sunshine-main-options-widget.h b/plugins/sunshine/sunshine-main-options-widget.h
index 7f1e99c..b8b8e99 100644
--- a/plugins/sunshine/sunshine-main-options-widget.h
+++ b/plugins/sunshine/sunshine-main-options-widget.h
@@ -34,7 +34,7 @@ public:
                                     QWidget *parent = 0);
     virtual ~SunshineMainOptionsWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private:
     Q_DISABLE_COPY(SunshineMainOptionsWidget);
     Ui::SunshineMainOptionsWidget *m_ui;
diff --git a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
index e5bd653..06655fb 100644
--- a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
+++ b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.cpp
@@ -49,7 +49,6 @@ public:
     QList<QWidget*> mappedWidgets;
     QMap<QPersistentModelIndex,ValidatedLineEdit*> validatedWidgets;
     QString errorMessage;
-    QString defaultDisplayName;
 };
 
 AbstractAccountParametersWidget::AbstractAccountParametersWidget(ParameterEditModel *parameterModel,
@@ -89,21 +88,19 @@ bool AbstractAccountParametersWidget::validateParameterValues()
 void AbstractAccountParametersWidget::handleParameter(const QString &parameterName,
                                            QVariant::Type parameterType,
                                            QWidget* dataWidget,
-                                           QWidget* labelWidget,
-                                           bool updatesDefaultDisplayName)
+                                           QWidget* labelWidget)
 {
     QList<QWidget*> labelWidgets;
     if (labelWidget) {
         labelWidgets << labelWidget;
     }
-    handleParameter(parameterName, parameterType, dataWidget, labelWidgets, updatesDefaultDisplayName);
+    handleParameter(parameterName, parameterType, dataWidget, labelWidgets);
 }
 
 void AbstractAccountParametersWidget::handleParameter(const QString &parameterName,
                                            QVariant::Type parameterType,
                                            QWidget* dataWidget,
-                                           const QList<QWidget*> &labelWidgets,
-                                           bool updatesDefaultDisplayName)
+                                           const QList<QWidget*> &labelWidgets)
 {
     kDebug() << parameterType << parameterName;
 
@@ -135,13 +132,6 @@ void AbstractAccountParametersWidget::handleParameter(const QString &parameterNa
         }
         d->mapper->toFirst();
 
-        QLineEdit *lineEdit = qobject_cast<QLineEdit*>(dataWidget);
-        if (lineEdit && updatesDefaultDisplayName) {
-            connect (lineEdit,
-                     SIGNAL(textChanged(QString)),
-                     SLOT(updateDefaultDisplayName()));
-        }
-
         // check if the passed parameter is a validated one.. If so we're going to set the model here
         ValidatedLineEdit *validated = qobject_cast<ValidatedLineEdit*>(dataWidget);
         if (validated) {
@@ -181,23 +171,10 @@ ParameterEditModel* AbstractAccountParametersWidget::parameterModel() const
     return d->parameterModel;
 }
 
-void AbstractAccountParametersWidget::updateDefaultDisplayName()
-{
-    kWarning() << "This method should be implemented by derived classed";
-}
-
-void AbstractAccountParametersWidget::setDefaultDisplayName(const QString& defaultDisplayName)
-{
-    if (d->defaultDisplayName != defaultDisplayName) {
-        QString oldDefaultDisplayName = d->defaultDisplayName;
-        d->defaultDisplayName = defaultDisplayName;
-        Q_EMIT defaultDisplayNameChanged(oldDefaultDisplayName, defaultDisplayName);
-    }
-}
-
 QString AbstractAccountParametersWidget::defaultDisplayName() const
 {
-    return d->defaultDisplayName;
+    kWarning() << "This method should be implemented by derived classed";
+    return QString();
 }
 
 
diff --git a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
index e8f6af2..dd494f0 100644
--- a/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
+++ b/src/KCMTelepathyAccounts/abstract-account-parameters-widget.h
@@ -56,16 +56,11 @@ public:
 
     virtual bool validateParameterValues();
 
-    QString defaultDisplayName() const;
-
-public Q_SLOTS:
-    /** This method is called when the display name should be updated
-     *  Main options widgets should reimplement this method
+    /** Returns the default display name.
+     *  This method should be re-implemented in the derived main widgets
+     *  
eturn The default display name, given the parameter currently set.
      */
-    virtual void updateDefaultDisplayName();
-
-Q_SIGNALS:
-    void defaultDisplayNameChanged(const QString &oldDisplayName, const QString &newDisplayName);
+    virtual QString defaultDisplayName() const;
 
 protected:
     /** Map an input widget to a protocol parameter.
@@ -76,28 +71,20 @@ protected:
         \param parameterType The expected type for the parameter. If this does not match, the input will be hidden.
         \param dataWidget The user interface widget (QLineEdit/QSpinBox etc) that should be mapped to the parameter.
         \param labelWidgets Any additional labels that should be hidden if the parameter does not exist.
-        \param updatesDisplayName Set this to true if modifying this parameter the display Name should be modified. (valid only for QLineEdits)
     */
     void handleParameter(const QString &parameterName,
                          QVariant::Type parameterType,
                          QWidget *dataWidget,
-                         const QList<QWidget*> &labelWidgets,
-                         bool updatesDefaultDisplayName = false);
+                         const QList<QWidget*> &labelWidgets);
 
     void handleParameter(const QString &parameterName,
                          QVariant::Type parameterType,
                          QWidget *dataWidget,
-                         QWidget *labelWidget = 0,
-                         bool updatesDefaultDisplayName = false);
+                         QWidget *labelWidget = 0);
 
     /** Returns the model containing all the protocol parameters*/
     ParameterEditModel *parameterModel() const;
 
-    /** Call this method from updateDefaultDisplayName() in derivated class to set
-     *  The display name and emit signals
-     */
-    void setDefaultDisplayName(const QString &defaultDisplayName);
-
 private:
     Q_DISABLE_COPY(AbstractAccountParametersWidget);
 
diff --git a/src/KCMTelepathyAccounts/account-edit-widget.cpp b/src/KCMTelepathyAccounts/account-edit-widget.cpp
index 6f84692..0f8b29e 100644
--- a/src/KCMTelepathyAccounts/account-edit-widget.cpp
+++ b/src/KCMTelepathyAccounts/account-edit-widget.cpp
@@ -50,6 +50,7 @@ public:
     QString protocol;
     QString serviceName;
     QString displayName;
+    QString defaultDisplayName;
 
     QCheckBox *connectOnAdd;
 
@@ -60,6 +61,7 @@ public:
 };
 
 AccountEditWidget::AccountEditWidget(const Tp::ProfilePtr &profile,
+                                     const QString &displayName,
                                      ParameterEditModel *parameterModel,
                                      ConnectOnLoadType connectOnAddFlag,
                                      QWidget *parent)
@@ -74,6 +76,7 @@ AccountEditWidget::AccountEditWidget(const Tp::ProfilePtr &profile,
     d->serviceName = profile->serviceName();
     d->connectionManager = profile->cmName();
     d->protocol = profile->protocolName();
+    d->displayName = displayName;
 
     connect(d->ui->advancedButton, SIGNAL(clicked()),
             this, SLOT(onAdvancedClicked()));
@@ -153,10 +156,6 @@ void AccountEditWidget::loadWidgets()
         d->mainOptionsWidget->layout()->setContentsMargins(0, 0, 0, 0);
         d->ui->advancedButton->setVisible(d->accountUi->hasAdvancedOptionsWidget());
         d->ui->verticalLayout->insertWidget(2, d->mainOptionsWidget);
-        connect(d->mainOptionsWidget,
-                SIGNAL(defaultDisplayNameChanged(QString,QString)),
-                SLOT(onDefaultDisplayNameChanged(QString,QString)));
-        d->mainOptionsWidget->updateDefaultDisplayName();
 
         // check if all the parameters the UI supports are available in the CM plugin
         // also verify if the UI handle all mandatory parameters
@@ -189,11 +188,11 @@ void AccountEditWidget::loadWidgets()
         d->ui->advancedButton->setVisible(false);
         d->ui->verticalLayout->insertWidget(2, d->mainOptionsWidget);
         d->ui->verticalLayout->setStretch(2, 1);
-        connect(d->mainOptionsWidget,
-                SIGNAL(defaultDisplayNameChanged(QString,QString)),
-                SLOT(onDefaultDisplayNameChanged(QString,QString)));
-        d->mainOptionsWidget->updateDefaultDisplayName();
     }
+
+    // Update the default display name after setting up the ui and updating all
+    // the parameters so that it is generated accordingly.
+    d->defaultDisplayName = defaultDisplayName();
 }
 
 QVariantMap AccountEditWidget::parametersSet() const
@@ -269,45 +268,28 @@ QString AccountEditWidget::displayName() const
     return d->displayName;
 }
 
-void AccountEditWidget::setDisplayName(const QString &displayName)
+bool AccountEditWidget::updateDisplayName()
 {
-    QString oldDisplayName;
+    QString newDefaultDisplayName = defaultDisplayName();
     QString newDisplayName;
-
-    if (d->displayName.isEmpty()) {
-        oldDisplayName = defaultDisplayName();
-    } else {
-        oldDisplayName = d->displayName;
-    }
-
-    if (displayName.isEmpty()) {
-        newDisplayName = defaultDisplayName();
-    } else {
-        newDisplayName = displayName;
-    }
-
-    if (newDisplayName != oldDisplayName) {
-        d->displayName = displayName;
-        Q_EMIT displayNameChanged(oldDisplayName, newDisplayName);
-    }
-}
-
-void AccountEditWidget::onDefaultDisplayNameChanged(const QString &oldDefaultDisplayName,
-                                                    const QString &newDefaultDisplayName)
-{
-    Q_EMIT defaultDisplayNameChanged(oldDefaultDisplayName, newDefaultDisplayName);
-
-    QString oldDisplayName = displayName();
     // If the display name is empty or is the old default one the value is
     // cleared (empty displayName = use default one). If the display name
     // contains the old default value (probably the user added something, the
     // default part is replaced and the rest is not changed. Otherwise display
     // name was customized, therefore we leave it unchanged.
-    if (oldDisplayName.isEmpty() || oldDisplayName == oldDefaultDisplayName) {
-        setDisplayName(QString());
-    } else if (!oldDefaultDisplayName.isEmpty() && oldDisplayName.contains(oldDefaultDisplayName)) {
-        setDisplayName(oldDisplayName.replace(oldDefaultDisplayName, newDefaultDisplayName));
+    if (d->displayName.isEmpty() || d->displayName == d->defaultDisplayName) {
+        newDisplayName = newDefaultDisplayName;
+    } else {
+        newDisplayName = d->displayName;
+        newDisplayName.replace(d->defaultDisplayName, newDefaultDisplayName);
+    }
+
+    d->defaultDisplayName = newDefaultDisplayName;
+    if (d->displayName != newDisplayName) {
+        d->displayName = newDisplayName;
+        return true;
     }
+    return false;
 }
 
 #include "account-edit-widget.moc"
diff --git a/src/KCMTelepathyAccounts/account-edit-widget.h b/src/KCMTelepathyAccounts/account-edit-widget.h
index 91080d7..c4ddfc5 100644
--- a/src/KCMTelepathyAccounts/account-edit-widget.h
+++ b/src/KCMTelepathyAccounts/account-edit-widget.h
@@ -42,6 +42,7 @@ class KCM_TELEPATHY_ACCOUNTS_EXPORT AccountEditWidget : public QWidget
 
 public:
     explicit AccountEditWidget(const Tp::ProfilePtr &info,
+                               const QString &displayName,
                                ParameterEditModel *parameterModel,
                                ConnectOnLoadType connectOnAddFlag = doNotConnectOnAdd,
                                QWidget *parent = 0);
@@ -54,24 +55,19 @@ public:
     virtual QVariantMap parametersSet() const;
     virtual QStringList parametersUnset() const;
 
-    virtual QString defaultDisplayName() const;
-    virtual QString displayName() const;
-    virtual void setDisplayName(const QString &displayName);
+    QString defaultDisplayName() const;
+    QString displayName() const;
+    // returns true if display name has changed
+    bool updateDisplayName();
 
 protected:
     ParameterEditModel *parameterModel() const;
 
 private Q_SLOTS:
     void onAdvancedClicked();
-    void onDefaultDisplayNameChanged(const QString &oldDefaultDisplayName,
-                                     const QString &newDefaultDisplayName);
 
 Q_SIGNALS:
     void feedbackMessage(const QString &text, const QString &comment, KMessageWidget::MessageType);
-    void displayNameChanged(const QString &oldDisplayName,
-                            const QString &newDisplayName);
-    void defaultDisplayNameChanged(const QString &oldDefaultDisplayName,
-                                   const QString &newDefaultDisplayName);
 
 private:
     Q_DISABLE_COPY(AccountEditWidget);
diff --git a/src/KCMTelepathyAccounts/parameter-edit-widget.cpp b/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
index 6e28425..3c80cf5 100644
--- a/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
+++ b/src/KCMTelepathyAccounts/parameter-edit-widget.cpp
@@ -55,13 +55,6 @@ ParameterEditWidget::ParameterEditWidget(ParameterEditModel *parameterModel,
     connect(d->delegate,
             SIGNAL(dataChanged(QModelIndex,QVariant,int)),
             SLOT(onDelegateDataChanged(QModelIndex,QVariant,int)));
-
-    Tp::ProtocolParameter foundParameter = parameterModel->parameter(QLatin1String("account"));
-    if (foundParameter.isValid()) {
-        connect(d->delegate,
-                SIGNAL(dataChanged(QModelIndex,QVariant,int)),
-                SLOT(updateDefaultDisplayName()));
-    }
 }
 
 ParameterEditWidget::~ParameterEditWidget()
@@ -75,12 +68,13 @@ void ParameterEditWidget::onDelegateDataChanged(const QModelIndex &index, const
     parameterModel()->setData(index, value, role);
 }
 
-void ParameterEditWidget::updateDefaultDisplayName()
+QString ParameterEditWidget::defaultDisplayName() const
 {
     Tp::ProtocolParameter foundParameter = parameterModel()->parameter(QLatin1String("account"));
     if (foundParameter.isValid()) {
-        setDefaultDisplayName(parameterModel()->data(parameterModel()->indexForParameter(foundParameter)).toString());
+        return parameterModel()->data(parameterModel()->indexForParameter(foundParameter)).toString();
     }
+    return QString();
 }
 
 #include "parameter-edit-widget.moc"
diff --git a/src/KCMTelepathyAccounts/parameter-edit-widget.h b/src/KCMTelepathyAccounts/parameter-edit-widget.h
index 5de6ab6..d1ff018 100644
--- a/src/KCMTelepathyAccounts/parameter-edit-widget.h
+++ b/src/KCMTelepathyAccounts/parameter-edit-widget.h
@@ -37,7 +37,7 @@ public:
                                  QWidget *parent = 0);
     ~ParameterEditWidget();
 
-    virtual void updateDefaultDisplayName();
+    virtual QString defaultDisplayName() const;
 private Q_SLOTS:
     void onDelegateDataChanged(const QModelIndex &index, const QVariant &value, int role);
 
diff --git a/src/add-account-assistant.cpp b/src/add-account-assistant.cpp
index f8eacb1..dccb3a3 100644
--- a/src/add-account-assistant.cpp
+++ b/src/add-account-assistant.cpp
@@ -225,6 +225,7 @@ void AddAccountAssistant::accept()
         values.remove(QLatin1String("password"));
     }
 
+    d->accountEditWidget->updateDisplayName();
     Tp::PendingAccount *pa = d->accountManager->createAccount(d->currentProfileItem->cmName(),
                                                               d->currentProfileItem->protocolName(),
                                                               d->accountEditWidget->displayName(),
@@ -317,6 +318,7 @@ void AddAccountAssistant::pageThree()
 
     // Set up the account edit widget.
     d->accountEditWidget = new AccountEditWidget(d->currentProfileItem->profile(),
+                                                 QString(),
                                                  parameterModel,
                                                  doConnectOnAdd,
                                                  d->pageThreeWidget);
diff --git a/src/edit-account-dialog.cpp b/src/edit-account-dialog.cpp
index db216a8..89f4d90 100644
--- a/src/edit-account-dialog.cpp
+++ b/src/edit-account-dialog.cpp
@@ -100,12 +100,11 @@ void EditAccountDialog::onWalletOpened(Tp::PendingOperation *op)
 
     // Set up the interface
     d->widget = new AccountEditWidget(d->account->profile(),
+                                      d->account->displayName(),
                                       parameterModel,
                                       doNotConnectOnAdd,
                                       this);
 
-    d->widget->setDisplayName(d->account->displayName());
-
     setMainWidget(d->widget);
 
     d->kwalletReady = true;
@@ -170,11 +169,13 @@ void EditAccountDialog::onParametersUpdated(Tp::PendingOperation *op)
         KTp::WalletUtils::setAccountPassword(d->account, QString());
     }
 
-    Tp::PendingOperation *dnop = d->account->setDisplayName(d->widget->displayName());
-
-    connect(dnop,
-            SIGNAL(finished(Tp::PendingOperation*)),
-            SLOT(onDisplayNameUpdated(Tp::PendingOperation*)));
+    if(d->widget->updateDisplayName()) {
+        connect(d->account->setDisplayName(d->widget->displayName()),
+                SIGNAL(finished(Tp::PendingOperation*)),
+                SLOT(onDisplayNameUpdated(Tp::PendingOperation*)));
+    } else {
+        onFinished();
+    }
 }
 
 void EditAccountDialog::onDisplayNameUpdated(Tp::PendingOperation *op)
@@ -184,7 +185,11 @@ void EditAccountDialog::onDisplayNameUpdated(Tp::PendingOperation *op)
         kWarning() << "Could not update display name:" << op->errorName() << op->errorMessage();
         return;
     }
+    onFinished();
+}
 
+void EditAccountDialog::onFinished()
+{
     Q_EMIT finished();
 
     if (d->reconnectRequired) {
diff --git a/src/edit-account-dialog.h b/src/edit-account-dialog.h
index afa13b8..e249a0b 100644
--- a/src/edit-account-dialog.h
+++ b/src/edit-account-dialog.h
@@ -35,6 +35,7 @@ public:
     virtual ~EditAccountDialog();
 
     virtual void setVisible(bool visible);
+    virtual void accept();
 
 private Q_SLOTS:
     void onWalletOpened(Tp::PendingOperation *op);
@@ -44,7 +45,7 @@ private Q_SLOTS:
 private:
     Q_DISABLE_COPY(EditAccountDialog);
 
-    void accept();
+    void onFinished();
 
     class Private;
     Private * const d;
diff --git a/src/salut-details-dialog.cpp b/src/salut-details-dialog.cpp
index 8b491bd..a109646 100644
--- a/src/salut-details-dialog.cpp
+++ b/src/salut-details-dialog.cpp
@@ -77,6 +77,7 @@ SalutDetailsDialog::SalutDetailsDialog(const Tp::ProfileManagerPtr profileManage
 
     // Set up the interface
     d->widget = new AccountEditWidget(d->profile,
+                                      QString(),
                                       parameterModel,
                                       doNotConnectOnAdd,
                                       this);

-- 
ktp-accounts-kcm packaging



More information about the pkg-kde-commits mailing list