BuildLogViewer/Document.cpp
author John Kern <johnk@symbian.org>
Thu, 26 Aug 2010 14:34:34 -0700
changeset 40 edc0144719a1
parent 1 8e9c5760ce6f
permissions -rwxr-xr-x
removed invariant from data() and rowCount(). Performance should be ok now.

#include <QFile>
#include <QFileInfo>
#include <QMessageBox>

#include "Document.h"

Document::Document(QWidget *parent, QString filename) : QTreeView (parent)
{
    setAttribute(Qt::WA_DeleteOnClose);

    QFile file(filename);
    QFileInfo fi(file);
    this->setWindowTitle(fi.baseName());

    if (!file.open(QIODevice::ReadOnly)) {
        QMessageBox::warning(this, tr("Build Log Viewer"), tr("Cannot open log."));
        return ;
    }
    QDomDocument *log = new QDomDocument("Build Log");
    if (!log->setContent(&file)) {
        QMessageBox::warning(this, tr("Build Log Viewer"), tr("Cannot set content."));
        delete log;
        file.close();
        return ;
    }
    file.close();
    model = new DomModel(log, this);
    this->setModel(model);
}