コード例 #1
0
ファイル: VirtualFileSystem.cpp プロジェクト: unoyx/vfs
FileHandler VirtualDiskNode::openFile(MyString path)
{
    if (!isNormalizedPath(path))
    {
        assert(0);
        return FileHandler(nullptr);
    }
    path = path.toLower();
    MyString dir_path = dirname(path);
    DirNode* parent = getDirNode(dir_path);
    if (!parent)
        return FileHandler(nullptr);
    MyString file_name = basename(path);
    // 文件至少被存放在根目录之下
    if (file_name.isEmpty())
    {
        return FileHandler(nullptr);
    }
    int file = parent->findFile(file_name);
    if (file == -1)
    {
        return FileHandler(nullptr);
    }
    else
    {
        return FileHandler(parent->getFileRef(file));
    }
}
コード例 #2
0
ファイル: VirtualFileSystem.cpp プロジェクト: unoyx/vfs
FileHandler VirtualDiskNode::createFile(MyString path)
{
    if (!isNormalizedPath(path))
    {
        assert(0);
        return FileHandler(nullptr);
    }
    MyString dir_path = dirname(path).toLower();
    DirNode* parent = getDirNode(dir_path);
    if (!parent)
        return FileHandler(nullptr);
    // 文件名创建时保留大小写
    MyString file_name = basename(path);
    if (parent->findFile(file_name) != -1)
    {
        return FileHandler(nullptr);
    }

    FileNode* nfile = parent->addFile();
    assert(nfile);
    nfile->set_name(file_name);
    nfile->set_path(path.toLower());
    return FileHandler(nfile);
}
コード例 #3
0
ファイル: mainwindow.cpp プロジェクト: and-rad/vega
void MainWindow::on_actionAbout_triggered()
{
    ui->htmlView->setHtml(FileHandler().open(":/help/about.txt"));
}
コード例 #4
0
ファイル: mainwindow.cpp プロジェクト: and-rad/vega
void MainWindow::on_actionDocumentation_triggered()
{
    ui->htmlView->setHtml(FileHandler().open(":/help/doc.txt"));
}