21 #include "ui_identitygeneral.h"
22 #include "ui_identitydetailed.h"
25 #include <kopeteidentity.h>
26 #include <avatardialog.h>
28 class IdentityDialog::Private
31 Kopete::Identity *identity;
32 Kopete::Global::Properties *props;
33 Ui::IdentityGeneral general;
34 Ui::IdentityDetailed detailed;
39 : Kopete::UI::
InfoDialog(parent, i18n(
"Identity Information"),
"identity"), d(new Private())
43 setTitle(identity->label());
44 setWindowTitle(i18n(
"Identity Information"));
46 d->identity = identity;
47 d->props = Kopete::Global::Properties::self();
51 d->general.setupUi(w);
52 d->general.selectPhoto->setIcon(KIcon(
"view-preview"));
53 d->general.clearPhoto->setIcon(KIcon(
"edit-clear-locationbar-rtl"));
54 d->general.photo->setText(
QString(
"<qt><a href=\"selectPhoto\">"
55 "<p align=\"center\">%1</p>"
56 "</a></qt>").arg( i18n(
"No Photo") ));
58 connect(d->general.selectPhoto, SIGNAL(clicked(
bool)),
59 this, SLOT(slotSelectPhoto()));
60 connect(d->general.photo, SIGNAL(linkActivated(
QString)),
61 this, SLOT(slotSelectPhoto()));
62 connect(d->general.clearPhoto, SIGNAL(clicked(
bool)),
63 this, SLOT(slotClearPhoto()));
64 addWidget(w, i18n(
"General Information"));
68 d->detailed.setupUi(w);
69 addWidget(w, i18n(
"Detailed Information"));
71 setIcon(KIcon(d->identity->customIcon()));
85 if (d->identity->hasProperty( d->props->photo().key() ))
86 setPhoto( d->identity->property(d->props->photo()).value().toString() );
90 d->general.label->setText( d->identity->label() );
93 if (d->identity->hasProperty( d->props->nickName().key() ))
94 d->general.nickName->setText( d->identity->property(d->props->nickName()).value().toString() );
97 if (d->identity->hasProperty( d->props->firstName().key() ))
98 d->general.firstName->setText( d->identity->property(d->props->firstName()).value().toString() );
101 if (d->identity->hasProperty( d->props->lastName().key() ))
102 d->general.lastName->setText( d->identity->property(d->props->lastName()).value().toString() );
106 if (d->identity->hasProperty( d->props->emailAddress().key() ))
107 d->detailed.email->setText( d->identity->property(d->props->emailAddress()).value().toString() );
110 if (d->identity->hasProperty( d->props->privatePhone().key() ))
111 d->detailed.privatePhone->setText(
112 d->identity->property(d->props->privatePhone()).value().toString() );
115 if (d->identity->hasProperty( d->props->privateMobilePhone().key() ))
116 d->detailed.mobilePhone->setText(
117 d->identity->property(d->props->privateMobilePhone()).value().toString() );
124 d->identity->setLabel( d->general.label->text() );
125 if ( d->photoPath.isEmpty() )
126 d->identity->removeProperty( d->props->photo() );
128 d->identity->setProperty( d->props->photo(), d->photoPath );
129 d->identity->setProperty( d->props->nickName(), d->general.nickName->text() );
130 d->identity->setProperty( d->props->firstName(), d->general.firstName->text() );
131 d->identity->setProperty( d->props->lastName(), d->general.lastName->text() );
134 d->identity->setProperty( d->props->emailAddress(), d->detailed.email->text() );
135 d->identity->setProperty( d->props->privatePhone(), d->detailed.privatePhone->text() );
136 d->identity->setProperty( d->props->privateMobilePhone(), d->detailed.mobilePhone->text() );
144 d->general.photo->setText(
QString(
"<qt><a href=\"selectPhoto\">"
145 "<p align=\"center\"><img src=\"%1\"></p>"
146 "</a>").arg( d->photoPath ) );
150 d->general.photo->setText(
QString(
"<qt><a href=\"selectPhoto\">"
151 "<p align=\"center\">No Photo</p>"
152 "</a>").arg( i18n(
"No Photo") ));
156 void IdentityDialog::slotSelectPhoto()
159 QString photo = Kopete::UI::AvatarDialog::getAvatar(
this, d->photoPath, &ok);
164 void IdentityDialog::slotClearPhoto()
169 #include "identitydialog.moc"
void setPhoto(QString path)
IdentityDialog(Kopete::Identity *identity, QWidget *parent=0)