From f2eeca329831653cf08ada3e40e609847387c17d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Quentin?=
 <jquentin@jquentin-laptop-kub2.(none)>
Date: Mon, 23 Mar 2009 17:56:02 -0400
Subject: [PATCH] Commit functional.

---
 sflphone_kde/Account.cpp               |   2 +
 sflphone_kde/Call.cpp                  |  15 +-
 sflphone_kde/Call.h                    |   2 +-
 sflphone_kde/ConfigDialog.cpp          | 304 +++++++++++++++++--------
 sflphone_kde/ConfigDialog.h            |  25 +-
 sflphone_kde/ConfigDialog.ui           | 236 +++++++++----------
 sflphone_kde/SFLPhone.cpp              |  23 +-
 sflphone_kde/SFLPhone.h                |  12 +-
 sflphone_kde/main.cpp                  |  17 +-
 sflphone_kde/resources.qrc             |   2 +
 sflphone_kde/sflphone-qt.ui            |  20 +-
 sflphone_kde/sflphone_kde.kdevelop.pcs | Bin 194763 -> 0 bytes
 sflphone_kde/sflphone_kde.kdevses      |  56 -----
 13 files changed, 397 insertions(+), 317 deletions(-)
 delete mode 100644 sflphone_kde/sflphone_kde.kdevelop.pcs
 delete mode 100644 sflphone_kde/sflphone_kde.kdevses

diff --git a/sflphone_kde/Account.cpp b/sflphone_kde/Account.cpp
index ed4e9de074..03e778a235 100644
--- a/sflphone_kde/Account.cpp
+++ b/sflphone_kde/Account.cpp
@@ -65,10 +65,12 @@ Account * Account::buildExistingAccountFromId(QString _accountId)
 	a->accountDetails = new MapStringString( ConfigurationManagerInterfaceSingleton::getInstance().getAccountDetails(_accountId).value() );
 	a->initAccountItem();
 	if(a->item->checkState() == Qt::Checked)
+	{
 		if(a->getAccountDetail(* new QString(ACCOUNT_STATUS)) == ACCOUNT_STATE_REGISTERED)
 			a->item->setTextColor(Qt::darkGreen);
 		else
 			a->item->setTextColor(Qt::red);
+	}
 	return a;
 }
 
diff --git a/sflphone_kde/Call.cpp b/sflphone_kde/Call.cpp
index 242a99b1b5..48bc86997f 100644
--- a/sflphone_kde/Call.cpp
+++ b/sflphone_kde/Call.cpp
@@ -53,7 +53,8 @@ const function Call::actionPerformedFunctionMap[11][5] =
 /*ERROR          */  {&Call::nothing    , &Call::nothing  , &Call::nothing        , &Call::nothing     ,  &Call::nothing       }
 };
 
-const QIcon Call::historyIcons[3] = {QIcon(ICON_HISTORY_INCOMING), QIcon(ICON_HISTORY_OUTGOING), QIcon(ICON_HISTORY_MISSED)};
+const char * Call::historyIcons[3] = {ICON_HISTORY_INCOMING, ICON_HISTORY_OUTGOING, ICON_HISTORY_MISSED};
+
 
 Call::Call(call_state startState, QString callId, QString from, QString account)
 {
@@ -64,6 +65,7 @@ Call::Call(call_state startState, QString callId, QString from, QString account)
 	this->recording = false;
 	this->currentState = startState;
 	this->historyItem = NULL;
+	
 }
 
 Call::~Call()
@@ -112,6 +114,7 @@ daemon_call_state Call::toDaemonCallState(const QString & stateName)
 		return DAEMON_CALL_STATE_FAILURE;
 	}
 	qDebug() << "stateChanged signal received with unknown state.";
+	return DAEMON_CALL_STATE_FAILURE;
 }
 
 QListWidgetItem * Call::getItem()
@@ -123,8 +126,8 @@ QListWidgetItem * Call::getHistoryItem()
 {
 	if(historyItem == NULL)
 	{
-		historyItem = new QListWidgetItem("<H1>"+peer+"</H1>");
-		historyItem->setIcon(historyIcons[historyState]);
+		historyItem = new QListWidgetItem(peer);
+		historyItem->setIcon(QIcon(historyIcons[historyState]));
 	}
 	return historyItem;
 }
@@ -197,7 +200,7 @@ void Call::accept(QString number)
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 	qDebug() << "Accepting call. callId : " << callId;
 	callManager.accept(callId);
-	this->startTime = & QDateTime::currentDateTime();
+	this->startTime = new QDateTime(QDateTime::currentDateTime());
 	this->historyState = INCOMING;
 }
 
@@ -206,7 +209,7 @@ void Call::refuse(QString number)
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 	qDebug() << "Refusing call. callId : " << callId;
 	callManager.refuse(callId);
-	this->startTime = & QDateTime::currentDateTime();
+	this->startTime = new QDateTime(QDateTime::currentDateTime());
 	this->historyState = MISSED;
 }
 
@@ -267,7 +270,7 @@ void Call::transfer(QString number)
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 	qDebug() << "Transfering call to number : " << number << ". callId : " << callId;
 	callManager.transfert(callId, number);
-	this->stopTime = & QDateTime::currentDateTime();
+	this->stopTime = new QDateTime(QDateTime::currentDateTime());
 }
 
 void Call::unhold(QString number)
diff --git a/sflphone_kde/Call.h b/sflphone_kde/Call.h
index 2c55164b42..37d0beb648 100644
--- a/sflphone_kde/Call.h
+++ b/sflphone_kde/Call.h
@@ -103,7 +103,7 @@ private:
 	static const call_state actionPerformedStateMap [11][5];
 	static const function actionPerformedFunctionMap [11][5];
 	static const call_state stateChangedStateMap [11][6];
-	static const QIcon historyIcons[3];
+	static const char * historyIcons[3];
 	
 	call_state currentState;
 	bool recording;
diff --git a/sflphone_kde/ConfigDialog.cpp b/sflphone_kde/ConfigDialog.cpp
index 9fd144e91d..06287ec80f 100644
--- a/sflphone_kde/ConfigDialog.cpp
+++ b/sflphone_kde/ConfigDialog.cpp
@@ -9,20 +9,26 @@
 
 using namespace std;
 
+
 ConfigurationDialog::ConfigurationDialog(SFLPhone *parent) : QDialog(parent)
 {
 	//configuration qt designer
 	setupUi(this);
 	
 	//configuration complémentaire
+	QStyle * style = QApplication::style();
 	errorWindow = new QErrorMessage(this);
 	codecPayloads = new MapStringString();
-	horizontalSlider_Capacity->setMaximum(MAX_HISTORY_CAPACITY);
+	horizontalSlider_historyCapacity->setMaximum(MAX_HISTORY_CAPACITY);
 	label_WarningSIP->setVisible(false);
-	for(int i = 0 ; i < listOptions->count() ; i++)
+	for(int i = 0 ; i < list_options->count() ; i++)
 	{
-		listOptions->item(i)->setTextAlignment(Qt::AlignHCenter);
+		list_options->item(i)->setTextAlignment(Qt::AlignHCenter);
 	}
+	button_accountUp->setIcon(style->standardIcon(QStyle::SP_ArrowUp));
+	button_accountDown->setIcon(style->standardIcon(QStyle::SP_ArrowDown));
+	toolButton_codecUp->setIcon(style->standardIcon(QStyle::SP_ArrowUp));
+	toolButton_codecDown->setIcon(style->standardIcon(QStyle::SP_ArrowDown));
 
 	//TODO ajouter les items de l'interface audio ici avec les constantes
 	
@@ -52,33 +58,33 @@ void ConfigurationDialog::loadOptions()
 	////////////////////////
 	
 	//Call history settings
-	spinBox_CapaciteHist->setValue(daemon.getMaxCalls());
+	spinBox_historyCapacity->setValue(daemon.getMaxCalls());
 	
 	//SIP port settings
 	int sipPort = daemon.getSipPort();
 	if(sipPort<1025){
-		spinBox_PortSIP->setMinimum(sipPort);
+		spinBox_SIPPort->setMinimum(sipPort);
 		label_WarningSIP->setText("Attention : le port SIP doit être supérieur à 1024 !");
 		label_WarningSIP->setVisible(true);
 	}
 	if(sipPort>65535){
-		spinBox_PortSIP->setMaximum(sipPort);
+		spinBox_SIPPort->setMaximum(sipPort);
 		label_WarningSIP->setText("Attention : le port SIP doit être inférieur à 65536 !");
 		label_WarningSIP->setVisible(true);
 	}
-	spinBox_PortSIP->setValue(daemon.getSipPort());
+	spinBox_SIPPort->setValue(daemon.getSipPort());
 	
 	////////////////////////
 	////Display settings////
 	////////////////////////
 
 	//Notification settings
-	checkBox1_NotifAppels->setCheckState(daemon.getNotify() ? Qt::Checked : Qt::Unchecked);
-	checkBox2_NotifMessages->setCheckState(daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked);
+	checkBox1_notifOnCalls->setCheckState(daemon.getNotify() ? Qt::Checked : Qt::Unchecked);
+	checkBox2_notifOnMessages->setCheckState(daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked);
 	
 	//Window display settings
-	checkBox1_FenDemarrage->setCheckState(daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked);
-	checkBox2_FenAppel->setCheckState(daemon.popupMode() ? Qt::Checked : Qt::Unchecked);
+	checkBox1_displayOnStart->setCheckState(daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked);
+	checkBox2_displayOnCalls->setCheckState(daemon.popupMode() ? Qt::Checked : Qt::Unchecked);
 	
 	/////////////////////////
 	////Accounts settings////
@@ -87,19 +93,19 @@ void ConfigurationDialog::loadOptions()
 	loadAccountList();
 
 	//Stun settings
-	checkBoxStun->setCheckState(daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked);
-	lineEdit_Stun->setText(QString(daemon.getStunServer()));
+	checkBox_stun->setCheckState(daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked);
+	lineEdit_stun->setText(QString(daemon.getStunServer()));
 	
 	//////////////////////
 	////Audio settings////
 	//////////////////////
 	
 	//Audio Interface settings
-	comboBox_Interface->setCurrentIndex(daemon.getAudioManager());
-	stackedWidget_ParametresSpecif->setCurrentIndex(daemon.getAudioManager());
+	comboBox_interface->setCurrentIndex(daemon.getAudioManager());
+	stackedWidget_interfaceSpecificSettings->setCurrentIndex(daemon.getAudioManager());
 	
 	//ringtones settings
-	checkBox_Sonneries->setCheckState(daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked);
+	checkBox_ringtones->setCheckState(daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked);
 	//TODO widget choix de sonnerie
 	//widget_nomSonnerie->setText(daemon.getRingtoneChoice());
 	
@@ -108,29 +114,29 @@ void ConfigurationDialog::loadOptions()
 
 	//
 	//alsa settings
-	comboBox1_GreffonAlsa->clear();
+	comboBox1_alsaPlugin->clear();
 	QStringList pluginList = daemon.getOutputAudioPluginList();
-	comboBox1_GreffonAlsa->addItems(pluginList);
-	comboBox1_GreffonAlsa->setCurrentIndex(comboBox1_GreffonAlsa->findText(daemon.getCurrentAudioOutputPlugin()));
+	comboBox1_alsaPlugin->addItems(pluginList);
+	comboBox1_alsaPlugin->setCurrentIndex(comboBox1_alsaPlugin->findText(daemon.getCurrentAudioOutputPlugin()));
 	
 	qDebug() << "avant daemon.getCurrentAudioDevicesIndex();";
 	QStringList devices = daemon.getCurrentAudioDevicesIndex();
 	qDebug() << "apres daemon.getCurrentAudioDevicesIndex();";
 
 	int inputDevice = devices[1].toInt();
-	comboBox2_Entree->clear();
+	comboBox2_in->clear();
 	QStringList inputDeviceList = daemon.getAudioInputDeviceList();
-	comboBox2_Entree->addItems(inputDeviceList);
-	comboBox2_Entree->setCurrentIndex(inputDevice);
+	comboBox2_in->addItems(inputDeviceList);
+	comboBox2_in->setCurrentIndex(inputDevice);
 	
 	int outputDevice = devices[0].toInt();
-	comboBox3_Sortie->clear();
+	comboBox3_out->clear();
 	QStringList outputDeviceList = daemon.getAudioOutputDeviceList();
-	comboBox3_Sortie->addItems(inputDeviceList);
-	comboBox3_Sortie->setCurrentIndex(outputDevice);
+	comboBox3_out->addItems(inputDeviceList);
+	comboBox3_out->setCurrentIndex(outputDevice);
 	
 	//pulseaudio settings
-	checkBox_ModifVolumeApps->setCheckState(daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked);
+	checkBox_pulseAudioVolumeAlter->setCheckState(daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked);
 	
 	
 }
