From ea672d1e8c6ba856df47ef9cf2dd29781e20dc3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Quentin?=
 <jquentin@jquentin-laptop-kub2.(none)>
Date: Thu, 18 Jun 2009 12:27:51 -0400
Subject: [PATCH] [#1686] Status bar displaying used account

---
 sflphone-client-kde/src/Call.cpp             |  3 --
 sflphone-client-kde/src/SFLPhone.cpp         | 30 +++++++++++++-------
 sflphone-client-kde/src/SFLPhone.h           |  6 +++-
 sflphone-client-kde/src/sflphone_kdeview.cpp | 14 +++++++++
 sflphone-client-kde/src/sflphone_kdeview.h   |  6 ++--
 5 files changed, 42 insertions(+), 17 deletions(-)

diff --git a/sflphone-client-kde/src/Call.cpp b/sflphone-client-kde/src/Call.cpp
index 68b99d7fc0..38f0e209d9 100644
--- a/sflphone-client-kde/src/Call.cpp
+++ b/sflphone-client-kde/src/Call.cpp
@@ -198,13 +198,10 @@ Call * Call::buildRingingCall(const QString & callId)
 {
 	CallManagerInterface & callManager = CallManagerInterfaceSingleton::getInstance();
 	MapStringString details = callManager.getCallDetails(callId).value();
-// 	qDebug() << "Details : " << details.keys();
 	QString from = details[CALL_PEER_NUMBER];
 	QString account = details[CALL_ACCOUNTID];
 	QString peerName = details[CALL_PEER_NAME];
-	//QString from = details[CALL_ACCOUNT];
 	Call * call = new Call(CALL_STATE_RINGING, callId, peerName, from, account);
-// 	call->setPeerName(details[CALL_PEER_NAME]);
 	call->historyState = OUTGOING;
 	return call;
 }
diff --git a/sflphone-client-kde/src/SFLPhone.cpp b/sflphone-client-kde/src/SFLPhone.cpp
index e30be21a89..1e8d18f591 100644
--- a/sflphone-client-kde/src/SFLPhone.cpp
+++ b/sflphone-client-kde/src/SFLPhone.cpp
@@ -35,10 +35,15 @@
 #include "instance_interface_singleton.h"
 
 
+/**
+ * 
+ * @param parent 
+ */
 SFLPhone::SFLPhone(QWidget *parent)
     : KXmlGuiWindow(parent),
       view(new sflphone_kdeView(this))
 {
+	
 
 	// accept dnd
 		setAcceptDrops(true);
@@ -70,16 +75,22 @@ SFLPhone::SFLPhone(QWidget *parent)
 		}
 		qDebug() << "rcFilePath = " << rcFilePath ;
 		createGUI(rcFilePath);
-
+		setObjectNames();
       QMetaObject::connectSlotsByName(this);
-      
-
+	   view->updateStatusMessage();
 } 
 
 SFLPhone::~SFLPhone()
 {
 }
 
+void SFLPhone::setObjectNames()
+{
+	view->setObjectName("view");
+	statusBar()->setObjectName("statusBar");
+	trayIcon->setObjectName("trayIcon");
+}
+
 void SFLPhone::setupActions()
 {
 	qDebug() << "setupActions";
@@ -105,10 +116,8 @@ void SFLPhone::setupActions()
 	actionCollection()->addAction("action_configureAudio", view->action_configureAudio);
 	actionCollection()->addAction("action_accountCreationWizard", view->action_accountCreationWizard);
 	
-	
-	QStatusBar * statusbar = new QStatusBar(this);
-	statusbar->setObjectName(QString::fromUtf8("statusbar"));
-	this->setStatusBar(statusbar);
+	statusBarWidget = new QLabel();
+	statusBar()->addWidget(statusBarWidget);
 	
 	QToolBar * toolbar = new QToolBar(this);
 	this->addToolBar(Qt::TopToolBarArea, toolbar);
@@ -131,7 +140,6 @@ void SFLPhone::setupActions()
 	trayIcon = new QSystemTrayIcon(this->windowIcon(), this);
 	trayIcon->setContextMenu(trayIconMenu);
 	trayIcon->show();
-	trayIcon->setObjectName("trayIcon");
 	
 	iconChanged = false;
 
@@ -225,9 +233,9 @@ void SFLPhone::on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason)
 }
 
 
