~ubuntu-branches/ubuntu/trusty/sflphone/trusty

« back to all changes in this revision

Viewing changes to kde/src/widgets/contactitemwidget.h

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (4.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20140128182336-jrsv0k9u6cawc068
Tags: 1.3.0-1
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
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>*
5
 
 *                                                                         *
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.                                   *
10
 
 *                                                                         *
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.                          *
15
 
 *                                                                         *
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
 
 **************************************************************************/
19
 
 
20
 
#ifndef CONTACTITEMWIDGET_H
21
 
#define CONTACTITEMWIDGET_H
22
 
 
23
 
#include <QtGui/QWidget>
24
 
#include "lib/contact.h"
25
 
 
26
 
//Qt
27
 
class QLabel;
28
 
class QTreeWidgetItem;
29
 
class QMenu;
30
 
class QMimeData;
31
 
 
32
 
//KDE
33
 
class KAction;
34
 
 
35
 
namespace KABC {
36
 
   class Addressee;
37
 
}
38
 
 
39
 
//SFLPhone
40
 
class Contact;
41
 
class TranslucentButtons;
42
 
 
43
 
///ContactItemWidget: Item for the contact tree
44
 
class ContactItemWidget : public QWidget
45
 
{
46
 
   Q_OBJECT
47
 
 public:
48
 
    //Constructor
49
 
    explicit ContactItemWidget(QWidget* parent = nullptr);
50
 
    ~ContactItemWidget();
51
 
 
52
 
    //Getters
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;
62
 
 
63
 
    //Setters
64
 
    void setContact ( Contact*         contact );
65
 
    void setItem    ( QTreeWidgetItem* item    );
66
 
 
67
 
    //Const
68
 
    static const char * callStateIcons[12];
69
 
    
70
 
protected:
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 );
76
 
 
77
 
 private:
78
 
    //Attributes
79
 
    Contact* m_pContactKA    ;
80
 
    QLabel*  m_pIconL        ;
81
 
    QLabel*  m_pContactNameL ;
82
 
    QLabel*  m_pCallNumberL  ;
83
 
    QLabel*  m_pOrganizationL;
84
 
    QLabel*  m_pEmailL       ;
85
 
    QTreeWidgetItem* m_pItem ;
86
 
    QSize    m_Size          ;
87
 
 
88
 
    //Actions
89
 
    KAction* m_pCallAgain   ;
90
 
    KAction* m_pEditContact ;
91
 
    KAction* m_pCopy        ;
92
 
    KAction* m_pEmail       ;
93
 
    KAction* m_pAddPhone    ;
94
 
    KAction* m_pBookmark    ;
95
 
    QMenu*   m_pMenu        ;
96
 
    
97
 
    TranslucentButtons* m_pBtnTrans;
98
 
 
99
 
    //Helper
100
 
    QString showNumberSelector(bool& ok);
101
 
 
102
 
public Q_SLOTS:
103
 
   void updated();
104
 
 
105
 
private Q_SLOTS:
106
 
   void showContext(const QPoint& pos);
107
 
   void sendEmail   ();
108
 
   void callAgain   ();
109
 
   void copy        ();
110
 
   void editContact ();
111
 
   void addPhone    ();
112
 
   void bookmark    ();
113
 
   void transferEvent( QMimeData* data   );
114
 
 };
115
 
 
116
 
#endif // CONTACTITEMWIDGET_H