first release
[groupsms] / sms / contactwidgetitem.cpp
1 #include <QDebug>
2
3 #include "contactwidgetitem.h"
4 #include "utility.h"
5
6
7 ContactWidgetItem::ContactWidgetItem(QObject *parent) : QObject(parent)
8 {
9     btn_selected = new QToolButton();
10     btn_selected->setText("");
11     btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
12     btn_selected->setToolButtonStyle(Qt::ToolButtonIconOnly);
13     btn_selected->setAutoRaise(true);
14
15     user_pic_uri = ":/images/male.png";
16     label_fullname = new QLabel();
17     label_mobile_number = new QLabel();
18     label_user_pic = new QLabel();
19     label_user_pic->setPixmap(Utility::getIconPixmap(user_pic_uri));
20
21     m_isSelected = false;
22     m_isGroup = false;
23     m_x = 0;
24     m_height = 0;
25     m_color.setRgb(255,0,0);
26
27     connect(btn_selected, SIGNAL( clicked() ), this, SLOT( btn_selected_clicked() ) );
28
29     //qDebug() << "ContactWidgetItem" << (int)this;
30 }
31
32 ContactWidgetItem::~ContactWidgetItem()
33 {
34     //qDebug() << "~ContactWidgetItem" << (int)this;
35     delete btn_selected;
36     delete label_fullname;
37     delete label_mobile_number;
38     delete label_user_pic;
39 }
40
41 void ContactWidgetItem::loadUserPic()
42 {
43     QPixmap pixmap(user_pic_uri);
44     if (!pixmap.isNull()) {
45         label_user_pic->setPixmap(pixmap.scaled(ICON_SIZE, ICON_SIZE));
46     }
47     label_user_pic->resize(ICON_SIZE, ICON_SIZE);
48 }
49
50 void ContactWidgetItem::reSet()
51 {
52     m_isSelected = false;
53     m_isGroup = false;
54     btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
55 }
56
57 int ContactWidgetItem::move(int x, int y, QWidget *parent)
58 {
59     //qDebug() << "ContactWidgetItem::move(int x, int y), Entry";
60     //qDebug() << "x=" << x << "y=" << y << "screen_width=" << QApplication::desktop()->width();
61     //int screen_width = QApplication::desktop()->width();
62     m_x = x;
63     m_height = 0;
64     int _y = y;
65
66     btn_selected->setParent(parent);
67     btn_selected->move( ( x + BTN_SELECTED_OFFSET_X ), ( _y + BTN_SELECTED_OFFSET_Y ) );
68     //qDebug() << "btn_selected x=" << ( x + BTN_SELECTED_OFFSET_X ) << "btn_selected y=" << ( _y + BTN_SELECTED_OFFSET_Y );
69
70     label_user_pic->setParent(parent);
71     label_user_pic->move( ( x + USER_PIC_OFFSET_X ), ( _y + USER_PIC_OFFSET_Y ) );
72     //qDebug() << "label_user_pic x=" << ( x + USER_PIC_OFFSET_X ) << "label_user_pic y=" << ( _y + USER_PIC_OFFSET_Y );
73
74     label_fullname->setParent(parent);
75     label_fullname->move( ( x + FULL_NAME_OFFSET_X ), ( _y + FULL_NAME_OFFSET_Y ) );
76     //qDebug() << "label_fullname x=" << ( x + FULL_NAME_OFFSET_X ) << "label_fullname y=" << ( _y + FULL_NAME_OFFSET_Y );
77
78     label_mobile_number->setParent(parent);
79     label_mobile_number->move( ( x + MOBILE_NUMBER_OFFSET_X ), ( _y + MOBILE_NUMBER_OFFSET_Y ) );
80     //qDebug() << "label_mobile_number x=" << ( x + MOBILE_NUMBER_OFFSET_X ) << "label_mobile_number y=" << ( _y + MOBILE_NUMBER_OFFSET_Y );
81
82     m_height = y + ITEM_HEIGHT;
83     //qDebug() << "m_height=" << m_height;
84     //qDebug() << "ContactWidgetItem::move(int x, int y), Exit";
85
86     return m_height;
87 }
88
89 void ContactWidgetItem::showAll()
90 {
91     btn_selected->show();
92     label_fullname->show();
93     label_mobile_number->show();
94     label_user_pic->show();
95 }
96
97 void ContactWidgetItem::hideAll()
98 {
99     btn_selected->hide();
100     label_fullname->hide();
101     label_mobile_number->hide();
102     label_user_pic->hide();
103 }
104
105 void ContactWidgetItem::btn_selected_clicked()
106 {
107     m_isSelected = !m_isSelected;
108     if( m_isSelected )
109     {
110         btn_selected->setIcon( Utility::getToolButtonIcon(":/images/select.png", true) );
111     }else
112     {
113         btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
114     }
115     Q_EMIT itemSelected( this, m_isSelected );
116     //qDebug() << "ContactWidgetItem::btn_selected_clicked(), Exit";
117 }
118
119 void ContactWidgetItem::setSelected(bool selected)
120 {
121     if( selected )
122     {
123         btn_selected->setIcon( Utility::getToolButtonIcon(":/images/select.png", true) );
124     }else
125     {
126         btn_selected->setIcon( Utility::getToolButtonIcon(":/images/unselect.png", true) );
127     }
128     //qDebug() << "ContactWidgetItem::setSelected(bool selected), Exit";
129 }