Subversion Repositories svn1

Rev

Rev 197 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QDir>

#include "qmeditaddendum.h"
#include "ui_qmeditaddendum.h"
#include    "consts.h"
#include    "structs.h"
#include    "proto.h"

QmEditAddendum::QmEditAddendum(const QString &name,QWidget *parent) :
    QDialog(parent),
    ui(new Ui::QmEditAddendum)
{
    ui->setupUi(this);
    connect(ui->buttonBox,SIGNAL(accepted()), this, SLOT(save()));
    connect(ui->buttonBox,SIGNAL(rejected()), this, SLOT(reject()));

    //  Attempt to open the file name specified
    qDebug("Edit: %s", qPrintable(name));
    setWindowTitle(name);

    QString addendumFileName(filepath);
    addendumFileName.append(name);
    file.setFileName(addendumFileName);
    qDebug("Try:%s", qPrintable(addendumFileName));
    if ( !file.exists())
    {
        addendumFileName = QCoreApplication::applicationDirPath ();
        addendumFileName.append("/");
        addendumFileName.append(name);
        file.setFileName(addendumFileName);
        qDebug("Try:%s", qPrintable(addendumFileName));
        if ( !file.exists())
        {
             addendumFileName = QDir::currentPath ();
             addendumFileName.append(name);
             file.setFileName(addendumFileName);
             qDebug("Try:%s", qPrintable(addendumFileName));
             if ( !file.exists())
             {
                 qDebug("File not found");
             }
        }

    }

    if (!file.open(QFile::ReadOnly | QFile::Text)) {
        QMessageBox::warning(this, tr("Application"),
                             tr("Cannot read file %1:\n%2.")
                             .arg(name)
                             .arg(file.errorString()));
        return;
    }

    QTextStream in(&file);
    ui->textEdit->setPlainText(in.readAll());
    file.close();
}


void QmEditAddendum::save(void)
{
    qDebug("Save File");
    if (file.open(QFile::WriteOnly | QFile::Text | QFile::Truncate))
    {
        QTextStream out(&file);
        out << ui->textEdit->toPlainText();
        file.close();
    }

}

QmEditAddendum::~QmEditAddendum()
{
    delete ui;
}