6c10571ba4
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.
256 lines
6.9 KiB
XML
256 lines
6.9 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>MergeView</class>
|
|
<widget class="QWidget" name="MergeView">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>570</width>
|
|
<height>605</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string notr="true">Form</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="0" column="0">
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<property name="leftMargin">
|
|
<number>12</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>12</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>12</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>12</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QLabel" name="titleLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string notr="true"><span style=" font-size:18pt;">Merge</span></string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>Source</string>
|
|
</property>
|
|
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="1">
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Format:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QComboBox" name="formatCombo"/>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
<item>
|
|
<widget class="QLineEdit" name="locationLineEdit">
|
|
<property name="readOnly">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="locationBrowseButton">
|
|
<property name="text">
|
|
<string>Browse...</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="locationLabel">
|
|
<property name="text">
|
|
<string>Location:</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_2">
|
|
<property name="title">
|
|
<string>Records</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_4">
|
|
<item row="1" column="0">
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<widget class="QPushButton" name="selectAllButton">
|
|
<property name="text">
|
|
<string>Select all</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="unselectAllButton">
|
|
<property name="text">
|
|
<string>Unselect all</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QPushButton" name="pushButton">
|
|
<property name="text">
|
|
<string>Reload</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QTableView" name="recordsTableView">
|
|
<property name="focusPolicy">
|
|
<enum>Qt::NoFocus</enum>
|
|
</property>
|
|
<property name="selectionMode">
|
|
<enum>QAbstractItemView::NoSelection</enum>
|
|
</property>
|
|
<property name="textElideMode">
|
|
<enum>Qt::ElideRight</enum>
|
|
</property>
|
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
|
<bool>true</bool>
|
|
</attribute>
|
|
<attribute name="horizontalHeaderStretchLastSection">
|
|
<bool>true</bool>
|
|
</attribute>
|
|
<attribute name="verticalHeaderStretchLastSection">
|
|
<bool>false</bool>
|
|
</attribute>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>selectAllButton</sender>
|
|
<signal>clicked()</signal>
|
|
<receiver>MergeView</receiver>
|
|
<slot>onSelectAllButtonClicked()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>97</x>
|
|
<y>570</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>69</x>
|
|
<y>601</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>unselectAllButton</sender>
|
|
<signal>clicked()</signal>
|
|
<receiver>MergeView</receiver>
|
|
<slot>onUnselectAllButtonClicked()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>178</x>
|
|
<y>567</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>263</x>
|
|
<y>600</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>formatCombo</sender>
|
|
<signal>activated(int)</signal>
|
|
<receiver>MergeView</receiver>
|
|
<slot>onFormatComboActivated()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>257</x>
|
|
<y>109</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>563</x>
|
|
<y>50</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>locationBrowseButton</sender>
|
|
<signal>clicked()</signal>
|
|
<receiver>MergeView</receiver>
|
|
<slot>onLocationBrowseButtonClicked()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>534</x>
|
|
<y>165</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>565</x>
|
|
<y>149</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>pushButton</sender>
|
|
<signal>clicked()</signal>
|
|
<receiver>MergeView</receiver>
|
|
<slot>onReloadButtonClicked()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>510</x>
|
|
<y>552</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>539</x>
|
|
<y>602</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
<slots>
|
|
<slot>onSelectAllButtonClicked()</slot>
|
|
<slot>onUnselectAllButtonClicked()</slot>
|
|
<slot>onFormatComboActivated()</slot>
|
|
<slot>onLocationBrowseButtonClicked()</slot>
|
|
<slot>onReloadButtonClicked()</slot>
|
|
</slots>
|
|
</ui>
|