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
44namespace KMail {
45
46int 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
56MailSourceViewer::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(), tdeApp->icon(), tdeApp->miniIcon());
65}
66
67MailSourceViewer::~MailSourceViewer()
68{
69 delete mSourceHighLighter; mSourceHighLighter = 0;
70}
71
72void 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