[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/kexi/plugins/forms
From:       Jaroslaw Staniek <js () iidea ! pl>
Date:       2009-03-18 16:46:12
Message-ID: 1237394772.369192.16537.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 940997 by staniek:

Forms
- fix initialization of forms in data view (possible crash)



 M  +33 -32    kexiformview.cpp  
 M  +1 -1      kexiformview.h  


--- trunk/koffice/kexi/plugins/forms/kexiformview.cpp #940996:940997
@@ -1,6 +1,6 @@
 /* This file is part of the KDE project
    Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
-   Copyright (C) 2004-2007 Jarosław Staniek <staniek@kde.org>
+   Copyright (C) 2004-2009 Jarosław Staniek <staniek@kde.org>
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
@@ -86,36 +86,8 @@
     m_scrollView = new KexiFormScrollView(this, viewMode() == Kexi::DataViewMode);
     l->addWidget(m_scrollView);
 
-//moved setViewWidget(m_scrollView);
-// m_scrollView->show();
+    initForm();
 
-    m_dbform = new KexiDBForm(m_scrollView->viewport(), m_scrollView);
-    m_dbform->setObjectName(
-        i18nc("Widget name. This string will be used to name widgets of this class. \
                "
-              "It must _not_ contain white spaces and non latin1 characters.", \
                "form"));
-    QPalette pal(m_dbform->palette());
-    pal.setBrush(QPalette::Window, palette().brush(QPalette::Window));
-    m_dbform->setPalette(pal); // avoid inheriting QPalette::Window role
-                               // from m_scrollView->viewport()
-// m_dbform->resize( m_scrollView->viewport()->size() - QSize(20, 20) );
-// m_dbform->resize(QSize(400, 300));
-    m_scrollView->setWidget(m_dbform);
-    m_scrollView->setResizingEnabled(viewMode() != Kexi::DataViewMode);
-
-// initForm();
-
-    if (viewMode() == Kexi::DataViewMode) {
-        m_scrollView->recordNavigator()->setRecordHandler(m_scrollView);
-        //m_scrollView->viewport()->setPaletteBackgroundColor(m_dbform->palette().active().background());
                
-        QPalette pal(m_scrollView->viewport()->palette());
-        pal.setBrush(m_scrollView->viewport()->backgroundRole(), 
-            m_dbform->palette().brush(QPalette::Background));
-        m_scrollView->viewport()->setPalette(pal);
-//moved to formmanager  connect(formPart()->manager(), SIGNAL(noFormSelected()), \
                SLOT(slotNoFormSelected()));
-    }
-
-    initForm(); //2.0: moved
-
     if (viewMode() == Kexi::DesignViewMode) {
 //        connect(KFormDesigner::FormManager::self(), \
SIGNAL(propertySetSwitched(KoProperty::Set*, bool, const QByteArray&)),  //           \
this, SLOT(slotPropertySetSwitched(KoProperty::Set*, bool, const QByteArray&))); @@ \
-264,9 +236,35 @@  m_form = f;
 }
 
-void
-KexiFormView::initForm()
+void KexiFormView::initForm()
 {
+// <here moved from ctor>
+    m_dbform = new KexiDBForm(m_scrollView->viewport(), m_scrollView);
+    m_dbform->setObjectName(
+        i18nc("Widget name. This string will be used to name widgets of this class. \
" +              "It must _not_ contain white spaces and non latin1 characters.", \
"form")); +    QPalette pal(m_dbform->palette());
+    pal.setBrush(QPalette::Window, palette().brush(QPalette::Window));
+    m_dbform->setPalette(pal); // avoid inheriting QPalette::Window role
+                               // from m_scrollView->viewport()
+// m_dbform->resize( m_scrollView->viewport()->size() - QSize(20, 20) );
+// m_dbform->resize(QSize(400, 300));
+    m_scrollView->setWidget(m_dbform);
+    m_scrollView->setResizingEnabled(viewMode() != Kexi::DataViewMode);
+
+// initForm();
+
+    if (viewMode() == Kexi::DataViewMode) {
+        m_scrollView->recordNavigator()->setRecordHandler(m_scrollView);
+        //m_scrollView->viewport()->setPaletteBackgroundColor(m_dbform->palette().active().background());
 +        QPalette pal(m_scrollView->viewport()->palette());
+        pal.setBrush(m_scrollView->viewport()->backgroundRole(), 
+            m_dbform->palette().brush(QPalette::Background));
+        m_scrollView->viewport()->setPalette(pal);
+//moved to formmanager  connect(formPart()->manager(), SIGNAL(noFormSelected()), \
SLOT(slotNoFormSelected())); +    }
+// </here>
+
     setForm(
         new KFormDesigner::Form(
             KexiFormManager::self()->library(), 
@@ -588,6 +586,8 @@
     if ((mode == Kexi::DesignViewMode) && viewMode() == Kexi::DataViewMode) {
         // The form may have been modified, so we must recreate the preview
         delete m_dbform; // also deletes form()
+        initForm();
+/* moved to initForm()
         m_dbform = new KexiDBForm(m_scrollView->viewport(), m_scrollView);
         m_dbform->setObjectName(
             i18nc("Widget name. This string will be used to name widgets of this \
class. " @@ -598,6 +598,7 @@
                                    // from m_scrollView->viewport()
 
         initForm();
+        */
 //moved to formmanager  slotNoFormSelected();
 
         //reset position
--- trunk/koffice/kexi/plugins/forms/kexiformview.h #940996:940997
@@ -1,6 +1,6 @@
 /* This file is part of the KDE project
    Copyright (C) 2004 Cedric Pasteur <cedric.pasteur@free.fr>
-   Copyright (C) 2004-2007 Jarosław Staniek <staniek@kde.org>
+   Copyright (C) 2004-2009 Jarosław Staniek <staniek@kde.org>
 
    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic