# HG changeset patch # User Jacob Dawid # Date 1303073467 -7200 # Node ID 32e2bc78ae77e3dab317e830c1c2276da3c705f3 # Parent 3542af417878c768c1039674e1257f04205e2ec1 Loading, saving and clearing the workspace now works via the GUI. diff --git a/gui//src/MainWindow.cpp b/gui//src/MainWindow.cpp --- a/gui//src/MainWindow.cpp +++ b/gui//src/MainWindow.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "MainWindow.h" #include "FileEditorMdiSubWindow.h" #include "ImageViewerMdiSubWindow.h" @@ -63,15 +64,24 @@ } void MainWindow::handleSaveWorkspaceRequest() { - // TODO: Handle saving of workspace. + QDesktopServices desktopServices; + QString selectedFile = QFileDialog::getSaveFileName(this, "Save Workspace", + desktopServices.storageLocation(QDesktopServices::HomeLocation) + "/.quint/workspace"); + m_octaveTerminal->sendText(QString("save \'%1\'\n").arg(selectedFile)); + m_octaveTerminal->setFocus(); } void MainWindow::handleLoadWorkspaceRequest() { - // TODO: Handle loading of workspace. + QDesktopServices desktopServices; + QString selectedFile = QFileDialog::getOpenFileName(this, "Load Workspace", + desktopServices.storageLocation(QDesktopServices::HomeLocation) + "/.quint/workspace"); + m_octaveTerminal->sendText(QString("load \'%1\'\n").arg(selectedFile)); + m_octaveTerminal->setFocus(); } void MainWindow::handleClearWorkspaceRequest() { - // TODO: Handle clearing of workspace. + m_octaveTerminal->sendText("clear\n"); + m_octaveTerminal->setFocus(); } void MainWindow::handleCommandDoubleClicked(QString command) { diff --git a/gui//src/Vt102Emulation.cpp b/gui//src/Vt102Emulation.cpp --- a/gui//src/Vt102Emulation.cpp +++ b/gui//src/Vt102Emulation.cpp @@ -888,6 +888,7 @@ 0, Qt::NoModifier, text); + sendKeyEvent(&event); // expose as a big fat keypress event } }