Waste less space in nested layouts.
[kdepim.git] / messagecomposer / inserttextfilejob.h
blobd737a86b356c2edc91ee339cc52d5fa8db45c952
1 /*
2 * Copyright 2010 Thomas McGuire <mcguire@kde.org>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 * 02110-1301 USA
19 #ifndef INSERTTEXTFILEJOB_H
20 #define INSERTTEXTFILEJOB_H
22 #include "messagecomposer_export.h"
24 #include <KJob>
25 #include <KUrl>
27 #include <QPointer>
29 class QTextEdit;
31 namespace KIO {
32 class Job;
35 namespace Message {
37 /**
38 * A job that downloads a given URL, interprets the result as a text file with the
39 * given encoding and then inserts the text into the editor.
41 class MESSAGECOMPOSER_EXPORT InsertTextFileJob : public KJob
43 Q_OBJECT
45 public:
46 InsertTextFileJob( QTextEdit *editor, const KUrl &url );
47 ~InsertTextFileJob();
49 void setEncoding( const QString &encoding );
51 virtual void start();
53 private slots:
55 void slotGetJobFinished( KJob *job );
56 void slotFileData( KIO::Job *job, const QByteArray &data );
58 private:
60 QPointer<QTextEdit> mEditor;
61 KUrl mUrl;
62 QString mEncoding;
63 QByteArray mFileData;
68 #endif