diff --git a/sflphone-client-kde/cmake/TargetDistclean.cmake b/sflphone-client-kde/cmake/TargetDistclean.cmake
index 719618a0865f91851bd0b2a566091ebcdeefe7c3..eeb8861e42aa2eba1d5b17b3abff7776cbcd161d 100644
--- a/sflphone-client-kde/cmake/TargetDistclean.cmake
+++ b/sflphone-client-kde/cmake/TargetDistclean.cmake
@@ -46,6 +46,10 @@ IF (UNIX)
    data/*.cmake
    data/Makefile
    data/CMakeFiles
+   data/icons/*.cmake
+   data/icons/*.make
+   data/icons/Makefile
+   data/icons/CMakeFiles
    src/*.cmake
    src/Makefile
    src/CMakeFiles
diff --git a/sflphone-client-kde/src/AccountList.cpp b/sflphone-client-kde/src/AccountList.cpp
index d940b6fef495683d8b835cb2477c8598ff2482f5..3f53f475fdb6502359b1db9726ce391bd7364772 100644
--- a/sflphone-client-kde/src/AccountList.cpp
+++ b/sflphone-client-kde/src/AccountList.cpp
@@ -36,17 +36,11 @@ AccountList::AccountList(QStringList & _accountIds)
 	}
 }
 
-AccountList::AccountList()
+AccountList::AccountList(bool fill)
 {
 	qDebug() << "AccountList()";
-// 	firstAccount = QString();
-	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
-	//ask for the list of accounts ids to the configurationManager
-	QStringList accountIds = configurationManager.getAccountList().value();
 	accounts = new QVector<Account *>();
-	for (int i = 0; i < accountIds.size(); ++i){
-		(*accounts) += Account::buildExistingAccountFromId(accountIds[i]);
-	}
+	updateAccounts();
 }
 
 void AccountList::update()
@@ -70,7 +64,7 @@ void AccountList::updateAccounts()
 	qDebug() << "updateAccounts";
 	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
 	QStringList accountIds = configurationManager.getAccountList().value();
-	accounts = new QVector<Account *>();
+	accounts->clear();
 	for (int i = 0; i < accountIds.size(); ++i){
 		(*accounts) += Account::buildExistingAccountFromId(accountIds[i]);
 	}
diff --git a/sflphone-client-kde/src/AccountList.h b/sflphone-client-kde/src/AccountList.h
index 8d195f26860ba0571387d3d74fd395075e989e25..e1b00e77bb7d62ef68a8713644f06b8608e43f22 100644
--- a/sflphone-client-kde/src/AccountList.h
+++ b/sflphone-client-kde/src/AccountList.h
@@ -39,7 +39,12 @@ public:
 
 	//Constructors & Destructors
 	AccountList(QStringList & _accountIds);
-	AccountList();
+	/**
+	 *   Constructs a new accountList, empty if fill = false
+	 *   filled with accounts from configurationManager.getAccountList() if true
+	 * @param fill Whether to fill the list with accounts from configurationManager or not.
+	 */
+	AccountList(bool fill = true);
 	~AccountList();
 	
 	//Getters
diff --git a/sflphone-client-kde/src/ActionSetAccountFirst.cpp b/sflphone-client-kde/src/ActionSetAccountFirst.cpp
index 6b29e6c6a4892502e68580ddcf7d52ca94996dc1..3033af2e2f65cd50cc311f5212cb33b5c8732af3 100644
--- a/sflphone-client-kde/src/ActionSetAccountFirst.cpp
+++ b/sflphone-client-kde/src/ActionSetAccountFirst.cpp
@@ -20,10 +20,12 @@
  ***************************************************************************/
   
 #include "ActionSetAccountFirst.h"
+#include <klocale.h>
 
 ActionSetAccountFirst::ActionSetAccountFirst(Account * account, QObject *parent)
