コード例 #1
0
bool npcedit::saveFile(const QString &fileName)
{
    QFile file(fileName);
    if (!file.open(QFile::WriteOnly | QFile::Text)) {
        QMessageBox::warning(this, tr("File save error"),
                             tr("Cannot save file %1:\n%2.")
                             .arg(fileName)
                             .arg(file.errorString()));
        return false;
    }

    GlobalSettings::savePath_npctxt = QFileInfo(fileName).path();

    QTextStream out(&file);
    QApplication::setOverrideCursor(Qt::WaitCursor);
    out << FileFormats::WriteNPCTxtFile(NpcData);
    QApplication::restoreOverrideCursor();
    setCurrentFile(fileName);

    documentNotModified();

    refreshImageFile();
    updatePreview();

    MainWinConnect::pMainWin->AddToRecentFiles(fileName);
    MainWinConnect::pMainWin->SyncRecentFiles();

    return true;
}
コード例 #2
0
bool NpcEdit::saveFile(const QString &fileName, const bool addToRecent)
{
    QApplication::setOverrideCursor(Qt::WaitCursor);
    if(!FileFormats::WriteNPCTxtFileF(fileName, NpcData))
    {
        QApplication::restoreOverrideCursor();
        QMessageBox::warning(this, tr("File save error"),
                             tr("Cannot save file %1:\n%2.")
                             .arg(fileName)
                             .arg(FileFormats::errorString));
        return false;
    }
    GlobalSettings::savePath_npctxt = QFileInfo(fileName).path();

    QFileInfo fileI(fileName);
    unsigned int old_npc_id = npc_id;
    npc_id = FileName_to_npcID(fileI.baseName());
    setDefaultData(npc_id);
    ui->CurrentNPCID->setText( QString::number(npc_id) );

    QApplication::restoreOverrideCursor();
    setCurrentFile(fileName);

    documentNotModified();

    if(old_npc_id == npc_id)
    {
        refreshImageFile();
        updatePreview();
    }
    else
    {
        loadPreview();
    }

    if(addToRecent)
    {
        MainWinConnect::pMainWin->AddToRecentFiles(fileName);
        MainWinConnect::pMainWin->SyncRecentFiles();
    }
    return true;
}