• 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
  • viewer
viewer.cpp
Go to the documentation of this file.
1 /* -*- mode: C++; c-file-style: "gnu" -*-
2  This file is part of KMail, the KDE mail client.
3  Copyright (c) 1997 Markus Wuebben <markus.wuebben@kde.org>
4  Copyright (C) 2009 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.net
5  Copyright (c) 2009 Andras Mantia <andras@kdab.net>
6  Copyright (C) 2013-2015 Laurent Montel <montel@kde.org>
7 
8  This program is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  This program 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
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License along
19  with this program; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
23 // define this to copy all html that is written to the readerwindow to
24 // filehtmlwriter.out in the current working directory
25 //#define KMAIL_READER_HTML_DEBUG 1
26 
27 
28 #include "viewer.h"
29 #include "viewer_p.h"
30 #include "widgets/configurewidget.h"
31 #include "csshelper.h"
32 #include "settings/globalsettings.h"
33 #include "viewer/mailwebview.h"
34 #include "viewer/mimeparttree/mimetreemodel.h"
35 #include "viewer/mimeparttree/mimeparttreeview.h"
36 #include "adblock/adblockmanager.h"
37 
38 #include <akonadi/kmime/messageparts.h>
39 #include <akonadi/itemfetchjob.h>
40 #include <akonadi/itemfetchscope.h>
41 
42 
43 #include <mailtransport/errorattribute.h>
44 
45 //KDE includes
46 #include <QWebView>
47 #include <QWebPage>
48 #include <QWebFrame>
49 
50 namespace MessageViewer {
51 
52 Viewer::Viewer( QWidget *aParent, QWidget *mainWindow, KActionCollection *actionCollection,
53  Qt::WindowFlags aFlags )
54  : QWidget( aParent, aFlags ), d_ptr( new ViewerPrivate( this, mainWindow, actionCollection ) )
55 {
56  initialize();
57 }
58 
59 
60 Viewer::~Viewer()
61 {
62  //the d_ptr is automatically deleted
63 }
64 
65 void Viewer::initialize()
66 {
67  connect( d_ptr, SIGNAL(replaceMsgByUnencryptedVersion()),
68  SIGNAL(replaceMsgByUnencryptedVersion()) );
69  connect( d_ptr, SIGNAL(popupMenu(Akonadi::Item,KUrl,KUrl,QPoint)),
70  SIGNAL(popupMenu(Akonadi::Item,KUrl,KUrl,QPoint)) );
71  connect( d_ptr, SIGNAL(urlClicked(Akonadi::Item,KUrl)),
72  SIGNAL(urlClicked(Akonadi::Item,KUrl)) );
73  connect( d_ptr, SIGNAL(requestConfigSync()), SIGNAL(requestConfigSync()) );
74  connect( d_ptr, SIGNAL(makeResourceOnline(MessageViewer::Viewer::ResourceOnlineMode)), SIGNAL(makeResourceOnline(MessageViewer::Viewer::ResourceOnlineMode)) );
75  connect( d_ptr, SIGNAL(showReader(KMime::Content*,bool,QString)),
76  SIGNAL(showReader(KMime::Content*,bool,QString)) );
77  connect( d_ptr, SIGNAL(showMessage(KMime::Message::Ptr,QString)), this, SIGNAL(showMessage(KMime::Message::Ptr,QString)) );
78  connect( d_ptr, SIGNAL(showStatusBarMessage(QString)),
79  this, SIGNAL(showStatusBarMessage(QString)) );
80  connect( d_ptr, SIGNAL(itemRemoved()),
81  this, SIGNAL(itemRemoved()) );
82  connect( d_ptr, SIGNAL(changeDisplayMail(Viewer::DisplayFormatMessage,bool)), SLOT(slotChangeDisplayMail(Viewer::DisplayFormatMessage,bool)) );
83  connect( d_ptr, SIGNAL(moveMessageToTrash()), SIGNAL(moveMessageToTrash()));
84 
85  connect( KGlobalSettings::self(), SIGNAL(kdisplayFontChanged()), d_ptr, SLOT(slotGeneralFontChanged()) );
86 
87  setMessage( KMime::Message::Ptr(), Delayed );
88 }
89 
90 void Viewer::setMessage(KMime::Message::Ptr message, UpdateMode updateMode )
91 {
92  Q_D(Viewer);
93  if ( message == d->message() )
94  return;
95  d->setMessage( message, updateMode );
96 }
97 
98 
99 void Viewer::setMessageItem( const Akonadi::Item &item, UpdateMode updateMode )
100 {
101  Q_D(Viewer);
102  if ( d->messageItem() == item )
103  return;
104  if ( !item.isValid() || item.loadedPayloadParts().contains( Akonadi::MessagePart::Body ) ) {
105  d->setMessageItem( item, updateMode );
106  } else {
107  Akonadi::ItemFetchJob* job = createFetchJob( item );
108  connect( job, SIGNAL(result(KJob*)), d, SLOT(itemFetchResult(KJob*)) );
109  d->displaySplashPage( i18n( "Loading message..." ) );
110  }
111 }
112 
113 QString Viewer::messagePath() const
114 {
115  Q_D( const Viewer );
116  return d->mMessagePath;
117 }
118 
119 void Viewer::setMessagePath( const QString& path )
120 {
121  Q_D( Viewer );
122  d->mMessagePath = path;
123 }
124 
125 void Viewer::displaySplashPage( const QString &info )
126 {
127  Q_D( Viewer );
128  d->displaySplashPage( info );
129 }
130 
131 void Viewer::enableMessageDisplay()
132 {
133  Q_D( Viewer );
134  d->enableMessageDisplay();
135 }
136 
137 void Viewer::printMessage( const Akonadi::Item &msg )
138 {
139  Q_D( Viewer );
140  d->printMessage( msg );
141 }
142 
143 void Viewer::printPreviewMessage( const Akonadi::Item &message )
144 {
145  Q_D( Viewer );
146  d->printPreviewMessage( message );
147 }
148 
149 void Viewer::printPreview()
150 {
151  Q_D(Viewer);
152  d->slotPrintPreview();
153 }
154 
155 void Viewer::print()
156 {
157  Q_D(Viewer);
158  d->slotPrintMsg();
159 }
160 
161 void Viewer::resizeEvent( QResizeEvent * )
162 {
163  Q_D(Viewer);
164  if( !d->mResizeTimer.isActive() )
165  {
166  //
167  // Combine all resize operations that are requested as long a
168  // the timer runs.
169  //
170  d->mResizeTimer.start( 100 );
171  }
172 }
173 
174 void Viewer::closeEvent( QCloseEvent *e )
175 {
176  Q_D(Viewer);
177  QWidget::closeEvent( e );
178  d->writeConfig();
179 }
180 
181 void Viewer::slotAttachmentSaveAs()
182 {
183  Q_D( Viewer );
184  d->slotAttachmentSaveAs();
185 }
186 
187 void Viewer::slotAttachmentSaveAll()
188 {
189  Q_D( Viewer );
190  d->slotAttachmentSaveAll();
191 }
192 
193 void Viewer::slotSaveMessage()
194 {
195  Q_D( Viewer );
196  d->slotSaveMessage();
197 }
198 
199 void Viewer::slotScrollUp( int pixels )
200 {
201  Q_D(Viewer);
202  d->mViewer->scrollUp( qAbs( pixels ) );
203 }
204 
205 void Viewer::slotScrollDown( int pixels )
206 {
207  Q_D(Viewer);
208  d->mViewer->scrollDown( qAbs( pixels ) );
209 }
210 
211 bool Viewer::atBottom() const
212 {
213  Q_D(const Viewer);
214  return d->mViewer->isScrolledToBottom();
215 }
216 
217 void Viewer::slotJumpDown()
218 {
219  Q_D(Viewer);
220  d->mViewer->scrollPageDown( 100 );
221 }
222 
223 void Viewer::slotScrollPrior()
224 {
225  Q_D(Viewer);
226  d->mViewer->scrollPageUp( 80 );
227 }
228 
229 void Viewer::slotScrollNext()
230 {
231  Q_D(Viewer);
232  d->mViewer->scrollPageDown( 80 );
233 }
234 
235 QString Viewer::selectedText() const
236 {
237  Q_D(const Viewer);
238  QString temp = d->mViewer->selectedText();
239  return temp;
240 }
241 
242 Viewer::DisplayFormatMessage Viewer::displayFormatMessageOverwrite() const
243 {
244  Q_D(const Viewer);
245  return d->displayFormatMessageOverwrite();
246 }
247 
248 void Viewer::setDisplayFormatMessageOverwrite(Viewer::DisplayFormatMessage format)
249 {
250  Q_D(Viewer);
251  d->setDisplayFormatMessageOverwrite(format);
252 }
253 
254 void Viewer::setHtmlLoadExtOverride( bool override )
255 {
256  Q_D(Viewer);
257  d->setHtmlLoadExtOverride( override );
258 }
259 
260 void Viewer::setAppName( const QString& appName )
261 {
262  Q_D(Viewer);
263  d->mAppName = appName;
264 }
265 
266 bool Viewer::htmlLoadExtOverride() const
267 {
268  Q_D(const Viewer);
269  return d->htmlLoadExtOverride();
270 }
271 
272 bool Viewer::htmlMail() const
273 {
274  Q_D(const Viewer);
275  return d->htmlMail();
276 }
277 
278 bool Viewer::htmlLoadExternal() const
279 {
280  Q_D(const Viewer);
281  return d->htmlLoadExternal();
282 }
283 
284 bool Viewer::isFixedFont() const
285 {
286  Q_D(const Viewer);
287  return d->mUseFixedFont;
288 
289 }
290 void Viewer::setUseFixedFont( bool useFixedFont )
291 {
292  Q_D(Viewer);
293  d->setUseFixedFont( useFixedFont );
294 }
295 
296 QWidget* Viewer::mainWindow()
297 {
298  Q_D(Viewer);
299  return d->mMainWindow;
300 }
301 
302 void Viewer::setDecryptMessageOverwrite( bool overwrite )
303 {
304  Q_D(Viewer);
305  d->setDecryptMessageOverwrite( overwrite );
306 }
307 
308 QWidget* Viewer::configWidget()
309 {
310  Q_D(Viewer);
311  ConfigureWidget *w = new ConfigureWidget();
312  connect( w, SIGNAL(settingsChanged()), d, SLOT(slotSettingsChanged()) );
313  return w;
314 }
315 
316 KMime::Message::Ptr Viewer::message() const
317 {
318  Q_D(const Viewer);
319  return d->mMessage;
320 }
321 
322 Akonadi::Item Viewer::messageItem() const
323 {
324  Q_D(const Viewer);
325  return d->mMessageItem;
326 }
327 
328 bool Viewer::event(QEvent *e)
329 {
330  Q_D(Viewer);
331  if (e->type() == QEvent::PaletteChange) {
332  delete d->mCSSHelper;
333  d->mCSSHelper = new CSSHelper( d->mViewer );
334  d->update( Viewer::Force ); // Force update
335  return true;
336  }
337  return QWidget::event(e);
338 }
339 
340 void Viewer::slotFind()
341 {
342  Q_D(Viewer);
343  d->slotFind();
344 }
345 
346 void Viewer::slotTranslate()
347 {
348  Q_D(Viewer);
349  d->slotTranslate();
350 }
351 
352 
353 const AttachmentStrategy * Viewer::attachmentStrategy() const
354 {
355  Q_D(const Viewer);
356  return d->attachmentStrategy();
357 }
358 
359 void Viewer::setAttachmentStrategy( const AttachmentStrategy * strategy )
360 {
361  Q_D(Viewer);
362  d->setAttachmentStrategy( strategy );
363 }
364 
365 QString Viewer::overrideEncoding() const
366 {
367  Q_D( const Viewer );
368  return d->overrideEncoding();
369 }
370 
371 void Viewer::setOverrideEncoding( const QString &encoding )
372 {
373  Q_D( Viewer );
374  d->setOverrideEncoding( encoding );
375 
376 }
377 
378 CSSHelper* Viewer::cssHelper() const
379 {
380  Q_D( const Viewer );
381  return d->cssHelper();
382 }
383 
384 
385 KToggleAction *Viewer::toggleFixFontAction()
386 {
387  Q_D( Viewer );
388  return d->mToggleFixFontAction;
389 }
390 
391 bool Viewer::mimePartTreeIsEmpty() const
392 {
393  Q_D( const Viewer );
394  return d->mimePartTreeIsEmpty();
395 }
396 
397 KToggleAction *Viewer::toggleMimePartTreeAction()
398 {
399  Q_D( Viewer );
400  return d->mToggleMimePartTreeAction;
401 }
402 
403 KAction *Viewer::selectAllAction()
404 {
405  Q_D( Viewer );
406  return d->mSelectAllAction;
407 }
408 
409 HeaderStrategy * Viewer::headerStrategy() const
410 {
411  Q_D( const Viewer );
412  return d->headerStrategy();
413 }
414 
415 HeaderStyle * Viewer::headerStyle() const
416 {
417  Q_D( const Viewer );
418  return d->headerStyle();
419 }
420 
421 void Viewer::setHeaderStyleAndStrategy( HeaderStyle * style,
422  HeaderStrategy * strategy )
423 {
424  Q_D( Viewer );
425  d->setHeaderStyleAndStrategy( style, strategy );
426 }
427 
428 void Viewer::setExternalWindow( bool b )
429 {
430  Q_D( Viewer );
431  d->setExternalWindow( b );
432 }
433 
434 KAction *Viewer::viewSourceAction()
435 {
436  Q_D( Viewer );
437  return d->mViewSourceAction;
438 }
439 
440 KAction *Viewer::copyURLAction()
441 {
442  Q_D( Viewer );
443  return d->mCopyURLAction;
444 }
445 
446 KAction *Viewer::copyAction()
447 {
448  Q_D( Viewer );
449  return d->mCopyAction;
450 }
451 
452 KAction *Viewer::speakTextAction()
453 {
454  Q_D( Viewer );
455  return d->mSpeakTextAction;
456 }
457 
458 KAction *Viewer::copyImageLocation()
459 {
460  Q_D( Viewer );
461  return d->mCopyImageLocation;
462 }
463 
464 KAction *Viewer::translateAction()
465 {
466  Q_D( Viewer );
467  return d->mTranslateAction;
468 }
469 
470 KAction *Viewer::saveAsAction()
471 {
472  Q_D( Viewer );
473  return d->mSaveMessageAction;
474 }
475 
476 KAction *Viewer::urlOpenAction()
477 {
478  Q_D( Viewer );
479  return d->mUrlOpenAction;
480 }
481 
482 void Viewer::setPrinting(bool enable)
483 {
484  Q_D( Viewer );
485  d->setPrinting( enable );
486 }
487 
488 void Viewer::writeConfig( bool force )
489 {
490  Q_D( Viewer );
491  d->writeConfig( force );
492 }
493 
494 KUrl Viewer::urlClicked() const
495 {
496  Q_D( const Viewer );
497  return d->mClickedUrl;
498 }
499 
500 KUrl Viewer::imageUrlClicked() const
501 {
502  Q_D( const Viewer );
503  return d->mImageUrl;
504 }
505 
506 void Viewer::update( MessageViewer::Viewer::UpdateMode updateMode )
507 {
508  Q_D( Viewer );
509  d->update( updateMode );
510 }
511 
512 void Viewer::setMessagePart( KMime::Content* aMsgPart )
513 {
514  Q_D( Viewer );
515  d->setMessagePart( aMsgPart );
516 }
517 
518 void Viewer::slotShowMessageSource()
519 {
520  Q_D( Viewer );
521  d->slotShowMessageSource();
522 }
523 
524 void Viewer::readConfig()
525 {
526  Q_D( Viewer );
527  d->readConfig();
528 }
529 
530 QAbstractItemModel* Viewer::messageTreeModel() const
531 {
532 #ifndef QT_NO_TREEVIEW
533  return d_func()->mMimePartTree->mimePartModel();
534 #else
535  return 0;
536 #endif
537 }
538 
539 Akonadi::ItemFetchJob* Viewer::createFetchJob( const Akonadi::Item &item )
540 {
541  Akonadi::ItemFetchJob* job = new Akonadi::ItemFetchJob( item );
542  job->fetchScope().fetchAllAttributes();
543  job->fetchScope().setAncestorRetrieval( Akonadi::ItemFetchScope::Parent );
544  job->fetchScope().fetchFullPayload( true );
545  job->fetchScope().fetchAttribute<MailTransport::ErrorAttribute>();
546  return job;
547 }
548 
549 void Viewer::setScrollBarPolicy( Qt::Orientation orientation, Qt::ScrollBarPolicy policy )
550 {
551  Q_D( Viewer );
552  d->mViewer->setScrollBarPolicy( orientation, policy );
553 }
554 
555 void Viewer::addMessageLoadedHandler( AbstractMessageLoadedHandler *handler )
556 {
557  Q_D( Viewer );
558 
559  if ( !handler )
560  return;
561 
562  d->mMessageLoadedHandlers.insert( handler );
563 }
564 
565 void Viewer::removeMessageLoadedHandler( AbstractMessageLoadedHandler *handler )
566 {
567  Q_D( Viewer );
568 
569  d->mMessageLoadedHandlers.remove( handler );
570 }
571 
572 void Viewer::deleteMessage()
573 {
574  Q_D( Viewer );
575  emit deleteMessage( d->messageItem() );
576 }
577 
578 void Viewer::selectAll()
579 {
580  Q_D( Viewer );
581  d->selectAll();
582 }
583 
584 void Viewer::clearSelection()
585 {
586  Q_D( Viewer );
587  d->clearSelection();
588 }
589 
590 
591 void Viewer::copySelectionToClipboard()
592 {
593  Q_D( Viewer );
594  d->slotCopySelectedText();
595 }
596 
597 void Viewer::setZoomFactor( qreal zoomFactor )
598 {
599  Q_D( Viewer );
600  d->setZoomFactor(zoomFactor);
601 }
602 
603 void Viewer::slotZoomReset()
604 {
605  Q_D( Viewer );
606  d->slotZoomReset();
607 }
608 
609 void Viewer::slotZoomIn()
610 {
611  Q_D( Viewer );
612  d->slotZoomIn();
613 }
614 
615 void Viewer::slotZoomOut()
616 {
617  Q_D( Viewer );
618  d->slotZoomOut();
619 }
620 
621 void Viewer::setZoomTextOnly( bool textOnly )
622 {
623  Q_D( Viewer );
624  d->setZoomTextOnly( textOnly );
625 }
626 
627 bool Viewer::zoomTextOnly() const
628 {
629  Q_D(const Viewer);
630  return d->mZoomTextOnly;
631 }
632 
633 KAction *Viewer::findInMessageAction()
634 {
635  Q_D( Viewer );
636  return d->mFindInMessageAction;
637 }
638 
639 void Viewer::slotChangeDisplayMail(Viewer::DisplayFormatMessage mode,bool loadExternal)
640 {
641  setHtmlLoadExtOverride(loadExternal);
642  setDisplayFormatMessageOverwrite(mode);
643  update(Viewer::Force);
644 }
645 
646 KAction *Viewer::saveMessageDisplayFormatAction()
647 {
648  Q_D( Viewer );
649  return d->mSaveMessageDisplayFormat;
650 }
651 
652 KAction *Viewer::resetMessageDisplayFormatAction()
653 {
654  Q_D( Viewer );
655  return d->mResetMessageDisplayFormat;
656 }
657 
658 void Viewer::saveMainFrameScreenshotInFile(const QString &filename)
659 {
660  Q_D( Viewer );
661  return d->saveMainFrameScreenshotInFile(filename);
662 }
663 
664 KAction *Viewer::blockImage()
665 {
666  Q_D( Viewer );
667  return d->mBlockImage;
668 }
669 
670 bool Viewer::adblockEnabled() const
671 {
672 #ifndef KDEPIM_NO_WEBKIT
673  return MessageViewer::AdBlockManager::self()->isEnabled();
674 #else
675  return false;
676 #endif
677 }
678 
679 KAction *Viewer::openBlockableItems()
680 {
681  Q_D( Viewer );
682  return d->mBlockableItems;
683 }
684 
685 bool Viewer::isAShortUrl(const KUrl &url) const
686 {
687  Q_D( const Viewer );
688  return d->isAShortUrl(url);
689 }
690 
691 KAction *Viewer::expandShortUrlAction()
692 {
693  Q_D( Viewer );
694  return d->mExpandUrlAction;
695 }
696 
697 KAction *Viewer::createTodoAction()
698 {
699  Q_D( Viewer );
700  return d->mCreateTodoAction;
701 }
702 
703 KAction *Viewer::createEventAction()
704 {
705  Q_D( Viewer );
706  return d->mCreateEventAction;
707 }
708 
709 void Viewer::showOpenAttachmentFolderWidget(const KUrl &url)
710 {
711  Q_D( Viewer );
712  d->showOpenAttachmentFolderWidget(url);
713 }
714 
715 }
716 
717 
718 
MessageViewer::Viewer::DisplayFormatMessage
DisplayFormatMessage
Definition: viewer.h:108
MessageViewer::Viewer::headerStrategy
HeaderStrategy * headerStrategy() const
Definition: viewer.cpp:409
MessageViewer::Viewer::selectedText
QString selectedText() const
Definition: viewer.cpp:235
QEvent
globalsettings.h
QResizeEvent
QWidget
MessageViewer::Viewer::showStatusBarMessage
void showStatusBarMessage(const QString &message)
Emitted when a status bar message is shown.
QEvent::type
Type type() const
viewer.h
MessageViewer::Viewer::resizeEvent
virtual void resizeEvent(QResizeEvent *)
Definition: viewer.cpp:161
MessageViewer::Viewer::slotAttachmentSaveAs
void slotAttachmentSaveAs()
Definition: viewer.cpp:181
MessageViewer::Viewer::moveMessageToTrash
void moveMessageToTrash()
MessageViewer::ConfigureWidget
Configure widget that can be used in a KConfigDialog.
Definition: configurewidget.h:37
MessageViewer::HeaderStyle
This class encapsulates the visual appearance of message headers.
Definition: headerstyle.h:60
MessageViewer::Viewer::enableMessageDisplay
void enableMessageDisplay()
Enable the displaying of messages again after an splash (or other) page was displayed.
Definition: viewer.cpp:131
MessageViewer::Viewer::atBottom
bool atBottom() const
Returns true if the message view is scrolled to the bottom.
Definition: viewer.cpp:211
MessageViewer::Viewer::headerStyle
HeaderStyle * headerStyle() const
Definition: viewer.cpp:415
MessageViewer::Viewer::configWidget
QWidget * configWidget()
Get an instance for the configuration widget.
Definition: viewer.cpp:308
MessageViewer::Viewer::slotScrollDown
void slotScrollDown(int pixels=10)
Definition: viewer.cpp:205
MessageViewer::Viewer::setUseFixedFont
void setUseFixedFont(bool useFixedFont)
Definition: viewer.cpp:290
MessageViewer::Viewer::resetMessageDisplayFormatAction
KAction * resetMessageDisplayFormatAction()
Definition: viewer.cpp:652
MessageViewer::Viewer::print
void print()
Print the currently displayed message.
Definition: viewer.cpp:155
MessageViewer::Viewer::slotFind
void slotFind()
Definition: viewer.cpp:340
MessageViewer::Viewer::setMessageItem
void setMessageItem(const Akonadi::Item &item, UpdateMode updateMode=Delayed)
Set the Akonadi item that will be displayed.
Definition: viewer.cpp:99
MessageViewer::Viewer::setExternalWindow
void setExternalWindow(bool b)
Definition: viewer.cpp:428
MessageViewer::Viewer::slotZoomOut
void slotZoomOut()
Definition: viewer.cpp:615
MessageViewer::Viewer::closeEvent
virtual void closeEvent(QCloseEvent *)
Some necessary event handling.
Definition: viewer.cpp:174
MessageViewer::Viewer::isAShortUrl
bool isAShortUrl(const KUrl &url) const
Definition: viewer.cpp:685
MessageViewer::Viewer::~Viewer
virtual ~Viewer()
Definition: viewer.cpp:60
MessageViewer::Viewer::setAttachmentStrategy
void setAttachmentStrategy(const AttachmentStrategy *strategy)
Definition: viewer.cpp:359
MessageViewer::Viewer::slotAttachmentSaveAll
void slotAttachmentSaveAll()
Definition: viewer.cpp:187
MessageViewer::Viewer::setMessagePath
void setMessagePath(const QString &path)
Set the path to the message in terms of Akonadi collection hierarchy.
Definition: viewer.cpp:119
MessageViewer::Viewer::htmlLoadExtOverride
bool htmlLoadExtOverride() const
Get the load external references override setting.
Definition: viewer.cpp:266
MessageViewer::Viewer::setMessagePart
void setMessagePart(KMime::Content *aMsgPart)
Instead of settings a message to be shown sets a message part to be shown.
Definition: viewer.cpp:512
MessageViewer::Viewer::readConfig
void readConfig()
Definition: viewer.cpp:524
MessageViewer::Viewer::slotJumpDown
void slotJumpDown()
Definition: viewer.cpp:217
MessageViewer::Viewer::mainWindow
QWidget * mainWindow()
Definition: viewer.cpp:296
MessageViewer::Viewer::slotTranslate
void slotTranslate()
Definition: viewer.cpp:346
MessageViewer::Viewer::urlOpenAction
KAction * urlOpenAction()
Definition: viewer.cpp:476
MessageViewer::Viewer::UpdateMode
UpdateMode
The display update mode: Force updates the display immediately, Delayed updates after some time (150m...
Definition: viewer.h:132
QPoint
MessageViewer::Viewer::setHeaderStyleAndStrategy
void setHeaderStyleAndStrategy(HeaderStyle *style, HeaderStrategy *strategy)
Definition: viewer.cpp:421
MessageViewer::Viewer::messageItem
Akonadi::Item messageItem() const
Returns the current message item displayed in the viewer.
Definition: viewer.cpp:322
MessageViewer::Viewer::clearSelection
void clearSelection()
Definition: viewer.cpp:584
MessageViewer::Viewer::imageUrlClicked
KUrl imageUrlClicked() const
Definition: viewer.cpp:500
MessageViewer::HeaderStrategy
Definition: headerstrategy.h:42
MessageViewer::Viewer::setMessage
void setMessage(KMime::Message::Ptr message, UpdateMode updateMode=Delayed)
Set the message that shall be shown.
Definition: viewer.cpp:90
MessageViewer::Viewer::attachmentStrategy
const AttachmentStrategy * attachmentStrategy() const
Definition: viewer.cpp:353
MessageViewer::Viewer::viewSourceAction
KAction * viewSourceAction()
Definition: viewer.cpp:434
MessageViewer::Viewer
This is the main widget for the viewer.
Definition: viewer.h:80
QWidget::update
void update()
MessageViewer::Viewer::openBlockableItems
KAction * openBlockableItems()
Definition: viewer.cpp:679
MessageViewer::Viewer::copySelectionToClipboard
void copySelectionToClipboard()
Definition: viewer.cpp:591
MessageViewer::Viewer::createFetchJob
static Akonadi::ItemFetchJob * createFetchJob(const Akonadi::Item &item)
Create an item fetch job that is suitable for using to fetch the message item that will be displayed ...
Definition: viewer.cpp:539
adblockmanager.h
MessageViewer::ViewerPrivate
Private class for the Viewer, the main widget in the messageviewer library.
Definition: viewer_p.h:180
MessageViewer::Viewer::setDisplayFormatMessageOverwrite
void setDisplayFormatMessageOverwrite(Viewer::DisplayFormatMessage format)
Override default html mail setting.
Definition: viewer.cpp:248
MessageViewer::Viewer::createEventAction
KAction * createEventAction()
Definition: viewer.cpp:703
MessageViewer::Viewer::expandShortUrlAction
KAction * expandShortUrlAction()
Definition: viewer.cpp:691
QCloseEvent
MessageViewer::Viewer::overrideEncoding
QString overrideEncoding() const
Definition: viewer.cpp:365
MessageViewer::Viewer::slotScrollNext
void slotScrollNext()
Definition: viewer.cpp:229
MessageViewer::Viewer::d_ptr
ViewerPrivate *const d_ptr
Definition: viewer.h:424
viewer_p.h
MessageViewer::Viewer::htmlLoadExternal
bool htmlLoadExternal() const
Is loading ext.
Definition: viewer.cpp:278
MessageViewer::Viewer::ResourceOnlineMode
ResourceOnlineMode
Definition: viewer.h:137
MessageViewer::Viewer::saveMainFrameScreenshotInFile
void saveMainFrameScreenshotInFile(const QString &filename)
Definition: viewer.cpp:658
MessageViewer::Viewer::writeConfig
void writeConfig(bool withSync=true)
Definition: viewer.cpp:488
MessageViewer::Viewer::htmlMail
bool htmlMail() const
Is html mail to be supported? Takes into account override.
Definition: viewer.cpp:272
MessageViewer::Viewer::printMessage
void printMessage(const Akonadi::Item &msg)
Sets a message as the current one and print it immediately.
Definition: viewer.cpp:137
MessageViewer::Viewer::slotZoomIn
void slotZoomIn()
Definition: viewer.cpp:609
MessageViewer::Viewer::cssHelper
CSSHelper * cssHelper() const
Definition: viewer.cpp:378
MessageViewer::Viewer::slotScrollPrior
void slotScrollPrior()
Definition: viewer.cpp:223
MessageViewer::Viewer::selectAll
void selectAll()
Definition: viewer.cpp:578
configurewidget.h
MessageViewer::Viewer::displaySplashPage
void displaySplashPage(const QString &info)
Display a generic HTML splash page instead of a message.
Definition: viewer.cpp:125
MessageViewer::Viewer::printPreviewMessage
void printPreviewMessage(const Akonadi::Item &message)
Definition: viewer.cpp:143
MessageViewer::Viewer::blockImage
KAction * blockImage()
Definition: viewer.cpp:664
MessageViewer::Viewer::setHtmlLoadExtOverride
void setHtmlLoadExtOverride(bool override)
Override default load external references setting.
Definition: viewer.cpp:254
mimeparttreeview.h
MessageViewer::Viewer::addMessageLoadedHandler
void addMessageLoadedHandler(AbstractMessageLoadedHandler *handler)
Adds a handler for actions that will be executed when the message has been loaded into the view...
Definition: viewer.cpp:555
MessageViewer::Viewer::saveMessageDisplayFormatAction
KAction * saveMessageDisplayFormatAction()
Definition: viewer.cpp:646
MessageViewer::Viewer::showReader
void showReader(KMime::Content *aMsgPart, bool aHTML, const QString &encoding)
Emitted when the content should be shown in a separate window.
MessageViewer::Viewer::setScrollBarPolicy
void setScrollBarPolicy(Qt::Orientation orientation, Qt::ScrollBarPolicy policy)
Sets the scrollbar policy for the scrollbar defined by orientation to policy.
Definition: viewer.cpp:549
MessageViewer::Viewer::setAppName
void setAppName(const QString &appName)
Set the application name that is shown when the splash screen is active.
Definition: viewer.cpp:260
QString
MessageViewer::CSSHelper
Definition: csshelper.h:41
MessageViewer::Viewer::slotScrollUp
void slotScrollUp(int pixels=10)
HTML Widget scrollbar and layout handling.
Definition: viewer.cpp:199
MessageViewer::Viewer::setOverrideEncoding
void setOverrideEncoding(const QString &encoding)
Definition: viewer.cpp:371
MessageViewer::Viewer::toggleFixFontAction
KToggleAction * toggleFixFontAction()
Definition: viewer.cpp:385
MessageViewer::Viewer::popupMenu
void popupMenu(const Akonadi::Item &msg, const KUrl &url, const KUrl &imageUrl, const QPoint &mousePos)
The user presses the right mouse button.
mimetreemodel.h
MessageViewer::Viewer::createTodoAction
KAction * createTodoAction()
Definition: viewer.cpp:697
MessageViewer::Viewer::showOpenAttachmentFolderWidget
void showOpenAttachmentFolderWidget(const KUrl &url)
Definition: viewer.cpp:709
MessageViewer::Viewer::displayFormatMessageOverwrite
Viewer::DisplayFormatMessage displayFormatMessageOverwrite() const
Get the html override setting.
Definition: viewer.cpp:242
MessageViewer::Viewer::adblockEnabled
bool adblockEnabled() const
Definition: viewer.cpp:670
MessageViewer::Viewer::saveAsAction
KAction * saveAsAction()
Definition: viewer.cpp:470
MessageViewer::Viewer::slotZoomReset
void slotZoomReset()
Definition: viewer.cpp:603
MessageViewer::Viewer::copyURLAction
KAction * copyURLAction()
Definition: viewer.cpp:440
MessageViewer::Viewer::message
KMime::Message::Ptr message() const
Returns the current message displayed in the viewer.
Definition: viewer.cpp:316
MessageViewer::Viewer::makeResourceOnline
void makeResourceOnline(MessageViewer::Viewer::ResourceOnlineMode mode)
MessageViewer::AdBlockManager::self
static AdBlockManager * self()
Entry point.
Definition: adblockmanager.cpp:56
MessageViewer::Viewer::slotShowMessageSource
void slotShowMessageSource()
Definition: viewer.cpp:518
MessageViewer::Viewer::showMessage
void showMessage(KMime::Message::Ptr message, const QString &encoding)
Emitted when the message should be shown in a separate window.
MessageViewer::Viewer::deleteMessage
void deleteMessage()
Initiates a delete, by sending a signal to delete the message item.
Definition: viewer.cpp:572
MessageViewer::AttachmentStrategy
Definition: attachmentstrategy.h:46
MessageViewer::Viewer::copyAction
KAction * copyAction()
Definition: viewer.cpp:446
MessageViewer::Viewer::setDecryptMessageOverwrite
void setDecryptMessageOverwrite(bool overwrite=true)
Enforce message decryption.
Definition: viewer.cpp:302
MessageViewer::Viewer::copyImageLocation
KAction * copyImageLocation()
Definition: viewer.cpp:458
MessageViewer::AdBlockManager::isEnabled
bool isEnabled()
Definition: adblockmanager.cpp:83
mailwebview.h
MessageViewer::Viewer::mimePartTreeIsEmpty
bool mimePartTreeIsEmpty() const
Definition: viewer.cpp:391
QAbstractItemModel
MessageViewer::Viewer::Viewer
Viewer(QWidget *parent, QWidget *mainWindow=0, KActionCollection *actionCollection=0, Qt::WindowFlags f=0)
Create a mail viewer widget.
Definition: viewer.cpp:52
MessageViewer::Viewer::selectAllAction
KAction * selectAllAction()
Definition: viewer.cpp:403
Qt::WindowFlags
typedef WindowFlags
MessageViewer::Viewer::messagePath
QString messagePath() const
The path to the message in terms of Akonadi collection hierarchy.
Definition: viewer.cpp:113
MessageViewer::Viewer::toggleMimePartTreeAction
KToggleAction * toggleMimePartTreeAction()
Definition: viewer.cpp:397
MessageViewer::Viewer::zoomTextOnly
bool zoomTextOnly() const
Definition: viewer.cpp:627
MessageViewer::Viewer::setPrinting
void setPrinting(bool enable)
Definition: viewer.cpp:482
MessageViewer::Viewer::Force
Definition: viewer.h:133
MessageViewer::Viewer::urlClicked
KUrl urlClicked() const
Definition: viewer.cpp:494
MessageViewer::Viewer::slotChangeDisplayMail
void slotChangeDisplayMail(Viewer::DisplayFormatMessage, bool)
Definition: viewer.cpp:639
MessageViewer::Viewer::translateAction
KAction * translateAction()
Definition: viewer.cpp:464
QWidget::closeEvent
virtual void closeEvent(QCloseEvent *event)
MessageViewer::Viewer::itemRemoved
void itemRemoved()
Emitted when the item, previously set with setMessageItem, has been removed.
MessageViewer::Viewer::isFixedFont
bool isFixedFont() const
Definition: viewer.cpp:284
MessageViewer::Viewer::removeMessageLoadedHandler
void removeMessageLoadedHandler(AbstractMessageLoadedHandler *handler)
Removes the handler for actions that will be executed when the message has been loaded into the view...
Definition: viewer.cpp:565
MessageViewer::Viewer::replaceMsgByUnencryptedVersion
void replaceMsgByUnencryptedVersion()
Emitted after parsing of a message to have it stored in unencrypted state in it's folder...
MessageViewer::Viewer::Delayed
Definition: viewer.h:134
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
MessageViewer::Viewer::printPreview
void printPreview()
Definition: viewer.cpp:149
MessageViewer::Viewer::speakTextAction
KAction * speakTextAction()
Definition: viewer.cpp:452
MessageViewer::Viewer::setZoomFactor
void setZoomFactor(qreal zoomFactor)
Definition: viewer.cpp:597
MessageViewer::Viewer::requestConfigSync
void requestConfigSync()
MessageViewer::Viewer::slotSaveMessage
void slotSaveMessage()
Definition: viewer.cpp:193
MessageViewer::Viewer::setZoomTextOnly
void setZoomTextOnly(bool textOnly)
Definition: viewer.cpp:621
QWidget::event
virtual bool event(QEvent *event)
MessageViewer::AbstractMessageLoadedHandler
An interface to plug in a handler that is called when an message item has been loaded into the view...
Definition: viewer.h:58
KJob
MessageViewer::Viewer::findInMessageAction
KAction * findInMessageAction()
Definition: viewer.cpp:633
csshelper.h
MessageViewer::Viewer::messageTreeModel
QAbstractItemModel * messageTreeModel() const
A QAIM tree model of the message structure.
Definition: viewer.cpp:530
MessageViewer::Viewer::event
virtual bool event(QEvent *e)
Watch for palette changes.
Definition: viewer.cpp:328
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