Make sure primary key is 1st column. Combine checkbox with primary field.
This commit is contained in:
@@ -71,7 +71,7 @@ QStringList MergeText::keyList() const
|
|||||||
///
|
///
|
||||||
QString MergeText::primaryKey() const
|
QString MergeText::primaryKey() const
|
||||||
{
|
{
|
||||||
keyFromIndex(0);
|
return keyFromIndex(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+25
-13
@@ -104,22 +104,27 @@ void MergeView::onMergeChanged()
|
|||||||
///
|
///
|
||||||
void MergeView::loadHeaders( Merge* merge )
|
void MergeView::loadHeaders( Merge* merge )
|
||||||
{
|
{
|
||||||
|
mPrimaryKey = merge->primaryKey();
|
||||||
mKeys = merge->keyList();
|
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 );
|
item->setFlags( Qt::ItemIsEnabled );
|
||||||
recordsTable->setHorizontalHeaderItem( 0, item );
|
recordsTable->setHorizontalHeaderItem( 0, item );
|
||||||
|
|
||||||
int iCol = 1;
|
int iCol = 1;
|
||||||
foreach ( QString key, mKeys )
|
foreach ( QString key, mKeys )
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = new QTableWidgetItem( key );
|
if ( key != mPrimaryKey )
|
||||||
item->setFlags( Qt::ItemIsEnabled );
|
{
|
||||||
recordsTable->setHorizontalHeaderItem( iCol, item );
|
QTableWidgetItem* item = new QTableWidgetItem( key );
|
||||||
|
item->setFlags( Qt::ItemIsEnabled );
|
||||||
|
recordsTable->setHorizontalHeaderItem( iCol, item );
|
||||||
|
|
||||||
|
iCol++;
|
||||||
|
}
|
||||||
|
|
||||||
iCol++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,6 +141,10 @@ void MergeView::loadTable( Merge* merge )
|
|||||||
foreach ( MergeRecord* record, records )
|
foreach ( MergeRecord* record, records )
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = new QTableWidgetItem();
|
QTableWidgetItem* item = new QTableWidgetItem();
|
||||||
|
if ( record->contains( mPrimaryKey ) )
|
||||||
|
{
|
||||||
|
item->setText( (*record)[mPrimaryKey] );
|
||||||
|
}
|
||||||
item->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable );
|
item->setFlags( Qt::ItemIsEnabled | Qt::ItemIsUserCheckable );
|
||||||
item->setCheckState( record->isSelected() ? Qt::Checked : Qt::Unchecked );
|
item->setCheckState( record->isSelected() ? Qt::Checked : Qt::Unchecked );
|
||||||
recordsTable->setItem( iRow, 0, item );
|
recordsTable->setItem( iRow, 0, item );
|
||||||
@@ -144,15 +153,18 @@ void MergeView::loadTable( Merge* merge )
|
|||||||
int iCol = 1;
|
int iCol = 1;
|
||||||
foreach ( QString key, mKeys )
|
foreach ( QString key, mKeys )
|
||||||
{
|
{
|
||||||
if ( record->contains( key ) )
|
if ( key != mPrimaryKey )
|
||||||
{
|
{
|
||||||
QTableWidgetItem* item = new QTableWidgetItem( (*record)[key] );
|
if ( record->contains( key ) )
|
||||||
item->setFlags( Qt::ItemIsEnabled );
|
{
|
||||||
recordsTable->setItem( iRow, iCol, item );
|
QTableWidgetItem* item = new QTableWidgetItem( (*record)[key] );
|
||||||
recordsTable->resizeColumnToContents( iCol );
|
item->setFlags( Qt::ItemIsEnabled );
|
||||||
}
|
recordsTable->setItem( iRow, iCol, item );
|
||||||
|
recordsTable->resizeColumnToContents( iCol );
|
||||||
|
}
|
||||||
|
|
||||||
iCol++;
|
iCol++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
iRow++;
|
iRow++;
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ private:
|
|||||||
UndoRedoModel* mUndoRedoModel;
|
UndoRedoModel* mUndoRedoModel;
|
||||||
|
|
||||||
QStringList mKeys;
|
QStringList mKeys;
|
||||||
|
QString mPrimaryKey;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user