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

kleopatra

  • sources
  • kde-4.12
  • kdepim
  • kleopatra
  • conf
appearanceconfigwidget.cpp
Go to the documentation of this file.
1 /*
2  appearanceconfigwidget.cpp
3 
4  This file is part of kleopatra, the KDE key manager
5  Copyright (c) 2002,2004,2008 Klarälvdalens Datakonsult AB
6  Copyright (c) 2002,2003 Marc Mutz <mutz@kde.org>
7 
8  Libkleopatra is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2 of the
11  License, or (at your option) any later version.
12 
13  Libkleopatra is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 
22  In addition, as a special exception, the copyright holders give
23  permission to link the code of this program with any edition of
24  the Qt library by Trolltech AS, Norway (or with modified versions
25  of Qt that use the same license as Qt), and distribute linked
26  combinations including the two. You must obey the GNU General
27  Public License in all respects for all of the code used other than
28  Qt. If you modify this file, you may extend this exception to
29  your version of the file, but you are not obligated to do so. If
30  you do not wish to do so, delete this exception statement from
31  your version.
32  */
33 
34 #include <config-kleopatra.h>
35 
36 #include "appearanceconfigwidget.h"
37 #include "ui_appearanceconfigwidget.h"
38 
39 
40 #include "tooltippreferences.h"
41 
42 #include "libkleo/kleo/cryptobackendfactory.h"
43 #include "libkleo/kleo/keyfiltermanager.h"
44 #include "libkleo/kleo/dn.h"
45 #include "libkleo/ui/dnattributeorderconfigwidget.h"
46 
47 #ifdef KDEPIM_ONLY_KLEO
48 # include <utils/kleo_kicondialog.h>
49 #else
50 # include <kicondialog.h>
51 #endif
52 
53 #include <kconfig.h>
54 #include <klocale.h>
55 #include <kconfiggroup.h>
56 
57 #include <QColor>
58 #include <QFont>
59 #include <QString>
60 #include <QPainter>
61 #include <QRegExp>
62 #include <QApplication>
63 #include <QColorDialog>
64 #include <QFontDialog>
65 
66 #include <boost/range.hpp>
67 #include <boost/bind.hpp>
68 
69 #include <algorithm>
70 #include <cassert>
71 
72 using namespace Kleo;
73 using namespace Kleo::Config;
74 using namespace boost;
75 #ifdef KDEPIM_ONLY_KLEO
76 using namespace Kleo::KioAvoidance;
77 #endif
78 
79 enum {
80  HasNameRole = Qt::UserRole + 0x1234,
81  HasFontRole,
82  IconNameRole,
83  MayChangeNameRole,
84  MayChangeForegroundRole,
85  MayChangeBackgroundRole,
86  MayChangeFontRole,
87  MayChangeItalicRole,
88  MayChangeBoldRole,
89  MayChangeStrikeOutRole,
90  MayChangeIconRole,
91 
92  EndDummy
93 };
94 
95 static QFont tryToFindFontFor( const QListWidgetItem * item ) {
96  if ( item )
97  if ( const QListWidget * const lw = item->listWidget() )
98  return lw->font();
99  return QApplication::font( "QListWidget" );
100 }
101 
102 static bool is( const QListWidgetItem * item, bool (QFont::*func)() const ) {
103  if ( !item )
104  return false;
105  const QVariant v = item->data( Qt::FontRole );
106  if ( !v.isValid() || v.type() != QVariant::Font )
107  return false;
108  return (v.value<QFont>().*func)();
109 }
110 
111 static bool is_italic( const QListWidgetItem * item ) {
112  return is( item, &QFont::italic );
113 }
114 static bool is_bold( const QListWidgetItem * item ) {
115  return is( item, &QFont::bold );
116 }
117 static bool is_strikeout( const QListWidgetItem * item ) {
118  return is( item, &QFont::strikeOut );
119 }
120 
121 
122 static void set( QListWidgetItem * item, bool on, void (QFont::*func)(bool) ) {
123  if ( !item )
124  return;
125  const QVariant v = item->data( Qt::FontRole );
126  QFont font = v.isValid() && v.type() == QVariant::Font ? v.value<QFont>() : tryToFindFontFor( item ) ;
127  (font.*func)( on );
128  item->setData( Qt::FontRole, font );
129 }
130 
131 static void set_italic( QListWidgetItem * item, bool on ) {
132  set( item, on, &QFont::setItalic );
133 }
134 static void set_bold( QListWidgetItem * item, bool on ) {
135  set( item, on, &QFont::setBold );
136 }
137 static void set_strikeout( QListWidgetItem * item, bool on ) {
138  set( item, on, &QFont::setStrikeOut );
139 }
140 
141 
142 static void apply_config( const KConfigGroup & group, QListWidgetItem * item ) {
143  if ( !item )
144  return;
145 
146  const QString name = group.readEntry( "Name" );
147  item->setText( name.isEmpty() ? i18nc("Key filter without user-assigned name", "<unnamed>") : name );
148  item->setData( HasNameRole, !name.isEmpty() );
149  item->setData( MayChangeNameRole, !group.isEntryImmutable( "Name" ) );
150 
151  const QColor fg = group.readEntry( "foreground-color", QColor() );
152  item->setData( Qt::ForegroundRole, fg.isValid() ? QBrush( fg ) : QVariant() );
153  item->setData( MayChangeForegroundRole, !group.isEntryImmutable( "foreground-color" ) );
154 
155  const QColor bg = group.readEntry( "background-color", QColor() );
156  item->setData( Qt::BackgroundRole, bg.isValid() ? QBrush( bg ) : QVariant() );
157  item->setData( MayChangeBackgroundRole, !group.isEntryImmutable( "background-color" ) );
158 
159  const QFont defaultFont = tryToFindFontFor( item );
160  if ( group.hasKey( "font" ) ) {
161  const QFont font = group.readEntry( "font", defaultFont );
162  item->setData( Qt::FontRole, font != defaultFont ? font : QVariant() );
163  item->setData( HasFontRole, font != defaultFont );
164  } else {
165  QFont font = defaultFont;
166  font.setStrikeOut( group.readEntry( "font-strikeout", false ) );
167  font.setItalic( group.readEntry( "font-italic", false ) );
168  font.setBold( group.readEntry( "font-bold", false ) );
169  item->setData( Qt::FontRole, font );
170  item->setData( HasFontRole, false );
171  }
172  item->setData( MayChangeFontRole, !group.isEntryImmutable( "font" ) );
173  item->setData( MayChangeItalicRole, !group.isEntryImmutable( "font-italic" ) );
174  item->setData( MayChangeBoldRole, !group.isEntryImmutable( "font-bold" ) );
175  item->setData( MayChangeStrikeOutRole, !group.isEntryImmutable( "font-strikeout" ) );
176 
177  const QString iconName = group.readEntry( "icon" );
178  item->setData( Qt::DecorationRole, iconName.isEmpty() ? QVariant() : KIcon( iconName ) );
179  item->setData( IconNameRole, iconName.isEmpty() ? QVariant() : iconName );
180  item->setData( MayChangeIconRole, !group.isEntryImmutable( "icon" ) );
181 }
182 
183 static void erase_if_allowed( QListWidgetItem * item, int role, int allowRole ) {
184  if ( item && item->data( allowRole ).toBool() )
185  item->setData( role, QVariant() );
186 }
187 
188 #if 0
189 static void erase_if_allowed( QListWidgetItem * item, const int role[], size_t numRoles, int allowRole ) {
190  if ( item && item->data( allowRole ).toBool() )
191  for ( unsigned int i = 0 ; i < numRoles ; ++i )
192  item->setData( role[i], QVariant() );
193 }
194 
195 static void erase_if_allowed( QListWidgetItem * item, int role, const int allowRole[], size_t numAllowRoles ) {
196  if ( !item )
197  return;
198  for ( unsigned int i = 0 ; i < numAllowRoles ; ++i )
199  if ( !item->data( allowRole[i] ).toBool() )
200  return;
201  item->setData( role, QVariant() );
202 }
203 #endif
204 
205 static void erase_if_allowed( QListWidgetItem * item, const int role[], size_t numRoles, const int allowRole[], size_t numAllowRoles ) {
206  if ( !item )
207  return;
208  for ( unsigned int i = 0 ; i < numAllowRoles ; ++i )
209  if ( !item->data( allowRole[i] ).toBool() )
210  return;
211  for ( unsigned int i = 0 ; i < numRoles ; ++i )
212  item->setData( role[i], QVariant() );
213 }
214 
215 static void set_default_appearance( QListWidgetItem * item ) {
216  if ( !item )
217  return;
218  erase_if_allowed( item, Qt::ForegroundRole, MayChangeForegroundRole );
219  erase_if_allowed( item, Qt::BackgroundRole, MayChangeBackgroundRole );
220  erase_if_allowed( item, Qt::DecorationRole, MayChangeIconRole );
221  static const int fontRoles[] = { Qt::FontRole, HasFontRole };
222  static const int fontAllowRoles[] = {
223  MayChangeFontRole,
224  MayChangeItalicRole,
225  MayChangeBoldRole,
226  MayChangeStrikeOutRole,
227  };
228  erase_if_allowed( item, fontRoles, size( fontRoles ), fontAllowRoles, size( fontAllowRoles ) );
229 }
230 
231 static void writeOrDelete( KConfigGroup & group, const char * key, const QVariant & value ) {
232  if ( value.isValid() )
233  group.writeEntry( key, value );
234  else
235  group.deleteEntry( key );
236 }
237 
238 static QVariant brush2color( const QVariant & v ) {
239  if ( v.isValid() ) {
240  if ( v.type() == QVariant::Color )
241  return v;
242  else if ( v.type() == QVariant::Brush )
243  return v.value<QBrush>().color();
244  }
245  return QVariant();
246 }
247 
248 static void save_to_config( const QListWidgetItem * item, KConfigGroup & group ) {
249  if ( !item )
250  return;
251  writeOrDelete( group, "Name", item->data( HasNameRole ).toBool() ? item->text() : QVariant() );
252  writeOrDelete( group, "foreground-color", brush2color( item->data( Qt::ForegroundRole ) ) );
253  writeOrDelete( group, "background-color", brush2color( item->data( Qt::BackgroundRole ) ) );
254  writeOrDelete( group, "icon", item->data( IconNameRole ) );
255 
256  group.deleteEntry( "font" );
257  group.deleteEntry( "font-strikeout" );
258  group.deleteEntry( "font-italic" );
259  group.deleteEntry( "font-bold" );
260 
261  if ( item->data( HasFontRole ).toBool() ) {
262  writeOrDelete( group, "font", item->data( Qt::FontRole ) );
263  return;
264  }
265 
266  if ( is_strikeout( item ) )
267  group.writeEntry( "font-strikeout", true );
268  if ( is_italic( item ) )
269  group.writeEntry( "font-italic", true );
270  if ( is_bold( item ) )
271  group.writeEntry( "font-bold", true );
272 }
273 
274 static void kiosk_enable( QWidget * w, const QListWidgetItem * item, int allowRole ) {
275  if ( !w )
276  return;
277  if ( item && !item->data( allowRole ).toBool() ) {
278  w->setEnabled( false );
279  w->setToolTip( i18n( "This parameter has been locked down by the system administrator." ) );
280  } else {
281  w->setEnabled( item );
282  w->setToolTip( QString() );
283  }
284 }
285 
286 
287 
288 
289 
290 
291 
292 class AppearanceConfigWidget::Private : public Ui_AppearanceConfigWidget {
293  friend class ::Kleo::Config::AppearanceConfigWidget;
294  AppearanceConfigWidget * const q;
295 public:
296  explicit Private( AppearanceConfigWidget * qq )
297  : Ui_AppearanceConfigWidget(),
298  q( qq ),
299  dnOrderWidget( 0 )
300  {
301  setupUi( q );
302 
303  if ( QLayout * const l = q->layout() )
304  l->setMargin( 0 );
305 
306  QWidget * w = new QWidget;
307  dnOrderWidget = Kleo::DNAttributeMapper::instance()->configWidget( w );
308  dnOrderWidget->setObjectName( QLatin1String( "dnOrderWidget" ) );
309  ( new QVBoxLayout( w ) )->addWidget( dnOrderWidget );
310 
311  tabWidget->addTab( w, i18n("DN-Attribute Order") );
312 
313  connect( dnOrderWidget, SIGNAL(changed()), q, SIGNAL(changed()) );
314 
315  connect( iconButton, SIGNAL(clicked()), q, SLOT(slotIconClicked()) );
316 #ifndef QT_NO_COLORDIALOG
317  connect( foregroundButton, SIGNAL(clicked()), q, SLOT(slotForegroundClicked()) );
318  connect( backgroundButton, SIGNAL(clicked()), q, SLOT(slotBackgroundClicked()) );
319 #else
320  foregroundButton->hide();
321  backgroundButton->hide();
322 #endif
323 #ifndef QT_NO_FONTDIALOG
324  connect( fontButton, SIGNAL(clicked()), q, SLOT(slotFontClicked()) );
325 #else
326  fontButton->hide();
327 #endif
328  connect( categoriesLV, SIGNAL(itemSelectionChanged()), q, SLOT(slotSelectionChanged()) );
329  connect( defaultLookPB, SIGNAL(clicked()), q, SLOT(slotDefaultClicked()) );
330  connect( italicCB, SIGNAL(toggled(bool)), q, SLOT(slotItalicToggled(bool)) );
331  connect( boldCB, SIGNAL(toggled(bool)), q, SLOT(slotBoldToggled(bool)) );
332  connect( strikeoutCB, SIGNAL(toggled(bool)), q, SLOT(slotStrikeOutToggled(bool)) );
333  connect( tooltipValidityCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipValidityChanged(bool)) );
334  connect( tooltipOwnerCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipOwnerChanged(bool)) );
335  connect( tooltipDetailsCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipDetailsChanged(bool)) );
336  }
337 
338 private:
339  void enableDisableActions( QListWidgetItem * item );
340  QListWidgetItem * selectedItem() const;
341 
342 private:
343  void slotIconClicked();
344 #ifndef QT_NO_COLORDIALOG
345  void slotForegroundClicked();
346  void slotBackgroundClicked();
347 #endif
348 #ifndef QT_NO_FONTDIALOG
349  void slotFontClicked();
350 #endif
351  void slotSelectionChanged();
352  void slotDefaultClicked();
353  void slotItalicToggled(bool);
354  void slotBoldToggled(bool);
355  void slotStrikeOutToggled(bool);
356  void slotTooltipValidityChanged(bool);
357  void slotTooltipOwnerChanged(bool);
358  void slotTooltipDetailsChanged(bool);
359 
360 private:
361  Kleo::DNAttributeOrderConfigWidget * dnOrderWidget;
362 };
363 
364 AppearanceConfigWidget::AppearanceConfigWidget( QWidget * p, Qt::WindowFlags f )
365  : QWidget( p, f ), d( new Private( this ) )
366 {
367 // load();
368 }
369 
370 
371 AppearanceConfigWidget::~AppearanceConfigWidget() {}
372 
373 void AppearanceConfigWidget::Private::slotSelectionChanged() {
374  enableDisableActions( selectedItem() );
375 }
376 
377 QListWidgetItem * AppearanceConfigWidget::Private::selectedItem() const {
378  const QList<QListWidgetItem*> items = categoriesLV->selectedItems();
379  return items.empty() ? 0 : items.front() ;
380 }
381 
382 void AppearanceConfigWidget::Private::enableDisableActions( QListWidgetItem * item ) {
383  kiosk_enable( iconButton, item, MayChangeIconRole );
384 #ifndef QT_NO_COLORDIALOG
385  kiosk_enable( foregroundButton, item, MayChangeForegroundRole );
386  kiosk_enable( backgroundButton, item, MayChangeBackgroundRole );
387 #endif
388 #ifndef QT_NO_FONTDIALOG
389  kiosk_enable( fontButton, item, MayChangeFontRole );
390 #endif
391  kiosk_enable( italicCB, item, MayChangeItalicRole );
392  kiosk_enable( boldCB, item, MayChangeBoldRole );
393  kiosk_enable( strikeoutCB, item, MayChangeStrikeOutRole );
394 
395  defaultLookPB->setEnabled( item );
396 
397  italicCB->setChecked( is_italic( item ) );
398  boldCB->setChecked( is_bold( item ) );
399  strikeoutCB->setChecked( is_strikeout( item ) );
400 }
401 
402 void AppearanceConfigWidget::Private::slotDefaultClicked() {
403 
404  QListWidgetItem * const item = selectedItem();
405  if ( !item )
406  return;
407 
408  set_default_appearance( item );
409  enableDisableActions( item );
410 
411  emit q->changed();
412 }
413 
414 void AppearanceConfigWidget::defaults() {
415 
416  // This simply means "default look for every category"
417  for ( int i = 0, end = d->categoriesLV->count() ; i != end ; ++i )
418  set_default_appearance( d->categoriesLV->item( i ) );
419  d->tooltipValidityCheckBox->setChecked( true );
420  d->tooltipOwnerCheckBox->setChecked( false );
421  d->tooltipDetailsCheckBox->setChecked( false );
422 
423  d->dnOrderWidget->defaults();
424 
425  emit changed();
426 }
427 
428 void AppearanceConfigWidget::load() {
429 
430  d->dnOrderWidget->load();
431 
432  d->categoriesLV->clear();
433  KConfig * const config = CryptoBackendFactory::instance()->configObject();
434  if ( !config )
435  return;
436  const QStringList groups = config->groupList().filter( QRegExp( QLatin1String("^Key Filter #\\d+$") ) );
437  Q_FOREACH( const QString & group, groups ) {
438  //QListWidgetItem * item = new QListWidgetItem( d->categoriesLV );
439  apply_config( KConfigGroup( config, group ), new QListWidgetItem( d->categoriesLV ) );
440  }
441 
442  const TooltipPreferences prefs;
443  d->tooltipValidityCheckBox->setChecked( prefs.showValidity() );
444  d->tooltipOwnerCheckBox->setChecked( prefs.showOwnerInformation() );
445  d->tooltipDetailsCheckBox->setChecked( prefs.showCertificateDetails() );
446 }
447 
448 void AppearanceConfigWidget::save() {
449 
450  d->dnOrderWidget->save();
451 
452  TooltipPreferences prefs;
453  prefs.setShowValidity( d->tooltipValidityCheckBox->isChecked() );
454  prefs.setShowOwnerInformation( d->tooltipOwnerCheckBox->isChecked() );
455  prefs.setShowCertificateDetails( d->tooltipDetailsCheckBox->isChecked() );
456  prefs.writeConfig();
457 
458  KConfig * const config = CryptoBackendFactory::instance()->configObject();
459  if ( !config )
460  return;
461  // We know (assume) that the groups in the config object haven't changed,
462  // so we just iterate over them and over the listviewitems, and map one-to-one.
463  const QStringList groups = config->groupList().filter( QRegExp( QLatin1String("^Key Filter #\\d+$") ) );
464 #if 0
465  if ( groups.isEmpty() ) {
466  // If we created the default categories ourselves just now, then we need to make up their list
467  Q3ListViewItemIterator lvit( categoriesLV );
468  for ( ; lvit.current() ; ++lvit )
469  groups << lvit.current()->text( 0 );
470  }
471 #endif
472  for ( int i = 0, end = std::min( groups.size(), d->categoriesLV->count() ) ; i != end ; ++i ) {
473  const QListWidgetItem * const item = d->categoriesLV->item( i );
474  assert( item );
475  KConfigGroup group( config, groups[i] );
476  save_to_config( item, group );
477  }
478 
479  config->sync();
480  KeyFilterManager::instance()->reload();
481 }
482 
483 void AppearanceConfigWidget::Private::slotIconClicked() {
484  QListWidgetItem * const item = selectedItem();
485  if ( !item )
486  return;
487 
488 #ifndef _WIN32_WCE
489  const QString iconName = KIconDialog::getIcon( /* repeating default arguments begin */
490  KIconLoader::Desktop, KIconLoader::Application, false, 0, false,
491  /* repeating default arguments end */
492  q );
493  if ( iconName.isEmpty() )
494 #endif
495  return;
496 
497 #ifndef _WIN32_WCE
498  item->setIcon( KIcon( iconName ) );
499  item->setData( IconNameRole, iconName );
500  emit q->changed();
501 #endif
502 }
503 
504 #ifndef QT_NO_COLORDIALOG
505 void AppearanceConfigWidget::Private::slotForegroundClicked() {
506  QListWidgetItem * const item = selectedItem();
507  if ( !item )
508  return;
509 
510  const QVariant v = brush2color( item->data( Qt::ForegroundRole ) );
511 
512  const QColor initial = v.isValid() ? v.value<QColor>() : categoriesLV->palette().color( QPalette::Normal, QPalette::Text );
513  const QColor c = QColorDialog::getColor( initial, q );
514 
515  if ( c.isValid() ) {
516  item->setData( Qt::ForegroundRole, QBrush( c ) );
517  emit q->changed();
518  }
519 }
520 
521 void AppearanceConfigWidget::Private::slotBackgroundClicked() {
522  QListWidgetItem * const item = selectedItem();
523  if ( !item )
524  return;
525 
526  const QVariant v = brush2color( item->data( Qt::BackgroundRole ) );
527 
528  const QColor initial = v.isValid() ? v.value<QColor>() : categoriesLV->palette().color( QPalette::Normal, QPalette::Base );
529  const QColor c = QColorDialog::getColor( initial, q );
530 
531  if ( c.isValid() ) {
532  item->setData( Qt::BackgroundRole, QBrush( c ) );
533  emit q->changed();
534  }
535 }
536 #endif // QT_NO_COLORDIALOG
537 
538 #ifndef QT_NO_FONTDIALOG
539 void AppearanceConfigWidget::Private::slotFontClicked() {
540  QListWidgetItem * const item = selectedItem();
541  if ( !item )
542  return;
543 
544  const QVariant v = item->data( Qt::FontRole );
545 
546  bool ok = false;
547  const QFont defaultFont = tryToFindFontFor( item );
548  const QFont initial = v.isValid() && v.type() == QVariant::Font ? v.value<QFont>() : defaultFont ;
549  QFont f = QFontDialog::getFont( &ok, initial, q );
550  if ( !ok )
551  return;
552 
553  // disallow circumventing KIOSK:
554  if ( !item->data( MayChangeItalicRole ).toBool() )
555  f.setItalic( initial.italic() );
556  if ( !item->data( MayChangeBoldRole ).toBool() )
557  f.setBold( initial.bold() );
558  if ( !item->data( MayChangeStrikeOutRole ).toBool() )
559  f.setStrikeOut( initial.strikeOut() );
560 
561  item->setData( Qt::FontRole, f != defaultFont ? f : QVariant() );
562  item->setData( HasFontRole, true );
563  emit q->changed();
564 }
565 #endif // QT_NO_FONTDIALOG
566 
567 void AppearanceConfigWidget::Private::slotItalicToggled( bool on ) {
568  set_italic( selectedItem(), on );
569  emit q->changed();
570 }
571 
572 void AppearanceConfigWidget::Private::slotBoldToggled( bool on ) {
573  set_bold( selectedItem(), on );
574  emit q->changed();
575 }
576 
577 void AppearanceConfigWidget::Private::slotStrikeOutToggled( bool on ) {
578  set_strikeout( selectedItem(), on );
579  emit q->changed();
580 }
581 
582 void AppearanceConfigWidget::Private::slotTooltipValidityChanged( bool )
583 {
584  emit q->changed();
585 }
586 
587 void AppearanceConfigWidget::Private::slotTooltipOwnerChanged( bool )
588 {
589  emit q->changed();
590 }
591 
592 void AppearanceConfigWidget::Private::slotTooltipDetailsChanged( bool )
593 {
594  emit q->changed();
595 }
596 
597 
598 #include "appearanceconfigwidget.moc"
MayChangeStrikeOutRole
Definition: appearanceconfigwidget.cpp:89
Kleo::TooltipPreferences
Definition: tooltippreferences.h:12
Kleo::Config::AppearanceConfigWidget::AppearanceConfigWidget
AppearanceConfigWidget(QWidget *parent=0, Qt::WindowFlags f=0)
Definition: appearanceconfigwidget.cpp:364
apply_config
static void apply_config(const KConfigGroup &group, QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:142
Kleo::Config::AppearanceConfigWidget::defaults
void defaults()
Definition: appearanceconfigwidget.cpp:414
MayChangeNameRole
Definition: appearanceconfigwidget.cpp:83
is_bold
static bool is_bold(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:114
set
static void set(QListWidgetItem *item, bool on, void(QFont::*func)(bool))
Definition: appearanceconfigwidget.cpp:122
Kleo::TooltipPreferences::showOwnerInformation
bool showOwnerInformation() const
Get Show certificate owner information.
Definition: tooltippreferences.h:48
is_strikeout
static bool is_strikeout(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:117
Kleo::TooltipPreferences::showCertificateDetails
bool showCertificateDetails() const
Get Show certificate details.
Definition: tooltippreferences.h:65
Kleo::Config::AppearanceConfigWidget::save
void save()
Definition: appearanceconfigwidget.cpp:448
QWidget
kleo_kicondialog.h
Kleo::TooltipPreferences::setShowOwnerInformation
void setShowOwnerInformation(bool v)
Set Show certificate owner information.
Definition: tooltippreferences.h:39
Kleo::Config::AppearanceConfigWidget
Definition: appearanceconfigwidget.h:44
tooltippreferences.h
MayChangeItalicRole
Definition: appearanceconfigwidget.cpp:87
save_to_config
static void save_to_config(const QListWidgetItem *item, KConfigGroup &group)
Definition: appearanceconfigwidget.cpp:248
IconNameRole
Definition: appearanceconfigwidget.cpp:82
is
static bool is(const QListWidgetItem *item, bool(QFont::*func)() const )
Definition: appearanceconfigwidget.cpp:102
erase_if_allowed
static void erase_if_allowed(QListWidgetItem *item, int role, int allowRole)
Definition: appearanceconfigwidget.cpp:183
Kleo::Config::AppearanceConfigWidget::changed
void changed()
d
#define d
Definition: adduseridcommand.cpp:90
writeOrDelete
static void writeOrDelete(KConfigGroup &group, const char *key, const QVariant &value)
Definition: appearanceconfigwidget.cpp:231
is_italic
static bool is_italic(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:111
Kleo::TooltipPreferences::setShowCertificateDetails
void setShowCertificateDetails(bool v)
Set Show certificate details.
Definition: tooltippreferences.h:56
brush2color
static QVariant brush2color(const QVariant &v)
Definition: appearanceconfigwidget.cpp:238
tryToFindFontFor
static QFont tryToFindFontFor(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:95
Kleo::TooltipPreferences::showValidity
bool showValidity() const
Get Show certificate validity.
Definition: tooltippreferences.h:31
Kleo::Config::AppearanceConfigWidget::~AppearanceConfigWidget
~AppearanceConfigWidget()
Definition: appearanceconfigwidget.cpp:371
Kleo::Config::AppearanceConfigWidget::load
void load()
Definition: appearanceconfigwidget.cpp:428
MayChangeBackgroundRole
Definition: appearanceconfigwidget.cpp:85
HasNameRole
Definition: appearanceconfigwidget.cpp:80
MayChangeIconRole
Definition: appearanceconfigwidget.cpp:90
set_italic
static void set_italic(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:131
MayChangeForegroundRole
Definition: appearanceconfigwidget.cpp:84
set_strikeout
static void set_strikeout(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:137
HasFontRole
Definition: appearanceconfigwidget.cpp:81
q
#define q
Definition: adduseridcommand.cpp:91
set_default_appearance
static void set_default_appearance(QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:215
Kleo::TooltipPreferences::setShowValidity
void setShowValidity(bool v)
Set Show certificate validity.
Definition: tooltippreferences.h:22
appearanceconfigwidget.h
MayChangeFontRole
Definition: appearanceconfigwidget.cpp:86
set_bold
static void set_bold(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:134
name
const char * name
Definition: uiserver/selectcertificatecommand.cpp:114
EndDummy
Definition: appearanceconfigwidget.cpp:92
kiosk_enable
static void kiosk_enable(QWidget *w, const QListWidgetItem *item, int allowRole)
Definition: appearanceconfigwidget.cpp:274
MayChangeBoldRole
Definition: appearanceconfigwidget.cpp:88
QList
Definition: commands/command.h:46
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:56:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kleopatra

Skip menu "kleopatra"
  • 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

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