]> vaikene.ee Git - evaf/blobdiff - src/plugins/SdiWindow/sdiwindow.cpp
Changed the way how the main window is used.
[evaf] / src / plugins / SdiWindow / sdiwindow.cpp
index b63ab978606f0b27329b7302f1f33673992eaf21..4be6efe4f333b9b075db4e6dbdd6e2f52a38ccf5 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <Common/iLogger>
 #include <Common/iRegistry>
+#include <Common/iApp>
 
 #include <QtGui>
 
@@ -62,6 +63,10 @@ MainWindow::MainWindow(QWidget * parent, Qt::WindowFlags flags)
     // Apply the size specified in a) properties; or b) on the command line
     setWindowSize();
 
+    // Create the default layout
+    mLayout = new QVBoxLayout;
+    setLayout(mLayout);
+
     EVAF_INFO("%s created", qPrintable(objectName()));
 }
 
@@ -75,6 +80,8 @@ MainWindow::~MainWindow()
 
 bool MainWindow::init()
 {
+    setWindowTitle(Common::iApp::instance()->name());
+
     show();
 
     EVAF_INFO("%s initialized", qPrintable(objectName()));
@@ -86,13 +93,29 @@ void MainWindow::done()
 {
     close();
 
+    // Delete all the items added to the main window
+    while (mItemsAdded.count() > 0)
+        delete mItemsAdded.takeAt(0);
+
     EVAF_INFO("%s finalized", qPrintable(objectName()));
 }
 
+void MainWindow::addWidget(QWidget * widget)
+{
+    mLayout->addWidget(widget);
+    mItemsAdded.append(widget);
+}
+
+void MainWindow::addLayout(QLayout * layout)
+{
+    mLayout->addLayout(layout);
+    mItemsAdded.append(layout);
+}
+
 void MainWindow::saveSettings()
 {
     static int ver[4] = {VER_FILE_VERSION};
-    QSettings settings(VER_COMPANY_NAME_STR, VER_PRODUCT_NAME_STR);
+    QSettings settings(VER_COMPANY_NAME_STR, Common::iApp::instance()->name());
     settings.setValue(QString("%1/version/major").arg(objectName()), ver[0]);
     settings.setValue(QString("%1/version/minor").arg(objectName()), ver[1]);
     settings.setValue(QString("%1/geometry").arg(objectName()), saveGeometry());
@@ -101,7 +124,7 @@ void MainWindow::saveSettings()
 void MainWindow::restoreSettings()
 {
     static int ver[4] = {VER_FILE_VERSION};
-    QSettings settings(VER_COMPANY_NAME_STR, VER_PRODUCT_NAME_STR);
+    QSettings settings(VER_COMPANY_NAME_STR, Common::iApp::instance()->name());
 
     // Ignore saved settings if the version number is not the same
     // More intelligent checks can be implemented to allow upgrading from previous versions