kmail

mailsourceviewer.cpp
1 /*
2  *
3  * This file is part of KMail, the KDE mail client.
4  *
5  * Copyright (c) 2002-2003 Carsten Pfeiffer <pfeiffer@kde.org>
6  * Copyright (c) 2003 Zack Rusin <zack@kde.org>
7  *
8  * KMail is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License, version 2, as
10  * published by the Free Software Foundation.
11  *
12  * KMail is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  *
21  * In addition, as a special exception, the copyright holders give
22  * permission to link the code of this program with any edition of
23  * the TQt library by Trolltech AS, Norway (or with modified versions
24  * of TQt that use the same license as TQt), and distribute linked
25  * combinations including the two. You must obey the GNU General
26  * Public License in all respects for all of the code used other than
27  * TQt. If you modify this file, you may extend this exception to
28  * your version of the file, but you are not obligated to do so. If
29  * you do not wish to do so, delete this exception statement from
30  * your version.
31  */
32 #ifdef HAVE_CONFIG_H
33 #include <config.h>
34 #endif
35 
36 #include "mailsourceviewer.h"
37 
38 #include <tdeapplication.h>
39 #include <twin.h>
40 
41 #include <tqregexp.h>
42 #include <tqaccel.h>
43 
44 namespace KMail {
45 
46 int MailSourceHighlighter::highlightParagraph( const TQString& text, int ) {
47  TQRegExp regexp( "^([\\w-]+:\\s)" );
48  if( regexp.search( text ) != -1 ) {
49  TQFont font = textEdit()->currentFont();
50  font.setBold( true );
51  setFormat( 0, regexp.matchedLength(), font );
52  }
53  return 0;
54 }
55 
56 MailSourceViewer::MailSourceViewer( TQWidget *parent, const char *name )
57  : KTextBrowser( parent, name ), mSourceHighLighter( 0 )
58 {
59  setWFlags( WDestructiveClose );
60  TQAccel *accel = new TQAccel( this, "browser close-accel" );
61  accel->connectItem( accel->insertItem( TQt::Key_Escape ), this , TQ_SLOT( close() ));
62  accel->connectItem( accel->insertItem( TQt::Key_W+CTRL ), this , TQ_SLOT( close() ));
63  setWordWrap( KTextBrowser::NoWrap );
64  KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
65 }
66 
67 MailSourceViewer::~MailSourceViewer()
68 {
69  delete mSourceHighLighter; mSourceHighLighter = 0;
70 }
71 
72 void MailSourceViewer::setText( const TQString& text )
73 {
74  delete mSourceHighLighter; mSourceHighLighter = 0;
75  if ( text.length() > 500000 ) {
76  setTextFormat( TQt::LogText );
77  } else {
78  setTextFormat( TQt::PlainText );
79  mSourceHighLighter = new MailSourceHighlighter( this );
80  }
81  KTextBrowser::setText( text );
82 }
83 
84 }
folderdiaquotatab.h
Definition: aboutdata.cpp:40