# HG changeset patch # User Jacob Dawid # Date 1302553084 -7200 # Node ID 91d64ef98f817128459d58c8032139816bf88ade # Parent 42de7a2d4d640d208a0a1cea591672071b971b9c Corrected saving/loading of settings, now loading online docs. diff -r 42de7a2d4d64 -r 91d64ef98f81 gui//src/MainWindow.cpp --- a/gui//src/MainWindow.cpp Mon Apr 11 21:39:39 2011 +0200 +++ b/gui//src/MainWindow.cpp Mon Apr 11 22:18:04 2011 +0200 @@ -19,13 +19,15 @@ #include #include #include -#include #include +#include #include "MainWindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), m_isRunning(true) { + QDesktopServices desktopServices; + m_settingsFile = desktopServices.storageLocation(QDesktopServices::HomeLocation) + "/.quint/setting.ini"; constructWindow(); establishOctaveLink(); } @@ -42,9 +44,13 @@ m_statusBar->showMessage(statusMessage, 1000); } +void MainWindow::openWebPage(QString url) { + m_webView->load(QUrl(url)); +} + void MainWindow::closeEvent(QCloseEvent *closeEvent) { reportStatusMessage("Saving data and shutting down."); - QSettings settings("~/.quint/settings.ini", QSettings::IniFormat); + QSettings settings(m_settingsFile, QSettings::IniFormat); settings.setValue("MainWindow/geometry", saveGeometry()); settings.setValue("MainWindow/windowState", saveState()); QMainWindow::closeEvent(closeEvent); @@ -59,9 +65,11 @@ m_filesDockWidget = new FilesDockWidget(this); m_openedFiles = new QMdiArea(this); m_statusBar = new QStatusBar(this); + m_webView = new QWebView(this); m_centralTabWidget = new QTabWidget(this); m_centralTabWidget->addTab(m_octaveTerminal, "Terminal"); m_centralTabWidget->addTab(m_openedFiles, "Editor"); + m_centralTabWidget->addTab(m_webView, "Documentation"); // TODO: Add meaningfull toolbar items. QAction *commandAction = new QAction(style->standardIcon(QStyle::SP_CommandLink), @@ -79,12 +87,14 @@ addDockWidget(Qt::RightDockWidgetArea, m_filesDockWidget); setStatusBar(m_statusBar); - QSettings settings("~/.quint/settings.ini", QSettings::IniFormat); + QSettings settings(m_settingsFile, QSettings::IniFormat); restoreGeometry(settings.value("MainWindow/geometry").toByteArray()); restoreState(settings.value("MainWindow/windowState").toByteArray()); connect(m_filesDockWidget, SIGNAL(openFile(QString)), this, SLOT(handleOpenFileRequest(QString))); connect(m_historyDockWidget, SIGNAL(information(QString)), this, SLOT(reportStatusMessage(QString))); + + openWebPage("http://www.gnu.org/software/octave/doc/interpreter/"); } void MainWindow::establishOctaveLink() { diff -r 42de7a2d4d64 -r 91d64ef98f81 gui//src/MainWindow.h --- a/gui//src/MainWindow.h Mon Apr 11 21:39:39 2011 +0200 +++ b/gui//src/MainWindow.h Mon Apr 11 22:18:04 2011 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include #include "OctaveTerminal.h" #include "OctaveLink.h" #include "VariablesDockWidget.h" @@ -98,6 +99,7 @@ public slots: void handleOpenFileRequest(QString fileName); void reportStatusMessage(QString statusMessage); + void openWebPage(QString url); protected: void closeEvent(QCloseEvent *closeEvent); @@ -113,6 +115,8 @@ QTabWidget *m_centralTabWidget; QStatusBar *m_statusBar; QToolBar *m_generalPurposeToolbar; + QWebView *m_webView; + QString m_settingsFile; // Threads for running octave and managing the data interaction. OctaveMainThread *m_octaveMainThread;