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

messageviewer

  • sources
  • kde-4.14
  • kdepim
  • messageviewer
  • widgets
gravatarconfigwidget.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 #include "gravatarconfigwidget.h"
19 #include "pimcommon/gravatar/gravatarcache.h"
20 #include <QDebug>
21 #include <QVBoxLayout>
22 #include <KLocalizedString>
23 #include <QCheckBox>
24 #include <QPushButton>
25 #include <QLabel>
26 #include <QDir>
27 #include <KIntNumInput>
28 #include "settings/globalsettings.h"
29 #include "pimcommon/widgets/configureimmutablewidgetutils.h"
30 
31 using namespace MessageViewer;
32 using namespace PimCommon::ConfigureImmutableWidgetUtils;
33 
34 GravatarConfigWidget::GravatarConfigWidget(QWidget *parent)
35  : QWidget(parent)
36 {
37  QVBoxLayout *mainLayout = new QVBoxLayout;
38  setLayout(mainLayout);
39  mainLayout->setMargin(0);
40 
41  //KF5 add i18n
42  mEnableGravatarSupport = new QCheckBox(QLatin1String("Enable Gravatar Support"));
43  mEnableGravatarSupport->setObjectName(QLatin1String("gravatarcheckbox"));
44  mainLayout->addWidget(mEnableGravatarSupport);
45 
46  //KF5 add i18n
47  mUseDefaultPixmap = new QCheckBox(QLatin1String("Use Default Image"));
48  mUseDefaultPixmap->setObjectName(QLatin1String("usedefaultimage"));
49  mainLayout->addWidget(mUseDefaultPixmap);
50 
51  //KF5 add i18n
52  QHBoxLayout *cacheSizeLayout = new QHBoxLayout;
53  mainLayout->addLayout(cacheSizeLayout);
54  QLabel *lab = new QLabel(QLatin1String("Gravatar Cache Size:"));
55  lab->setObjectName(QLatin1String("gravatarcachesizelabel"));
56  cacheSizeLayout->addWidget(lab);
57 
58  mGravatarCacheSize = new KIntSpinBox;
59  mGravatarCacheSize->setMinimum(1);
60  mGravatarCacheSize->setMaximum(9999);
61  mGravatarCacheSize->setObjectName(QLatin1String("gravatarcachesize"));
62  connect(mGravatarCacheSize, SIGNAL(valueChanged(int)), this, SLOT(slotGravatarCacheSizeChanged()));
63  cacheSizeLayout->addWidget(mGravatarCacheSize);
64  cacheSizeLayout->addStretch();
65 
66  //KF5 add i18n
67  QHBoxLayout *buttonLayout = new QHBoxLayout;
68  mainLayout->addLayout(buttonLayout);
69  mClearGravatarCache = new QPushButton(QLatin1String("Clear Gravatar Cache"));
70  mClearGravatarCache->setObjectName(QLatin1String("cleargravatarcachebutton"));
71  buttonLayout->addWidget(mClearGravatarCache);
72  buttonLayout->addStretch();
73 
74  updateWidgetState(false);
75 
76  connect(mClearGravatarCache, SIGNAL(clicked(bool)), this, SLOT(slotClearGravatarCache()));
77  connect(mUseDefaultPixmap, SIGNAL(clicked(bool)), SIGNAL(configChanged(bool)));
78  connect(mEnableGravatarSupport, SIGNAL(clicked(bool)), this, SLOT(slotGravatarEnableChanged(bool)));
79 }
80 
81 GravatarConfigWidget::~GravatarConfigWidget()
82 {
83 
84 }
85 
86 void GravatarConfigWidget::slotGravatarEnableChanged(bool state)
87 {
88  updateWidgetState(state);
89  Q_EMIT configChanged(state);
90 }
91 
92 void GravatarConfigWidget::updateWidgetState(bool state)
93 {
94  mUseDefaultPixmap->setEnabled(state);
95  mClearGravatarCache->setEnabled(state);
96  mGravatarCacheSize->setEnabled(state);
97 }
98 
99 void GravatarConfigWidget::save()
100 {
101  saveCheckBox(mEnableGravatarSupport, MessageViewer::GlobalSettings::self()->gravatarSupportEnabledItem());
102  saveCheckBox(mUseDefaultPixmap, MessageViewer::GlobalSettings::self()->gravatarUseDefaultImageItem());
103  saveSpinBox(mGravatarCacheSize, MessageViewer::GlobalSettings::self()->gravatarCacheSizeItem());
104  if (!mEnableGravatarSupport->isChecked()) {
105  PimCommon::GravatarCache::self()->clearAllCache();
106  }
107 }
108 
109 void GravatarConfigWidget::doLoadFromGlobalSettings()
110 {
111  loadWidget(mEnableGravatarSupport, MessageViewer::GlobalSettings::self()->gravatarSupportEnabledItem());
112  loadWidget(mUseDefaultPixmap, MessageViewer::GlobalSettings::self()->gravatarUseDefaultImageItem());
113  loadWidget(mGravatarCacheSize, MessageViewer::GlobalSettings::self()->gravatarCacheSizeItem());
114  updateWidgetState(mEnableGravatarSupport->isChecked());
115 }
116 
117 void GravatarConfigWidget::doResetToDefaultsOther()
118 {
119  const bool bUseDefaults = MessageViewer::GlobalSettings::self()->useDefaults( true );
120  doLoadFromGlobalSettings();
121  GlobalSettings::self()->useDefaults( bUseDefaults );
122 }
123 
124 void GravatarConfigWidget::slotClearGravatarCache()
125 {
126  PimCommon::GravatarCache::self()->clearAllCache();
127 }
128 
129 void GravatarConfigWidget::slotGravatarCacheSizeChanged()
130 {
131  Q_EMIT configChanged(true);
132 }
133 
gravatarconfigwidget.h
globalsettings.h
QWidget
MessageViewer::GravatarConfigWidget::doLoadFromGlobalSettings
void doLoadFromGlobalSettings()
Definition: gravatarconfigwidget.cpp:109
QHBoxLayout
QWidget::setEnabled
void setEnabled(bool)
QBoxLayout::addWidget
void addWidget(QWidget *widget, int stretch, QFlags< Qt::AlignmentFlag > alignment)
QWidget::setLayout
void setLayout(QLayout *layout)
QCheckBox
QObject::setObjectName
void setObjectName(const QString &name)
MessageViewer::GlobalSettings::self
static GlobalSettings * self()
Definition: globalsettings.cpp:34
MessageViewer::GravatarConfigWidget::GravatarConfigWidget
GravatarConfigWidget(QWidget *parent=0)
Definition: gravatarconfigwidget.cpp:34
QVBoxLayout
QLayout::setMargin
void setMargin(int margin)
MessageViewer::GravatarConfigWidget::configChanged
void configChanged(bool)
MessageViewer::GravatarConfigWidget::~GravatarConfigWidget
~GravatarConfigWidget()
Definition: gravatarconfigwidget.cpp:81
QAbstractButton::isChecked
bool isChecked() const
QLatin1String
QBoxLayout::addStretch
void addStretch(int stretch)
MessageViewer::GravatarConfigWidget::doResetToDefaultsOther
void doResetToDefaultsOther()
Definition: gravatarconfigwidget.cpp:117
QPushButton
MessageViewer::GravatarConfigWidget::save
void save()
Definition: gravatarconfigwidget.cpp:99
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QLabel
QBoxLayout::addLayout
void addLayout(QLayout *layout, int stretch)
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:32:45 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

messageviewer

Skip menu "messageviewer"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

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