1
/***************************************************************************
2
* Copyright (C) 2009-2013 by Savoir-Faire Linux *
3
* Author : Mathieu Leduc-Hamel mathieu.leduc-hamel@savoirfairelinux.com *
4
* Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>*
6
* This program is free software; you can redistribute it and/or modify *
7
* it under the terms of the GNU General Public License as published by *
8
* the Free Software Foundation; either version 3 of the License, or *
9
* (at your option) any later version. *
11
* This program is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU General Public License for more details. *
16
* You should have received a copy of the GNU General Public License *
17
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
18
**************************************************************************/
20
#ifndef CONTACTITEMWIDGET_H
21
#define CONTACTITEMWIDGET_H
23
#include <QtGui/QWidget>
24
#include "lib/contact.h"
28
class QTreeWidgetItem;
41
class TranslucentButtons;
43
///ContactItemWidget: Item for the contact tree
44
class ContactItemWidget : public QWidget
49
explicit ContactItemWidget(QWidget* parent = nullptr);
53
KABC::Addressee* contact() const;
54
const QString& getContactName() const;
55
PhoneNumbers getCallNumbers() const;
56
const QString& getOrganization() const;
57
const QString& getEmail() const;
58
QPixmap* getPicture() const;
59
QTreeWidgetItem* getItem() const;
60
Contact* getContact() const;
61
virtual QSize sizeHint () const;
64
void setContact ( Contact* contact );
65
void setItem ( QTreeWidgetItem* item );
68
static const char * callStateIcons[12];
71
virtual void dragEnterEvent ( QDragEnterEvent *e );
72
virtual void dragMoveEvent ( QDragMoveEvent *e );
73
virtual void dragLeaveEvent ( QDragLeaveEvent *e );
74
virtual void dropEvent ( QDropEvent *e );
75
virtual void mouseDoubleClickEvent ( QMouseEvent *e );
79
Contact* m_pContactKA ;
81
QLabel* m_pContactNameL ;
82
QLabel* m_pCallNumberL ;
83
QLabel* m_pOrganizationL;
85
QTreeWidgetItem* m_pItem ;
89
KAction* m_pCallAgain ;
90
KAction* m_pEditContact ;
93
KAction* m_pAddPhone ;
94
KAction* m_pBookmark ;
97
TranslucentButtons* m_pBtnTrans;
100
QString showNumberSelector(bool& ok);
106
void showContext(const QPoint& pos);
113
void transferEvent( QMimeData* data );
116
#endif // CONTACTITEMWIDGET_H