• 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
  • job
gravatarcreatejob.cpp
Go to the documentation of this file.
1 /*
2  This file is part of KAddressBook.
3 
4  Copyright (c) 2015 Laurent Montel <montel@kde.org>
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License along
17  with this program; if not, write to the Free Software Foundation, Inc.,
18  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 */
20 
21 #include "gravatarcreatejob.h"
22 #include "pimcommon/gravatar/gravatarresolvurljob.h"
23 
24 using namespace KABGravatar;
25 
26 GravatarCreateJob::GravatarCreateJob(QObject *parent)
27  : QObject(parent)
28 {
29 
30 }
31 
32 GravatarCreateJob::~GravatarCreateJob()
33 {
34 
35 }
36 
37 bool GravatarCreateJob::canStart()
38 {
39  return !mEmail.trimmed().isEmpty() && (mEmail.contains(QLatin1Char('@')));
40 }
41 
42 void GravatarCreateJob::start()
43 {
44  PimCommon::GravatarResolvUrlJob *job = new PimCommon::GravatarResolvUrlJob(this);
45  job->setEmail(mEmail);
46  if (job->canStart()) {
47  connect(job, SIGNAL(finished(PimCommon::GravatarResolvUrlJob*)), this, SLOT(slotGravatarResolvUrlFinished(PimCommon::GravatarResolvUrlJob*)));
48  connect(job, SIGNAL(resolvUrl(KUrl)), this, SIGNAL(resolvedUrl(KUrl)));
49  job->start();
50  } else {
51  deleteLater();
52  }
53 }
54 
55 QString GravatarCreateJob::email() const
56 {
57  return mEmail;
58 }
59 
60 void GravatarCreateJob::setEmail(const QString &email)
61 {
62  mEmail = email;
63 }
64 
65 void GravatarCreateJob::slotGravatarResolvUrlFinished(PimCommon::GravatarResolvUrlJob *job)
66 {
67  if (job) {
68  Q_EMIT gravatarPixmap(job->pixmap());
69  }
70  deleteLater();
71 }
KABGravatar::GravatarCreateJob::email
QString email() const
Definition: gravatarcreatejob.cpp:55
gravatarcreatejob.h
KABGravatar::GravatarCreateJob::start
void start()
Definition: gravatarcreatejob.cpp:42
QObject
KABGravatar::GravatarCreateJob::GravatarCreateJob
GravatarCreateJob(QObject *parent=0)
Definition: gravatarcreatejob.cpp:26
QString::isEmpty
bool isEmpty() const
QString::trimmed
QString trimmed() const
QObject::deleteLater
void deleteLater()
QString
KABGravatar::GravatarCreateJob::gravatarPixmap
void gravatarPixmap(const QPixmap &pix)
KABGravatar::GravatarCreateJob::resolvedUrl
void resolvedUrl(const KUrl &url)
QString::contains
bool contains(QChar ch, Qt::CaseSensitivity cs) const
QLatin1Char
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
KABGravatar::GravatarCreateJob::setEmail
void setEmail(const QString &email)
Definition: gravatarcreatejob.cpp:60
KABGravatar::GravatarCreateJob::~GravatarCreateJob
~GravatarCreateJob()
Definition: gravatarcreatejob.cpp:32
KABGravatar::GravatarCreateJob::canStart
bool canStart()
Definition: gravatarcreatejob.cpp:37
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