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

List:       kde-commits
Subject:    koffice/kexi
From:       Jarosław Staniek <staniek () kde ! org>
Date:       2010-09-08 21:39:47
Message-ID: 20100908213947.ED9C0AC857 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1173178 by staniek:

Forms
*Widgets Tree: now displays items, items are sorted, root is not decorated, fixed \
possible crash when form becomes null



 M  +5 -1      formeditor/WidgetTreeWidget.cpp  
 M  +5 -0      plugins/forms/kexiformpart.cpp  
 M  +3 -0      plugins/forms/kexiformpart.h  
 M  +4 -2      plugins/forms/kexiformview.cpp  


--- trunk/koffice/kexi/formeditor/WidgetTreeWidget.cpp #1173177:1173178
@@ -166,6 +166,7 @@
         , m_form(0)
         , m_options(options)
 {
+    setRootIsDecorated(false);
     setHeaderLabels(QStringList() << i18n("Widget name") << i18nc("Widget's type", \
"Type"));  installEventFilter(this);
 
@@ -178,7 +179,7 @@
     header()->setStretchLastSection(true);
     setAllColumnsShowFocus(true);
     //2.0 setItemMargin(3);
-    setSortingEnabled(false);
+    setSortingEnabled(true);
 }
 
 WidgetTreeWidget::~WidgetTreeWidget()
@@ -279,6 +280,8 @@
 
 void WidgetTreeWidget::slotSelectionChanged()
 {
+    if (!m_form)
+        return;
     const bool hadFocus = hasFocus();
     QList<QTreeWidgetItem*> list = selectedItems();
     m_form->selectFormWidget();
@@ -345,6 +348,7 @@
     ObjectTree *tree = m_form->objectTree();
     QTreeWidgetItem *root = invisibleRootItem();
     loadTree(tree, static_cast<WidgetTreeWidgetItem*>(root));
+    sortItems(0, Qt::AscendingOrder);
 
     if (!form->selectedWidgets()->isEmpty())
         selectWidget(form->selectedWidgets()->first());
--- trunk/koffice/kexi/plugins/forms/kexiformpart.cpp #1173177:1173178
@@ -457,6 +457,11 @@
     return d->dataSourcePage;
 }
 
+KFormDesigner::WidgetTreeWidget* KexiFormPart::widgetTreePage() const
+{
+    return d->widgetTree;
+}
+
 void KexiFormPart::setupCustomPropertyPanelTabs(KTabWidget *tab)
 {
     if (!d->dataSourcePage) {
--- trunk/koffice/kexi/plugins/forms/kexiformpart.h #1173177:1173178
@@ -33,6 +33,7 @@
 {
 class WidgetLibrary;
 class Form;
+class WidgetTreeWidget;
 }
 
 namespace KexiDB
@@ -54,6 +55,8 @@
 
     KexiDataSourcePage* dataSourcePage() const;
 
+    KFormDesigner::WidgetTreeWidget* widgetTreePage() const;
+
     void generateForm(KexiDB::FieldList *list, QDomDocument &domDoc);
 
     class TempData : public KexiWindowData
--- trunk/koffice/kexi/plugins/forms/kexiformview.cpp #1173177:1173178
@@ -37,7 +37,7 @@
 //2.0 #include <formeditor/widgetpropertyset.h>
 #include <formeditor/commands.h>
 #include <formeditor/widgetwithsubpropertiesinterface.h>
-#include <formeditor/objecttree.h>
+#include <formeditor/WidgetTreeWidget.h>
 
 #include <kexi.h>
 #include <kexi_global.h>
@@ -1392,8 +1392,10 @@
 void KexiFormView::updateActions(bool activated)
 {
   if (viewMode()==Kexi::DesignViewMode) {
-    if (activated)
+    if (activated) {
         form()->emitActionSignals();
+        formPart()->widgetTreePage()->setForm(form());
+    }
 /* 2.0
     if (form()->selectedWidget()) {
       if (form()->widget() == form()->selectedWidget())


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

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