]> Shamusworld >> Repos - architektonas/commitdiff
Added main window state saving.
authorShamus Hammons <jlhamm@acm.org>
Mon, 15 Jul 2013 15:52:46 +0000 (10:52 -0500)
committerShamus Hammons <jlhamm@acm.org>
Mon, 15 Jul 2013 15:52:46 +0000 (10:52 -0500)
src/applicationwindow.cpp
src/layerwidget.cpp

index ef42ca24a6acc9fc2c00089965f7855ff5e13852..3bbbade8e8474bd31e03cdc89e11f02efd00fc46 100644 (file)
@@ -64,6 +64,9 @@ ApplicationWindow::ApplicationWindow(): settings("Underground Software", "Archit
 //     BlockWidget * bw = new BlockWidget;
 //     dock2->setWidget(bw);
        addDockWidget(Qt::RightDockWidgetArea, dock2);
+       // Needed for saveState()
+       dock1->setObjectName("Layers");
+       dock2->setObjectName("Blocks");
 
        //      Create status bar
        zoomIndicator = new QLabel("Grid: 12.0\" Zoom: 12.5%");
@@ -610,13 +613,16 @@ void ApplicationWindow::CreateMenus(void)
 void ApplicationWindow::CreateToolbars(void)
 {
        QToolBar * toolbar = addToolBar(tr("File"));
+       toolbar->setObjectName("File"); // Needed for saveState()
        toolbar->addAction(exitAct);
 
        toolbar = addToolBar(tr("View"));
+       toolbar->setObjectName("View");
        toolbar->addAction(zoomInAct);
        toolbar->addAction(zoomOutAct);
 
        toolbar = addToolBar(tr("Edit"));
+       toolbar->setObjectName("Edit");
        toolbar->addAction(snapToGridAct);
        toolbar->addAction(groupAct);
        toolbar->addAction(fixAngleAct);
@@ -640,6 +646,7 @@ void ApplicationWindow::ReadSettings(void)
        snapToGridAct->setChecked(settings.value("snapToGrid", true).toBool());
        resize(size);
        move(pos);
+       restoreState(settings.value("windowState").toByteArray());
 //     pos = settings.value("charWndPos", QPoint(0, 0)).toPoint();
 //     size = settings.value("charWndSize", QSize(200, 200)).toSize();
 //     ((TTEdit *)qApp)->charWnd->resize(size);
@@ -651,6 +658,7 @@ void ApplicationWindow::WriteSettings(void)
 {
        settings.setValue("pos", pos());
        settings.setValue("size", size());
+       settings.setValue("windowState", saveState());
        settings.setValue("useAntialiasing", drawing->useAntialiasing);
        settings.setValue("snapToGrid", snapToGridAct->isChecked());
 //     settings.setValue("charWndPos", ((TTEdit *)qApp)->charWnd->pos());
index 4a98037685c786312576396dc1a0cf4e34026308..6561256c5f4af3d8a7caf12363fb6ba55c0f73c6 100644 (file)
 
 LayerWidget::LayerWidget(void): QWidget()
 {
-       LayerItemWidget * liw1 = new LayerItemWidget("Background");
-       LayerItemWidget * liw2 = new LayerItemWidget("Guidelines");
-       LayerItemWidget * liw3 = new LayerItemWidget("Floor #1");
-       LayerItemWidget * liw4 = new LayerItemWidget("Mechanical");
-       LayerItemWidget * liw5 = new LayerItemWidget("List Widget");
+       LayerItemWidget * liw1 = new LayerItemWidget("Guidelines");
+       LayerItemWidget * liw2 = new LayerItemWidget("Floor #1");
+       LayerItemWidget * liw3 = new LayerItemWidget("Mechanical");
+       LayerItemWidget * liw4 = new LayerItemWidget("List Widget");
+       LayerItemWidget * liw5 = new LayerItemWidget("Background");
 
        QListWidget * qlw = new QListWidget;
        QListWidgetItem * qli1 = new QListWidgetItem(qlw);
@@ -37,10 +37,17 @@ LayerWidget::LayerWidget(void): QWidget()
 
        QPushButton * pb1 = new QPushButton("+");
        QPushButton * pb2 = new QPushButton("-");
+       QPushButton * pb3 = new QPushButton("Edit");
+       QPushButton * pb4 = new QPushButton("^");
+       QPushButton * pb5 = new QPushButton("v");
 
        QHBoxLayout * hbox1 = new QHBoxLayout;
        hbox1->addWidget(pb1);
        hbox1->addWidget(pb2);
+       hbox1->addWidget(pb3);
+       hbox1->addWidget(pb4);
+       hbox1->addWidget(pb5);
+       hbox1->addStretch();
 
        QVBoxLayout * mainLayout = new QVBoxLayout;
        mainLayout->addWidget(qlw);