1 /*
2  aimcontact.h  -  Oscar Protocol Plugin
3 
4  Copyright (c) 2003 by Will Stephenson
5  Copyright (c) 2004 by Matt Rogers <mattr@kde.org>
6  Copyright (c) 2006 by Roman Jarosz <kedgedev@centrum.cz>
7 
8  Kopete    (c) 2002-2006 by the Kopete developers  <kopete-devel@kde.org>
9 
10  *************************************************************************
11  *                                                                       *
12  * This program is free software; you can redistribute it and/or modify  *
13  * it under the terms of the GNU General Public License as published by  *
14  * the Free Software Foundation; either version 2 of the License, or     *
15  * (at your option) any later version.                                   *
16  *                                                                       *
17  *************************************************************************
18 */
19 
20 #ifndef AIMCONTACT_H
21 #define AIMCONTACT_H
22 
23 #include "aimcontactbase.h"
24 
25 class ICQProtocol;
26 class KToggleAction;
27 
28 class AIMContact : public AIMContactBase
29 {
30 Q_OBJECT
31 
32 public:
33 	AIMContact( Kopete::Account*, const QString&, Kopete::MetaContact*,
34 	            const QString& icon = QString() );
35 	virtual ~AIMContact();
36 
37 	bool isReachable() Q_DECL_OVERRIDE;
38 
39 	/**
40 	 * Returns a set of custom menu items for
41 	 * the context menu
42 	 */
43 	QList<QAction*> *customContextMenuActions() Q_DECL_OVERRIDE;
44 	using AIMContactBase::customContextMenuActions;
45 
46 	void setSSIItem( const OContact& ssiItem ) Q_DECL_OVERRIDE;
47 
48 public Q_SLOTS:
49 	void userInfoUpdated( const QString& contact, const UserDetails& details ) Q_DECL_OVERRIDE;
50 	void userOnline( const QString& userId ) Q_DECL_OVERRIDE;
51 	void userOffline( const QString& userId ) Q_DECL_OVERRIDE;
52 
53 private Q_SLOTS:
54 
55 	void slotIgnore();
56 	void slotVisibleTo();
57 	void slotInvisibleTo();
58 
59 private:
60 	ICQProtocol* mProtocol;
61 
62 	QAction *m_selectEncoding;
63 
64 	KToggleAction *m_actionIgnore;
65 	KToggleAction *m_actionVisibleTo;
66 	KToggleAction *m_actionInvisibleTo;
67 
68 };
69 #endif
70