-void SFLPhone::on_view_statusMessageChanged(QString message)
+void SFLPhone::on_view_statusMessageChanged(const QString & message)
 {
-	qDebug() << "on_view_statusMessageChanged";
-	statusBar()->showMessage(message);
+	qDebug() << "on_view_statusMessageChanged : " + message;
+	statusBarWidget->setText(message);
 }
 
diff --git a/sflphone-client-kde/src/SFLPhone.h b/sflphone-client-kde/src/SFLPhone.h
index 8ab101402f..a262533c5f 100644
--- a/sflphone-client-kde/src/SFLPhone.h
+++ b/sflphone-client-kde/src/SFLPhone.h
@@ -52,6 +52,10 @@ private:
 	QMenu *trayIconMenu;
 	bool iconChanged;
 	QSystemTrayIcon *trayIcon;
+	QLabel * statusBarWidget;
+	
+private:
+	void setObjectNames();
 
 protected:
 	virtual bool queryClose();
@@ -70,7 +74,7 @@ public:
 private slots:
 	void on_trayIcon_activated(QSystemTrayIcon::ActivationReason reason);
 	void on_trayIcon_messageClicked();
-	void on_view_statusMessageChanged(QString message);
+	void on_view_statusMessageChanged(const QString & message);
 
 	void quitButton();
 
diff --git a/sflphone-client-kde/src/sflphone_kdeview.cpp b/sflphone-client-kde/src/sflphone_kdeview.cpp
index 132d8378e5..3325a01a72 100644
--- a/sflphone-client-kde/src/sflphone_kdeview.cpp
+++ b/sflphone-client-kde/src/sflphone_kdeview.cpp
@@ -77,6 +77,10 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
 	connect(&callManager, SIGNAL(volumeChanged(const QString &, double)),
 	        this,         SLOT(on1_volumeChanged(const QString &, double)));
 	        
+	ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
+	connect(&configurationManager, SIGNAL(accountsChanged()),
+	        this,                  SLOT(updateStatusMessage()));
+	        
 	QPalette pal = QPalette(palette());
 	pal.setColor(QPalette::AlternateBase, Qt::lightGray);
 	setPalette(pal);
@@ -89,6 +93,8 @@ sflphone_kdeView::sflphone_kdeView(QWidget *parent)
 	
 } 
 
+
+
 sflphone_kdeView::~sflphone_kdeView()
 {
 	delete configDialog;
@@ -865,6 +871,13 @@ void sflphone_kdeView::updateDialpad()
 }
 
 
+void sflphone_kdeView::updateStatusMessage()
+{
+	qDebug() << "updateStatusMessage";
+	Account * account = firstRegisteredAccount();
+	emit statusMessageChanged(tr2i18n("Using account") + " \'" + account->getAlias() + "\' (" + account->getAccountDetail(ACCOUNT_TYPE) + ")") ;
+}
+
 
 /************************************************************
 ************            Autoconnect             *************
@@ -1144,6 +1157,7 @@ void sflphone_kdeView::setAccountFirst(Account * account)
 {
 	qDebug() << "setAccountFirst : " << account->getAlias();
 	getAccountList()->setAccountFirst(account);
+	updateStatusMessage();
 }
 
 void sflphone_kdeView::on_listWidget_callHistory_currentItemChanged()
diff --git a/sflphone-client-kde/src/sflphone_kdeview.h b/sflphone-client-kde/src/sflphone_kdeview.h
index 9f2a182eaa..419899e97b 100644
--- a/sflphone-client-kde/src/sflphone_kdeview.h
+++ b/sflphone-client-kde/src/sflphone_kdeview.h
@@ -72,7 +72,6 @@ protected:
 	void contextMenuEvent(QContextMenuEvent *event);
 
 public:
-
 	//Constructors & Destructors
 	sflphone_kdeView(QWidget *parent);
 	virtual ~sflphone_kdeView();
@@ -126,6 +125,9 @@ private slots:
 	void updateVolumeControls();
 	void updateDialpad();
 	
+public slots:
+	void updateStatusMessage();
+	
 	
 	virtual void keyPressEvent(QKeyEvent *event)
 	{
@@ -201,7 +203,7 @@ private slots:
 	void on1_volumeChanged(const QString &device, double value);
 	
 signals:
-	void statusMessageChanged(QString message);
+	void statusMessageChanged(const QString & message);
 
 };
 
-- 
GitLab