• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

kaddressbook

  • sources
  • kde-4.14
  • kdepim
  • kaddressbook
  • gravatar
  • widgets
gravatarcreatewidget.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2015 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 
19 #include "gravatarcreatewidget.h"
20 #include "pimcommon/gravatar/gravatarresolvurljob.h"
21 
22 #include <QLabel>
23 #include <QGridLayout>
24 #include <QPushButton>
25 
26 
27 using namespace KABGravatar;
28 
29 GravatarCreateWidget::GravatarCreateWidget(QWidget *parent)
30  : QWidget(parent)
31 {
32  QGridLayout *mainLayout = new QGridLayout;
33  setLayout(mainLayout);
34  //KF5 add i18n
35  QLabel *lab = new QLabel(QLatin1String("Email:"));
36  lab->setObjectName(QLatin1String("emaillabel"));
37  mainLayout->addWidget(lab, 0, 0);
38 
39  mEmailLab = new QLabel;
40  mEmailLab->setObjectName(QLatin1String("email"));
41  mainLayout->addWidget(mEmailLab, 0, 1);
42 
43  //KF5 add i18n
44  mSearchGravatar = new QPushButton(QLatin1String("Search"));
45  mSearchGravatar->setEnabled(false);
46  mSearchGravatar->setObjectName(QLatin1String("search"));
47  mainLayout->addWidget(mSearchGravatar, 0, 2);
48  connect(mSearchGravatar, SIGNAL(clicked(bool)), this, SLOT(slotSearchGravatar()));
49 
50 
51  mResultGravatar = new QLabel;
52  mResultGravatar->setObjectName(QLatin1String("result"));
53  mainLayout->addWidget(mResultGravatar, 1, 0);
54 }
55 
56 
57 GravatarCreateWidget::~GravatarCreateWidget()
58 {
59 
60 }
61 
62 void GravatarCreateWidget::setEmail(const QString &email)
63 {
64  if (mEmail != email) {
65  mEmail = email;
66  mEmailLab->setText(mEmail);
67  mSearchGravatar->setEnabled(!mEmail.trimmed().isEmpty());
68  }
69 }
70 
71 void GravatarCreateWidget::slotSearchGravatar()
72 {
73  if (!mEmail.isEmpty()) {
74  PimCommon::GravatarResolvUrlJob *job = new PimCommon::GravatarResolvUrlJob(this);
75  job->setEmail(mEmail);
76  job->setUseDefaultPixmap(false);
77  connect(job, SIGNAL(finished(PimCommon::GravatarResolvUrlJob*)), this, SLOT(slotSearchGravatarFinished(PimCommon::GravatarResolvUrlJob*)));
78  job->start();
79  }
80 }
81 
82 void GravatarCreateWidget::slotSearchGravatarFinished(PimCommon::GravatarResolvUrlJob *job)
83 {
84  if (job) {
85  if (job->hasGravatar()) {
86  mResultGravatar->setPixmap(job->pixmap());
87  } else {
88  //KF5 add i18n
89  mResultGravatar->setText(QLatin1String("No Gravatar Found."));
90  }
91  }
92 }
QWidget
KABGravatar::GravatarCreateWidget::GravatarCreateWidget
GravatarCreateWidget(QWidget *parent=0)
Definition: gravatarcreatewidget.cpp:29
QGridLayout::addWidget
void addWidget(QWidget *widget, int row, int column, QFlags< Qt::AlignmentFlag > alignment)
QLabel::setPixmap
void setPixmap(const QPixmap &)
QGridLayout
QWidget::setEnabled
void setEnabled(bool)
QWidget::setLayout
void setLayout(QLayout *layout)
QObject::setObjectName
void setObjectName(const QString &name)
QString::isEmpty
bool isEmpty() const
QString::trimmed
QString trimmed() const
KABGravatar::GravatarCreateWidget::~GravatarCreateWidget
~GravatarCreateWidget()
Definition: gravatarcreatewidget.cpp:57
KABGravatar::GravatarCreateWidget::setEmail
void setEmail(const QString &email)
Definition: gravatarcreatewidget.cpp:62
QLabel::setText
void setText(const QString &)
QString
QLatin1String
gravatarcreatewidget.h
QPushButton
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QLabel
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:32:34 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kaddressbook

Skip menu "kaddressbook"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer
  • pimprint

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal