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

libkdepim

  • sources
  • kde-4.14
  • kdepim
  • libkdepim
  • progresswidget
progressdialog.cpp
Go to the documentation of this file.
1 
32 #include "progressdialog.h"
33 #include "ssllabel.h"
34 
35 #include <KDebug>
36 #include <KHBox>
37 #include <KLocale>
38 #include <KStandardGuiItem>
39 
40 #include <QApplication>
41 #include <QCloseEvent>
42 #include <QEvent>
43 #include <QFrame>
44 #include <QLabel>
45 #include <QLayout>
46 #include <QObject>
47 #include <QProgressBar>
48 #include <QPushButton>
49 #include <QScrollBar>
50 #include <QTimer>
51 #include <QToolButton>
52 
53 namespace KPIM {
54 
55 static const int MAX_LABEL_WIDTH = 650;
56 
57 class TransactionItem;
58 
59 TransactionItemView::TransactionItemView( QWidget *parent, const char *name )
60  : QScrollArea( parent )
61 {
62  setObjectName( QLatin1String(name) );
63  setFrameStyle( NoFrame );
64  mBigBox = new KVBox( this );
65  setWidget( mBigBox );
66  setWidgetResizable( true );
67  setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed );
68 }
69 
70 TransactionItem *TransactionItemView::addTransactionItem( ProgressItem *item, bool first )
71 {
72  TransactionItem *ti = new TransactionItem( mBigBox, item, first );
73  mBigBox->layout()->addWidget( ti );
74 
75  resize( mBigBox->width(), mBigBox->height() );
76 
77  return ti;
78 }
79 
80 void TransactionItemView::resizeEvent ( QResizeEvent *event )
81 {
82  // Tell the layout in the parent (progressdialog) that our size changed
83  updateGeometry();
84 
85  QSize sz = parentWidget()->sizeHint();
86  int currentWidth = parentWidget()->width();
87 
88  // Don't resize to sz.width() every time when it only reduces a little bit
89  if ( currentWidth < sz.width() || currentWidth > sz.width() + 100 ) {
90  currentWidth = sz.width();
91  }
92  parentWidget()->resize( currentWidth, sz.height() );
93 
94  QScrollArea::resizeEvent( event );
95 }
96 
97 QSize TransactionItemView::sizeHint() const
98 {
99  return minimumSizeHint();
100 }
101 
102 QSize TransactionItemView::minimumSizeHint() const
103 {
104  int f = 2 * frameWidth();
105  // Make room for a vertical scrollbar in all cases, to avoid a horizontal one
106  int vsbExt = verticalScrollBar()->sizeHint().width();
107  int minw = topLevelWidget()->width() / 3;
108  int maxh = topLevelWidget()->height() / 2;
109  QSize sz( mBigBox->minimumSizeHint() );
110  sz.setWidth( qMax( sz.width(), minw ) + f + vsbExt );
111  sz.setHeight( qMin( sz.height(), maxh ) + f );
112  return sz;
113 }
114 
115 void TransactionItemView::slotLayoutFirstItem()
116 {
117  //This slot is called whenever a TransactionItem is deleted, so this is a
118  //good place to call updateGeometry(), so our parent takes the new size
119  //into account and resizes.
120  updateGeometry();
121 
122  /*
123  The below relies on some details in Qt's behaviour regarding deleting
124  objects. This slot is called from the destroyed signal of an item just
125  going away. That item is at that point still in the list of chilren, but
126  since the vtable is already gone, it will have type QObject. The first
127  one with both the right name and the right class therefor is what will
128  be the first item very shortly. That's the one we want to remove the
129  hline for.
130  */
131  TransactionItem *ti = mBigBox->findChild<KPIM::TransactionItem*>( QLatin1String("TransactionItem") );
132  if ( ti ) {
133  ti->hideHLine();
134  }
135 }
136 
137 // ----------------------------------------------------------------------------
138 
139 TransactionItem::TransactionItem( QWidget *parent,
140  ProgressItem *item, bool first )
141  : KVBox( parent ), mCancelButton( 0 ), mItem( item )
142 
143 {
144  setSpacing( 2 );
145  setMargin( 2 );
146  setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ) );
147 
148  mFrame = new QFrame( this );
149  mFrame->setFrameShape( QFrame::HLine );
150  mFrame->setFrameShadow( QFrame::Raised );
151  mFrame->show();
152  setStretchFactor( mFrame, 3 );
153  layout()->addWidget( mFrame );
154 
155  KHBox *h = new KHBox( this );
156  h->setSpacing( 5 );
157  layout()->addWidget( h );
158 
159  mItemLabel =
160  new QLabel( fontMetrics().elidedText( item->label(), Qt::ElideRight, MAX_LABEL_WIDTH ), h );
161  h->layout()->addWidget( mItemLabel );
162  h->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ) );
163 
164  mProgress = new QProgressBar( h );
165  mProgress->setMaximum( 100 );
166  mProgress->setValue( item->progress() );
167  h->layout()->addWidget( mProgress );
168 
169  if ( item->canBeCanceled() ) {
170  mCancelButton = new QPushButton( SmallIcon( QLatin1String("dialog-cancel") ), QString(), h );
171  mCancelButton->setToolTip( i18n( "Cancel this operation." ) );
172  connect ( mCancelButton, SIGNAL(clicked()),
173  this, SLOT(slotItemCanceled()));
174  h->layout()->addWidget( mCancelButton );
175  }
176 
177  h = new KHBox( this );
178  h->setSpacing( 5 );
179  h->setSizePolicy( QSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ) );
180  layout()->addWidget( h );
181  mSSLLabel = new SSLLabel( h );
182  mSSLLabel->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ) );
183  h->layout()->addWidget( mSSLLabel );
184  mItemStatus = new QLabel( h );
185  mItemStatus->setTextFormat( Qt::RichText );
186  mItemStatus->setText(
187  fontMetrics().elidedText( item->status(), Qt::ElideRight, MAX_LABEL_WIDTH ) );
188  h->layout()->addWidget( mItemStatus );
189  setCryptoStatus(item->cryptoStatus() );
190  if ( first ) {
191  hideHLine();
192  }
193 }
194 
195 TransactionItem::~TransactionItem()
196 {
197 }
198 
199 void TransactionItem::hideHLine()
200 {
201  mFrame->hide();
202 }
203 
204 void TransactionItem::setProgress( int progress )
205 {
206  mProgress->setValue( progress );
207 }
208 
209 void TransactionItem::setLabel( const QString &label )
210 {
211  mItemLabel->setText( fontMetrics().elidedText( label, Qt::ElideRight, MAX_LABEL_WIDTH ) );
212 }
213 
214 void TransactionItem::setStatus( const QString &status )
215 {
216  mItemStatus->setText( fontMetrics().elidedText( status, Qt::ElideRight, MAX_LABEL_WIDTH ) );
217 }
218 
219 void TransactionItem::setCryptoStatus(KPIM::ProgressItem::CryptoStatus status)
220 {
221  switch (status) {
222  case KPIM::ProgressItem::Encrypted:
223  mSSLLabel->setEncrypted( SSLLabel::Encrypted );
224  break;
225  case KPIM::ProgressItem::Unencrypted:
226  mSSLLabel->setEncrypted( SSLLabel::Unencrypted );
227  break;
228  case KPIM::ProgressItem::Unknown:
229  mSSLLabel->setEncrypted( SSLLabel::Unknown );
230  break;
231  }
232  mSSLLabel->setState( mSSLLabel->lastState() );
233 }
234 
235 void TransactionItem::setTotalSteps( int totalSteps )
236 {
237  mProgress->setMaximum( totalSteps );
238 }
239 
240 void TransactionItem::slotItemCanceled()
241 {
242  if ( mItem ) {
243  mItem->cancel();
244  }
245 }
246 
247 void TransactionItem::addSubTransaction( ProgressItem *item )
248 {
249  Q_UNUSED( item );
250 }
251 
252 // ---------------------------------------------------------------------------
253 
254 ProgressDialog::ProgressDialog( QWidget *alignWidget, QWidget *parent, const char *name )
255  : OverlayWidget( alignWidget, parent, name ),
256  mShowTypeProgressItem(0),
257  mWasLastShown( false )
258 {
259  setFrameStyle( QFrame::Panel | QFrame::Sunken ); // QFrame
260 
261  setAutoFillBackground( true );
262 
263  mScrollView = new TransactionItemView( this, "ProgressScrollView" );
264  layout()->addWidget( mScrollView );
265  /*
266  * Get the singleton ProgressManager item which will inform us of
267  * appearing and vanishing items.
268  */
269  ProgressManager *pm = ProgressManager::instance();
270  connect ( pm, SIGNAL(progressItemAdded(KPIM::ProgressItem*)),
271  this, SLOT(slotTransactionAdded(KPIM::ProgressItem*)) );
272  connect ( pm, SIGNAL(progressItemCompleted(KPIM::ProgressItem*)),
273  this, SLOT(slotTransactionCompleted(KPIM::ProgressItem*)) );
274  connect ( pm, SIGNAL(progressItemProgress(KPIM::ProgressItem*,uint)),
275  this, SLOT(slotTransactionProgress(KPIM::ProgressItem*,uint)) );
276  connect ( pm, SIGNAL(progressItemStatus(KPIM::ProgressItem*,QString)),
277  this, SLOT(slotTransactionStatus(KPIM::ProgressItem*,QString)) );
278  connect ( pm, SIGNAL(progressItemLabel(KPIM::ProgressItem*,QString)),
279  this, SLOT(slotTransactionLabel(KPIM::ProgressItem*,QString)) );
280  connect ( pm, SIGNAL(progressItemCryptoStatus(KPIM::ProgressItem*,KPIM::ProgressItem::CryptoStatus)),
281  this, SLOT(slotTransactionCryptoStatus(KPIM::ProgressItem*,KPIM::ProgressItem::CryptoStatus)) );
282  connect ( pm, SIGNAL(progressItemUsesBusyIndicator(KPIM::ProgressItem*,bool)),
283  this, SLOT(slotTransactionUsesBusyIndicator(KPIM::ProgressItem*,bool)) );
284  connect ( pm, SIGNAL(showProgressDialog()),
285  this, SLOT(slotShow()) );
286 }
287 
288 void ProgressDialog::closeEvent( QCloseEvent *e )
289 {
290  e->accept();
291  hide();
292 }
293 
294 /*
295  * Destructor
296  */
297 ProgressDialog::~ProgressDialog()
298 {
299  // no need to delete child widgets.
300 }
301 
302 void ProgressDialog::setShowTypeProgressItem(unsigned int type)
303 {
304  mShowTypeProgressItem = type;
305 }
306 
307 void ProgressDialog::slotTransactionAdded( ProgressItem *item )
308 {
309  if (item->typeProgressItem() == mShowTypeProgressItem) {
310  if ( item->parent() ) {
311  if ( mTransactionsToListviewItems.contains( item->parent() ) ) {
312  TransactionItem * parent = mTransactionsToListviewItems[ item->parent() ];
313  parent->addSubTransaction( item );
314  }
315  } else {
316  const bool first = mTransactionsToListviewItems.empty();
317  TransactionItem *ti = mScrollView->addTransactionItem( item, first );
318  if ( ti ) {
319  mTransactionsToListviewItems.insert( item, ti );
320  }
321  if ( first && mWasLastShown ) {
322  QTimer::singleShot( 1000, this, SLOT(slotShow()) );
323  }
324  }
325  }
326 }
327 
328 void ProgressDialog::slotTransactionCompleted( ProgressItem *item )
329 {
330  if ( mTransactionsToListviewItems.contains( item ) ) {
331  TransactionItem *ti = mTransactionsToListviewItems[ item ];
332  mTransactionsToListviewItems.remove( item );
333  ti->setItemComplete();
334  QTimer::singleShot( 3000, ti, SLOT(deleteLater()) );
335  // see the slot for comments as to why that works
336  connect ( ti, SIGNAL(destroyed()),
337  mScrollView, SLOT(slotLayoutFirstItem()) );
338  }
339  // This was the last item, hide.
340  if ( mTransactionsToListviewItems.empty() ) {
341  QTimer::singleShot( 3000, this, SLOT(slotHide()) );
342  }
343 }
344 
345 void ProgressDialog::slotTransactionCanceled( ProgressItem * )
346 {
347 }
348 
349 void ProgressDialog::slotTransactionProgress( ProgressItem *item,
350  unsigned int progress )
351 {
352  if ( mTransactionsToListviewItems.contains( item ) ) {
353  TransactionItem *ti = mTransactionsToListviewItems[ item ];
354  ti->setProgress( progress );
355  }
356 }
357 
358 void ProgressDialog::slotTransactionStatus( ProgressItem *item,
359  const QString &status )
360 {
361  if ( mTransactionsToListviewItems.contains( item ) ) {
362  TransactionItem *ti = mTransactionsToListviewItems[ item ];
363  ti->setStatus( status );
364  }
365 }
366 
367 void ProgressDialog::slotTransactionLabel( ProgressItem *item,
368  const QString &label )
369 {
370  if ( mTransactionsToListviewItems.contains( item ) ) {
371  TransactionItem *ti = mTransactionsToListviewItems[ item ];
372  ti->setLabel( label );
373  }
374 }
375 
376 void ProgressDialog::slotTransactionCryptoStatus( ProgressItem *item,
377  KPIM::ProgressItem::CryptoStatus value )
378 {
379  if ( mTransactionsToListviewItems.contains( item ) ) {
380  TransactionItem *ti = mTransactionsToListviewItems[ item ];
381  ti->setCryptoStatus( value );
382  }
383 }
384 
385 void ProgressDialog::slotTransactionUsesBusyIndicator( KPIM::ProgressItem *item, bool value )
386 {
387  if ( mTransactionsToListviewItems.contains( item ) ) {
388  TransactionItem *ti = mTransactionsToListviewItems[ item ];
389  if ( value ) {
390  ti->setTotalSteps( 0 );
391  } else {
392  ti->setTotalSteps( 100 );
393  }
394  }
395 }
396 
397 void ProgressDialog::slotShow()
398 {
399  setVisible( true );
400 }
401 
402 void ProgressDialog::slotHide()
403 {
404  // check if a new item showed up since we started the timer. If not, hide
405  if ( mTransactionsToListviewItems.isEmpty() ) {
406  setVisible( false );
407  }
408 }
409 
410 void ProgressDialog::slotClose()
411 {
412  mWasLastShown = false;
413  setVisible( false );
414 }
415 
416 void ProgressDialog::setVisible( bool b )
417 {
418  OverlayWidget::setVisible( b );
419  emit visibilityChanged( b );
420 }
421 
422 void ProgressDialog::slotToggleVisibility()
423 {
424  /* Since we are only hiding with a timeout, there is a short period of
425  * time where the last item is still visible, but clicking on it in
426  * the statusbarwidget should not display the dialog, because there
427  * are no items to be shown anymore. Guard against that.
428  */
429  mWasLastShown = isHidden();
430  if ( !isHidden() || !mTransactionsToListviewItems.isEmpty() ) {
431  setVisible( isHidden() );
432  }
433 }
434 
435 }
436 
KPIM::TransactionItem::addSubTransaction
void addSubTransaction(ProgressItem *item)
Definition: progressdialog.cpp:247
KPIM::TransactionItem::setProgress
void setProgress(int progress)
Definition: progressdialog.cpp:204
QProgressBar
KPIM::SSLLabel::setState
void setState(State state)
Definition: ssllabel.cpp:58
QResizeEvent
QWidget
KPIM::ProgressManager::instance
static ProgressManager * instance()
Definition: progressmanager.cpp:199
QProgressBar::setMaximum
void setMaximum(int maximum)
QScrollBar::sizeHint
virtual QSize sizeHint() const
KPIM::TransactionItem::setItemComplete
void setItemComplete()
Definition: progressdialog.h:103
QScrollArea::setWidget
void setWidget(QWidget *widget)
KPIM::SSLLabel
Definition: ssllabel.h:39
KVBox
QSize::width
int width() const
KPIM::ProgressDialog::mWasLastShown
bool mWasLastShown
Definition: progressdialog.h:154
QWidget::updateGeometry
void updateGeometry()
KPIM::ProgressItem::Unencrypted
Definition: progressmanager.h:54
KPIM::ProgressDialog::slotToggleVisibility
void slotToggleVisibility()
Definition: progressdialog.cpp:422
QFrame::setFrameShape
void setFrameShape(Shape)
KPIM::ProgressItem::Unknown
Definition: progressmanager.h:55
QSizePolicy
ssllabel.h
KPIM::ProgressDialog::~ProgressDialog
~ProgressDialog()
Definition: progressdialog.cpp:297
KPIM::TransactionItem::setTotalSteps
void setTotalSteps(int totalSteps)
Definition: progressdialog.cpp:235
KPIM::TransactionItem::TransactionItem
TransactionItem(QWidget *parent, ProgressItem *item, bool first)
Definition: progressdialog.cpp:139
KPIM::ProgressDialog::slotShow
void slotShow()
Definition: progressdialog.cpp:397
KPIM::ProgressItem::canBeCanceled
bool canBeCanceled() const
Definition: progressmanager.h:92
KPIM::ProgressItem::parent
ProgressItem * parent() const
Definition: progressmanager.h:67
QFrame::setFrameStyle
void setFrameStyle(int style)
QProgressBar::setValue
void setValue(int value)
KPIM::ProgressDialog::slotTransactionCryptoStatus
void slotTransactionCryptoStatus(KPIM::ProgressItem *item, KPIM::ProgressItem::CryptoStatus)
Definition: progressdialog.cpp:376
KPIM::ProgressDialog::slotTransactionAdded
void slotTransactionAdded(KPIM::ProgressItem *item)
Definition: progressdialog.cpp:307
KPIM::TransactionItemView::minimumSizeHint
QSize minimumSizeHint() const
Definition: progressdialog.cpp:102
KPIM::TransactionItem::mItem
ProgressItem * mItem
Definition: progressdialog.h:115
KPIM::ProgressItem::label
const QString & label() const
Definition: progressmanager.h:72
KPIM::TransactionItem::mFrame
QFrame * mFrame
Definition: progressdialog.h:113
QWidget::width
width
KPIM::TransactionItem
Definition: progressdialog.h:77
QCloseEvent
KPIM::SSLLabel::setEncrypted
void setEncrypted(State enc=Encrypted)
Definition: ssllabel.cpp:48
QWidget::resize
void resize(int w, int h)
KPIM::TransactionItemView::resizeEvent
virtual void resizeEvent(QResizeEvent *event)
Definition: progressdialog.cpp:80
KPIM::ProgressDialog::visibilityChanged
void visibilityChanged(bool)
KPIM::TransactionItem::hideHLine
void hideHLine()
Definition: progressdialog.cpp:199
KPIM::TransactionItemView::TransactionItemView
TransactionItemView(QWidget *parent=0, const char *name=0)
Definition: progressdialog.cpp:59
KPIM::TransactionItem::~TransactionItem
~TransactionItem()
Definition: progressdialog.cpp:195
KPIM::TransactionItem::mProgress
QProgressBar * mProgress
Definition: progressdialog.h:109
KPIM::MAX_LABEL_WIDTH
static const int MAX_LABEL_WIDTH
Definition: progressdialog.cpp:55
KPIM::ProgressDialog::mShowTypeProgressItem
unsigned int mShowTypeProgressItem
Definition: progressdialog.h:153
KPIM::TransactionItem::mItemStatus
QLabel * mItemStatus
Definition: progressdialog.h:112
QWidget::topLevelWidget
QWidget * topLevelWidget() const
KPIM::ProgressDialog::ProgressDialog
ProgressDialog(QWidget *alignWidget, QWidget *parent, const char *name=0)
Definition: progressdialog.cpp:254
KPIM::TransactionItem::setStatus
void setStatus(const QString &)
Definition: progressdialog.cpp:214
KPIM::TransactionItemView::addTransactionItem
TransactionItem * addTransactionItem(ProgressItem *item, bool first)
Definition: progressdialog.cpp:70
KPIM::ProgressManager
The ProgressManager singleton keeps track of all ongoing transactions and notifies observers (progres...
Definition: progressmanager.h:285
QScrollArea::resizeEvent
virtual void resizeEvent(QResizeEvent *)
KPIM::ProgressDialog::closeEvent
virtual void closeEvent(QCloseEvent *)
Definition: progressdialog.cpp:288
KPIM::SSLLabel::Encrypted
Definition: ssllabel.h:43
KPIM::TransactionItem::setCryptoStatus
void setCryptoStatus(KPIM::ProgressItem::CryptoStatus)
Definition: progressdialog.cpp:219
QSize::setWidth
void setWidth(int width)
QObject::setObjectName
void setObjectName(const QString &name)
KPIM::ProgressDialog::slotTransactionUsesBusyIndicator
void slotTransactionUsesBusyIndicator(KPIM::ProgressItem *, bool)
Definition: progressdialog.cpp:385
KPIM::ProgressDialog::setShowTypeProgressItem
void setShowTypeProgressItem(unsigned int type)
Definition: progressdialog.cpp:302
QLabel::setTextFormat
void setTextFormat(Qt::TextFormat)
KPIM::TransactionItemView
Definition: progressdialog.h:55
KPIM::ProgressDialog::mTransactionsToListviewItems
QMap< const ProgressItem *, TransactionItem * > mTransactionsToListviewItems
Definition: progressdialog.h:152
KPIM::TransactionItem::slotItemCanceled
void slotItemCanceled()
Definition: progressdialog.cpp:240
KPIM::ProgressDialog::slotTransactionLabel
void slotTransactionLabel(KPIM::ProgressItem *item, const QString &)
Definition: progressdialog.cpp:367
QLabel::setText
void setText(const QString &)
QString
QWidget::hide
void hide()
KPIM::ProgressDialog::mScrollView
TransactionItemView * mScrollView
Definition: progressdialog.h:151
KPIM::TransactionItem::setLabel
void setLabel(const QString &)
Definition: progressdialog.cpp:209
KPIM::ProgressItem::cancel
void cancel()
Definition: progressmanager.cpp:117
QAbstractScrollArea::verticalScrollBar
QScrollBar * verticalScrollBar() const
KPIM::ProgressDialog::slotTransactionStatus
void slotTransactionStatus(KPIM::ProgressItem *item, const QString &)
Definition: progressdialog.cpp:358
QWidget::setSizePolicy
void setSizePolicy(QSizePolicy)
KPIM::TransactionItem::mItemLabel
QLabel * mItemLabel
Definition: progressdialog.h:111
QEvent::accept
void accept()
QSize
QScrollArea::setWidgetResizable
void setWidgetResizable(bool resizable)
QFrame
QWidget::sizeHint
sizeHint
KPIM::ProgressDialog::slotClose
void slotClose()
Definition: progressdialog.cpp:410
KPIM::ProgressItem::progress
unsigned int progress() const
Definition: progressmanager.h:127
QFrame::setFrameShadow
void setFrameShadow(Shadow)
KPIM::ProgressDialog::slotHide
void slotHide()
Definition: progressdialog.cpp:402
KPIM::ProgressDialog::setVisible
void setVisible(bool b)
Definition: progressdialog.cpp:416
KPIM::ProgressItem::typeProgressItem
unsigned int typeProgressItem() const
Definition: progressmanager.cpp:107
KPIM::ProgressItem::cryptoStatus
CryptoStatus cryptoStatus() const
Definition: progressmanager.h:103
QFrame::frameWidth
int frameWidth() const
KPIM::SSLLabel::lastState
State lastState() const
Definition: ssllabel.cpp:53
KPIM::ProgressDialog::slotTransactionCanceled
void slotTransactionCanceled(KPIM::ProgressItem *item)
Definition: progressdialog.cpp:345
QLatin1String
KPIM::ProgressDialog::slotTransactionCompleted
void slotTransactionCompleted(KPIM::ProgressItem *item)
Definition: progressdialog.cpp:328
KPIM::ProgressDialog::slotTransactionProgress
void slotTransactionProgress(KPIM::ProgressItem *item, unsigned int progress)
Definition: progressdialog.cpp:349
QWidget::parentWidget
QWidget * parentWidget() const
KPIM::TransactionItemView::sizeHint
QSize sizeHint() const
Definition: progressdialog.cpp:97
KPIM::ProgressItem
Definition: progressmanager.h:45
KPIM::TransactionItem::mSSLLabel
SSLLabel * mSSLLabel
Definition: progressdialog.h:114
KPIM::ProgressItem::status
const QString & status() const
Definition: progressmanager.h:82
QSize::height
int height() const
KPIM::ProgressItem::CryptoStatus
CryptoStatus
Definition: progressmanager.h:52
KPIM::TransactionItem::mCancelButton
QPushButton * mCancelButton
Definition: progressdialog.h:110
QPushButton
KHBox
QWidget::show
void show()
QWidget::setToolTip
void setToolTip(const QString &)
QScrollArea
progressdialog.h
KPIM::ProgressItem::Encrypted
Definition: progressmanager.h:53
QLabel
KPIM::OverlayWidget
This is a widget that can align itself with another one, without using a layout, so that it can actua...
Definition: overlaywidget.h:49
KPIM::SSLLabel::Unencrypted
Definition: ssllabel.h:44
KPIM::TransactionItemView::slotLayoutFirstItem
void slotLayoutFirstItem()
Definition: progressdialog.cpp:115
QWidget::height
height
KPIM::SSLLabel::Unknown
Definition: ssllabel.h:47
QTimer::singleShot
singleShot
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:33:50 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libkdepim

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

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