changeset 13403:276faa3e7423

Added MDI Area for editing files, tuned settings saving.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Mon, 11 Apr 2011 21:01:28 +0200
parents 17b9b85bd1a6
children 9b3863408179
files gui//src/MainWindow.cpp gui//src/MainWindow.h
diffstat 2 files changed, 15 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/gui//src/MainWindow.cpp	Mon Apr 11 20:48:10 2011 +0200
+++ b/gui//src/MainWindow.cpp	Mon Apr 11 21:01:28 2011 +0200
@@ -26,15 +26,18 @@
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent),
       m_isRunning(true) {
-    showMaximized();
     constructWindow();
     establishOctaveLink();
 }
 
 MainWindow::~MainWindow() {
-    QSettings settings("GNU", "Quint");
+}
+
+void MainWindow::closeEvent(QCloseEvent *closeEvent) {
+    QSettings settings("~/.quint/settings.ini", QSettings::IniFormat);
     settings.setValue("MainWindow/geometry", saveGeometry());
     settings.setValue("MainWindow/windowState", saveState());
+    QMainWindow::closeEvent(closeEvent);
 }
 
 void MainWindow::constructWindow() {
@@ -42,26 +45,23 @@
     m_variablesDockWidget = new VariablesDockWidget(this);
     m_historyDockWidget = new HistoryDockWidget(this);
     m_filesDockWidget = new FilesDockWidget(this);
-    m_codeEdit = new CodeEdit(this);
+    m_openedFiles = new QMdiArea(this);
     m_centralTabWidget = new QTabWidget(this);
+    m_centralTabWidget->addTab(m_octaveTerminal, "Terminal");
+    m_centralTabWidget->addTab(m_openedFiles, "Editor");
 
     setWindowTitle("Octave");
     setCentralWidget(m_centralTabWidget);
-
-    m_centralTabWidget->addTab(m_octaveTerminal, "Terminal");
-    m_centralTabWidget->addTab(m_codeEdit, "Editor");
-
     addDockWidget(Qt::LeftDockWidgetArea, m_variablesDockWidget);
     addDockWidget(Qt::LeftDockWidgetArea, m_historyDockWidget);
     addDockWidget(Qt::RightDockWidgetArea, m_filesDockWidget);
 
-    QSettings settings("GNU", "Quint");
+    QSettings settings("~/.quint/settings.ini", QSettings::IniFormat);
     restoreGeometry(settings.value("MainWindow/geometry").toByteArray());
     restoreState(settings.value("MainWindow/windowState").toByteArray());
 }
 
 void MainWindow::establishOctaveLink() {
-    //QMetaObject::invokeMethod(this, "setStatus", Q_ARG(QString, QString("Establishing Octave link..")));
     m_octaveMainThread = new OctaveMainThread(this);
     m_octaveMainThread->start();
 
--- a/gui//src/MainWindow.h	Mon Apr 11 20:48:10 2011 +0200
+++ b/gui//src/MainWindow.h	Mon Apr 11 21:01:28 2011 +0200
@@ -22,6 +22,7 @@
 #include <QtGui/QMainWindow>
 #include <QThread>
 #include <QTabWidget>
+#include <QMdiArea>
 #include "OctaveTerminal.h"
 #include "OctaveLink.h"
 #include "VariablesDockWidget.h"
@@ -80,8 +81,7 @@
   *
   * Represents the main window.
   */
-class MainWindow : public QMainWindow
-{
+class MainWindow : public QMainWindow {
     Q_OBJECT
 public:
     MainWindow(QWidget *parent = 0);
@@ -92,9 +92,10 @@
     VariablesDockWidget *variablesDockWidget() { return m_variablesDockWidget; }
     HistoryDockWidget *historyDockWidget() { return m_historyDockWidget; }
     FilesDockWidget *filesDockWidget() { return m_filesDockWidget; }
-    CodeEdit *codeEdit() { return m_codeEdit; }
 
-public slots:
+protected:
+    void closeEvent(QCloseEvent *closeEvent);
+
 private:
     void constructWindow();
     void establishOctaveLink();
@@ -102,7 +103,7 @@
     VariablesDockWidget *m_variablesDockWidget;
     HistoryDockWidget *m_historyDockWidget;
     FilesDockWidget *m_filesDockWidget;
-    CodeEdit *m_codeEdit;
+    QMdiArea *m_openedFiles;
     QTabWidget *m_centralTabWidget;
 
     // Threads for running octave and managing the data interaction.