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

List:       kde-commits
Subject:    branches/koffice/1.6/koffice/kexi/plugins
From:       Jaroslaw Staniek <js () iidea ! pl>
Date:       2007-02-06 22:48:37
Message-ID: 1170802117.530177.29577.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 630986 by staniek:

FEATURE: Kexi is now able to display multiple values within
 the same combo box editor, e.g. name + surname


Table Designer
- fixed altering table schema when lookup column has been changed
- added support for multiple visible columns in the combo box editor
   (the same for forms)
- on altering table, remove old lookup field schema objects;
   make sure you do not save empty type/name fields to XML
- fixed updating "lookup column" tab's contents
- fixed crash on saving design with lookup columns defined

Query Designer
- fixed crash if column being removed has sorting set up

2.0: merged

CCMAIL:danny@commit-digest.org



 M  +1 -0      queries/kexiquerydesignerguieditor.cpp  
 M  +1 -3      tables/kexilookupcolumnpage.cpp  
 M  +15 -3     tables/kexitabledesignerview.cpp  


--- branches/koffice/1.6/koffice/kexi/plugins/queries/kexiquerydesignerguieditor.cpp \
#630985:630986 @@ -1420,6 +1420,7 @@
 		if (newValue.isNull()) {
 			d->data->updateRowEditBuffer(item, COLUMN_ID_TABLE, QVariant(), \
false/*!allowSignals*/);  d->data->updateRowEditBuffer(item, COLUMN_ID_VISIBLE, \
QVariant(false,1));//invisible +			d->data->updateRowEditBuffer(item, \
COLUMN_ID_SORTING, QVariant());  #ifndef KEXI_NO_QUERY_TOTALS
 			d->data->updateRowEditBuffer(item, COLUMN_ID_TOTALS, QVariant());//remove totals
 #endif
--- branches/koffice/1.6/koffice/kexi/plugins/tables/kexilookupcolumnpage.cpp \
#630985:630986 @@ -229,9 +229,7 @@
 void KexiLookupColumnPage::setProject(KexiProject *prj)
 {
 	d->rowSourceCombo->setProject(prj,
-		true/*showTables*/, 
-//! @todo show queries when supported
-		false/*showQueries*/
+		true/*showTables*/, true/*showQueries*/
 	);
 	d->boundColumnCombo->setProject(prj);
 	d->visibleColumnCombo->setProject(prj);
--- branches/koffice/1.6/koffice/kexi/plugins/tables/kexitabledesignerview.cpp \
#630985:630986 @@ -440,9 +440,14 @@
 		lookupFieldSchema ? lookupFieldSchema->boundColumn() : -1, i18n("Bound Column")));
 	prop->setVisible(false);
 	
+//! @todo this is backward-compatible code for "single visible column" \
implementation +//!       for multiple columns, only the first is displayed, so there \
is a data loss is GUI is used +//!       -- special koproperty editor needed
+	int visibleColumn = -1;
+	if (lookupFieldSchema && !lookupFieldSchema->visibleColumns().isEmpty())
+		visibleColumn = lookupFieldSchema->visibleColumns().first();
 	set->addProperty( prop
-		= new KoProperty::Property("visibleColumn", 
-		lookupFieldSchema ? lookupFieldSchema->visibleColumn() : -1, i18n("Visible \
Column"))); +		= new KoProperty::Property("visibleColumn", visibleColumn, \
i18n("Visible Column")));  prop->setVisible(false);
 
 //! @todo support columnWidths(), columnHeadersVisible(), maximumListRows(), \
limitToList(), displayWidget() @@ -1326,7 +1331,14 @@
 				lookupFieldSchema->rowSource().setTypeByName( \
                (*s)["rowSourceType"].value().toString() );
 				lookupFieldSchema->rowSource().setName( (*s)["rowSource"].value().toString() );
 				lookupFieldSchema->setBoundColumn( (*s)["boundColumn"].value().toInt() );
-				lookupFieldSchema->setVisibleColumn( (*s)["visibleColumn"].value().toInt() );
+//! @todo this is backward-compatible code for "single visible column" \
implementation +//!       for multiple columns, only the first is displayed, so there \
is a data loss is GUI is used +//!       -- special koproperty editor needed
+				QValueList<uint> visibleColumns;
+				const int visibleColumn = (*s)["visibleColumn"].value().toInt();
+				if (visibleColumn >= 0)
+					visibleColumns.append( (uint)visibleColumn );
+				lookupFieldSchema->setVisibleColumns( visibleColumns );
 //! @todo support columnWidths(), columnHeadersVisible(), maximumListRows(), \
limitToList(), displayWidget()  if (!schema.setLookupFieldSchema(f->name(), \
lookupFieldSchema)) {  kexipluginswarn << 


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

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