aboutsummaryrefslogtreecommitdiff
path: root/lib/streamreader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/streamreader.cpp')
-rw-r--r--lib/streamreader.cpp76
1 files changed, 9 insertions, 67 deletions
diff --git a/lib/streamreader.cpp b/lib/streamreader.cpp
index e1af3201f..914846335 100644
--- a/lib/streamreader.cpp
+++ b/lib/streamreader.cpp
@@ -27,11 +27,13 @@ StreamReader::StreamReader(const QString &name, QObject *parent)
: QIODevice(parent)
{
m_downloader = new Downloader(this, name);
+ connect(m_downloader, SIGNAL(titleChanged()),SLOT(updateTitle()));
}
StreamReader::~StreamReader()
{
m_downloader->abort();
+ qDebug("StreamReader::~StreamReader()");
}
bool StreamReader::atEnd () const
@@ -56,8 +58,6 @@ bool StreamReader::canReadLine () const
void StreamReader::close ()
{
- //m_httpRequestAborted = TRUE;
- //m_http->close();
m_downloader->abort();
}
@@ -71,17 +71,13 @@ bool StreamReader::open ( OpenMode mode )
if (mode != QIODevice::ReadOnly)
return FALSE;
downloadFile();
- //if (m_httpRequestAborted)
- //return TRUE;
setOpenMode(QIODevice::ReadOnly);
- return TRUE;
+ if (m_downloader->isRunning())
+ return TRUE;
+ else
+ return FALSE;
}
-/*qint64 StreamReader::pos () const
-{
- return m_pos;
-}*/
-
bool StreamReader::reset ()
{
QIODevice::reset();
@@ -123,73 +119,19 @@ qint64 StreamReader::writeData(const char*, qint64)
void StreamReader::downloadFile()
{
- m_httpRequestAborted = FALSE;
- //qDebug("StreamReader: connecting...");
- //m_httpGetId = m_http->get(m_url.path(), 0);
qDebug("StreamReader: buffering...");
- /*while (m_http->bytesAvailable () < BUFFER_SIZE*0.5 && !m_httpRequestAborted)
- {
- qApp->processEvents();
- }*/
m_downloader->start();
- while (m_downloader->bytesAvailable () < BUFFER_SIZE*0.5 &&
- m_downloader->isRunning())
+ while (m_downloader->bytesAvailable () < BUFFER_SIZE*0.5 && m_downloader->isRunning ())
{
qApp->processEvents();
- //qDebug("StreamReader: bytes: %d",m_downloader->bytesAvailable ());
//sleep(1);
}
qDebug("StreamReader: ready");
}
-void StreamReader::cancelDownload()
+void StreamReader::updateTitle()
{
- m_httpRequestAborted = true;
- //&& !m_httpRequestAborted->abort();
-}
-
-void StreamReader::httpRequestFinished(int requestId, bool error)
-{
- if (m_httpRequestAborted)
- {
- return;
- }
-
- if (requestId != m_httpGetId)
- return;
-
- if (error)
- {
- //qDebug(qPrintable(QString("StreamReader: %1").arg(m_http->errorString())));
- m_httpRequestAborted = TRUE;
- }
- else
- {
- qDebug("StreamReader: end of file");
- }
-
-}
-
-void StreamReader::updateDataReadProgress(int bytesRead, int totalBytes)
-{
- m_pos = bytesRead;
- m_size = totalBytes;
- fillBuffer();
-}
-
-void StreamReader::fillBuffer()
-{
- /*if (m_http->bytesAvailable () > BUFFER_SIZE && !m_httpRequestAborted)
- {
- while (m_http->bytesAvailable () > BUFFER_SIZE*0.75 && !m_httpRequestAborted)
- {
- qDebug("StreamReader: skipping data...");
- char *data = new char[BUFFER_SIZE/20];
- m_http->read (data, BUFFER_SIZE/20);
- qApp->processEvents();
- delete data;
- }
- }*/
+ emit titleChanged(m_downloader->title());
}
const QString &StreamReader::contentType()