summaryrefslogtreecommitdiffstats
path: root/korn/kio_single_subject.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-27 21:04:28 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-27 21:04:28 -0600
commitc5bee2a602f3b6a9ca58c247df52b834ea50d0ed (patch)
treed1c0ded0cabb3d4fdb2ad0e9e68697282eee0dc4 /korn/kio_single_subject.cpp
parentb94985f2c07570910ceecd8a0e544460a0de190b (diff)
downloadtdepim-c5bee2a602f3b6a9ca58c247df52b834ea50d0ed.tar.gz
tdepim-c5bee2a602f3b6a9ca58c247df52b834ea50d0ed.zip
Rename kiobuffer and KHTML
Diffstat (limited to 'korn/kio_single_subject.cpp')
-rw-r--r--korn/kio_single_subject.cpp155
1 files changed, 0 insertions, 155 deletions
diff --git a/korn/kio_single_subject.cpp b/korn/kio_single_subject.cpp
deleted file mode 100644
index 0c20b1ab4..000000000
--- a/korn/kio_single_subject.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (C) 2004, Mart Kelder (mart.kde@hccnet.nl)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "kio_single_subject.h"
-
-#include "mailsubject.h"
-#include "kio_proto.h"
-#include "stringid.h"
-
-#include <kdebug.h>
-#include <klocale.h>
-#include <kurl.h>
-#include <tdeio/global.h>
-#include <tdeio/scheduler.h>
-#include <tdeio/job.h>
-#include <tdeio/jobclasses.h>
-#include <krfcdate.h>
-
-#include <tqregexp.h>
-#include <tqcstring.h>
-#include <tqstring.h>
-
-KIO_Single_Subject::KIO_Single_Subject( TQObject * parent, const char * name,
- KURL &kurl, TDEIO::MetaData &metadata, const KIO_Protocol * protocol, TDEIO::Slave *& slave,
- const TQString &url, const long size )
- : TQObject( parent, name )
-{
- _kurl = new KURL( kurl );
- _metadata = new TDEIO::MetaData( metadata );
- _protocol = protocol;
- _name = new TQString( url );
- _size = size;
- _message = new TQString;
-
- init( slave );
-}
-
-KIO_Single_Subject::~KIO_Single_Subject( )
-{
- if( _job )
- TDEIO::Scheduler::cancelJob( _job );
- delete _kurl;
- delete _metadata;
- delete _name;
- delete _message;
-}
-
-void KIO_Single_Subject::init( TDEIO::Slave *& slave)
-{
- _job = TDEIO::get( *_kurl, false, false );
- _job->addMetaData( *_metadata );
-
- connect( _job, TQT_SIGNAL( result( TDEIO::Job* ) ), this, TQT_SLOT( slotResult( TDEIO::Job* ) ) );
- connect( _job, TQT_SIGNAL( data (TDEIO::Job *, const TQByteArray &) ),
- this, TQT_SLOT( slotData(TDEIO::Job *, const TQByteArray &) ) );
-
- if( _protocol->connectionBased( ) && slave )
- TDEIO::Scheduler::assignJobToSlave( slave , _job );
- else
- TDEIO::Scheduler::scheduleJob( _job );
-
-}
-
-void KIO_Single_Subject::parseMail( TQString * message, KornMailSubject *subject, bool fullMessage )
-{
- TQTextStream stream( message, IO_ReadOnly );
- TQString line;
- TQRegExp rx_sender( "^[fF]rom: " ); //Ex: From: ...
- TQRegExp rx_sender_has_name1( "^[fF]rom:\\s*(\\w+[\\w\\s]*)\\<" ); //Ex: From: A name<email@domein.country>
- TQRegExp rx_sender_has_name2( "^[fF]rom:\\s*\\\"\\s*(\\w+[\\w\\s]*)\\\""); //Ex: From: "A name"<a@invalid>
- TQRegExp rx_subject( "^[sS]ubject: " ); //Ex: Subject: ...
- TQRegExp rx_date ( "^[dD]ate: ");
- bool inheader = true;
- int fieldnumber = 0;
-
- while ( ! stream.atEnd() )
- {
- line = stream.readLine();
- if( line.isEmpty() && fieldnumber >= 2 )
- inheader = false;
-
- if( inheader )
- {
- if( rx_sender.search( line ) == 0 )
- {
- if( rx_sender_has_name1.search( line ) == 0 )
- subject->setSender( rx_sender_has_name1.cap( 1 ) );
- else if(rx_sender_has_name2.search( line ) == 0)
- subject->setSender( rx_sender_has_name2.cap( 1 ) );
- else
- subject->setSender( line.remove( rx_sender ) );
- ++fieldnumber;
- }
- else if( rx_subject.search( line ) == 0 )
- {
- subject->setSubject( line.remove( rx_subject ) );
- ++fieldnumber;
- }
- else if( rx_date.search( line ) == 0 )
- {
- subject->setDate( KRFCDate::parseDate( line.right( line.length() - 6 ) ) );
- ++fieldnumber;
- }
- }
- }
-
- subject->setHeader( *message, fullMessage );
-}
-
-void KIO_Single_Subject::slotData( TDEIO::Job* job, const TQByteArray& data )
-{
- if( job != _job )
- kdWarning() << i18n( "Got invalid job; something strange happened?" ) << endl;
- if( !data.isEmpty() )
- _message->append( data );
-}
-
-//TDEIO::Scheduler::disconnectSlave missing if connection stops
-void KIO_Single_Subject::slotResult( TDEIO::Job *job )
-{
- if( job != _job )
- kdWarning() << i18n( "Got invalid job; something strange happened?" ) << endl;
-
- if( job->error() )
- {
- kdWarning() << i18n( "Error when fetching %1: %2" ).arg( *_name ).arg( job->errorString() ) << endl;
- } else {
- KornMailSubject * mailSubject = new KornMailSubject( new KornStringId( *_name ), 0 );
- parseMail( _message, mailSubject, _protocol->fullMessage() );
- mailSubject->decodeHeaders();
- mailSubject->setSize( _size );
- emit readSubject( mailSubject );
- }
-
- _job = 0;
-
- emit finished( this );
-}
-
-#include "kio_single_subject.moc"