- : QAction(account->getAlias(), parent)
+ : QAction((account == NULL) ? i18n("Default account") : account->getAlias(), parent)
 {
+	setCheckable(true);
 	this->account = account;
 	connect(this,    SIGNAL(triggered()),
 	        this,    SLOT(emitSetFirst()));
diff --git a/sflphone-client-kde/src/SFLPhone.cpp b/sflphone-client-kde/src/SFLPhone.cpp
index 4ca4a7b3d74cd2514b9d48eb6f01fdd85c775adb..179023b5c74953fd0762ea37dd06c412a24c10cf 100644
--- a/sflphone-client-kde/src/SFLPhone.cpp
+++ b/sflphone-client-kde/src/SFLPhone.cpp
@@ -29,10 +29,12 @@
 #include <KToolBar>
 #include <KStatusBar>
 #include <QtGui/QStatusBar>
+#include <QtGui/QCursor>
 #include <KActionCollection>
 
 #include "sflphone_const.h"
 #include "instance_interface_singleton.h"
+#include "configurationmanager_interface_singleton.h"
 
 
 /**
@@ -44,7 +46,7 @@ SFLPhone::SFLPhone(QWidget *parent)
       view(new sflphone_kdeView(this))
 {
 	
-
+	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
 	// accept dnd
 		setAcceptDrops(true);
 
@@ -78,6 +80,18 @@ SFLPhone::SFLPhone(QWidget *parent)
 		setObjectNames();
       QMetaObject::connectSlotsByName(this);
 	   view->updateStatusMessage();
+	   
+		move(QCursor::pos().x() - geometry().width()/2, QCursor::pos().y() - geometry().height()/2);
+	   if( ! configurationManager.isStartHidden())
+	   {
+	   	show();
+	   }
+	   
+	   if(configurationManager.getAccountList().value().isEmpty())
+		{
+			(new AccountWizard())->show();
+		}
+	   
 } 
 
 SFLPhone::~SFLPhone()
diff --git a/sflphone-client-kde/src/conf/ConfigurationDialog.cpp b/sflphone-client-kde/src/conf/ConfigurationDialog.cpp
index afa92ed9f40a1c353c78f31a064acbc6d4136e0a..1aef5e9cd3b1f6603e4bca6477ba1fcb1f799ca9 100644
--- a/sflphone-client-kde/src/conf/ConfigurationDialog.cpp
+++ b/sflphone-client-kde/src/conf/ConfigurationDialog.cpp
@@ -76,12 +76,14 @@ void ConfigurationDialogKDE::updateWidgets()
 {
 	qDebug() << "updateWidgets";
 	dlgAudio->updateWidgets();
+	dlgAccounts->updateWidgets();
 }
 
 void ConfigurationDialogKDE::updateSettings()
 {
 	qDebug() << "updateSettings";
 	dlgAudio->updateSettings();
+	dlgAccounts->updateSettings();
 	qDebug() << "yo  " << ConfigurationSkeleton::self()->alsaPlugin();
 }
 
diff --git a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
index c8860eb71badc5516af835f02d2b14e3e3604bc9..e6f89cdd33ebc64d95def2231e93725d69c011fe 100644
--- a/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
+++ b/sflphone-client-kde/src/conf/ConfigurationSkeleton.cpp
@@ -57,6 +57,7 @@ void ConfigurationSkeleton::readConfig()
 	////////////////////////
 	
 	//Call history settings
+	setEnableHistory(configurationManager.getHistoryEnabled());
 	setHistoryMax(configurationManager.getHistoryLimit());
 
 	//SIP port settings
@@ -181,6 +182,7 @@ void ConfigurationSkeleton::writeConfig()
 	////////////////////////
 	
 	//Call history settings
+	if(enableHistory() != configurationManager.getHistoryEnabled()) configurationManager.setHistoryEnabled();
 	configurationManager.setHistoryLimit(historyMax());
 	//SIP port settings
 	configurationManager.setSipPort(sIPPort());
diff --git a/sflphone-client-kde/src/conf/dlgaccounts.cpp b/sflphone-client-kde/src/conf/dlgaccounts.cpp
index 4efd6a81a18c8ac572e20bd3c58a5becc2b52273..09bd4a645069e5ac764e459949c1cf14328e5cbf 100644
--- a/sflphone-client-kde/src/conf/dlgaccounts.cpp
+++ b/sflphone-client-kde/src/conf/dlgaccounts.cpp
@@ -34,8 +34,11 @@ DlgAccounts::DlgAccounts(KConfigDialog *parent)
 	
 	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
 	QStyle * style = QApplication::style();
-	button_accountUp->setIcon(style->standardIcon(QStyle::SP_ArrowUp));
-	button_accountDown->setIcon(style->standardIcon(QStyle::SP_ArrowDown));
+	button_accountUp->setIcon(KIcon("go-up"));
+	button_accountDown->setIcon(KIcon("go-down"));
+	button_accountAdd->setIcon(KIcon("list-add"));
+	button_accountRemove->setIcon(KIcon("list-remove"));
+	accountList = new AccountList(false);
 	loadAccountList();
 	accountListHasChanged = false;
 	toolButton_accountsApply->setEnabled(false);
@@ -185,7 +188,7 @@ void DlgAccounts::loadAccount(QListWidgetItem * item)
 void DlgAccounts::loadAccountList()
 {
 	qDebug() << "loadAccountList";
-	accountList = new AccountList();
+	accountList->updateAccounts();
 	//initialize the QListWidget object with the AccountList
 	listWidget_accountList->clear();
 	for (int i = 0; i < accountList->size(); ++i){
@@ -356,3 +359,13 @@ bool DlgAccounts::hasChanged()
 	return accountListHasChanged;
 }
 
+
+void DlgAccounts::updateSettings()
+{
+
+}
+void DlgAccounts::updateWidgets()
+{
+	loadAccountList();
+}
+
diff --git a/sflphone-client-kde/src/conf/dlgaccounts.h b/sflphone-client-kde/src/conf/dlgaccounts.h
index d0d09e0585d09f2fb48dcf2e7753414293899c66..b2187e11484fc75b4791957234e1a915fbac9523 100644
--- a/sflphone-client-kde/src/conf/dlgaccounts.h
+++ b/sflphone-client-kde/src/conf/dlgaccounts.h
@@ -51,6 +51,8 @@ public slots:
 	void applyCustomSettings();
 	
 	bool hasChanged();
+	void updateSettings();
+	void updateWidgets();
 	
 private slots:
 	void changedAccountList();
diff --git a/sflphone-client-kde/src/conf/dlgaccountsbase.ui b/sflphone-client-kde/src/conf/dlgaccountsbase.ui
index 03ada7350fff9d6ca4b2cd9f6a553ca878244cc2..dea0e59dbb1b77cd6d01b5df963e961765ec8594 100644
--- a/sflphone-client-kde/src/conf/dlgaccountsbase.ui
+++ b/sflphone-client-kde/src/conf/dlgaccountsbase.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>603</width>
-    <height>307</height>
+    <height>314</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -119,12 +119,17 @@
                 <verstretch>0</verstretch>
                </sizepolicy>
               </property>
-              <property name="text">
-               <string>Remove this account</string>
+              <property name="toolTip">
+               <string>This button will remove the selected account in the list below. Be sure you really don't need it anymore. If you think you might use it again later, just uncheck it.</string>
+              </property>
+              <property name="whatsThis">
+               <string>Remove the selected account</string>
+              </property>
+              <property name="accessibleDescription">
+               <string/>
               </property>
-              <property name="icon">
-               <iconset resource="../qrc/resources.qrc">
-                <normaloff>:/images/icons/remove.png</normaloff>:/images/icons/remove.png</iconset>
+              <property name="text">
+               <string>Remove</string>
               </property>
               <property name="shortcut">
                <string>Backspace, Return</string>
@@ -145,17 +150,25 @@
                 <height>0</height>
                </size>
               </property>
-              <property name="text">
+              <property name="toolTip">
+               <string>This button enables you to initialize a new account. You will then be able to edit it using the form on the right.</string>
+              </property>
+              <property name="whatsThis">
                <string>Add a new account</string>
               </property>
-              <property name="icon">
-               <iconset resource="../qrc/resources.qrc">
-                <normaloff>:/images/icons/add.png</normaloff>:/images/icons/add.png</iconset>
+              <property name="text">
+               <string>Add</string>
               </property>
              </widget>
             </item>
             <item>
              <widget class="QToolButton" name="button_accountDown">
+              <property name="toolTip">
+               <string>Get this account down</string>
+              </property>
+              <property name="whatsThis">
+               <string>By default, when you place a call, sflphone will use the first account in this list which is &quot;registered&quot;. Change the order of the accounts using the &quot;Up&quot; and &quot;Down&quot; arrows.</string>
+              </property>
               <property name="text">
                <string>Down</string>
               </property>
@@ -163,6 +176,12 @@
             </item>
             <item>
              <widget class="QToolButton" name="button_accountUp">
+              <property name="toolTip">
+               <string>Get this account up</string>
+              </property>
+              <property name="whatsThis">
+               <string>By default, when you place a call, sflphone will use the first account in this list which is &quot;registered&quot;. Change the order of the accounts using the &quot;Up&quot; and &quot;Down&quot; arrows.</string>
+              </property>
               <property name="text">
                <string>Up</string>
               </property>
@@ -227,6 +246,12 @@
          </item>
          <item row="0" column="1">
           <widget class="QLineEdit" name="edit1_alias">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
            <property name="minimumSize">
             <size>
              <width>0</width>
@@ -368,10 +393,19 @@
          </widget>
         </item>
         <item row="0" column="1">
-         <widget class="QLineEdit" name="kcfg_stunServer">
+         <widget class="KLineEdit" name="kcfg_stunServer">
           <property name="enabled">
            <bool>false</bool>
           </property>
+          <property name="squeezedTextEnabled">
+           <bool>false</bool>
+          </property>
+          <property name="clickMessage">
+           <string>choose Stun server (example : stunserver.org)</string>
+          </property>
+          <property name="showClearButton" stdset="0">
+           <bool>false</bool>
+          </property>
          </widget>
         </item>
        </layout>
@@ -381,23 +415,30 @@
    </item>
   </layout>
  </widget>
+ <customwidgets>
+  <customwidget>
+   <class>KLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>klineedit.h</header>
+  </customwidget>
+ </customwidgets>
  <resources>
   <include location="../qrc/resources.qrc"/>
  </resources>
  <connections>
   <connection>
    <sender>kcfg_enableStun</sender>
-   <signal>toggled(bool)</signal>
+   <signal>clicked(bool)</signal>
    <receiver>kcfg_stunServer</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel">
-     <x>75</x>
-     <y>274</y>
+     <x>71</x>
+     <y>273</y>
     </hint>
     <hint type="destinationlabel">
-     <x>145</x>
-     <y>274</y>
+     <x>167</x>
+     <y>278</y>
     </hint>
    </hints>
   </connection>
diff --git a/sflphone-client-kde/src/conf/dlgaudio.cpp b/sflphone-client-kde/src/conf/dlgaudio.cpp
index a95a03ea3d6a16a8e3458f95617ea8d13f557b8c..6d5e85f26169c0edeed16d65166db2a3547b98d6 100644
--- a/sflphone-client-kde/src/conf/dlgaudio.cpp
+++ b/sflphone-client-kde/src/conf/dlgaudio.cpp
@@ -41,8 +41,8 @@ DlgAudio::DlgAudio(KConfigDialog *parent)
 	KUrlRequester_ringtone->lineEdit()->setObjectName("kcfg_ringtone"); 
 	
 	codecTableHasChanged = false;
-	toolButton_codecUp->setIcon(style->standardIcon(QStyle::SP_ArrowUp));
-	toolButton_codecDown->setIcon(style->standardIcon(QStyle::SP_ArrowDown));
+	toolButton_codecUp->setIcon(KIcon("go-up"));
+	toolButton_codecDown->setIcon(KIcon("go-down"));
 	tableWidget_codecs->verticalHeader()->hide();
 	tableWidget_codecs->setSelectionBehavior(QAbstractItemView::SelectRows);
 	
diff --git a/sflphone-client-kde/src/conf/dlgaudiobase.ui b/sflphone-client-kde/src/conf/dlgaudiobase.ui
index 20738390f888bc42304bd9e23207e312346b3a10..38b5e1f64046d4e4796dda6fa6b61b7df5fc4d34 100644
--- a/sflphone-client-kde/src/conf/dlgaudiobase.ui
+++ b/sflphone-client-kde/src/conf/dlgaudiobase.ui
@@ -36,13 +36,6 @@
         </property>
        </widget>
       </item>
-      <item row="2" column="0">
-       <widget class="QCheckBox" name="kcfg_enableRingtones">
-        <property name="text">
-         <string>Enable ringtones</string>
-        </property>
-       </widget>
-      </item>
       <item row="0" column="1">
        <widget class="KComboBox" name="kcfg_interface">
         <item>
@@ -57,6 +50,13 @@
         </item>
        </widget>
       </item>
+      <item row="2" column="0">
+       <widget class="QCheckBox" name="kcfg_enableRingtones">
+        <property name="text">
+         <string>Enable ringtones</string>
+        </property>
+       </widget>
+      </item>
       <item row="2" column="1">
        <widget class="KUrlRequester" name="KUrlRequester_ringtone"/>
       </item>
diff --git a/sflphone-client-kde/src/conf/dlggeneralbase.ui b/sflphone-client-kde/src/conf/dlggeneralbase.ui
index b22c4ee948695bacee0d847c22d2126cac9a584e..6e723bf6b0c82427e6892d6f9902267a3dfbcee4 100644
--- a/sflphone-client-kde/src/conf/dlggeneralbase.ui
+++ b/sflphone-client-kde/src/conf/dlggeneralbase.ui
@@ -30,32 +30,51 @@
        <widget class="QWidget" name="widget_historyCapacity_2" native="true">
         <layout class="QHBoxLayout" name="horizontalLayout_11">
          <item>
-          <widget class="QLabel" name="label_historyCapacity_2">
+          <widget class="QCheckBox" name="kcfg_enableHistory">
            <property name="text">
-            <string>&amp;Capacity</string>
-           </property>
-           <property name="buddy">
-            <cstring>horizontalSlider_historyCapacity_2</cstring>
+            <string extracomment="beginning of &quot;..for at least n days.&quot;">Keep my history for at least</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QSlider" name="horizontalSlider_historyCapacity_2">
-           <property name="maximum">
-            <number>100</number>
+          <widget class="KIntSpinBox" name="kcfg_historyMax">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
            </property>
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
+           <property name="minimum">
+            <number>-8</number>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="KIntSpinBox" name="kcfg_historyMax">
-           <property name="minimum">
-            <number>-8</number>
+          <widget class="QLabel" name="label">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string extracomment="End of &quot;Keep my history for at least n days&quot;">days</string>
            </property>
           </widget>
          </item>
+         <item>
+          <spacer name="horizontalSpacer">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
         </layout>
        </widget>
       </item>
@@ -150,38 +169,5 @@
  <resources>
   <include location="../qrc/resources.qrc"/>
  </resources>
- <connections>
-  <connection>
-   <sender>horizontalSlider_historyCapacity_2</sender>
-   <signal>valueChanged(int)</signal>
-   <receiver>kcfg_historyMax</receiver>
-   <slot>setValue(int)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>393</x>
-     <y>57</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>469</x>
-     <y>54</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>kcfg_historyMax</sender>
-   <signal>valueChanged(int)</signal>
-   <receiver>horizontalSlider_historyCapacity_2</receiver>
-   <slot>setValue(int)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>464</x>
-     <y>52</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>393</x>
-     <y>61</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
+ <connections/>
 </ui>
diff --git a/sflphone-client-kde/src/conf/dlghooksbase.ui b/sflphone-client-kde/src/conf/dlghooksbase.ui
index 3313fccf8711dff2f010a14f33f29bebf82b8d5e..964153369b7afed02eb8c52e5e91df5abd0d0e8f 100644
--- a/sflphone-client-kde/src/conf/dlghooksbase.ui
+++ b/sflphone-client-kde/src/conf/dlghooksbase.ui
@@ -20,6 +20,16 @@
       <string>URL Argument</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_12">
+      <item>
+       <widget class="QLabel" name="label">
+        <property name="text">
+         <string>Custom commands with URL %s will be replaced with the passed URL.</string>
+        </property>
+        <property name="wordWrap">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
       <item>
        <widget class="QWidget" name="widget_protocols" native="true">
         <property name="sizePolicy">
@@ -35,54 +45,79 @@
          </size>
         </property>
         <layout class="QHBoxLayout" name="horizontalLayout_8">
-         <property name="margin">
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>4</number>
+         </property>
+         <property name="rightMargin">
+          <number>4</number>
+         </property>
+         <property name="bottomMargin">
           <number>4</number>
          </property>
          <item>
           <widget class="QCheckBox" name="kcfg_enableHooksSIP">
            <property name="text">
-            <string>SIP Protocol</string>
+            <string>Trigger on specific SIP header</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QCheckBox" name="kcfg_enableHooksIAX">
-           <property name="text">
-            <string>IAX2 Protocol</string>
+          <widget class="QLineEdit" name="kcfg_hooksSIPHeader">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
            </property>
           </widget>
          </item>
         </layout>
        </widget>
       </item>
+      <item>
+       <widget class="QCheckBox" name="kcfg_enableHooksIAX">
+        <property name="text">
+         <string>Trigger on IAX2 URL</string>
+        </property>
+       </widget>
+      </item>
       <item>
        <widget class="QWidget" name="widget_urlArgumentForm" native="true">
-        <layout class="QFormLayout" name="formLayout_6">
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_SIPHeader">
-           <property name="text">
-            <string>SIP Header</string>
-           </property>
-           <property name="buddy">
-            <cstring>kcfg_hooksSIPHeader</cstring>
-           </property>
-          </widget>
-         </item>
-         <item row="3" column="0">
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>4</number>
+         </property>
+         <property name="rightMargin">
+          <number>4</number>
+         </property>
+         <property name="bottomMargin">
+          <number>4</number>
+         </property>
+         <item>
           <widget class="QLabel" name="label_command">
            <property name="text">
-            <string>Command</string>
+            <string>Command to run</string>
            </property>
            <property name="buddy">
             <cstring>kcfg_hooksCommand</cstring>
            </property>
           </widget>
          </item>
-         <item row="1" column="1">
-          <widget class="KLineEdit" name="kcfg_hooksSIPHeader"/>
-         </item>
-         <item row="3" column="1">
-          <widget class="KLineEdit" name="kcfg_hooksCommand"/>
+         <item>
+          <widget class="KLineEdit" name="kcfg_hooksCommand">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+          </widget>
          </item>
         </layout>
        </widget>
@@ -96,28 +131,37 @@
       <string>Phone number formatting</string>
      </property>
      <layout class="QVBoxLayout" name="verticalLayout_13">
-      <item>
-       <widget class="QCheckBox" name="kcfg_addPrefix">
-        <property name="text">
-         <string>Add phone number prefix</string>
-        </property>
-       </widget>
-      </item>
       <item>
        <widget class="QWidget" name="widget_phoneNumberFormattingForm" native="true">
-        <layout class="QFormLayout" name="formLayout_7">
-         <item row="1" column="0">
-          <widget class="QLabel" name="label_prepend">
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>4</number>
+         </property>
+         <property name="rightMargin">
+          <number>4</number>
+         </property>
+         <property name="bottomMargin">
+          <number>4</number>
+         </property>
+         <item>
+          <widget class="QCheckBox" name="kcfg_addPrefix">
            <property name="text">
-            <string>Prepend</string>
-           </property>
-           <property name="buddy">
-            <cstring>kcfg_prepend</cstring>
+            <string>Add phone number prefix</string>
            </property>
           </widget>
          </item>
-         <item row="1" column="1">
-          <widget class="KLineEdit" name="kcfg_prepend"/>
+         <item>
+          <widget class="KLineEdit" name="kcfg_prepend">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+          </widget>
          </item>
         </layout>
        </widget>
diff --git a/sflphone-client-kde/src/conf/dlgrecordbase.ui b/sflphone-client-kde/src/conf/dlgrecordbase.ui
index 429884c3d3db057cd60548dc28bfc7e30bb332af..916071e7dfe909492c0ee7a8e47543cc3a08b89e 100644
--- a/sflphone-client-kde/src/conf/dlgrecordbase.ui
+++ b/sflphone-client-kde/src/conf/dlgrecordbase.ui
@@ -37,7 +37,14 @@
        </widget>
       </item>
       <item>
-       <widget class="KUrlRequester" name="KUrlRequester_destinationFolder"/>
+       <widget class="KUrlRequester" name="KUrlRequester_destinationFolder">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+       </widget>
       </item>
      </layout>
     </widget>
diff --git a/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg b/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg
index 80a4d5a201e5bb74345ddfb14978503d938ba99c..c90d937a82b9467862627d82d0798fc2287ed8e0 100644
--- a/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg
+++ b/sflphone-client-kde/src/conf/sflphone-client-kde.kcfg
@@ -3,17 +3,15 @@
 <kcfg> 
   <kcfgfile name="ConfigDialogKDE" /> 
   <group name="main"> 
-    <!--
-    <entry name="SplitterSizes" type="IntList"> 
-      <label>How the main window is divided.</label> 
-    </entry> 
-    -->
     <entry name="SIPPort" type="Int"> 
       <label>Defines the port that will be used for SIP communication.</label> 
       <min> 1025 </min>
       <max> 65536 </max>
       <default> 1025 </default> 
     </entry>
+    <entry name="enableHistory" type="Bool"> 
+      <label>Defines whether sflphone should keep a history of calls.</label> 
+    </entry> 
     <entry name="historyMax" type="Int"> 
       <label>Defines the number of days the history has to be kept.</label> 
       <min> 1 </min>
@@ -107,23 +105,5 @@
     <entry name="prepend" type="String">
     	<label>Defines the prefix to add.</label>
     </entry>
-    
-    
-    <!--
-    <entry name="Height" type="Int"> 
-      <label>Height of the main window.</label> 
-      <default>400</default> 
-    </entry> 
-    <entry name="OpenBooks" type="StringList"> 
-      <label>All books that are opened.</label> 
-    </entry> 
-    <entry name="CurrentBook" type="String"> 
-      <label>The book currently opened.</label> 
-    </entry> 
-    <entry name="Font" type="Font"> 
-      <label>The font used to display the contents of books.</label> 
-      <default code="true">KGlobalSettings::generalFont()</default> 
-    </entry>
-    --> 
   </group> 
 </kcfg>
diff --git a/sflphone-client-kde/src/main.cpp b/sflphone-client-kde/src/main.cpp
index 97b1ef6bebe45069d52618cba9f8a165a5fe8ad3..7e7ca8a42c091acc6e1a5ba21f8c524b6985a086 100644
--- a/sflphone-client-kde/src/main.cpp
+++ b/sflphone-client-kde/src/main.cpp
@@ -1,6 +1,5 @@
 #include <QApplication>
 #include <QtCore/QString>
-#include <QtGui/QCursor>
 #include <QtGui/QMenu>
 #include <QtGui/QMenuBar>
 #include <QtGui/QAction>
@@ -54,22 +53,10 @@ int main(int argc, char **argv)
 		//configuration dbus
 		registerCommTypes();
 		
-		
-		if(!QFile(QDir::homePath() + CONFIG_FILE_PATH).exists())
-		{
-			(new AccountWizard())->show();
-		}
-		
-		InstanceInterface & instance = InstanceInterfaceSingleton::getInstance();
-		instance.Register(getpid(), APP_NAME);
-
-		
 		SFLPhone * fenetre = new SFLPhone();
-		fenetre->move(QCursor::pos().x() - fenetre->geometry().width()/2, QCursor::pos().y() - fenetre->geometry().height()/2);
-		fenetre->show();
 
-// 		ConfigurationDialogKDE * dlg = new ConfigurationDialogKDE(fenetre->getView());
-// 		dlg->show();
+		InstanceInterface & instance = InstanceInterfaceSingleton::getInstance();
+		instance.Register(getpid(), APP_NAME);
 	
 		return app.exec();
 	}
diff --git a/sflphone-client-kde/src/sflphone_kdeview.cpp b/sflphone-client-kde/src/sflphone_kdeview.cpp
index ac5a90be9f351a9f28c8173fd1832e9b2793c94a..c0366da604435618090f9ec2f19663a57ee543d3 100644
--- a/sflphone-client-kde/src/sflphone_kdeview.cpp
+++ b/sflphone-client-kde/src/sflphone_kdeview.cpp
@@ -59,6 +59,8 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
 {
 	setupUi(this);
 	
+	action_configureSflPhone->setIcon(KIcon("preferences-other"));
+	
 	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 	
@@ -77,7 +79,7 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
 		}
 	}
 	
-	accountList = new AccountList();
+	accountList = new AccountList(false);
 	
 	configDialog = new ConfigurationDialogKDE(this);
 	configDialog->setObjectName("configDialog");
@@ -103,6 +105,11 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
 	connect(configDialog, SIGNAL(clearCallHistoryAsked()),
 	        callList,     SLOT(clearHistory()));
 	        
+	connect(accountList, SIGNAL(accountListUpdated()),
+	        this,     SLOT(updateStatusMessage()));
+	        
+	accountList->updateAccounts();
+	        
 	QPalette pal = QPalette(palette());
 	pal.setColor(QPalette::AlternateBase, Qt::lightGray);
 	setPalette(pal);
@@ -142,10 +149,6 @@ void sflphone_kdeView::loadWindow()
 }
 
 
-QVector<Account *> sflphone_kdeView::registeredAccounts()
-{
-	return accountList->registeredAccounts();
-}
 
 Account * sflphone_kdeView::firstRegisteredAccount()
 {
@@ -303,11 +306,11 @@ void sflphone_kdeView::escape()
 				int state = call->getState();
 				if(state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD)
 				{
-					actionb(call, CALL_ACTION_TRANSFER);
+					action(call, CALL_ACTION_TRANSFER);
 				}
 				else
 				{
-					actionb(call, CALL_ACTION_REFUSE);
+					action(call, CALL_ACTION_REFUSE);
 				}
 			}
 		}
@@ -347,7 +350,7 @@ void sflphone_kdeView::enter()
 				int state = call->getState();
 				if(state == CALL_STATE_INCOMING || state == CALL_STATE_DIALING || state == CALL_STATE_TRANSFER || state == CALL_STATE_TRANSF_HOLD)
 				{
-					actionb(call, CALL_ACTION_ACCEPT);
+					action(call, CALL_ACTION_ACCEPT);
 				}
 				else
 				{
@@ -378,7 +381,7 @@ void sflphone_kdeView::enter()
 			call->appendItemText(pastCall->getPeerPhoneNumber());
 			addCallToCallList(call);
 			listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-			actionb(call, CALL_ACTION_ACCEPT);
+			action(call, CALL_ACTION_ACCEPT);
 		}
 	}
 	if(stackedWidget_screen->currentWidget() == page_addressBook)
@@ -398,29 +401,32 @@ void sflphone_kdeView::enter()
 			call->appendItemText(w->getContactNumber());
 			addCallToCallList(call);
 			listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-			actionb(call, CALL_ACTION_ACCEPT);
+			action(call, CALL_ACTION_ACCEPT);
 		}
 	}
 }
 
-void sflphone_kdeView::actionb(Call * call, call_action action)
+void sflphone_kdeView::action(Call * call, call_action action)
 {
-	try
+	if(! call)
 	{
-		call->actionPerformed(action);
+		qDebug() << "Error : action " << action << "applied on null object call. Should not happen.";
 	}
-	catch(const char * msg)
+	else
 	{
-		errorWindow->showMessage(QString(msg));
+		try
+		{
+			call->actionPerformed(action);
+		}
+		catch(const char * msg)
+		{
+			errorWindow->showMessage(QString(msg));
+		}
+		updateCallItem(call);
+		updateWindowCallState();
 	}
-	updateCallItem(call);
-	updateWindowCallState();
 }
 
-void sflphone_kdeView::action(QListWidgetItem * item, call_action action)
-{
-	actionb(callList->findCallByItem(item), action);
-}
 
 /*******************************************
 ******** Update Display Functions **********
@@ -993,10 +999,10 @@ void sflphone_kdeView::on_listWidget_callList_itemDoubleClicked(QListWidgetItem
 	switch(state)
 	{
 		case CALL_STATE_HOLD:
-			actionb(call, CALL_ACTION_HOLD);
+			action(call, CALL_ACTION_HOLD);
 			break;
 		case CALL_STATE_DIALING:
-			actionb(call, CALL_ACTION_ACCEPT);
+			action(call, CALL_ACTION_ACCEPT);
 			break;
 		default:
 			qDebug() << "Double clicked an item with no action on double click.";
@@ -1013,7 +1019,7 @@ void sflphone_kdeView::on_listWidget_callHistory_itemDoubleClicked(QListWidgetIt
 	call->appendItemText(pastCall->getPeerPhoneNumber());
 	addCallToCallList(call);
 	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-	actionb(call, CALL_ACTION_ACCEPT);
+	action(call, CALL_ACTION_ACCEPT);
 }
 
 
@@ -1027,7 +1033,7 @@ void sflphone_kdeView::on_listWidget_addressBook_itemDoubleClicked(QListWidgetIt
 	call->appendItemText(w->getContactNumber());
 	addCallToCallList(call);
 	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-	actionb(call, CALL_ACTION_ACCEPT);
+	action(call, CALL_ACTION_ACCEPT);
 }
 
 void sflphone_kdeView::on_stackedWidget_screen_currentChanged(int index)
@@ -1074,18 +1080,20 @@ void sflphone_kdeView::contextMenuEvent(QContextMenuEvent *event)
 	menu.addAction(action_transfer);
 	menu.addAction(action_record);
 	menu.addSeparator();
-	QVector<Account *> accounts = registeredAccounts();
+	
+	QAction * action = new ActionSetAccountFirst(NULL, &menu);
+	action->setChecked(priorAccountId.isEmpty());
+	connect(action,  SIGNAL(setFirst(Account *)),
+	        this  ,  SLOT(setAccountFirst(Account *)));
+	menu.addAction(action);
+	
+	QVector<Account *> accounts = accountList->registeredAccounts();
 	for (int i = 0 ; i < accounts.size() ; i++)
 	{
 		qDebug() << i;
 		Account * account = accounts.at(i);
 		QAction * action = new ActionSetAccountFirst(account, &menu);
-		action->setCheckable(true);
-		action->setChecked(false);
-		if(account == firstRegisteredAccount())
-		{
-			action->setChecked(true);
-		}
+		action->setChecked(account->getAccountId() == priorAccountId);
 		connect(action, SIGNAL(setFirst(Account *)),
 		        this  , SLOT(setAccountFirst(Account *)));
 		menu.addAction(action);
@@ -1119,6 +1127,8 @@ void sflphone_kdeView::editBeforeCall()
 			number = w->getContactNumber();
 		}
 	}
+	else
+	{	return;	}
 	QString newNumber = QInputDialog::getText(this, i18n("Edit before call"), QString(), QLineEdit::Normal, number);
 	
 	action_history->setChecked(false);
@@ -1128,14 +1138,21 @@ void sflphone_kdeView::editBeforeCall()
 	call->appendItemText(newNumber);
 	addCallToCallList(call);
 	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-	actionb(call, CALL_ACTION_ACCEPT);
+	action(call, CALL_ACTION_ACCEPT);
 }
 
 void sflphone_kdeView::setAccountFirst(Account * account)
 {
-	qDebug() << "setAccountFirst : " << account->getAlias();
+	qDebug() << "setAccountFirst : " << (account ? account->getAlias() : QString());
 // 	getAccountList()->setAccountFirst(account);
-	priorAccountId = account->getAccountId();
+	if(account)
+	{
+		priorAccountId = account->getAccountId();
+	}
+	else
+	{
+		priorAccountId = QString();
+	}
 	updateStatusMessage();
 }
 
@@ -1151,19 +1168,6 @@ void sflphone_kdeView::on_listWidget_addressBook_currentItemChanged()
 	updateWindowCallState();
 }
 
-// void sflphone_kdeView::on_action_configureAccounts_triggered()
-// {
-// 	configDialog->readSettings();
-// 	configDialog->setPage(PAGE_ACCOUNTS);
-// 	configDialog->show();
-// }
-
-// void sflphone_kdeView::on_action_configureAudio_triggered()
-// {
-// 	configDialog->readSettings();
-// 	configDialog->setPage(PAGE_AUDIO);
-// 	configDialog->show();
-// }
 
 void sflphone_kdeView::on_action_configureSflPhone_triggered()
 {
@@ -1208,7 +1212,7 @@ void sflphone_kdeView::on_action_accept_triggered()
 				}
 				else
 				{
-					actionb(call, CALL_ACTION_ACCEPT);
+					action(call, CALL_ACTION_ACCEPT);
 				}
 			}
 		}
@@ -1223,7 +1227,7 @@ void sflphone_kdeView::on_action_accept_triggered()
 		call->appendItemText(pastCall->getPeerPhoneNumber());
 		addCallToCallList(call);
 		listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-		actionb(call, CALL_ACTION_ACCEPT);
+		action(call, CALL_ACTION_ACCEPT);
 	}
 	if(stackedWidget_screen->currentWidget() == page_addressBook)
 	{
@@ -1234,7 +1238,7 @@ void sflphone_kdeView::on_action_accept_triggered()
 		call->appendItemText(w->getContactNumber());
 		addCallToCallList(call);
 		listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-		actionb(call, CALL_ACTION_ACCEPT);
+		action(call, CALL_ACTION_ACCEPT);
 	}
 }
 
@@ -1249,7 +1253,7 @@ void sflphone_kdeView::on_action_refuse_triggered()
 		}
 		else
 		{
-			action(item, CALL_ACTION_REFUSE);
+			action(callList->findCallByItem(item), CALL_ACTION_REFUSE);
 		}
 	}
 	if(stackedWidget_screen->currentWidget() == page_callHistory)
@@ -1271,7 +1275,7 @@ void sflphone_kdeView::on_action_hold_triggered()
 	}
 	else
 	{
-		action(item, CALL_ACTION_HOLD);
+		action(callList->findCallByItem(item), CALL_ACTION_HOLD);
 	}
 }
 
@@ -1284,7 +1288,7 @@ void sflphone_kdeView::on_action_transfer_triggered()
 	}
 	else
 	{
-		action(item, CALL_ACTION_TRANSFER);
+		action(callList->findCallByItem(item), CALL_ACTION_TRANSFER);
 	}
 }
 
@@ -1297,7 +1301,7 @@ void sflphone_kdeView::on_action_record_triggered()
 	}
 	else
 	{
-		action(item, CALL_ACTION_RECORD);
+		action(callList->findCallByItem(item), CALL_ACTION_RECORD);
 	}
 }
 
@@ -1340,7 +1344,7 @@ void sflphone_kdeView::on_action_mailBox_triggered()
 	call->appendItemText(mailBoxNumber);
 	addCallToCallList(call);
 	listWidget_callList->setCurrentRow(listWidget_callList->count() - 1);
-	actionb(call, CALL_ACTION_ACCEPT);
+	action(call, CALL_ACTION_ACCEPT);
 }
 
 void sflphone_kdeView::on1_callStateChanged(const QString &callID, const QString &state)
diff --git a/sflphone-client-kde/src/sflphone_kdeview.h b/sflphone-client-kde/src/sflphone_kdeview.h
index 71ce8fc9fdf3010f1db16ee24b195c127298ea06..8accc3dc82f81890c91b8932a8aafc26a957f230 100644
--- a/sflphone-client-kde/src/sflphone_kdeview.h
+++ b/sflphone-client-kde/src/sflphone_kdeview.h
@@ -97,17 +97,13 @@ public:
 	 * @return the account to use if an outgoing call is placed.
 	 */
 	static Account * firstRegisteredAccount();
-	/**
-	 * 
-	 * @return the list of registered accounts in accountList
-	 */
-	static QVector<Account *> registeredAccounts();
+	
 	static AccountList * getAccountList();
 	QErrorMessage * getErrorWindow();
 	
 	//Daemon getters
 	/**
-	* Useful to sort contacts according to their types with Kabc.
+	* Used to sort contacts according to their types with Kabc.
 	* @return the integer resulting to the flags of the types 
 	* chosen to be displayed in SFLPhone configuration.
 	*/
@@ -117,26 +113,100 @@ public:
 	QVector<Contact *> findContactsInKAddressBook(QString textSearched, bool & full);
 	
 private slots:
-	void actionb(Call * call, call_action action);
-	void action(QListWidgetItem * item, call_action action);
+	/**
+	 *   Performs the action action on the call call, then updates window.
+	 *   The call object will handle the action with its "actionPerformed" method.
+	 *   See the documentation for more details.
+	 * @param call the call on which to perform the action
+	 * @param action the code of the action to perform
+	 */
+	void action(Call * call, call_action action);
 	
+	/**
+	 *   Sets the account account to be the prior account.
+	 *   That means it's gonna be used when the user places a call
+	 *   if it's defined and registered, else the first registered of 
+	 *   accountList will be used.
+	 * @param account the account to use prior
+	 */
 	void setAccountFirst(Account * account);
 	
-	//void typeChar(QChar c);
+	/**
+	 *   Handles the behaviour when the user types something with
+	 *   the dialpad widget or his keyboard (normally it's a one char
+	 *   string but we use a string just in case).
+	 *   Adds str to the selected item if in the main window
+	 *   and creates a new item if no item is selected.
+	 *   Send DTMF if appropriate according to current item's state.
+	 *   Adds str to the search bar if in history or address book.
+	 * @param str the string sent by the user
+	 */
 	void typeString(QString str);
+	/**
+	 *   Handles the behaviour when the user types a backspace
+	 *   according to the current state (window, item selected...)
+	 */
 	void backspace();
+	/**
+	 *   Handles the behaviour when the user types escape
+	 *   according to the current state (window, item selected...)
+	 */
 	void escape();
+	/**
+	 *   Handles the behaviour when the user types enter
+	 *   according to the current state (window, item selected...)
+	 */
 	void enter();
+	/**
+	 *   Displays a message window with editable text of the selected
+	 *   phone number in history or address book.
+	 *   Once the user accepts, place a call with the chosen phone number.
+	 *   Keeps the peer name of the contact or past call.
+	 */
 	void editBeforeCall();
 	
+	/**
+	 *   Alternates colors of the list widget with the application's palettes's
+	 *   base and alternateBase colors.
+	 * @param listWidget the list widget to which we alternate colors
+	 */
 	void alternateColors(QListWidget * listWidget);
 	
+	/**
+	 *   Adds the call's item to the call-list's listwidget.
+	 *   This function doesn't add anything to the callList object.
+	 * @param call the call to add to the call-list's listwidget
+	 */
 	void addCallToCallList(Call * call);
+	/**
+	 * Adds the call's history-item to the call-history's listwidget.
+	 * This function doesn't add anything to the callList object.
+	 * @param call the past call to add to the call-history's listwidget
+	 */
 	void addCallToCallHistory(Call * call);
+	/**
+	 * Adds the contact's item to the addressbook's listwidget.
+	 * @param contact the contact to add to the addressbook's listwidget
+	 */
 	void addContactToContactList(Contact * contact);
 	
+	/**
+	 *   Updates call's item according to its state.
+	 *   (Actually it only deletes the item from the main window's
+	 *   list widget once the call is OVER.)
+	 * @param call the call to which update the item
+	 */
 	void updateCallItem(Call * call);
+	/**
+	 *   Updates the toolbar's actions' display according to the selected 
+	 *   item's state.
+	 */
 	void updateWindowCallState();
+	/**
+	 * Updates the history's search bar's display according to the current
+	 * text searched. 
+	 * If empty, hide the search bar.
+	 */
 	void updateSearchHistory();
 	void updateCallHistory();
 	void updateAddressBook();
diff --git a/sflphone-client-kde/src/ui/sflphone_kdeview_base.ui b/sflphone-client-kde/src/ui/sflphone_kdeview_base.ui
index be5d81a75d2c1dbf151a696219296111e84363a4..02ef5f252555b89cb6bd43fd0ba81c2725a39cc0 100644
--- a/sflphone-client-kde/src/ui/sflphone_kdeview_base.ui
+++ b/sflphone-client-kde/src/ui/sflphone_kdeview_base.ui
@@ -51,7 +51,11 @@
         <widget class="QListWidget" name="listWidget_callHistory"/>
        </item>
        <item>
-        <widget class="QLineEdit" name="lineEdit_searchHistory"/>
+        <widget class="KLineEdit" name="lineEdit_searchHistory">
+         <property name="showClearButton" stdset="0">
+          <bool>true</bool>
+         </property>
+        </widget>
        </item>
       </layout>
      </widget>
@@ -61,7 +65,11 @@
         <widget class="QListWidget" name="listWidget_addressBook"/>
        </item>
        <item>
-        <widget class="QLineEdit" name="lineEdit_addressBook"/>
+        <widget class="KLineEdit" name="lineEdit_addressBook">
+         <property name="showClearButton" stdset="0">
+          <bool>true</bool>
+         </property>
+        </widget>
        </item>
        <item>
         <widget class="QLabel" name="label_addressBookFull">
@@ -386,10 +394,6 @@
    </property>
   </action>
   <action name="action_configureSflPhone">
-   <property name="icon">
-    <iconset resource="../qrc/resources.qrc">
-     <normaloff>:/images/icons/sflphone.svg</normaloff>:/images/icons/sflphone.svg</iconset>
-   </property>
    <property name="text">
     <string>&amp;Configure SFLPhone</string>
    </property>
@@ -460,6 +464,11 @@
   </action>
  </widget>
  <customwidgets>
+  <customwidget>
+   <class>KLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header>klineedit.h</header>
+  </customwidget>
   <customwidget>
    <class>Dialpad</class>
    <extends>QWidget</extends>