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

kleopatra

  • sources
  • kde-4.14
  • 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 <QRegExp>
61 #include <QApplication>
62 #include <QColorDialog>
63 #include <QFontDialog>
64 
65 #ifndef Q_MOC_RUN
66 #include <boost/range.hpp>
67 #include <boost/bind.hpp>
68 #endif
69 
70 #include <algorithm>
71 #include <cassert>
72 
73 using namespace Kleo;
74 using namespace Kleo::Config;
75 using namespace boost;
76 #ifdef KDEPIM_ONLY_KLEO
77 using namespace Kleo::KioAvoidance;
78 #endif
79 
80 enum {
81  HasNameRole = Qt::UserRole + 0x1234,
82  HasFontRole,
83  IconNameRole,
84  MayChangeNameRole,
85  MayChangeForegroundRole,
86  MayChangeBackgroundRole,
87  MayChangeFontRole,
88  MayChangeItalicRole,
89  MayChangeBoldRole,
90  MayChangeStrikeOutRole,
91  MayChangeIconRole,
92 
93  EndDummy
94 };
95 
96 static QFont tryToFindFontFor( const QListWidgetItem * item ) {
97  if ( item )
98  if ( const QListWidget * const lw = item->listWidget() )
99  return lw->font();
100  return QApplication::font( "QListWidget" );
101 }
102 
103 static bool is( const QListWidgetItem * item, bool (QFont::*func)() const ) {
104  if ( !item )
105  return false;
106  const QVariant v = item->data( Qt::FontRole );
107  if ( !v.isValid() || v.type() != QVariant::Font )
108  return false;
109  return (v.value<QFont>().*func)();
110 }
111 
112 static bool is_italic( const QListWidgetItem * item ) {
113  return is( item, &QFont::italic );
114 }
115 static bool is_bold( const QListWidgetItem * item ) {
116  return is( item, &QFont::bold );
117 }
118 static bool is_strikeout( const QListWidgetItem * item ) {
119  return is( item, &QFont::strikeOut );
120 }
121 
122 
123 static void set( QListWidgetItem * item, bool on, void (QFont::*func)(bool) ) {
124  if ( !item )
125  return;
126  const QVariant v = item->data( Qt::FontRole );
127  QFont font = v.isValid() && v.type() == QVariant::Font ? v.value<QFont>() : tryToFindFontFor( item ) ;
128  (font.*func)( on );
129  item->setData( Qt::FontRole, font );
130 }
131 
132 static void set_italic( QListWidgetItem * item, bool on ) {
133  set( item, on, &QFont::setItalic );
134 }
135 static void set_bold( QListWidgetItem * item, bool on ) {
136  set( item, on, &QFont::setBold );
137 }
138 static void set_strikeout( QListWidgetItem * item, bool on ) {
139  set( item, on, &QFont::setStrikeOut );
140 }
141 
142 
143 static void apply_config( const KConfigGroup & group, QListWidgetItem * item ) {
144  if ( !item )
145  return;
146 
147  const QString name = group.readEntry( "Name" );
148  item->setText( name.isEmpty() ? i18nc("Key filter without user-assigned name", "<unnamed>") : name );
149  item->setData( HasNameRole, !name.isEmpty() );
150  item->setData( MayChangeNameRole, !group.isEntryImmutable( "Name" ) );
151 
152  const QColor fg = group.readEntry( "foreground-color", QColor() );
153  item->setData( Qt::ForegroundRole, fg.isValid() ? QBrush( fg ) : QVariant() );
154  item->setData( MayChangeForegroundRole, !group.isEntryImmutable( "foreground-color" ) );
155 
156  const QColor bg = group.readEntry( "background-color", QColor() );
157  item->setData( Qt::BackgroundRole, bg.isValid() ? QBrush( bg ) : QVariant() );
158  item->setData( MayChangeBackgroundRole, !group.isEntryImmutable( "background-color" ) );
159 
160  const QFont defaultFont = tryToFindFontFor( item );
161  if ( group.hasKey( "font" ) ) {
162  const QFont font = group.readEntry( "font", defaultFont );
163  item->setData( Qt::FontRole, font != defaultFont ? font : QVariant() );
164  item->setData( HasFontRole, font != defaultFont );
165  } else {
166  QFont font = defaultFont;
167  font.setStrikeOut( group.readEntry( "font-strikeout", false ) );
168  font.setItalic( group.readEntry( "font-italic", false ) );
169  font.setBold( group.readEntry( "font-bold", false ) );
170  item->setData( Qt::FontRole, font );
171  item->setData( HasFontRole, false );
172  }
173  item->setData( MayChangeFontRole, !group.isEntryImmutable( "font" ) );
174  item->setData( MayChangeItalicRole, !group.isEntryImmutable( "font-italic" ) );
175  item->setData( MayChangeBoldRole, !group.isEntryImmutable( "font-bold" ) );
176  item->setData( MayChangeStrikeOutRole, !group.isEntryImmutable( "font-strikeout" ) );
177 
178  const QString iconName = group.readEntry( "icon" );
179  item->setData( Qt::DecorationRole, iconName.isEmpty() ? QVariant() : KIcon( iconName ) );
180  item->setData( IconNameRole, iconName.isEmpty() ? QVariant() : iconName );
181  item->setData( MayChangeIconRole, !group.isEntryImmutable( "icon" ) );
182 }
183 
184 static void erase_if_allowed( QListWidgetItem * item, int role, int allowRole ) {
185  if ( item && item->data( allowRole ).toBool() )
186  item->setData( role, QVariant() );
187 }
188 
189 #if 0
190 static void erase_if_allowed( QListWidgetItem * item, const int role[], size_t numRoles, int allowRole ) {
191  if ( item && item->data( allowRole ).toBool() )
192  for ( unsigned int i = 0 ; i < numRoles ; ++i )
193  item->setData( role[i], QVariant() );
194 }
195 
196 static void erase_if_allowed( QListWidgetItem * item, int role, const int allowRole[], size_t numAllowRoles ) {
197  if ( !item )
198  return;
199  for ( unsigned int i = 0 ; i < numAllowRoles ; ++i )
200  if ( !item->data( allowRole[i] ).toBool() )
201  return;
202  item->setData( role, QVariant() );
203 }
204 #endif
205 
206 static void erase_if_allowed( QListWidgetItem * item, const int role[], size_t numRoles, const int allowRole[], size_t numAllowRoles ) {
207  if ( !item )
208  return;
209  for ( unsigned int i = 0 ; i < numAllowRoles ; ++i )
210  if ( !item->data( allowRole[i] ).toBool() )
211  return;
212  for ( unsigned int i = 0 ; i < numRoles ; ++i )
213  item->setData( role[i], QVariant() );
214 }
215 
216 static void set_default_appearance( QListWidgetItem * item ) {
217  if ( !item )
218  return;
219  erase_if_allowed( item, Qt::ForegroundRole, MayChangeForegroundRole );
220  erase_if_allowed( item, Qt::BackgroundRole, MayChangeBackgroundRole );
221  erase_if_allowed( item, Qt::DecorationRole, MayChangeIconRole );
222  static const int fontRoles[] = { Qt::FontRole, HasFontRole };
223  static const int fontAllowRoles[] = {
224  MayChangeFontRole,
225  MayChangeItalicRole,
226  MayChangeBoldRole,
227  MayChangeStrikeOutRole,
228  };
229  erase_if_allowed( item, fontRoles, size( fontRoles ), fontAllowRoles, size( fontAllowRoles ) );
230 }
231 
232 static void writeOrDelete( KConfigGroup & group, const char * key, const QVariant & value ) {
233  if ( value.isValid() )
234  group.writeEntry( key, value );
235  else
236  group.deleteEntry( key );
237 }
238 
239 static QVariant brush2color( const QVariant & v ) {
240  if ( v.isValid() ) {
241  if ( v.type() == QVariant::Color )
242  return v;
243  else if ( v.type() == QVariant::Brush )
244  return v.value<QBrush>().color();
245  }
246  return QVariant();
247 }
248 
249 static void save_to_config( const QListWidgetItem * item, KConfigGroup & group ) {
250  if ( !item )
251  return;
252  writeOrDelete( group, "Name", item->data( HasNameRole ).toBool() ? item->text() : QVariant() );
253  writeOrDelete( group, "foreground-color", brush2color( item->data( Qt::ForegroundRole ) ) );
254  writeOrDelete( group, "background-color", brush2color( item->data( Qt::BackgroundRole ) ) );
255  writeOrDelete( group, "icon", item->data( IconNameRole ) );
256 
257  group.deleteEntry( "font" );
258  group.deleteEntry( "font-strikeout" );
259  group.deleteEntry( "font-italic" );
260  group.deleteEntry( "font-bold" );
261 
262  if ( item->data( HasFontRole ).toBool() ) {
263  writeOrDelete( group, "font", item->data( Qt::FontRole ) );
264  return;
265  }
266 
267  if ( is_strikeout( item ) )
268  group.writeEntry( "font-strikeout", true );
269  if ( is_italic( item ) )
270  group.writeEntry( "font-italic", true );
271  if ( is_bold( item ) )
272  group.writeEntry( "font-bold", true );
273 }
274 
275 static void kiosk_enable( QWidget * w, const QListWidgetItem * item, int allowRole ) {
276  if ( !w )
277  return;
278  if ( item && !item->data( allowRole ).toBool() ) {
279  w->setEnabled( false );
280  w->setToolTip( i18n( "This parameter has been locked down by the system administrator." ) );
281  } else {
282  w->setEnabled( item );
283  w->setToolTip( QString() );
284  }
285 }
286 
287 
288 
289 
290 
291 
292 
293 class AppearanceConfigWidget::Private : public Ui_AppearanceConfigWidget {
294  friend class ::Kleo::Config::AppearanceConfigWidget;
295  AppearanceConfigWidget * const q;
296 public:
297  explicit Private( AppearanceConfigWidget * qq )
298  : Ui_AppearanceConfigWidget(),
299  q( qq ),
300  dnOrderWidget( 0 )
301  {
302  setupUi( q );
303 
304  if ( QLayout * const l = q->layout() )
305  l->setMargin( 0 );
306 
307  QWidget * w = new QWidget;
308  dnOrderWidget = Kleo::DNAttributeMapper::instance()->configWidget( w );
309  dnOrderWidget->setObjectName( QLatin1String( "dnOrderWidget" ) );
310  ( new QVBoxLayout( w ) )->addWidget( dnOrderWidget );
311 
312  tabWidget->addTab( w, i18n("DN-Attribute Order") );
313 
314  connect( dnOrderWidget, SIGNAL(changed()), q, SIGNAL(changed()) );
315 
316  connect( iconButton, SIGNAL(clicked()), q, SLOT(slotIconClicked()) );
317 #ifndef QT_NO_COLORDIALOG
318  connect( foregroundButton, SIGNAL(clicked()), q, SLOT(slotForegroundClicked()) );
319  connect( backgroundButton, SIGNAL(clicked()), q, SLOT(slotBackgroundClicked()) );
320 #else
321  foregroundButton->hide();
322  backgroundButton->hide();
323 #endif
324 #ifndef QT_NO_FONTDIALOG
325  connect( fontButton, SIGNAL(clicked()), q, SLOT(slotFontClicked()) );
326 #else
327  fontButton->hide();
328 #endif
329  connect( categoriesLV, SIGNAL(itemSelectionChanged()), q, SLOT(slotSelectionChanged()) );
330  connect( defaultLookPB, SIGNAL(clicked()), q, SLOT(slotDefaultClicked()) );
331  connect( italicCB, SIGNAL(toggled(bool)), q, SLOT(slotItalicToggled(bool)) );
332  connect( boldCB, SIGNAL(toggled(bool)), q, SLOT(slotBoldToggled(bool)) );
333  connect( strikeoutCB, SIGNAL(toggled(bool)), q, SLOT(slotStrikeOutToggled(bool)) );
334  connect( tooltipValidityCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipValidityChanged(bool)) );
335  connect( tooltipOwnerCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipOwnerChanged(bool)) );
336  connect( tooltipDetailsCheckBox, SIGNAL(toggled(bool)), q, SLOT(slotTooltipDetailsChanged(bool)) );
337  }
338 
339 private:
340  void enableDisableActions( QListWidgetItem * item );
341  QListWidgetItem * selectedItem() const;
342 
343 private:
344  void slotIconClicked();
345 #ifndef QT_NO_COLORDIALOG
346  void slotForegroundClicked();
347  void slotBackgroundClicked();
348 #endif
349 #ifndef QT_NO_FONTDIALOG
350  void slotFontClicked();
351 #endif
352  void slotSelectionChanged();
353  void slotDefaultClicked();
354  void slotItalicToggled(bool);
355  void slotBoldToggled(bool);
356  void slotStrikeOutToggled(bool);
357  void slotTooltipValidityChanged(bool);
358  void slotTooltipOwnerChanged(bool);
359  void slotTooltipDetailsChanged(bool);
360 
361 private:
362  Kleo::DNAttributeOrderConfigWidget * dnOrderWidget;
363 };
364 
365 AppearanceConfigWidget::AppearanceConfigWidget( QWidget * p, Qt::WindowFlags f )
366  : QWidget( p, f ), d( new Private( this ) )
367 {
368 // load();
369 }
370 
371 
372 AppearanceConfigWidget::~AppearanceConfigWidget() {}
373 
374 void AppearanceConfigWidget::Private::slotSelectionChanged() {
375  enableDisableActions( selectedItem() );
376 }
377 
378 QListWidgetItem * AppearanceConfigWidget::Private::selectedItem() const {
379  const QList<QListWidgetItem*> items = categoriesLV->selectedItems();
380  return items.empty() ? 0 : items.front() ;
381 }
382 
383 void AppearanceConfigWidget::Private::enableDisableActions( QListWidgetItem * item ) {
384  kiosk_enable( iconButton, item, MayChangeIconRole );
385 #ifndef QT_NO_COLORDIALOG
386  kiosk_enable( foregroundButton, item, MayChangeForegroundRole );
387  kiosk_enable( backgroundButton, item, MayChangeBackgroundRole );
388 #endif
389 #ifndef QT_NO_FONTDIALOG
390  kiosk_enable( fontButton, item, MayChangeFontRole );
391 #endif
392  kiosk_enable( italicCB, item, MayChangeItalicRole );
393  kiosk_enable( boldCB, item, MayChangeBoldRole );
394  kiosk_enable( strikeoutCB, item, MayChangeStrikeOutRole );
395 
396  defaultLookPB->setEnabled( item );
397 
398  italicCB->setChecked( is_italic( item ) );
399  boldCB->setChecked( is_bold( item ) );
400  strikeoutCB->setChecked( is_strikeout( item ) );
401 }
402 
403 void AppearanceConfigWidget::Private::slotDefaultClicked() {
404 
405  QListWidgetItem * const item = selectedItem();
406  if ( !item )
407  return;
408 
409  set_default_appearance( item );
410  enableDisableActions( item );
411 
412  emit q->changed();
413 }
414 
415 void AppearanceConfigWidget::defaults() {
416 
417  // This simply means "default look for every category"
418  for ( int i = 0, end = d->categoriesLV->count() ; i != end ; ++i )
419  set_default_appearance( d->categoriesLV->item( i ) );
420  d->tooltipValidityCheckBox->setChecked( true );
421  d->tooltipOwnerCheckBox->setChecked( false );
422  d->tooltipDetailsCheckBox->setChecked( false );
423 
424  d->dnOrderWidget->defaults();
425 
426  emit changed();
427 }
428 
429 void AppearanceConfigWidget::load() {
430 
431  d->dnOrderWidget->load();
432 
433  d->categoriesLV->clear();
434  KConfig * const config = CryptoBackendFactory::instance()->configObject();
435  if ( !config )
436  return;
437  const QStringList groups = config->groupList().filter( QRegExp( QLatin1String("^Key Filter #\\d+$") ) );
438  Q_FOREACH( const QString & group, groups ) {
439  //QListWidgetItem * item = new QListWidgetItem( d->categoriesLV );
440  apply_config( KConfigGroup( config, group ), new QListWidgetItem( d->categoriesLV ) );
441  }
442 
443  const TooltipPreferences prefs;
444  d->tooltipValidityCheckBox->setChecked( prefs.showValidity() );
445  d->tooltipOwnerCheckBox->setChecked( prefs.showOwnerInformation() );
446  d->tooltipDetailsCheckBox->setChecked( prefs.showCertificateDetails() );
447 }
448 
449 void AppearanceConfigWidget::save() {
450 
451  d->dnOrderWidget->save();
452 
453  TooltipPreferences prefs;
454  prefs.setShowValidity( d->tooltipValidityCheckBox->isChecked() );
455  prefs.setShowOwnerInformation( d->tooltipOwnerCheckBox->isChecked() );
456  prefs.setShowCertificateDetails( d->tooltipDetailsCheckBox->isChecked() );
457  prefs.writeConfig();
458 
459  KConfig * const config = CryptoBackendFactory::instance()->configObject();
460  if ( !config )
461  return;
462  // We know (assume) that the groups in the config object haven't changed,
463  // so we just iterate over them and over the listviewitems, and map one-to-one.
464  const QStringList groups = config->groupList().filter( QRegExp( QLatin1String("^Key Filter #\\d+$") ) );
465 #if 0
466  if ( groups.isEmpty() ) {
467  // If we created the default categories ourselves just now, then we need to make up their list
468  Q3ListViewItemIterator lvit( categoriesLV );
469  for ( ; lvit.current() ; ++lvit )
470  groups << lvit.current()->text( 0 );
471  }
472 #endif
473  for ( int i = 0, end = std::min( groups.size(), d->categoriesLV->count() ) ; i != end ; ++i ) {
474  const QListWidgetItem * const item = d->categoriesLV->item( i );
475  assert( item );
476  KConfigGroup group( config, groups[i] );
477  save_to_config( item, group );
478  }
479 
480  config->sync();
481  KeyFilterManager::instance()->reload();
482 }
483 
484 void AppearanceConfigWidget::Private::slotIconClicked() {
485  QListWidgetItem * const item = selectedItem();
486  if ( !item )
487  return;
488 
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  return;
495 
496  item->setIcon( KIcon( iconName ) );
497  item->setData( IconNameRole, iconName );
498  emit q->changed();
499 }
500 
501 #ifndef QT_NO_COLORDIALOG
502 void AppearanceConfigWidget::Private::slotForegroundClicked() {
503  QListWidgetItem * const item = selectedItem();
504  if ( !item )
505  return;
506 
507  const QVariant v = brush2color( item->data( Qt::ForegroundRole ) );
508 
509  const QColor initial = v.isValid() ? v.value<QColor>() : categoriesLV->palette().color( QPalette::Normal, QPalette::Text );
510  const QColor c = QColorDialog::getColor( initial, q );
511 
512  if ( c.isValid() ) {
513  item->setData( Qt::ForegroundRole, QBrush( c ) );
514  emit q->changed();
515  }
516 }
517 
518 void AppearanceConfigWidget::Private::slotBackgroundClicked() {
519  QListWidgetItem * const item = selectedItem();
520  if ( !item )
521  return;
522 
523  const QVariant v = brush2color( item->data( Qt::BackgroundRole ) );
524 
525  const QColor initial = v.isValid() ? v.value<QColor>() : categoriesLV->palette().color( QPalette::Normal, QPalette::Base );
526  const QColor c = QColorDialog::getColor( initial, q );
527 
528  if ( c.isValid() ) {
529  item->setData( Qt::BackgroundRole, QBrush( c ) );
530  emit q->changed();
531  }
532 }
533 #endif // QT_NO_COLORDIALOG
534 
535 #ifndef QT_NO_FONTDIALOG
536 void AppearanceConfigWidget::Private::slotFontClicked() {
537  QListWidgetItem * const item = selectedItem();
538  if ( !item )
539  return;
540 
541  const QVariant v = item->data( Qt::FontRole );
542 
543  bool ok = false;
544  const QFont defaultFont = tryToFindFontFor( item );
545  const QFont initial = v.isValid() && v.type() == QVariant::Font ? v.value<QFont>() : defaultFont ;
546  QFont f = QFontDialog::getFont( &ok, initial, q );
547  if ( !ok )
548  return;
549 
550  // disallow circumventing KIOSK:
551  if ( !item->data( MayChangeItalicRole ).toBool() )
552  f.setItalic( initial.italic() );
553  if ( !item->data( MayChangeBoldRole ).toBool() )
554  f.setBold( initial.bold() );
555  if ( !item->data( MayChangeStrikeOutRole ).toBool() )
556  f.setStrikeOut( initial.strikeOut() );
557 
558  item->setData( Qt::FontRole, f != defaultFont ? f : QVariant() );
559  item->setData( HasFontRole, true );
560  emit q->changed();
561 }
562 #endif // QT_NO_FONTDIALOG
563 
564 void AppearanceConfigWidget::Private::slotItalicToggled( bool on ) {
565  set_italic( selectedItem(), on );
566  emit q->changed();
567 }
568 
569 void AppearanceConfigWidget::Private::slotBoldToggled( bool on ) {
570  set_bold( selectedItem(), on );
571  emit q->changed();
572 }
573 
574 void AppearanceConfigWidget::Private::slotStrikeOutToggled( bool on ) {
575  set_strikeout( selectedItem(), on );
576  emit q->changed();
577 }
578 
579 void AppearanceConfigWidget::Private::slotTooltipValidityChanged( bool )
580 {
581  emit q->changed();
582 }
583 
584 void AppearanceConfigWidget::Private::slotTooltipOwnerChanged( bool )
585 {
586  emit q->changed();
587 }
588 
589 void AppearanceConfigWidget::Private::slotTooltipDetailsChanged( bool )
590 {
591  emit q->changed();
592 }
593 
594 
595 #include "moc_appearanceconfigwidget.cpp"
MayChangeStrikeOutRole
Definition: appearanceconfigwidget.cpp:90
Q3ListViewItem::text
virtual QString text(int column) const
QWidget
Kleo::Config::AppearanceConfigWidget::AppearanceConfigWidget
AppearanceConfigWidget(QWidget *parent=0, Qt::WindowFlags f=0)
Definition: appearanceconfigwidget.cpp:365
apply_config
static void apply_config(const KConfigGroup &group, QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:143
Kleo::Config::AppearanceConfigWidget::defaults
void defaults()
Definition: appearanceconfigwidget.cpp:415
MayChangeNameRole
Definition: appearanceconfigwidget.cpp:84
is_bold
static bool is_bold(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:115
QListWidgetItem::listWidget
QListWidget * listWidget() const
set
static void set(QListWidgetItem *item, bool on, void(QFont::*func)(bool))
Definition: appearanceconfigwidget.cpp:123
is_strikeout
static bool is_strikeout(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:118
QFont
Kleo::Config::AppearanceConfigWidget::save
void save()
Definition: appearanceconfigwidget.cpp:449
QLayout
QListWidgetItem
QVariant::value
T value() const
kleo_kicondialog.h
Kleo::Config::AppearanceConfigWidget
Definition: appearanceconfigwidget.h:44
QBrush
MayChangeItalicRole
Definition: appearanceconfigwidget.cpp:88
save_to_config
static void save_to_config(const QListWidgetItem *item, KConfigGroup &group)
Definition: appearanceconfigwidget.cpp:249
QListWidget
IconNameRole
Definition: appearanceconfigwidget.cpp:83
is
static bool is(const QListWidgetItem *item, bool(QFont::*func)() const )
Definition: appearanceconfigwidget.cpp:103
QFont::bold
bool bold() const
QList::size
int size() const
Q3ListViewItemIterator
QFont::italic
bool italic() const
QBrush::color
const QColor & color() const
Q3ListViewItemIterator::current
Q3ListViewItem * current() const
QFont::setBold
void setBold(bool enable)
erase_if_allowed
static void erase_if_allowed(QListWidgetItem *item, int role, int allowRole)
Definition: appearanceconfigwidget.cpp:184
QRegExp
Kleo::Config::AppearanceConfigWidget::changed
void changed()
QWidget::setEnabled
void setEnabled(bool)
QApplication::font
QFont font()
d
#define d
Definition: adduseridcommand.cpp:89
writeOrDelete
static void writeOrDelete(KConfigGroup &group, const char *key, const QVariant &value)
Definition: appearanceconfigwidget.cpp:232
QList::empty
bool empty() const
is_italic
static bool is_italic(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:112
brush2color
static QVariant brush2color(const QVariant &v)
Definition: appearanceconfigwidget.cpp:239
tryToFindFontFor
static QFont tryToFindFontFor(const QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:96
QList::isEmpty
bool isEmpty() const
QObject::setObjectName
void setObjectName(const QString &name)
QString::isEmpty
bool isEmpty() const
Kleo::Config::AppearanceConfigWidget::~AppearanceConfigWidget
~AppearanceConfigWidget()
Definition: appearanceconfigwidget.cpp:372
Kleo::Config::AppearanceConfigWidget::load
void load()
Definition: appearanceconfigwidget.cpp:429
QListWidgetItem::data
virtual QVariant data(int role) const
QVBoxLayout
MayChangeBackgroundRole
Definition: appearanceconfigwidget.cpp:86
QList::front
T & front()
QString
QList
Definition: commands/command.h:46
QColor
HasNameRole
Definition: appearanceconfigwidget.cpp:81
QStringList
MayChangeIconRole
Definition: appearanceconfigwidget.cpp:91
QListWidgetItem::setIcon
void setIcon(const QIcon &icon)
set_italic
static void set_italic(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:132
QListWidgetItem::setData
virtual void setData(int role, const QVariant &value)
QColorDialog::getColor
QColor getColor(const QColor &initial, QWidget *parent, const QString &title, QFlags< QColorDialog::ColorDialogOption > options)
QFont::setItalic
void setItalic(bool enable)
MayChangeForegroundRole
Definition: appearanceconfigwidget.cpp:85
set_strikeout
static void set_strikeout(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:138
QLatin1String
HasFontRole
Definition: appearanceconfigwidget.cpp:82
q
#define q
Definition: adduseridcommand.cpp:90
set_default_appearance
static void set_default_appearance(QListWidgetItem *item)
Definition: appearanceconfigwidget.cpp:216
appearanceconfigwidget.h
MayChangeFontRole
Definition: appearanceconfigwidget.cpp:87
set_bold
static void set_bold(QListWidgetItem *item, bool on)
Definition: appearanceconfigwidget.cpp:135
QFont::setStrikeOut
void setStrikeOut(bool enable)
QVariant::toBool
bool toBool() const
name
const char * name
Definition: uiserver/selectcertificatecommand.cpp:113
QVariant::isValid
bool isValid() const
Qt::WindowFlags
typedef WindowFlags
EndDummy
Definition: appearanceconfigwidget.cpp:93
QWidget::setToolTip
void setToolTip(const QString &)
QStringList::filter
QStringList filter(const QString &str, Qt::CaseSensitivity cs) const
QFont::strikeOut
bool strikeOut() const
QVariant::type
Type type() const
kiosk_enable
static void kiosk_enable(QWidget *w, const QListWidgetItem *item, int allowRole)
Definition: appearanceconfigwidget.cpp:275
QListWidgetItem::text
QString text() const
MayChangeBoldRole
Definition: appearanceconfigwidget.cpp:89
QListWidgetItem::setText
void setText(const QString &text)
QColor::isValid
bool isValid() const
QFontDialog::getFont
QFont getFont(bool *ok, const QFont &initial, QWidget *parent, const QString &title, QFlags< QFontDialog::FontDialogOption > options)
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:33:10 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
  • 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