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

messageviewer

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

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