All pastes #264769 Raw Edit

Untitled

public text v1 · immutable
·published 2006-12-02 18:46 UTC
rendered paste body
/* Downloading wikipages and calls the functions to extract content/links */
/** if this fails to compile, add 'QT+=network' to the .pro **/
#ifndef NETWORK_H
#define NETWORK_H

#include <QtCore>
#include <QtNetwork/QHttp>
#include <QtNetwork/QtNetwork>
#include <QtGui>
#include <QObject>
#include <QMessageBox>

class SpideyHttp
{
public:
    SpideyHttp();
    ~SpideyHttp();
    void downloadWikiPage(const QString & pageName);
    QHttp *http;
    QTemporaryFile *tempFile;
};

SpideyHttp::SpideyHttp()
{
    http = new QHttp();
    tempFile = new QTemporaryFile();
    tempFile->setAutoRemove(true);
}

/*  Instead of this destructor, we could make SpideyHttp a descendent
    of QObject and connect a closing-everything signal to a clean-up slot.
    However, trying this gave compile issues out the wazoo, so this
    destructor method is staying for now. Hey, it's one in the morning;
    compiler issues are NOT something I want to deal with right now.
*/
SpideyHttp::~SpideyHttp()
{
    tempFile->remove();
    delete tempFile;
    delete http;
}

void SpideyHttp::downloadWikiPage(const QString & pageName)
{
    if(!tempFile->open()) {
        QMessageBox::warning(this, tr("Error!"),
                        tr("Could not open wiki page %1").arg(pageName));
        return;
    }

    http->setHost("en.wikipedia.org");
    //http->get("/wiki/Malacca", tempFile);
    http->get("/wiki/" + pageName, tempFile);

/*
//Test
    QString tempString(tempFile->readAll());
    QLabel *tmpL = new QLabel("BLAH" + tempString + "BLAH");
    tmpL->show();
*/

    //QTextEdit *fileEdit = new QTextEdit(); // VERY ANNOYING!!!!!!!!!!!!!
    //fileEdit->setHtml(tempString);
    //fileEdit->show();
}

#endif // NETWORK_H