@@ -145,10 +151,10 @@ void ConfigurationDialog::saveOptions()
 	////////////////////////
 	
 	//Call history settings
-	daemon.setMaxCalls(spinBox_CapaciteHist->value());
+	daemon.setMaxCalls(spinBox_historyCapacity->value());
 	
 	//SIP port settings
-	int sipPort = spinBox_PortSIP->value();
+	int sipPort = spinBox_SIPPort->value();
 	
 	if(sipPort<1025){
 		errorWindow->showMessage("Attention : le port SIP doit être supérieur à 1024 !");
@@ -163,13 +169,13 @@ void ConfigurationDialog::saveOptions()
 	////////////////////////
 
 	//Notification settings
-	if(checkBox1_NotifAppels->checkState() != (daemon.getNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setNotify();
-	if(checkBox2_NotifMessages->checkState() != (daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setMailNotify();
+	if(checkBox1_notifOnCalls->checkState() != (daemon.getNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setNotify();
+	if(checkBox2_notifOnMessages->checkState() != (daemon.getMailNotify() ? Qt::Checked : Qt::Unchecked)) daemon.setMailNotify();
 	
 	//Window display settings
 	//WARNING états inversés
-	if(checkBox1_FenDemarrage->checkState() != (daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked)) daemon.startHidden();
-	if(checkBox2_FenAppel->checkState() != (daemon.popupMode() ? Qt::Checked : Qt::Unchecked)) daemon.switchPopupMode();
+	if(checkBox1_displayOnStart->checkState() != (daemon.isStartHidden() ? Qt::Unchecked : Qt::Checked)) daemon.startHidden();
+	if(checkBox2_displayOnCalls->checkState() != (daemon.popupMode() ? Qt::Checked : Qt::Unchecked)) daemon.switchPopupMode();
 	
 	/////////////////////////
 	////Accounts settings////
@@ -178,8 +184,8 @@ void ConfigurationDialog::saveOptions()
 	saveAccountList();
 
 	//Stun settings
-	if(checkBoxStun->checkState() != (daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.enableStun();
-	daemon.setStunServer(lineEdit_Stun->text());
+	if(checkBox_stun->checkState() != (daemon.isStunEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.enableStun();
+	daemon.setStunServer(lineEdit_stun->text());
 
 	//////////////////////
 	////Audio settings////
@@ -187,12 +193,12 @@ void ConfigurationDialog::saveOptions()
 	
 	//Audio Interface settings
 	qDebug() << "setting audio manager";
-	int manager = comboBox_Interface->currentIndex();
+	int manager = comboBox_interface->currentIndex();
 	daemon.setAudioManager(manager);
 	
 	//ringtones settings
 	qDebug() << "setting ringtone options";
-	if(checkBox_Sonneries->checkState() != (daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.ringtoneEnabled();
+	if(checkBox_ringtones->checkState() != (daemon.isRingtoneEnabled() ? Qt::Checked : Qt::Unchecked)) daemon.ringtoneEnabled();
 	//TODO widget choix de sonnerie
 	//daemon.getRingtoneChoice(widget_nomSonnerie->text());
 	
@@ -204,15 +210,15 @@ void ConfigurationDialog::saveOptions()
 	if(manager == ALSA)
 	{
 		qDebug() << "setting alsa settings";
-		daemon.setOutputAudioPlugin(comboBox1_GreffonAlsa->currentText());
-		daemon.setAudioInputDevice(comboBox2_Entree->currentIndex());
-		daemon.setAudioOutputDevice(comboBox3_Sortie->currentIndex());
+		daemon.setOutputAudioPlugin(comboBox1_alsaPlugin->currentText());
+		daemon.setAudioInputDevice(comboBox2_in->currentIndex());
+		daemon.setAudioOutputDevice(comboBox3_out->currentIndex());
 	}
 	//pulseaudio settings
 	if(manager == PULSEAUDIO)
 	{
 		qDebug() << "setting pulseaudio settings";
-		if(checkBox_ModifVolumeApps->checkState() != (daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked)) daemon.setPulseAppVolumeControl();
+		if(checkBox_pulseAudioVolumeAlter->checkState() != (daemon.getPulseAppVolumeControl() ? Qt::Checked : Qt::Unchecked)) daemon.setPulseAppVolumeControl();
 	}
 }
 
@@ -224,21 +230,21 @@ void ConfigurationDialog::loadAccountList()
 	//create the AccountList object with the ids
 	accountList = new AccountList(accountIds);
 	//initialize the QListWidget object with the AccountList
-	listWidgetComptes->clear();
+	listWidget_accountList->clear();
 	for (int i = 0; i < accountList->size(); ++i){
-		listWidgetComptes->addItem((*accountList)[i].getItem());
+		listWidget_accountList->addItem((*accountList)[i].getItem());
 	}
-	if (listWidgetComptes->count() > 0) 
-		listWidgetComptes->setCurrentRow(0);
+	if (listWidget_accountList->count() > 0) 
+		listWidget_accountList->setCurrentRow(0);
 	else 
-		frame2_EditComptes->setEnabled(false);
+		frame2_editAccounts->setEnabled(false);
 }
 
 void ConfigurationDialog::saveAccountList()
 {
 	//save the account being edited
-	if(listWidgetComptes->currentItem())
-		saveAccount(listWidgetComptes->currentItem());
+	if(listWidget_accountList->currentItem())
+		saveAccount(listWidget_accountList->currentItem());
 	//get the daemon instance
 	ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance();
 	//ask for the list of accounts ids to the daemon
@@ -282,15 +288,15 @@ void ConfigurationDialog::loadAccount(QListWidgetItem * item)
 	Account * account = accountList->getAccountByItem(item);
 	if(! account )  {  qDebug() << "Attempting to load details of an unexisting account";  return;  }
 
-	edit1_Alias->setText( account->getAccountDetail(*(new QString(ACCOUNT_ALIAS))));
+	edit1_alias->setText( account->getAccountDetail(*(new QString(ACCOUNT_ALIAS))));
 	int protocoleIndex = getProtocoleIndex(account->getAccountDetail(*(new QString(ACCOUNT_TYPE))));
-	edit2_Protocole->setCurrentIndex( (protocoleIndex < 0) ? 0 : protocoleIndex );
-	edit3_Serveur->setText( account->getAccountDetail(*(new QString(ACCOUNT_HOSTNAME))));
-	edit4_Usager->setText( account->getAccountDetail(*(new QString(ACCOUNT_USERNAME))));
-	edit5_Mdp->setText( account->getAccountDetail(*(new QString(ACCOUNT_PASSWORD))));
-	edit6_BoiteVocale->setText( account->getAccountDetail(*(new QString(ACCOUNT_MAILBOX))));
+	edit2_protocol->setCurrentIndex( (protocoleIndex < 0) ? 0 : protocoleIndex );
+	edit3_server->setText( account->getAccountDetail(*(new QString(ACCOUNT_HOSTNAME))));
+	edit4_user->setText( account->getAccountDetail(*(new QString(ACCOUNT_USERNAME))));
+	edit5_password->setText( account->getAccountDetail(*(new QString(ACCOUNT_PASSWORD))));
+	edit6_mailbox->setText( account->getAccountDetail(*(new QString(ACCOUNT_MAILBOX))));
 	QString status = account->getAccountDetail(*(new QString(ACCOUNT_STATUS)));
-	edit7_Etat->setText( "<FONT COLOR=\"" + account->getStateColorName() + "\">" + status + "</FONT>" );
+	edit7_state->setText( "<FONT COLOR=\"" + account->getStateColorName() + "\">" + status + "</FONT>" );
 	//edit7_Etat->setTextColor( account->getStateColor );
 }
 
@@ -302,12 +308,12 @@ void ConfigurationDialog::saveAccount(QListWidgetItem * item)
 	Account * account = accountList->getAccountByItem(item);
 	if(! account)  {  qDebug() << "Attempting to save details of an unexisting account : " << item->text(); return;  }
 
-	account->setAccountDetail(ACCOUNT_ALIAS, edit1_Alias->text());
-	account->setAccountDetail(ACCOUNT_TYPE, getIndexProtocole(edit2_Protocole->currentIndex()));
-	account->setAccountDetail(ACCOUNT_HOSTNAME, edit3_Serveur->text());
-	account->setAccountDetail(ACCOUNT_USERNAME, edit4_Usager->text());
-	account->setAccountDetail(ACCOUNT_PASSWORD, edit5_Mdp->text());
-	account->setAccountDetail(ACCOUNT_MAILBOX, edit6_BoiteVocale->text());
+	account->setAccountDetail(ACCOUNT_ALIAS, edit1_alias->text());
+	account->setAccountDetail(ACCOUNT_TYPE, getIndexProtocole(edit2_protocol->currentIndex()));
+	account->setAccountDetail(ACCOUNT_HOSTNAME, edit3_server->text());
+	account->setAccountDetail(ACCOUNT_USERNAME, edit4_user->text());
+	account->setAccountDetail(ACCOUNT_PASSWORD, edit5_password->text());
+	account->setAccountDetail(ACCOUNT_MAILBOX, edit6_mailbox->text());
 	
 }
 
@@ -319,7 +325,7 @@ void ConfigurationDialog::loadCodecs()
 	QStringList activeCodecList = daemon.getActiveCodecList();
 	qDebug() << codecList;
 	qDebug() << activeCodecList;
-	tableWidget_Codecs->setRowCount(0);
+	tableWidget_codecs->setRowCount(0);
 	codecPayloads->clear();
 	for(int i=0 ; i<codecList.size() ; i++)
 	{
@@ -332,29 +338,29 @@ void ConfigurationDialog::loadCodecs()
 		else
 		{
 			QStringList details = daemon.getCodecDetails(payload);
-			tableWidget_Codecs->insertRow(i);
+			tableWidget_codecs->insertRow(i);
 			QTableWidgetItem * headerItem = new QTableWidgetItem("");
-			tableWidget_Codecs->setVerticalHeaderItem (i, headerItem);
+			tableWidget_codecs->setVerticalHeaderItem (i, headerItem);
 			//headerItem->setVisible(false);
-			tableWidget_Codecs->setItem(i,0,new QTableWidgetItem(""));
-			tableWidget_Codecs->setItem(i,1,new QTableWidgetItem(details[CODEC_NAME]));
+			tableWidget_codecs->setItem(i,0,new QTableWidgetItem(""));
+			tableWidget_codecs->setItem(i,1,new QTableWidgetItem(details[CODEC_NAME]));
 			//qDebug() << "tableWidget_Codecs->itemAt(" << i << "," << 2 << ")->setText(" << details[CODEC_NAME] << ");";
 			//tableWidget_Codecs->item(i,2)->setText(details[CODEC_NAME]);
-			tableWidget_Codecs->setItem(i,2,new QTableWidgetItem(details[CODEC_SAMPLE_RATE]));
-			tableWidget_Codecs->setItem(i,3,new QTableWidgetItem(details[CODEC_BIT_RATE]));
-			tableWidget_Codecs->setItem(i,4,new QTableWidgetItem(details[CODEC_BANDWIDTH]));
-			tableWidget_Codecs->item(i,0)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
-			tableWidget_Codecs->item(i,0)->setCheckState(activeCodecList.contains(codecList[i]) ? Qt::Checked : Qt::Unchecked);
-			tableWidget_Codecs->item(i,1)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
-			tableWidget_Codecs->item(i,2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
-			tableWidget_Codecs->item(i,3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
-			tableWidget_Codecs->item(i,4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
+			tableWidget_codecs->setItem(i,2,new QTableWidgetItem(details[CODEC_SAMPLE_RATE]));
+			tableWidget_codecs->setItem(i,3,new QTableWidgetItem(details[CODEC_BIT_RATE]));
+			tableWidget_codecs->setItem(i,4,new QTableWidgetItem(details[CODEC_BANDWIDTH]));
+			tableWidget_codecs->item(i,0)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
+			tableWidget_codecs->item(i,0)->setCheckState(activeCodecList.contains(codecList[i]) ? Qt::Checked : Qt::Unchecked);
+			tableWidget_codecs->item(i,1)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
+			tableWidget_codecs->item(i,2)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
+			tableWidget_codecs->item(i,3)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
+			tableWidget_codecs->item(i,4)->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
 			(*codecPayloads)[details[CODEC_NAME]] = payloadStr;
 			qDebug() << "Added to codecs : " << payloadStr << " , " << details[CODEC_NAME];
 		}
 	}
-	tableWidget_Codecs->resizeColumnsToContents();
-	tableWidget_Codecs->resizeRowsToContents();
+	tableWidget_codecs->resizeColumnsToContents();
+	tableWidget_codecs->resizeRowsToContents();
 }
 
 
@@ -362,13 +368,13 @@ void ConfigurationDialog::saveCodecs()
 {
 	ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance();
 	QStringList activeCodecs;
-	for(int i = 0 ; i < tableWidget_Codecs->rowCount() ; i++)
+	for(int i = 0 ; i < tableWidget_codecs->rowCount() ; i++)
 	{
 		//qDebug() << "Checked if active : " << tableWidget_Codecs->item(i,1)->text();
-		if(tableWidget_Codecs->item(i,0)->checkState() == Qt::Checked)
+		if(tableWidget_codecs->item(i,0)->checkState() == Qt::Checked)
 		{
 			//qDebug() << "Added to activeCodecs : " << tableWidget_Codecs->item(i,1)->text();
-			activeCodecs << (*codecPayloads)[tableWidget_Codecs->item(i,1)->text()];
+			activeCodecs << (*codecPayloads)[tableWidget_codecs->item(i,1)->text()];
 		}
 	}
 	qDebug() << "Calling setActiveCodecList with list : " << activeCodecs ;
@@ -377,25 +383,59 @@ void ConfigurationDialog::saveCodecs()
 
 void ConfigurationDialog::setPage(int page)
 {
-	stackedWidgetOptions->setCurrentIndex(page);
-	listOptions->setCurrentRow(page);
+	stackedWidget_options->setCurrentIndex(page);
+	list_options->setCurrentRow(page);
 }
 
-void ConfigurationDialog::on_edit1_Alias_textChanged(const QString & text)
+void ConfigurationDialog::updateAccountListCommands()
 {
-	listWidgetComptes->currentItem()->setText(text);
+	bool buttonsEnabled[4] = {true,true,true,true};
+	if(! listWidget_accountList->currentItem())
+	{
+		buttonsEnabled[0] = false;
+		buttonsEnabled[1] = false;
+		buttonsEnabled[3] = false;
+	}
+	else if(listWidget_accountList->currentRow() == 0)
+	{
+		buttonsEnabled[0] = false;
+	}
+	else if(listWidget_accountList->currentRow() == listWidget_accountList->count() - 1)
+	{
+		buttonsEnabled[1] = false;
+	}
+	button_accountUp->setEnabled(buttonsEnabled[0]);
+	button_accountDown->setEnabled(buttonsEnabled[1]);
+	button_accountAdd->setEnabled(buttonsEnabled[2]);
+	button_accountRemove->setEnabled(buttonsEnabled[3]);
 }
 
+void ConfigurationDialog::updateCodecListCommands()
+{
+	bool buttonsEnabled[2] = {true,true};
+	if(! listWidget_accountList->currentItem())
+	{
+		buttonsEnabled[0] = false;
+		buttonsEnabled[1] = false;
+	}
+	else if(listWidget_accountList->currentRow() == 0)
+	{
+		buttonsEnabled[0] = false;
+	}
+	else if(listWidget_accountList->currentRow() == listWidget_accountList->count() - 1)
+	{
+		buttonsEnabled[1] = false;
+	}
+	toolButton_codecUp->setEnabled(buttonsEnabled[0]);
+	toolButton_codecDown->setEnabled(buttonsEnabled[1]);
+}
 
-void ConfigurationDialog::on_listWidgetComptes_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
+void ConfigurationDialog::on_edit1_alias_textChanged(const QString & text)
 {
-	if(previous)
-		saveAccount(previous);
-	if(current)
-		loadAccount(current);
+	listWidget_accountList->currentItem()->setText(text);
 }
 
-void ConfigurationDialog::on_spinBox_PortSIP_valueChanged ( int value )
+void ConfigurationDialog::on_spinBox_SIPPort_valueChanged ( int value )
 {
 	if(value>1024 && value<65536)
 		label_WarningSIP->setVisible(false);
@@ -403,28 +443,73 @@ void ConfigurationDialog::on_spinBox_PortSIP_valueChanged ( int value )
 		label_WarningSIP->setVisible(true);
 }
 
+void ConfigurationDialog::on_listWidget_codecs_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
+{
+	qDebug() << "on_listWidget_codecs_currentItemChanged";
+	updateCodecListCommands();
+}
+
+void ConfigurationDialog::on_toolButton_codecUp_clicked()
+{
+}
+
+void ConfigurationDialog::on_toolButton_codecDown_clicked()
+{/*
+	int currentRow = listWidget_codecs->currentRow();
+	int nbCol = tableWidget_codecs->columnCount();
+	QTableWidgetSelectionRange row(currentRow, 0, currentRow, nbCol - 1);
+	QListWidgetItem * item = listWidget_accountList->takeItem(currentRow);
+	listWidget_accountList->insertItem(currentRow + 1 , item);
+	listWidget_accountList->setCurrentItem(item);
+*/}
+
+void ConfigurationDialog::on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous )
+{
+	qDebug() << "on_listWidget_accountList_currentItemChanged";
+	if(previous)
+		saveAccount(previous);
+	if(current)
+		loadAccount(current);
+	updateAccountListCommands();
+}
 
+void ConfigurationDialog::on_button_accountUp_clicked()
+{
+	int currentRow = listWidget_accountList->currentRow();
+	QListWidgetItem * item = listWidget_accountList->takeItem(currentRow);
+	listWidget_accountList->insertItem(currentRow - 1 , item);
+	listWidget_accountList->setCurrentItem(item);
+}
 
-void ConfigurationDialog::on_button_newAccount_clicked()
+void ConfigurationDialog::on_button_accountDown_clicked()
+{
+	int currentRow = listWidget_accountList->currentRow();
+	QListWidgetItem * item = listWidget_accountList->takeItem(currentRow);
+	listWidget_accountList->insertItem(currentRow + 1 , item);
+	listWidget_accountList->setCurrentItem(item);
+}
+
+void ConfigurationDialog::on_button_accountAdd_clicked()
 {
 	QString itemName = QInputDialog::getText(this, "New account", "Enter new account's alias");
 	itemName = itemName.simplified();
 	if (!itemName.isEmpty()) {
 		QListWidgetItem * item = accountList->addAccount(itemName);
+     
 		//TODO verifier que addItem set bien le parent
-		listWidgetComptes->addItem(item);
-		int r = listWidgetComptes->count() - 1;
-		listWidgetComptes->setCurrentRow(r);
-		frame2_EditComptes->setEnabled(true);
+		listWidget_accountList->addItem(item);
+		int r = listWidget_accountList->count() - 1;
+		listWidget_accountList->setCurrentRow(r);
+		frame2_editAccounts->setEnabled(true);
 	}
 }
 
-void ConfigurationDialog::on_button_delAccount_clicked()
+void ConfigurationDialog::on_button_accountRemove_clicked()
 {
-	int r = listWidgetComptes->currentRow();
-	QListWidgetItem * item = listWidgetComptes->takeItem(r);
+	int r = listWidget_accountList->currentRow();
+	QListWidgetItem * item = listWidget_accountList->takeItem(r);
 	accountList->removeAccount(item);
-	listWidgetComptes->setCurrentRow( (r >= listWidgetComptes->count()) ? r-1 : r );
+	listWidget_accountList->setCurrentRow( (r >= listWidget_accountList->count()) ? r-1 : r );
 }
 
 
@@ -450,6 +535,29 @@ void ConfigurationDialog::on_buttonBoxDialog_clicked(QAbstractButton * button)
 	}
 }
 
+void ConfigurationDialog::on_tableWidget_codecs_currentItemChanged(QTableWidgetItem * current, QTableWidgetItem * previous)
+{
+	qDebug() << "on_tableWidget_codecs_currentItemChanged";
+	int row = current->row();
+	int nbCol = tableWidget_codecs->columnCount();
+	for(int i = 0 ; i < nbCol ; i++)
+	{
+		tableWidget_codecs->setRangeSelected(QTableWidgetSelectionRange(row, 0, row, nbCol - 1), true);
+	}
+	updateCodecListCommands();
+}
+
+void ConfigurationDialog::on_tableWidget_codecs_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
+{
+	qDebug() << "on_tableWidget_codecs_currentCellChanged";
+	int nbCol = tableWidget_codecs->columnCount();
+	for(int i = 0 ; i < nbCol ; i++)
+	{
+		tableWidget_codecs->setRangeSelected(QTableWidgetSelectionRange(currentRow, 0, currentRow, nbCol - 1), true);
+	}
+	updateCodecListCommands();
+}
+
 /*
 void ConfigurationDialog::on_listWidgetComptes_itemChanged(QListWidgetItem * item)
 {
diff --git a/sflphone_kde/ConfigDialog.h b/sflphone_kde/ConfigDialog.h
index e5a8ddca36..72e9445819 100644
--- a/sflphone_kde/ConfigDialog.h
+++ b/sflphone_kde/ConfigDialog.h
@@ -8,14 +8,12 @@
 #include "SFLPhone.h"
 #include <QErrorMessage>
 
-
 class SFLPhone;
 
 class ConfigurationDialog : public QDialog, private Ui::ConfigurationDialog
 {
 	Q_OBJECT
 
-
 private:
 	AccountList * accountList;
 	QErrorMessage * errorWindow;
@@ -38,16 +36,25 @@ public:
 	void saveOptions();
 	
 	void setPage(int page);
+	
+	void updateCodecListCommands();
+	void updateAccountListCommands();
 
 private slots:
-	void on_button_delAccount_clicked();
-	void on_button_newAccount_clicked();
-	void on_edit1_Alias_textChanged(const QString & text);
-	void on_listWidgetComptes_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous );
-	void on_spinBox_PortSIP_valueChanged ( int value );
+	void on_toolButton_codecUp_clicked();
+	void on_toolButton_codecDown_clicked();
+	void on_button_accountUp_clicked();
+	void on_button_accountDown_clicked();
+	void on_button_accountAdd_clicked();
+	void on_button_accountRemove_clicked();
+	void on_edit1_alias_textChanged(const QString & text);
+	void on_listWidget_accountList_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous );
+	void on_listWidget_codecs_currentItemChanged ( QListWidgetItem * current, QListWidgetItem * previous );
+	void on_spinBox_SIPPort_valueChanged ( int value );
 	void on_buttonBoxDialog_clicked(QAbstractButton * button);
-};
-
+	void on_tableWidget_codecs_currentItemChanged(QTableWidgetItem * current, QTableWidgetItem * previous);
+	void on_tableWidget_codecs_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);
 
+};
 
 #endif 
diff --git a/sflphone_kde/ConfigDialog.ui b/sflphone_kde/ConfigDialog.ui
index e92d6f8f42..342ec5d390 100644
--- a/sflphone_kde/ConfigDialog.ui
+++ b/sflphone_kde/ConfigDialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>504</width>
-    <height>432</height>
+    <height>435</height>
    </rect>
   </property>
   <property name="minimumSize" >
@@ -29,7 +29,7 @@
       <enum>QLayout::SetDefaultConstraint</enum>
      </property>
      <item>
-      <widget class="QListWidget" name="listOptions" >
+      <widget class="QListWidget" name="list_options" >
        <property name="sizePolicy" >
         <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
          <horstretch>0</horstretch>
@@ -143,38 +143,38 @@
       </widget>
      </item>
      <item>
-      <widget class="Line" name="lineOptions" >
+      <widget class="Line" name="line_options" >
        <property name="orientation" >
         <enum>Qt::Vertical</enum>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="QStackedWidget" name="stackedWidgetOptions" >
+      <widget class="QStackedWidget" name="stackedWidget_options" >
        <property name="currentIndex" >
         <number>2</number>
        </property>
-       <widget class="QWidget" name="page_General" >
+       <widget class="QWidget" name="page_general" >
         <layout class="QVBoxLayout" name="verticalLayout_18" >
          <property name="leftMargin" >
           <number>4</number>
          </property>
          <item>
-          <widget class="QLabel" name="label_ConfGeneral" >
+          <widget class="QLabel" name="label_configGeneral" >
            <property name="text" >
             <string>Configuration des paramètres généraux</string>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="Line" name="line_ConfGeneral" >
+          <widget class="Line" name="line_ConfigGeneral" >
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QGroupBox" name="groupBox1_Historique" >
+          <widget class="QGroupBox" name="groupBox1_history" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -186,20 +186,20 @@
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_19" >
             <item>
-             <widget class="QWidget" native="1" name="widget_CapaciteHist" >
+             <widget class="QWidget" native="1" name="widget_historyCapacity" >
               <layout class="QHBoxLayout" name="horizontalLayout_10" >
                <item>
-                <widget class="QLabel" name="label_Capacite" >
+                <widget class="QLabel" name="label_historyCapacity" >
                  <property name="text" >
                   <string>&amp;Capacité</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>horizontalSlider_Capacity</cstring>
+                  <cstring>horizontalSlider_historyCapacity</cstring>
                  </property>
                 </widget>
                </item>
                <item>
-                <widget class="QSlider" name="horizontalSlider_Capacity" >
+                <widget class="QSlider" name="horizontalSlider_historyCapacity" >
                  <property name="maximum" >
                   <number>100</number>
                  </property>
@@ -209,13 +209,13 @@
                 </widget>
                </item>
                <item>
-                <widget class="QSpinBox" name="spinBox_CapaciteHist" />
+                <widget class="QSpinBox" name="spinBox_historyCapacity" />
                </item>
               </layout>
              </widget>
             </item>
             <item>
-             <widget class="QToolButton" name="toolButtonEffacerHist" >
+             <widget class="QToolButton" name="toolButton_historyClear" >
               <property name="text" >
                <string>&amp;Effacer l'Historique</string>
               </property>
@@ -225,7 +225,7 @@
           </widget>
          </item>
          <item>
-          <widget class="QGroupBox" name="groupBox2_Connexion" >
+          <widget class="QGroupBox" name="groupBox2_connection" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -240,14 +240,14 @@
              <enum>QFormLayout::ExpandingFieldsGrow</enum>
             </property>
             <item row="0" column="0" >
-             <widget class="QLabel" name="label_PortSIP" >
+             <widget class="QLabel" name="label_SIPPort" >
               <property name="text" >
                <string>Port SIP</string>
               </property>
              </widget>
             </item>
             <item row="0" column="1" >
-             <widget class="QWidget" native="1" name="widget" >
+             <widget class="QWidget" native="1" name="widget_SIPPort" >
               <property name="minimumSize" >
                <size>
                 <width>50</width>
@@ -259,7 +259,7 @@
                 <number>0</number>
                </property>
                <item>
-                <widget class="QSpinBox" name="spinBox_PortSIP" >
+                <widget class="QSpinBox" name="spinBox_SIPPort" >
                  <property name="sizePolicy" >
                   <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
                    <horstretch>0</horstretch>
@@ -291,7 +291,7 @@
           </widget>
          </item>
          <item>
-          <widget class="QWidget" native="1" name="widget_RemplissageConfGeneral" >
+          <widget class="QWidget" native="1" name="widget_fullConfigGeneral" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -302,10 +302,10 @@
          </item>
         </layout>
        </widget>
-       <widget class="QWidget" name="page_Affichage" >
+       <widget class="QWidget" name="page_display" >
         <layout class="QVBoxLayout" name="verticalLayout_9" >
          <item>
-          <widget class="QLabel" name="label_ConfAffichage" >
+          <widget class="QLabel" name="label_configDisplay" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -318,14 +318,14 @@
           </widget>
          </item>
          <item>
-          <widget class="Line" name="line_ConfAffichage" >
+          <widget class="Line" name="line_configDisplay" >
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QFrame" name="frameAffichage" >
+          <widget class="QFrame" name="frame_display" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -340,7 +340,7 @@
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_8" >
             <item>
-             <widget class="QLabel" name="label1_Notifications" >
+             <widget class="QLabel" name="label1_notifications" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
                 <horstretch>0</horstretch>
@@ -353,7 +353,7 @@
              </widget>
             </item>
             <item>
-             <widget class="QWidget" native="1" name="widget1_Notifications" >
+             <widget class="QWidget" native="1" name="widget1_notifications" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
                 <horstretch>0</horstretch>
@@ -362,14 +362,14 @@
               </property>
               <layout class="QHBoxLayout" name="horizontalLayout_5" >
                <item>
-                <widget class="QCheckBox" name="checkBox1_NotifAppels" >
+                <widget class="QCheckBox" name="checkBox1_notifOnCalls" >
                  <property name="text" >
                   <string>&amp;Appels entrants</string>
                  </property>
                 </widget>
                </item>
                <item>
-                <widget class="QCheckBox" name="checkBox2_NotifMessages" >
+                <widget class="QCheckBox" name="checkBox2_notifOnMessages" >
                  <property name="text" >
                   <string>&amp;Messages vocaux</string>
                  </property>
@@ -379,7 +379,7 @@
              </widget>
             </item>
             <item>
-             <widget class="QLabel" name="label2_FenetrePrincipale" >
+             <widget class="QLabel" name="label2_displayMainWindow" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
                 <horstretch>0</horstretch>
@@ -392,7 +392,7 @@
              </widget>
             </item>
             <item>
-             <widget class="QWidget" native="1" name="widget_FenetrePrincipale" >
+             <widget class="QWidget" native="1" name="widget_displayMainWindow" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
                 <horstretch>0</horstretch>
@@ -401,14 +401,14 @@
               </property>
               <layout class="QHBoxLayout" name="horizontalLayout_6" >
                <item>
-                <widget class="QCheckBox" name="checkBox1_FenDemarrage" >
+                <widget class="QCheckBox" name="checkBox1_displayOnStart" >
                  <property name="text" >
                   <string>Au &amp;démarrage</string>
                  </property>
                 </widget>
                </item>
                <item>
-                <widget class="QCheckBox" name="checkBox2_FenAppel" >
+                <widget class="QCheckBox" name="checkBox2_displayOnCalls" >
                  <property name="text" >
                   <string>Lors d'un appel &amp;entrant</string>
                  </property>
@@ -418,17 +418,17 @@
              </widget>
             </item>
             <item>
-             <widget class="QWidget" native="1" name="widget_5" />
+             <widget class="QWidget" native="1" name="widget_fullConfigDisplay" />
             </item>
            </layout>
           </widget>
          </item>
         </layout>
        </widget>
-       <widget class="QWidget" name="page_Comptes" >
+       <widget class="QWidget" name="page_accounts" >
         <layout class="QVBoxLayout" name="verticalLayout_2" >
          <item>
-          <widget class="QLabel" name="label_ConfComptes" >
+          <widget class="QLabel" name="label_configAccounts" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -441,17 +441,17 @@
           </widget>
          </item>
          <item>
-          <widget class="Line" name="line_ConfComptes" >
+          <widget class="Line" name="line_configAccounts" >
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QWidget" native="1" name="widget1_ConfComptes" >
+          <widget class="QWidget" native="1" name="widget1_configAccounts" >
            <layout class="QHBoxLayout" name="horizontalLayout_3" >
             <item>
-             <widget class="QFrame" name="frame1_ListeComptes" >
+             <widget class="QFrame" name="frame1_accountList" >
               <property name="minimumSize" >
                <size>
                 <width>0</width>
@@ -472,7 +472,7 @@
               </property>
               <layout class="QVBoxLayout" name="verticalLayout_6" >
                <item>
-                <widget class="QListWidget" name="listWidgetComptes" >
+                <widget class="QListWidget" name="listWidget_accountList" >
                  <property name="sizePolicy" >
                   <sizepolicy vsizetype="Expanding" hsizetype="Fixed" >
                    <horstretch>0</horstretch>
@@ -497,7 +497,7 @@
                 </widget>
                </item>
                <item>
-                <widget class="QGroupBox" name="groupBoxGestionComptes" >
+                <widget class="QGroupBox" name="groupBox_accountListHandle" >
                  <property name="sizePolicy" >
                   <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
                    <horstretch>0</horstretch>
@@ -527,7 +527,7 @@
                    <number>0</number>
                   </property>
                   <item>
-                   <widget class="QToolButton" name="button_delAccount" >
+                   <widget class="QToolButton" name="button_accountRemove" >
                     <property name="sizePolicy" >
                      <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
                       <horstretch>0</horstretch>
@@ -539,7 +539,7 @@
                     </property>
                     <property name="icon" >
                      <iconset resource="resources.qrc" >
-                      <normaloff>:/images/icons/fail.svg</normaloff>:/images/icons/fail.svg</iconset>
+                      <normaloff>:/images/icons/remove.png</normaloff>:/images/icons/remove.png</iconset>
                     </property>
                     <property name="shortcut" >
                      <string>+</string>
@@ -547,7 +547,7 @@
                    </widget>
                   </item>
                   <item>
-                   <widget class="QToolButton" name="button_newAccount" >
+                   <widget class="QToolButton" name="button_accountAdd" >
                     <property name="sizePolicy" >
                      <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
                       <horstretch>0</horstretch>
@@ -565,7 +565,7 @@
                     </property>
                     <property name="icon" >
                      <iconset resource="resources.qrc" >
-                      <normaloff>:/images/icons/accept.svg</normaloff>:/images/icons/accept.svg</iconset>
+                      <normaloff>:/images/icons/add.png</normaloff>:/images/icons/add.png</iconset>
                     </property>
                    </widget>
                   </item>
@@ -574,10 +574,6 @@
                     <property name="text" >
                      <string>Down</string>
                     </property>
-                    <property name="icon" >
-                     <iconset resource="resources.qrc" >
-                      <normaloff>:/images/icons/incoming.svg</normaloff>:/images/icons/incoming.svg</iconset>
-                    </property>
                    </widget>
                   </item>
                   <item>
@@ -585,10 +581,6 @@
                     <property name="text" >
                      <string>Up</string>
                     </property>
-                    <property name="icon" >
-                     <iconset resource="resources.qrc" >
-                      <normaloff>:/images/icons/accept.svg</normaloff>:/images/icons/accept.svg</iconset>
-                    </property>
                    </widget>
                   </item>
                  </layout>
@@ -598,7 +590,7 @@
              </widget>
             </item>
             <item>
-             <widget class="QFrame" name="frame2_EditComptes" >
+             <widget class="QFrame" name="frame2_editAccounts" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
                 <horstretch>0</horstretch>
@@ -616,17 +608,17 @@
                 <enum>QFormLayout::ExpandingFieldsGrow</enum>
                </property>
                <item row="0" column="0" >
-                <widget class="QLabel" name="label1_Alias" >
+                <widget class="QLabel" name="label1_alias" >
                  <property name="text" >
                   <string>&amp;Alias</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit1_Alias</cstring>
+                  <cstring>edit1_alias</cstring>
                  </property>
                 </widget>
                </item>
                <item row="0" column="1" >
-                <widget class="QLineEdit" name="edit1_Alias" >
+                <widget class="QLineEdit" name="edit1_alias" >
                  <property name="minimumSize" >
                   <size>
                    <width>0</width>
@@ -636,57 +628,57 @@
                 </widget>
                </item>
                <item row="1" column="0" >
-                <widget class="QLabel" name="label2_Protocole" >
+                <widget class="QLabel" name="label2_protocol" >
                  <property name="text" >
                   <string>&amp;Protocole</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit2_Protocole</cstring>
+                  <cstring>edit2_protocol</cstring>
                  </property>
                 </widget>
                </item>
                <item row="2" column="0" >
-                <widget class="QLabel" name="label3_Serveur" >
+                <widget class="QLabel" name="label3_server" >
                  <property name="text" >
                   <string>&amp;Serveur</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit3_Serveur</cstring>
+                  <cstring>edit3_server</cstring>
                  </property>
                 </widget>
                </item>
                <item row="3" column="0" >
-                <widget class="QLabel" name="label4_Usager" >
+                <widget class="QLabel" name="label4_user" >
                  <property name="text" >
                   <string>&amp;Usager</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit4_Usager</cstring>
+                  <cstring>edit4_user</cstring>
                  </property>
                 </widget>
                </item>
                <item row="4" column="0" >
-                <widget class="QLabel" name="label5_Mdp" >
+                <widget class="QLabel" name="label5_password" >
                  <property name="text" >
                   <string>&amp;Mot de Passe</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit5_Mdp</cstring>
+                  <cstring>edit5_password</cstring>
                  </property>
                 </widget>
                </item>
                <item row="5" column="0" >
-                <widget class="QLabel" name="label6_BoiteVocale" >
+                <widget class="QLabel" name="label6_mailbox" >
                  <property name="text" >
                   <string>&amp;Boîte Vocale</string>
                  </property>
                  <property name="buddy" >
-                  <cstring>edit6_BoiteVocale</cstring>
+                  <cstring>edit6_mailbox</cstring>
                  </property>
                 </widget>
                </item>
                <item row="2" column="1" >
-                <widget class="QLineEdit" name="edit3_Serveur" >
+                <widget class="QLineEdit" name="edit3_server" >
                  <property name="minimumSize" >
                   <size>
                    <width>0</width>
@@ -696,20 +688,20 @@
                 </widget>
                </item>
                <item row="3" column="1" >
-                <widget class="QLineEdit" name="edit4_Usager" />
+                <widget class="QLineEdit" name="edit4_user" />
                </item>
                <item row="4" column="1" >
-                <widget class="QLineEdit" name="edit5_Mdp" >
+                <widget class="QLineEdit" name="edit5_password" >
                  <property name="echoMode" >
                   <enum>QLineEdit::Password</enum>
                  </property>
                 </widget>
                </item>
                <item row="5" column="1" >
-                <widget class="QLineEdit" name="edit6_BoiteVocale" />
+                <widget class="QLineEdit" name="edit6_mailbox" />
                </item>
                <item row="1" column="1" >
-                <widget class="QComboBox" name="edit2_Protocole" >
+                <widget class="QComboBox" name="edit2_protocol" >
                  <item>
                   <property name="text" >
                    <string>SIP</string>
@@ -723,14 +715,14 @@
                 </widget>
                </item>
                <item row="6" column="1" >
-                <widget class="QLabel" name="edit7_Etat" >
+                <widget class="QLabel" name="edit7_state" >
                  <property name="text" >
                   <string/>
                  </property>
                 </widget>
                </item>
                <item row="6" column="0" >
-                <widget class="QLabel" name="label7_Etat" >
+                <widget class="QLabel" name="label7_state" >
                  <property name="text" >
                   <string>État </string>
                  </property>
@@ -743,32 +735,32 @@
           </widget>
          </item>
          <item>
-          <widget class="QGroupBox" name="groupBox_ConfComptesCommuns" >
+          <widget class="QGroupBox" name="groupBox_commonSettings" >
            <property name="title" >
             <string/>
            </property>
            <layout class="QVBoxLayout" name="verticalLayout_10" >
             <item>
-             <widget class="QLabel" name="label_ConfComptesCommus" >
+             <widget class="QLabel" name="label_commonSettings" >
               <property name="text" >
                <string>Les paramètres STUN seront appliqués à tous les comptes</string>
               </property>
              </widget>
             </item>
             <item>
-             <layout class="QFormLayout" name="formLayoutConfComptesCommus" >
+             <layout class="QFormLayout" name="formLayout_commonSettings" >
               <property name="fieldGrowthPolicy" >
                <enum>QFormLayout::ExpandingFieldsGrow</enum>
               </property>
               <item row="0" column="0" >
-               <widget class="QCheckBox" name="checkBoxStun" >
+               <widget class="QCheckBox" name="checkBox_stun" >
                 <property name="text" >
                  <string>Activer Stun</string>
                 </property>
                </widget>
               </item>
               <item row="0" column="1" >
-               <widget class="QLineEdit" name="lineEdit_Stun" >
+               <widget class="QLineEdit" name="lineEdit_stun" >
                 <property name="enabled" >
                  <bool>false</bool>
                 </property>
@@ -781,10 +773,10 @@
          </item>
         </layout>
        </widget>
-       <widget class="QWidget" name="page_Audio" >
+       <widget class="QWidget" name="page_audio" >
         <layout class="QVBoxLayout" name="verticalLayout_5" >
          <item>
-          <widget class="QLabel" name="label_ConfAudio" >
+          <widget class="QLabel" name="label_configAudio" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -797,30 +789,30 @@
           </widget>
          </item>
          <item>
-          <widget class="Line" name="line_ConfAudio" >
+          <widget class="Line" name="line_configAudio" >
            <property name="orientation" >
             <enum>Qt::Horizontal</enum>
            </property>
           </widget>
          </item>
          <item>
-          <widget class="QGroupBox" name="groupBox1_Audio" >
+          <widget class="QGroupBox" name="groupBox1_audio" >
            <property name="title" >
             <string/>
            </property>
            <layout class="QFormLayout" name="formLayout_3" >
             <item row="0" column="0" >
-             <widget class="QLabel" name="label_Interface" >
+             <widget class="QLabel" name="label_interface" >
               <property name="text" >
                <string>&amp;Interface audio</string>
               </property>
               <property name="buddy" >
-               <cstring>comboBox_Interface</cstring>
+               <cstring>comboBox_interface</cstring>
               </property>
              </widget>
             </item>
             <item row="0" column="1" >
-             <widget class="QComboBox" name="comboBox_Interface" >
+             <widget class="QComboBox" name="comboBox_interface" >
               <property name="minimumSize" >
                <size>
                 <width>100</width>
@@ -840,17 +832,20 @@
              </widget>
             </item>
             <item row="1" column="0" >
-             <widget class="QCheckBox" name="checkBox_Sonneries" >
+             <widget class="QCheckBox" name="checkBox_ringtones" >
               <property name="text" >
                <string>&amp;Activer les sonneries</string>
               </property>
              </widget>
             </item>
+            <item row="1" column="1" >
+             <widget class="KUrlComboRequester" name="kurlcomborequester" />
+            </item>
            </layout>
           </widget>
          </item>
          <item>
-          <widget class="QGroupBox" name="groupBox2_Codecs" >
+          <widget class="QGroupBox" name="groupBox2_codecs" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -862,7 +857,7 @@
            </property>
            <layout class="QGridLayout" name="gridLayout" >
             <item row="0" column="2" >
-             <layout class="QVBoxLayout" name="verticalLayout_OrdreCodecs" >
+             <layout class="QVBoxLayout" name="verticalLayout_codecsOrder" >
               <property name="leftMargin" >
                <number>0</number>
               </property>
@@ -870,23 +865,23 @@
                <number>0</number>
               </property>
               <item>
-               <widget class="QToolButton" name="toolButton_MonterCodec" >
+               <widget class="QToolButton" name="toolButton_codecUp" >
                 <property name="text" >
-                 <string>...</string>
+                 <string/>
                 </property>
                </widget>
               </item>
               <item>
-               <widget class="QToolButton" name="toolButton_DescendreCodec" >
+               <widget class="QToolButton" name="toolButton_codecDown" >
                 <property name="text" >
-                 <string>...</string>
+                 <string/>
                 </property>
                </widget>
               </item>
              </layout>
             </item>
             <item row="0" column="0" >
-             <widget class="QTableWidget" name="tableWidget_Codecs" >
+             <widget class="QTableWidget" name="tableWidget_codecs" >
               <property name="sizePolicy" >
                <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
                 <horstretch>0</horstretch>
@@ -948,7 +943,7 @@
           </widget>
          </item>
          <item>
-          <widget class="QStackedWidget" name="stackedWidget_ParametresSpecif" >
+          <widget class="QStackedWidget" name="stackedWidget_interfaceSpecificSettings" >
            <property name="sizePolicy" >
             <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
              <horstretch>0</horstretch>
@@ -958,19 +953,19 @@
            <property name="currentIndex" >
             <number>0</number>
            </property>
-           <widget class="QWidget" name="page1_Alsa" >
+           <widget class="QWidget" name="page1_alsa" >
             <layout class="QVBoxLayout" name="verticalLayout_20" >
              <property name="margin" >
               <number>0</number>
              </property>
              <item>
-              <widget class="QGroupBox" name="groupBox_Alsa" >
+              <widget class="QGroupBox" name="groupBox_alsa" >
                <property name="title" >
                 <string>Paramètres ALSA</string>
                </property>
                <layout class="QFormLayout" name="formLayout_4" >
                 <item row="2" column="1" >
-                 <widget class="QComboBox" name="comboBox2_Entree" >
+                 <widget class="QComboBox" name="comboBox2_in" >
                   <property name="minimumSize" >
                    <size>
                     <width>100</width>
@@ -980,27 +975,27 @@
                  </widget>
                 </item>
                 <item row="2" column="0" >
-                 <widget class="QLabel" name="label2_Entree" >
+                 <widget class="QLabel" name="label2_in" >
                   <property name="text" >
                    <string>&amp;Entrée</string>
                   </property>
                   <property name="buddy" >
-                   <cstring>comboBox2_Entree</cstring>
+                   <cstring>comboBox2_in</cstring>
                   </property>
                  </widget>
                 </item>
                 <item row="3" column="0" >
-                 <widget class="QLabel" name="label3_Sortie" >
+                 <widget class="QLabel" name="label3_out" >
                   <property name="text" >
                    <string>&amp;Sortie</string>
                   </property>
                   <property name="buddy" >
-                   <cstring>comboBox3_Sortie</cstring>
+                   <cstring>comboBox3_out</cstring>
                   </property>
                  </widget>
                 </item>
                 <item row="3" column="1" >
-                 <widget class="QComboBox" name="comboBox3_Sortie" >
+                 <widget class="QComboBox" name="comboBox3_out" >
                   <property name="minimumSize" >
                    <size>
                     <width>100</width>
@@ -1010,17 +1005,17 @@
                  </widget>
                 </item>
                 <item row="0" column="0" >
-                 <widget class="QLabel" name="label1_GreffonAlsa" >
+                 <widget class="QLabel" name="label1_alsaPugin" >
                   <property name="text" >
                    <string>&amp;Greffon ALSA</string>
                   </property>
                   <property name="buddy" >
-                   <cstring>comboBox1_GreffonAlsa</cstring>
+                   <cstring>comboBox1_alsaPlugin</cstring>
                   </property>
                  </widget>
                 </item>
                 <item row="0" column="1" >
-                 <widget class="QComboBox" name="comboBox1_GreffonAlsa" >
+                 <widget class="QComboBox" name="comboBox1_alsaPlugin" >
                   <property name="minimumSize" >
                    <size>
                     <width>100</width>
@@ -1034,10 +1029,10 @@
              </item>
             </layout>
            </widget>
-           <widget class="QWidget" name="page2_PulseAudio" >
+           <widget class="QWidget" name="page2_pulseAudio" >
             <layout class="QVBoxLayout" name="verticalLayout_7" >
              <item>
-              <widget class="QGroupBox" name="groupBox_PulseAudio" >
+              <widget class="QGroupBox" name="groupBox_pulseAudio" >
                <property name="sizePolicy" >
                 <sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
                  <horstretch>0</horstretch>
@@ -1052,7 +1047,7 @@
                  <enum>QFormLayout::ExpandingFieldsGrow</enum>
                 </property>
                 <item row="0" column="0" >
-                 <widget class="QCheckBox" name="checkBox_ModifVolumeApps" >
+                 <widget class="QCheckBox" name="checkBox_pulseAudioVolumeAlter" >
                   <property name="text" >
                    <string>Autoriser à &amp;modifier le volume des autres applications</string>
                   </property>
@@ -1102,6 +1097,13 @@
   </action>
  </widget>
  <layoutdefault spacing="4" margin="4" />
+ <customwidgets>
+  <customwidget>
+   <class>KUrlComboRequester</class>
+   <extends>KUrlRequester</extends>
+   <header>kurlrequester.h</header>
+  </customwidget>
+ </customwidgets>
  <resources>
   <include location="resources.qrc" />
  </resources>
@@ -1123,9 +1125,9 @@
    </hints>
   </connection>
   <connection>
-   <sender>listOptions</sender>
+   <sender>list_options</sender>
    <signal>currentRowChanged(int)</signal>
-   <receiver>stackedWidgetOptions</receiver>
+   <receiver>stackedWidget_options</receiver>
    <slot>setCurrentIndex(int)</slot>
    <hints>
     <hint type="sourcelabel" >
@@ -1139,9 +1141,9 @@
    </hints>
   </connection>
   <connection>
-   <sender>checkBoxStun</sender>
+   <sender>checkBox_stun</sender>
    <signal>toggled(bool)</signal>
-   <receiver>lineEdit_Stun</receiver>
+   <receiver>lineEdit_stun</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
     <hint type="sourcelabel" >
@@ -1155,9 +1157,9 @@
    </hints>
   </connection>
   <connection>
-   <sender>comboBox_Interface</sender>
+   <sender>comboBox_interface</sender>
    <signal>currentIndexChanged(int)</signal>
-   <receiver>stackedWidget_ParametresSpecif</receiver>
+   <receiver>stackedWidget_interfaceSpecificSettings</receiver>
    <slot>setCurrentIndex(int)</slot>
    <hints>
     <hint type="sourcelabel" >
@@ -1171,9 +1173,9 @@
    </hints>
   </connection>
   <connection>
-   <sender>horizontalSlider_Capacity</sender>
+   <sender>horizontalSlider_historyCapacity</sender>
    <signal>valueChanged(int)</signal>
-   <receiver>spinBox_CapaciteHist</receiver>
+   <receiver>spinBox_historyCapacity</receiver>
    <slot>setValue(int)</slot>
    <hints>
     <hint type="sourcelabel" >
@@ -1187,9 +1189,9 @@
    </hints>
   </connection>
   <connection>
-   <sender>spinBox_CapaciteHist</sender>
+   <sender>spinBox_historyCapacity</sender>
    <signal>valueChanged(int)</signal>
-   <receiver>horizontalSlider_Capacity</receiver>
+   <receiver>horizontalSlider_historyCapacity</receiver>
    <slot>setValue(int)</slot>
    <hints>
     <hint type="sourcelabel" >
diff --git a/sflphone_kde/SFLPhone.cpp b/sflphone_kde/SFLPhone.cpp
index 2c0d274b21..17468b13d6 100644
--- a/sflphone_kde/SFLPhone.cpp
+++ b/sflphone_kde/SFLPhone.cpp
@@ -43,8 +43,8 @@ SFLPhone::~SFLPhone()
 void SFLPhone::loadWindow()
 {
 	ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance();
-	actionAfficher_les_barres_de_volume->setChecked(daemon.getVolumeControls());
-	actionAfficher_le_clavier->setChecked(daemon.getDialpad());
+	action_displayVolumeControls->setChecked(daemon.getVolumeControls());
+	action_displayDialpad->setChecked(daemon.getDialpad());
 	updateWindowCallState();
 	updateRecordButton();
 	updateVolumeButton();
@@ -154,7 +154,6 @@ void SFLPhone::updateWindowCallState()
 		}
 		else
 		{
-			CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 			Call * call = (*callList)[item];
 			call_state state = call->getState();
 			//qDebug() << "calling getIsRecording on " << call->getCallId();
@@ -239,7 +238,7 @@ void SFLPhone::updateWindowCallState()
 			}
 		}
 		//qDebug() << "mi";
-		if (item)
+		if (item && iconFile)
 		{
 			qDebug() << "rentre " << item;
 			item->setIcon(QIcon(iconFile));
@@ -400,14 +399,14 @@ void SFLPhone::updateDialpad()
 ************            Autoconnect             *************
 ************************************************************/
 
-void SFLPhone::on_actionAfficher_les_barres_de_volume_toggled()
+void SFLPhone::on_action_displayVolumeControls_toggled()
 {
 	ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance();
 	daemon.setVolumeControls();
 	updateVolumeControls();
 }
 
-void SFLPhone::on_actionAfficher_le_clavier_toggled()
+void SFLPhone::on_action_displayDialpad_toggled()
 {
 	ConfigurationManagerInterface & daemon = ConfigurationManagerInterfaceSingleton::getInstance();
 	daemon.setDialpad();
@@ -427,7 +426,7 @@ void SFLPhone::on_pushButton_0_clicked()      { typeString("0"); }
 void SFLPhone::on_pushButton_diese_clicked()  { typeString("#"); }
 void SFLPhone::on_pushButton_etoile_clicked() { typeString("*"); }
 
-void SFLPhone::on_label_searchHistory_textChanged(const QString & text)
+void SFLPhone::on_label_searchHistory_textChanged()
 {
 	qDebug() << "on_label_searchHistory_textEdited";
 	updateSearchHistory();
@@ -530,21 +529,21 @@ void SFLPhone::on_listWidget_callHistory_currentItemChanged()
 	updateWindowCallState();
 }
 
-void SFLPhone::on_actionConfigurer_les_comptes_triggered()
+void SFLPhone::on_action_configureAccounts_triggered()
 {
 	configDialog->loadOptions();
 	configDialog->setPage(PAGE_ACCOUNTS);
 	configDialog->show();
 }
 
-void SFLPhone::on_actionConfigurer_le_son_triggered()
+void SFLPhone::on_action_configureAudio_triggered()
 {
 	configDialog->loadOptions();
 	configDialog->setPage(PAGE_AUDIO);
 	configDialog->show();
 }
 
-void SFLPhone::on_actionConfigurer_SFLPhone_triggered()
+void SFLPhone::on_action_configureSflPhone_triggered()
 {
 	configDialog->loadOptions();
 	configDialog->setPage(PAGE_GENERAL);
@@ -693,12 +692,12 @@ void SFLPhone::on1_incomingCall(const QString &accountID, const QString & callID
 
 void SFLPhone::on1_incomingMessage(const QString &accountID, const QString &message)
 {
-	qDebug() << "on_incomingMessage !";
+	qDebug() << "on_incomingMessage ! ";
 }
 
 void SFLPhone::on1_voiceMailNotify(const QString &accountID, int count)
 {
-	qDebug() << "on_voiceMailNotify !";
+	qDebug() << "on_voiceMailNotify ! " << count << " new voice mails for account " << accountID;
 }
 
 void SFLPhone::on1_volumeChanged(const QString &device, double value)
diff --git a/sflphone_kde/SFLPhone.h b/sflphone_kde/SFLPhone.h
index fabd977e28..5f725590ee 100644
--- a/sflphone_kde/SFLPhone.h
+++ b/sflphone_kde/SFLPhone.h
@@ -48,11 +48,11 @@ private slots:
 	}
 }
 	
-	void on_actionAfficher_les_barres_de_volume_toggled();
-	void on_actionAfficher_le_clavier_toggled();
-	void on_actionConfigurer_les_comptes_triggered();
-	void on_actionConfigurer_le_son_triggered();
-	void on_actionConfigurer_SFLPhone_triggered();
+	void on_action_displayVolumeControls_toggled();
+	void on_action_displayDialpad_toggled();
+	void on_action_configureAccounts_triggered();
+	void on_action_configureAudio_triggered();
+	void on_action_configureSflPhone_triggered();
 	void on_action_accept_triggered();
 	void on_action_refuse_triggered();
 	void on_action_hold_triggered();
@@ -75,7 +75,7 @@ private slots:
 	void on_pushButton_diese_clicked();
 	void on_pushButton_etoile_clicked();
 	
-	void on_label_searchHistory_textChanged(const QString & text);
+	void on_label_searchHistory_textChanged();
 	
 	void on_slider_recVol_valueChanged(int value);
 	void on_slider_sndVol_valueChanged(int value);
diff --git a/sflphone_kde/main.cpp b/sflphone_kde/main.cpp
index da4fa231ff..db21401070 100644
--- a/sflphone_kde/main.cpp
+++ b/sflphone_kde/main.cpp
@@ -1,13 +1,26 @@
 #include <QApplication>
+#include "kapplication.h"
+#include "kcmdlineargs.h"
+#include "kaboutdata.h"
 #include <QtGui>
 #include "ConfigDialog.h"
 #include "SFLPhone.h"
 
-int main(int argc, char *argv[])
+static const char description[] = I18N_NOOP("A KDE 4 Client for SflPhone");
+
+static const char version[] = "0.1";
+
+int main(int argc, char **argv)
 {
 	try
 	{
-		QApplication app(argc, argv);
+		KAboutData about("sflphone_kde", 0, ki18n("sflphone_kde"), version, ki18n(description),
+		                 KAboutData::License_GPL, ki18n("(C) 2009 Jérémy Quentin"), KLocalizedString(), 0, "jeremy.quentin@gsavoirfairelinux.com");
+		about.addAuthor( ki18n("Jérémy Quentin"), KLocalizedString(), "jeremy.quentin@gmail.com" );
+		KCmdLineArgs::init(argc, argv, &about);
+		KCmdLineOptions options;
+		//options.add("+[URL]", ki18n( "Document to open" ));
+		KApplication app;
 	
 		QString locale = QLocale::system().name();
 	
diff --git a/sflphone_kde/resources.qrc b/sflphone_kde/resources.qrc
index ab01ffff90..f4b96db5f2 100644
--- a/sflphone_kde/resources.qrc
+++ b/sflphone_kde/resources.qrc
@@ -1,5 +1,7 @@
 <RCC>
   <qresource prefix="images" >
+    <file>icons/add.png</file>
+    <file>icons/remove.png</file>
     <file>icons/del_off.png</file>
     <file>icons/del_on.png</file>
     <file>icons/accept.svg</file>
diff --git a/sflphone_kde/sflphone-qt.ui b/sflphone_kde/sflphone-qt.ui
index bfba474751..b92044de3f 100644
--- a/sflphone_kde/sflphone-qt.ui
+++ b/sflphone_kde/sflphone-qt.ui
@@ -368,12 +368,12 @@
     <property name="title" >
      <string>&amp;Configuration</string>
     </property>
-    <addaction name="actionAfficher_les_barres_de_volume" />
-    <addaction name="actionAfficher_le_clavier" />
+    <addaction name="action_displayVolumeControls" />
+    <addaction name="action_displayDialpad" />
     <addaction name="separator" />
-    <addaction name="actionConfigurer_les_comptes" />
-    <addaction name="actionConfigurer_le_son" />
-    <addaction name="actionConfigurer_SFLPhone" />
+    <addaction name="action_configureAccounts" />
+    <addaction name="action_configureAudio" />
+    <addaction name="action_configureSflPhone" />
    </widget>
    <widget class="QMenu" name="menuAide" >
     <property name="title" >
@@ -465,7 +465,7 @@
     <string>&amp;Boîte Vocale</string>
    </property>
   </action>
-  <action name="actionConfigurer_les_comptes" >
+  <action name="action_configureAccounts" >
    <property name="icon" >
     <iconset>
      <normaloff>:/Images/stock_person.svg</normaloff>:/Images/stock_person.svg</iconset>
@@ -474,7 +474,7 @@
     <string>Configurer les &amp;comptes</string>
    </property>
   </action>
-  <action name="actionConfigurer_le_son" >
+  <action name="action_configureAudio" >
    <property name="icon" >
     <iconset>
      <normaloff>:/Images/icon_volume.svg</normaloff>:/Images/icon_volume.svg</iconset>
@@ -483,7 +483,7 @@
     <string>Configurer le &amp;son</string>
    </property>
   </action>
-  <action name="actionConfigurer_SFLPhone" >
+  <action name="action_configureSflPhone" >
    <property name="icon" >
     <iconset>
      <normaloff>:/Images/sflphone.png</normaloff>:/Images/sflphone.png</iconset>
@@ -492,7 +492,7 @@
     <string>&amp;Configurer SFLPhone</string>
    </property>
   </action>
-  <action name="actionAfficher_les_barres_de_volume" >
+  <action name="action_displayVolumeControls" >
    <property name="checkable" >
     <bool>true</bool>
    </property>
@@ -512,7 +512,7 @@
     <string>&amp;About</string>
    </property>
   </action>
-  <action name="actionAfficher_le_clavier" >
+  <action name="action_displayDialpad" >
    <property name="checkable" >
     <bool>true</bool>
    </property>
diff --git a/sflphone_kde/sflphone_kde.kdevelop.pcs b/sflphone_kde/sflphone_kde.kdevelop.pcs
deleted file mode 100644
index 19c8c9a9535818c626f537ad1a52607169ede3de..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 194763
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
XnUn<OBBV)3q^$?!w>?0iLl6T1L>k07

diff --git a/sflphone_kde/sflphone_kde.kdevses b/sflphone_kde/sflphone_kde.kdevses
deleted file mode 100644
index bd9758e369..0000000000
--- a/sflphone_kde/sflphone_kde.kdevses
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version = '1.0' encoding = 'UTF-8'?>
-<!DOCTYPE KDevPrjSession>
-<KDevPrjSession>
- <DocsAndViews NumberOfDocuments="9" >
-  <Doc0 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/ConfigDialog.cpp" >
-   <View0 Encoding="" Type="Source" />
-  </Doc0>
-  <Doc1 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/SFLPhone.cpp" >
-   <View0 Encoding="" line="229" Type="Source" />
-  </Doc1>
-  <Doc2 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/Call.cpp" >
-   <View0 Encoding="" Type="Source" />
-  </Doc2>
-  <Doc3 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/Call.h" >
-   <View0 Encoding="" Type="Source" />
-  </Doc3>
-  <Doc4 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/sflphone_const.h" >
-   <View0 Encoding="" Type="Source" />
-  </Doc4>
-  <Doc5 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/SFLPhone.h" >
-   <View0 Encoding="" Type="Source" />
-  </Doc5>
-  <Doc6 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/configurationmanager_interface_singleton.cpp" >
-   <View0 Encoding="" Type="Source" />
-  </Doc6>
-  <Doc7 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/Account.cpp" >
-   <View0 Encoding="" line="90" Type="Source" />
-  </Doc7>
-  <Doc8 NumberOfViews="1" URL="file:///home/jquentin/sflphone/sflphone_kde/sflphone_kdeui.rc" >
-   <View0 Encoding="" line="8" Type="Source" />
-  </Doc8>
- </DocsAndViews>
- <pluginList>
-  <kdevdebugger>
-   <breakpointList/>
-   <showInternalCommands value="0" />
-  </kdevdebugger>
-  <kdevastyle>
-   <Extensions ext="*.cpp *.h *.hpp,*.c *.h,*.cxx *.hxx,*.c++ *.h++,*.cc *.hh,*.C *.H,*.diff ,*.inl,*.java,*.moc,*.patch,*.tlh,*.xpm" />
-   <AStyle IndentPreprocessors="0" FillCount="4" PadParenthesesOut="1" IndentNamespaces="1" IndentLabels="1" Fill="Tabs" MaxStatement="40" Brackets="Break" MinConditional="-1" IndentBrackets="0" PadParenthesesUn="1" BlockBreak="0" KeepStatements="1" KeepBlocks="1" BlockIfElse="0" IndentSwitches="1" PadOperators="0" FStyle="UserDefined" IndentCases="0" FillEmptyLines="0" BracketsCloseHeaders="0" BlockBreakAll="0" PadParenthesesIn="1" IndentClasses="1" IndentBlocks="0" FillForce="0" />
-  </kdevastyle>
-  <kdevbookmarks>
-   <bookmarks>
-    <bookmark url="/home/jquentin/sflphone_kde/build/ui_sflphone-qt.h" >
-     <mark line="36" />
-    </bookmark>
-   </bookmarks>
-  </kdevbookmarks>
-  <kdevvalgrind>
-   <executable path="" params="" />
-   <valgrind path="" params="" />
-   <calltree path="" params="" />
-   <kcachegrind path="" />
-  </kdevvalgrind>
- </pluginList>
-</KDevPrjSession>
-- 
GitLab