--- /dev/null
+#include <QDebug>
+
+#include "contactwidgetitem.h"
+#include "utility.h"
+
+
+ContactWidgetItem::ContactWidgetItem(QObject *parent) : QObject(parent)
+{
+ btn_selected = new QToolButton();
+ btn_selected->setText("");
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
+ btn_selected->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ btn_selected->setAutoRaise(true);
+
+ user_pic_uri = ":/images/male.png";
+ label_fullname = new QLabel();
+ label_mobile_number = new QLabel();
+ label_user_pic = new QLabel();
+ label_user_pic->setPixmap(Utility::getIconPixmap(user_pic_uri));
+
+ m_isSelected = false;
+ m_isGroup = false;
+ m_x = 0;
+ m_height = 0;
+ m_color.setRgb(255,0,0);
+
+ connect(btn_selected, SIGNAL( clicked() ), this, SLOT( btn_selected_clicked() ) );
+
+ //qDebug() << "ContactWidgetItem" << (int)this;
+}
+
+ContactWidgetItem::~ContactWidgetItem()
+{
+ //qDebug() << "~ContactWidgetItem" << (int)this;
+ delete btn_selected;
+ delete label_fullname;
+ delete label_mobile_number;
+ delete label_user_pic;
+}
+
+void ContactWidgetItem::loadUserPic()
+{
+ QPixmap pixmap(user_pic_uri);
+ if (!pixmap.isNull()) {
+ label_user_pic->setPixmap(pixmap.scaled(ICON_SIZE, ICON_SIZE));
+ }
+ label_user_pic->resize(ICON_SIZE, ICON_SIZE);
+}
+
+void ContactWidgetItem::reSet()
+{
+ m_isSelected = false;
+ m_isGroup = false;
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
+}
+
+int ContactWidgetItem::move(int x, int y, QWidget *parent)
+{
+ //qDebug() << "ContactWidgetItem::move(int x, int y), Entry";
+ //qDebug() << "x=" << x << "y=" << y << "screen_width=" << QApplication::desktop()->width();
+ //int screen_width = QApplication::desktop()->width();
+ m_x = x;
+ m_height = 0;
+ int _y = y;
+
+ btn_selected->setParent(parent);
+ btn_selected->move( ( x + BTN_SELECTED_OFFSET_X ), ( _y + BTN_SELECTED_OFFSET_Y ) );
+ //qDebug() << "btn_selected x=" << ( x + BTN_SELECTED_OFFSET_X ) << "btn_selected y=" << ( _y + BTN_SELECTED_OFFSET_Y );
+
+ label_user_pic->setParent(parent);
+ label_user_pic->move( ( x + USER_PIC_OFFSET_X ), ( _y + USER_PIC_OFFSET_Y ) );
+ //qDebug() << "label_user_pic x=" << ( x + USER_PIC_OFFSET_X ) << "label_user_pic y=" << ( _y + USER_PIC_OFFSET_Y );
+
+ label_fullname->setParent(parent);
+ label_fullname->move( ( x + FULL_NAME_OFFSET_X ), ( _y + FULL_NAME_OFFSET_Y ) );
+ //qDebug() << "label_fullname x=" << ( x + FULL_NAME_OFFSET_X ) << "label_fullname y=" << ( _y + FULL_NAME_OFFSET_Y );
+
+ label_mobile_number->setParent(parent);
+ label_mobile_number->move( ( x + MOBILE_NUMBER_OFFSET_X ), ( _y + MOBILE_NUMBER_OFFSET_Y ) );
+ //qDebug() << "label_mobile_number x=" << ( x + MOBILE_NUMBER_OFFSET_X ) << "label_mobile_number y=" << ( _y + MOBILE_NUMBER_OFFSET_Y );
+
+ m_height = y + ITEM_HEIGHT;
+ //qDebug() << "m_height=" << m_height;
+ //qDebug() << "ContactWidgetItem::move(int x, int y), Exit";
+
+ return m_height;
+}
+
+void ContactWidgetItem::showAll()
+{
+ btn_selected->show();
+ label_fullname->show();
+ label_mobile_number->show();
+ label_user_pic->show();
+}
+
+void ContactWidgetItem::hideAll()
+{
+ btn_selected->hide();
+ label_fullname->hide();
+ label_mobile_number->hide();
+ label_user_pic->hide();
+}
+
+void ContactWidgetItem::btn_selected_clicked()
+{
+ m_isSelected = !m_isSelected;
+ if( m_isSelected )
+ {
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/select.png", true) );
+ }else
+ {
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
+ }
+ Q_EMIT itemSelected( this, m_isSelected );
+ //qDebug() << "ContactWidgetItem::btn_selected_clicked(), Exit";
+}
+
+void ContactWidgetItem::setSelected(bool selected)
+{
+ if( selected )
+ {
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/select.png", true) );
+ }else
+ {
+ btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
+ }
+ //qDebug() << "ContactWidgetItem::setSelected(bool selected), Exit";
+}