blob: 2bea5a2bfae345b229a18e773a31186c2f29e85b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
/***************************************************************************
dlgjabbervcard.h - vCard dialog
-------------------
begin : Thu Aug 08 2002
copyright : (C) 2002-2003 by Till Gerken <till@tantalo.net>
(C) 2005 by Michaël Larouche <michael.larouche@kdemail.net>
email : kopete-devel@kde.org
***************************************************************************/
/***************************************************************************
* *
* 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 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef DLGJABBERVCARD_H
#define DLGJABBERVCARD_H
#include <kdialogbase.h>
#include "xmpp_vcard.h"
class JabberAccount;
class JabberContact;
class JabberBaseContact;
class QString;
class dlgVCard;
/**
* @brief Show the information of a Jabber contact.
*
* This dialog shows the information of a Jabber contact from
* the contact properties(from Kopete).
* Also it is used to edit the information of the Account myself contact.
*
* First it fetch a new version of the vcard then it display the
* information. User can force the update using the "Update vCard" button.
*
* @author Till Gerken <till@tantolo.net>
* @author Michaël Larouche <michael.larouche@kdemail.net>
*/
class dlgJabberVCard : public KDialogBase
{
Q_OBJECT
public:
/**
* Create the information(vcard) dialog.
*
* @param account the current Jabber account
* @param contact the contact to display or edit information.
* @param widget Parent widget.
* @param name widget name.
*/
dlgJabberVCard (JabberAccount *account, JabberBaseContact *contact, QWidget * parent = 0, const char *name = 0);
~dlgJabberVCard ();
private slots:
/**
* Show the KFileDialog for image to select a photo for the contact.
*/
void slotSelectPhoto();
/**
* Remove(clear) the photo.
* Maybe the user doesn't want to export a photo anymore.
*/
void slotClearPhoto();
/**
* Send vCard to the server.
*/
void slotSaveVCard();
/**
* Put back the information from the dialog into the contact properties
*/
void slotVCardSaved();
/**
* Close the dialog.
*/
void slotClose();
/**
* Open a link. (ex: the homepage link or the email address)
*/
void slotOpenURL(const QString &url);
/**
* Retrieve vCard information for the current contact.
*/
void slotGetVCard();
/**
* vCard was succesfully fetched, update contact properties
* and enable display.
*/
void slotGotVCard();
private:
JabberAccount *m_account;
JabberBaseContact *m_contact;
dlgVCard *m_mainWidget;
QString m_photoPath;
void assignContactProperties();
void setReadOnly(bool state);
void setEnabled(bool state);
};
#endif // DLGJABBERVCARD_H
/*
* Local variables:
* c-indentation-style: k&r
* c-basic-offset: 8
* indent-tabs-mode: t
* End:
*/
|