In MergeView, replace QTableWidget with QTableView with custom model (#266,#217)
QTableWidget was a major bottleneck for large merge sources (#217). This is because a QTableWidgetItem needed to be created for every field in every record of the merge data, whether they are being displayed or not. This was not a problem for small merge sources (only a few dozen records max), however for larger data sets this would severely affect performance and make the application unresponsive. QTableView only renders the fields and records currently visible.
This commit is contained in:
@@ -64,22 +64,18 @@ namespace glabels
|
||||
private slots:
|
||||
void onMergeChanged();
|
||||
void onMergeSourceChanged();
|
||||
void onMergeSelectionChanged();
|
||||
|
||||
void onFormatComboActivated();
|
||||
void onLocationBrowseButtonClicked();
|
||||
void onSelectAllButtonClicked();
|
||||
void onUnselectAllButtonClicked();
|
||||
void onReloadButtonClicked();
|
||||
void onCellChanged( int iRow, int iCol );
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
// Private methods
|
||||
/////////////////////////////////
|
||||
private:
|
||||
void loadHeaders( merge::Merge* merge );
|
||||
void loadTable( merge::Merge* merge );
|
||||
static QString printableTextForView( QString text );
|
||||
|
||||
|
||||
@@ -97,7 +93,6 @@ namespace glabels
|
||||
|
||||
QString mCwd;
|
||||
|
||||
bool mBlock;
|
||||
int mOldFormatComboIndex;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user