Make sure primary key is 1st column. Combine checkbox with primary field.

This commit is contained in:
Jim Evins
2016-05-11 23:56:06 -04:00
parent 8b56520fed
commit 81a73c8e1e
3 changed files with 27 additions and 14 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ QStringList MergeText::keyList() const
///
QString MergeText::primaryKey() const
{
keyFromIndex(0);
return keyFromIndex(0);
}
+14 -2
View File
@@ -104,16 +104,19 @@ void MergeView::onMergeChanged()
///
void MergeView::loadHeaders( Merge* merge )
{
mPrimaryKey = merge->primaryKey();
mKeys = merge->keyList();
recordsTable->setColumnCount( mKeys.size() + 1 );
recordsTable->setColumnCount( mKeys.size() );
QTableWidgetItem* item = new QTableWidgetItem();
QTableWidgetItem* item = new QTableWidgetItem( mPrimaryKey );
item->setFlags( Qt::ItemIsEnabled );
recordsTable->setHorizontalHeaderItem( 0, item );
int iCol = 1;
foreach ( QString key, mKeys )
{
if ( key != mPrimaryKey )
{
QTableWidgetItem* item = new QTableWidgetItem( key );
item->setFlags( Qt::ItemIsEnabled );
@@ -121,6 +124,8 @@ void MergeView::loadHeaders( Merge* merge )
iCol++;
}
}
}
@@ -136,6 +141,10 @@ void MergeView::loadTable( Merge* merge )
foreach ( MergeRecord* record, records )
{
QTableWidgetItem* item = new QTableWidgetItem();
if ( record->contains( mPrimaryKey ) )
{
item->setText( (*record)[mPrimaryKey] );
}
item->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable );
item->setCheckState( record->isSelected() ? Qt::Checked : Qt::Unchecked );
recordsTable->setItem( iRow, 0, item );
@@ -143,6 +152,8 @@ void MergeView::loadTable( Merge* merge )
int iCol = 1;
foreach ( QString key, mKeys )
{
if ( key != mPrimaryKey )
{
if ( record->contains( key ) )
{
@@ -154,6 +165,7 @@ void MergeView::loadTable( Merge* merge )
iCol++;
}
}
iRow++;
}
+1
View File
@@ -77,6 +77,7 @@ private:
UndoRedoModel* mUndoRedoModel;
QStringList mKeys;
QString mPrimaryKey;
};