Skip to content
Snippets Groups Projects
Commit fe6fb1fd authored by Jérémy Quentin's avatar Jérémy Quentin
Browse files

Problem with enable accounts. Account display increased.

parent 9c44de5d
Branches
Tags
No related merge requests found
#include "Account.h"
#include "sflphone_const.h"
#include "configurationmanager_interface_singleton.h"
#include "kled.h"
#include <iostream>
......@@ -49,28 +50,68 @@ Account::Account(QString & _accountId, MapStringString & _accountDetails, accoun
}
*/
/**
* Sets text of the item associated with some spaces to avoid writing under checkbox.
* @param text the text to set in the item
*/
void Account::setItemText(QString text)
{
item->setText(" " + text);
}
void Account::initAccountItem()
{
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
item = new QListWidgetItem();
item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsUserCheckable|Qt::ItemIsEnabled);
cout << getAccountDetail(*(new QString(ACCOUNT_ENABLED))).toStdString() << endl;
item->setCheckState((getAccountDetail(*(new QString(ACCOUNT_ENABLED))) == ACCOUNT_ENABLED_TRUE) ? Qt::Checked : Qt::Unchecked);
item->setText(getAccountDetail(*(new QString(ACCOUNT_ALIAS))));
item->setSizeHint(QSize(140,25));
//item->setTextAlignment(Qt::AlignCenter);
item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsDragEnabled|Qt::ItemIsDropEnabled|Qt::ItemIsEnabled);
bool enabled = getAccountDetail(*(new QString(ACCOUNT_ENABLED))) == ACCOUNT_ENABLED_TRUE;
//item->setCheckState(enabled ? Qt::Checked : Qt::Unchecked);
setItemText(getAccountDetail(*(new QString(ACCOUNT_ALIAS))));
itemWidget = new QWidget();
QCheckBox * checkbox = new QCheckBox(itemWidget);
checkbox->setObjectName("checkbox");
checkbox->setCheckState(enabled ? Qt::Checked : Qt::Unchecked);
//QLabel* name = new QLabel(getAccountDetail(*(new QString(ACCOUNT_ALIAS))), itemWidget);
//QLabel* name = new QLabel("", itemWidget);
KLed * led = new KLed(itemWidget);
led->setObjectName("led");
led->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
if(! isNew() && enabled)
{
led->setState(KLed::On);
if(getAccountDetail(* new QString(ACCOUNT_STATUS)) == ACCOUNT_STATE_REGISTERED)
{
led->setColor(QColor(0,255,0));
}
else
{
led->setColor(QColor(255,0,0));
}
}
else
{
led->setState(KLed::Off);
}
QHBoxLayout* hlayout = new QHBoxLayout();
hlayout->setContentsMargins(0,0,0,0);
hlayout->addWidget(checkbox);
//hlayout->addWidget(name);
hlayout->addWidget(led);
itemWidget->setLayoutDirection(Qt::LeftToRight);
itemWidget->setLayout(hlayout);
//itemWidget->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
//item->parent()->setItemWidget(item, widget);
}
Account * Account::buildExistingAccountFromId(QString _accountId)
{
ConfigurationManagerInterface & configurationManager = ConfigurationManagerInterfaceSingleton::getInstance();
Account * a = new Account();
a->accountId = new QString(_accountId);
a->accountDetails = new MapStringString( ConfigurationManagerInterfaceSingleton::getInstance().getAccountDetails(_accountId).value() );
a->accountDetails = new MapStringString( configurationManager.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;
}
......@@ -113,7 +154,13 @@ QListWidgetItem * Account::getItem()
if(!item)
cout<<"null"<<endl;
return item;
}
QWidget * Account::getItemWidget()
{
if(!item)
cout<<"null"<<endl;
return itemWidget;
}
QString Account::getStateName(QString & state)
......
......@@ -13,6 +13,7 @@ private:
QString * accountId;
MapStringString * accountDetails;
QListWidgetItem * item;
QWidget * itemWidget;
Account();
......@@ -29,6 +30,7 @@ public:
QString & getAccountId();
MapStringString & getAccountDetails();
QListWidgetItem * getItem();
QWidget * getItemWidget();
QString getStateName(QString & state);
QColor getStateColor();
QString getStateColorName();
......@@ -36,6 +38,7 @@ public:
//QString getAccountDetail(std::string param);
//Setters
void setItemText(QString text);
void initAccountItem();
void setAccountId(QString id);
void setAccountDetails(MapStringString m);
......
......@@ -80,11 +80,11 @@ void AccountList::addAccount(Account & account)
accounts->add(account);
}
*/
QListWidgetItem * AccountList::addAccount(QString & alias)
Account * AccountList::addAccount(QString & alias)
{
Account * a = Account::buildNewAccountFromAlias(alias);
(*accounts) += a;
return a->getItem();
return a;
}
void AccountList::removeAccount(QListWidgetItem * item)
......
......@@ -27,7 +27,7 @@ public:
//Setters
//void addAccount(Account & account);
QListWidgetItem * addAccount(QString & alias);
Account * addAccount(QString & alias);
void removeAccount(QListWidgetItem * item);
//Operators
......
This diff is collapsed.
......@@ -28,6 +28,8 @@ public:
void loadAccountList();
void saveAccountList();
void addAccountToAccountList(Account * account);
void loadCodecs();
void saveCodecs();
......
......@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>504</width>
<height>435</height>
<height>455</height>
</rect>
</property>
<property name="minimumSize" >
......@@ -474,7 +474,7 @@
<item>
<widget class="QListWidget" name="listWidget_accountList" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Expanding" hsizetype="Fixed" >
<sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
......@@ -797,10 +797,16 @@
</item>
<item>
<widget class="QGroupBox" name="groupBox1_audio" >
<property name="mouseTracking" >
<bool>false</bool>
</property>
<property name="title" >
<string/>
</property>
<layout class="QFormLayout" name="formLayout_3" >
<property name="fieldGrowthPolicy" >
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0" >
<widget class="QLabel" name="label_interface" >
<property name="text" >
......@@ -839,7 +845,35 @@
</widget>
</item>
<item row="1" column="1" >
<widget class="KUrlComboRequester" name="kurlcomborequester" />
<widget class="KUrlComboRequester" name="urlComboRequester_ringtone" />
</item>
<item row="2" column="0" >
<widget class="KLed" name="kled" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="mouseTracking" >
<bool>false</bool>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="layoutDirection" >
<enum>Qt::RightToLeft</enum>
</property>
<property name="state" >
<enum>KLed::On</enum>
</property>
<property name="shape" >
<enum>KLed::Circular</enum>
</property>
<property name="look" >
<enum>KLed::Flat</enum>
</property>
</widget>
</item>
</layout>
</widget>
......@@ -1098,6 +1132,11 @@
</widget>
<layoutdefault spacing="4" margin="4" />
<customwidgets>
<customwidget>
<class>KLed</class>
<extends>QWidget</extends>
<header>kled.h</header>
</customwidget>
<customwidget>
<class>KUrlComboRequester</class>
<extends>KUrlRequester</extends>
......
......@@ -12,6 +12,10 @@
<property name="windowTitle" >
<string>SFLPhone</string>
</property>
<property name="windowIcon" >
<iconset resource="resources.qrc" >
<normaloff>:/images/icons/sflphone.png</normaloff>:/images/icons/sflphone.png</iconset>
</property>
<widget class="QWidget" name="centralwidget" >
<layout class="QVBoxLayout" name="verticalLayout" >
<property name="sizeConstraint" >
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment