changeset 13406:91d64ef98f81

Corrected saving/loading of settings, now loading online docs.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Mon, 11 Apr 2011 22:18:04 +0200
parents 42de7a2d4d64
children b2902b9ba84d
files gui//src/MainWindow.cpp gui//src/MainWindow.h
diffstat 2 files changed, 17 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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 <QMenuBar>
 #include <QMenu>
 #include <QAction>
-#include <QtWebKit/QWebView>
 #include <QSettings>
+#include <QDesktopServices>
 #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() {
--- 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 <QMdiArea>
 #include <QStatusBar>
 #include <QToolBar>
+#include <QtWebKit/QWebView>
 #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;