summaryrefslogtreecommitdiff
path: root/src/gui/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/mainwindow.cpp')
-rw-r--r--src/gui/mainwindow.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
index f9743a1..cdf7bea 100644
--- a/src/gui/mainwindow.cpp
+++ b/src/gui/mainwindow.cpp
@@ -23,6 +23,7 @@ MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
+ QSettings settings("tikzit", "tikzit");
_windowId = _numWindows;
_numWindows++;
ui->setupUi(this);
@@ -36,8 +37,6 @@ MainWindow::MainWindow(QWidget *parent) :
addToolBar(_toolPalette);
_stylePalette = new StylePalette(this);
- addDockWidget(Qt::RightDockWidgetArea, _stylePalette);
- resizeDocks({_stylePalette}, {130}, Qt::Horizontal);
_tikzScene = new TikzScene(_tikzDocument, _toolPalette, _stylePalette, this);
ui->tikzView->setScene(_tikzScene);
@@ -48,6 +47,20 @@ MainWindow::MainWindow(QWidget *parent) :
setMenuBar(_menu);
+ QVariant geom = settings.value("geometry-main");
+ QVariant state = settings.value("windowState-main");
+
+ if (geom.isValid()) {
+ restoreGeometry(geom.toByteArray());
+ }
+
+ if (state.isValid()) {
+ restoreState(state.toByteArray(), 2);
+ } else {
+ addDockWidget(Qt::RightDockWidgetArea, _stylePalette);
+ resizeDocks({_stylePalette}, {130}, Qt::Horizontal);
+ }
+
// initially, the source view should be collapsed
QList<int> sz = ui->splitter->sizes();
sz[0] = sz[0] + sz[1];
@@ -90,6 +103,11 @@ QSplitter *MainWindow::splitter() const {
void MainWindow::closeEvent(QCloseEvent *event)
{
qDebug() << "got close event";
+
+ QSettings settings("tikzit", "tikzit");
+ settings.setValue("geometry-main", saveGeometry());
+ settings.setValue("windowState-main", saveState(2));
+
QMainWindow::closeEvent(event);
}