# HG changeset patch # User Jacob Dawid # Date 1302548488 -7200 # Node ID 276faa3e74235b61233975fbce845b2d7131c845 # Parent 17b9b85bd1a6b4fb9ed3e4365814a41c0b212d2e Added MDI Area for editing files, tuned settings saving. diff -r 17b9b85bd1a6 -r 276faa3e7423 gui//src/MainWindow.cpp --- 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(); diff -r 17b9b85bd1a6 -r 276faa3e7423 gui//src/MainWindow.h --- 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 #include #include +#include #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.