コード例 #1
0
ファイル: mainwindow.cpp プロジェクト: youdemo/RepRaptor
void MainWindow::open()
{
    if(this->isHidden()) this->show();
    sdprinting = false;
    QString filename;
    QDir home;
    if(lastDir == "")
    {
        filename = QFileDialog::getOpenFileName(this,
                                                tr("Open GCODE"),
                                                home.home().absolutePath(),
                                                "GCODE (*.g *.gco *.gcode *.nc)");
    }
    else
    {
        filename = QFileDialog::getOpenFileName(this,
                                                tr("Open GCODE"),
                                                lastDir,
                                                "GCODE (*.g *.gco *.gcode *.nc)");
    }
    if(filename.isEmpty() || filename.isNull()) return;
    //Remember the last folder
    lastDir.clear();
    lastDir.append(filename);
    int filenameChars = 0;
    for(int i = filename.count()-1; filename.at(i) != QDir::separator(); i--)
    {
        filenameChars++; //Count how many characters are in the filename
    }
    lastDir.remove(lastDir.count()-filenameChars, filenameChars);//remove filename
    gfile.setFileName(filename);
    if(!recentFiles.contains(filename))
    {
        recentFiles.prepend(filename);
        if(recentFiles.size() >= 10) recentFiles.removeLast();
    }

    updateRecent();
    parseFile(filename);
}