Skip to content
Snippets Groups Projects
Select Git revision
  • f47bd1aa2900974c0881dfbc74ecce154850f917
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/releaseTest
  • release/releaseWindowsTest
  • release/windowsReleaseTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 1.0.0
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
26 results

Contact.h

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Contact.h 4.01 KiB
    /***************************************************************************
     *   Copyright (C) 2009-2010 by Savoir-Faire Linux                         *
     *   Author : Jérémy Quentin <jeremy.quentin@savoirfairelinux.com>         *
     *            Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com>*
     *                                                                         *
     *   This program is free software; you can redistribute it and/or modify  *
     *   it under the terms of the GNU General Public License as published by  *
     *   the Free Software Foundation; either version 3 of the License, or     *
     *   (at your option) any later version.                                   *
     *                                                                         *
     *   This program is distributed in the hope that it will be useful,       *
     *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
     *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
     *   GNU General Public License for more details.                          *
     *                                                                         *
     *   You should have received a copy of the GNU General Public License     *
     *   along with this program; if not, write to the                         *
     *   Free Software Foundation, Inc.,                                       *
     *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
     **************************************************************************/
    #ifndef CONTACT_H
    #define CONTACT_H
    
    #include <QObject>
    
    //Qt
    class QListWidgetItem;
    class QWidget;
    class QPixmap;
    
    //KDE
    namespace KABC {
       class Addressee   ;
       class Picture     ;
       class PhoneNumber ;
    }
    
    #include "typedefs.h"
    
    /**
     * @class Contact Abstract version of a contact
       @author Jérémy Quentin <jeremy.quentin@savoirfairelinux.com>
       @author Emmanuel Lepage <emmanuel.lepage@savoirfairelinux.com>
    */
    class LIB_EXPORT Contact : public QObject{
       Q_OBJECT
    public:
       class PhoneNumber {
       public:
          PhoneNumber(QString number, QString type)
          : m_pNumber(number),m_pType(type){}
          QString& getNumber() {
             return m_pNumber ;
          }
          QString& getType() {
             return m_pType   ;
          }
          
       private:
          QString m_pNumber   ;
          QString m_pType     ;
       };
       
       typedef QList<Contact::PhoneNumber*> PhoneNumbers;
       
    private:
       QString      m_pFirstName      ;
       QString      m_pSecondName     ;
       QString      m_pNickName       ;
       QPixmap*     m_pPhoto          ;
       QString      m_pType           ;
       QString      m_pFormattedName  ;
       QString      m_pPreferredEmail ;
       QString      m_pOrganization   ;
       QString      m_pUid            ;
       bool         displayPhoto      ;
       PhoneNumbers m_pNumbers        ;
       
    public:
       //Constructors & Destructors
       explicit Contact();
       virtual ~Contact();
       
       //Getters
       virtual PhoneNumbers   getPhoneNumbers()    const;
       virtual QString        getNickName()        const;
       virtual QString        getFirstName()       const;
       virtual QString        getSecondName()      const;
       virtual QString        getFormattedName()   const;
       virtual QString        getOrganization()    const;
       virtual QString        getUid()             const;
       virtual QString        getPreferredEmail()  const;
       virtual const QPixmap* getPhoto()           const;
       virtual QString        getType()            const;
       virtual void           initItem();
    
       //Setters
       virtual void setPhoneNumbers   (PhoneNumbers   );
       virtual void setFormattedName  (QString name   );
       virtual void setNickName       (QString name   );
       virtual void setFirstName      (QString name   );
       virtual void setFamilyName     (QString name   );
       virtual void setOrganization   (QString name   );
       virtual void setPreferredEmail (QString name   );
       virtual void setUid            (QString id     );
       virtual void setPhoto          (QPixmap* photo );
       
    protected:
       virtual void initItemWidget();
    
    };
    typedef Contact::PhoneNumbers PhoneNumbers;
    
    #endif