Mercurial > hg > octave-terminal
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 +++ b/gui//src/MainWindow.cpp @@ -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 +++ b/gui//src/MainWindow.h @@ -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.