summaryrefslogtreecommitdiffstats
path: root/kbfxlib/common/kbfxkiodownload.cpp
blob: 59d0db241f2f6205befe6c4e49e16f8839a72d68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
 *   Copyright (C) 2006
 *   Siraj Razick <siraj@kdemail.net>
 *   PhobosK <phobosk@mail.kbfx.org>
 *   see Also AUTHORS
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Library General Public License version 2 as
 *   published by the Free Software Foundation
 *
 *   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 Library 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 "kbfxkiodownload.h"

KbfxKioDownload::KbfxKioDownload ( TQObject *tqparent, const char *name )
		: TQObject ( tqparent, name )
{
	m_KbfxBrowserError = 0;
	m_KbfxBrowserErrorText = "No error";
	m_KbfxBrowserTmpFile = tmpF.name();

	kdDebug() << "Created temp file for download transfer: "
	<< m_KbfxBrowserTmpFile
	<< endl;
}

KbfxKioDownload::~KbfxKioDownload()
{}

void KbfxKioDownload::KbfxKioDownloadStart ( TQString &url )
{
	KIO::Job *download_job = KIO::file_copy ( KURL ( url ),
	                         KURL ( m_KbfxBrowserTmpFile ),
	                         -1,
	                         TRUE );
	connect ( download_job, TQT_SIGNAL ( result ( KIO::Job* ) ),
	          this, TQT_SLOT ( KbfxBrowserResult ( KIO::Job * ) ) );
}

void KbfxKioDownload::KbfxBrowserResult ( KIO::Job *download_job )
{
	m_KbfxBrowserError = download_job->error();

	if ( m_KbfxBrowserError )
	{
		KbfxKioDownloadEnd();
		m_KbfxBrowserErrorText = download_job->errorString();
	}
	else m_KbfxBrowserErrorText = "No error";

	kdDebug() << "Download transfer error: "
	<< m_KbfxBrowserError
	<< " - "
	<< m_KbfxBrowserErrorText
	<< endl;

	emit KbfxKioDownloadReady();
}

void KbfxKioDownload::KbfxKioDownloadEnd()
{
	kdDebug() << "Deleting temp file for download transfer: "
	<< tmpF.name()
	<<endl;

	tmpF.unlink();
	deleteLater();
}
#include "kbfxkiodownload.moc"