diff --git a/src/findform.cpp b/src/findform.cpp index afb9eb99..ebba27fe 100644 --- a/src/findform.cpp +++ b/src/findform.cpp @@ -37,26 +37,24 @@ void findForm::languageChange() void findForm::showResults(resultMap rmap) { - findListView->clear(); - findListView->setSorting(-1); + findTableWidget->clearContents(); + findTableWidget->setSortingEnabled(false); resultMap::Iterator it; - Q3ListViewItem * lasttbitem = 0; - for ( it = rmap.begin(); it != rmap.end(); ++it ) { - Q3ListViewItem * tbitem = new Q3ListViewItem( findListView, lasttbitem ); - //tbitem->setOpen( TRUE ); - tbitem->setText( 0, QString::number(it.key() + 1,10) ); //increase from index 0 - QString firstline = it.data().section( '\n', 0,0 ); - if (firstline.length()>MAX_DISPLAY_LENGTH) - { - firstline.truncate(MAX_DISPLAY_LENGTH); - firstline.append("..."); - } - tbitem->setText( 1, firstline ); - lasttbitem = tbitem; + findTableWidget->setRowCount(rmap.size()); + for ( it = rmap.begin(); it != rmap.end(); ++it ) { + QString firstline = it.data().section( '\n', 0,0 ); + if (firstline.length()>MAX_DISPLAY_LENGTH) + { + firstline.truncate(MAX_DISPLAY_LENGTH); + firstline.append("..."); } - QString results = "Found: "; - results.append(QString::number(findListView->childCount())); - resultsLabel->setText(results); + findTableWidget->setItem( it.key(), 0, new QTableWidgetItem( QString::number(it.key() + 1) ) ); + findTableWidget->setItem( it.key(), 1, new QTableWidgetItem( firstline) ); + } + QString results = "Found: "; + results.append(QString::number(findTableWidget->rowCount())); + resultsLabel->setText(results); + findTableWidget->setSortingEnabled(true); } @@ -75,17 +73,17 @@ void findForm::resetFields(QStringList fieldlist) void findForm::resetResults() { - findListView->clear(); + findTableWidget->clearContents(); resultsLabel->setText("Found: 0"); } -void findForm::recordSelected( Q3ListViewItem * witem) +void findForm::recordSelected( QTableWidgetItem * witem) { if (witem) { - int recNum = (witem->text(0)).toInt() ; - emit showrecord(recNum); -} + int recNum = witem->text().toInt(); + emit showrecord(recNum); + } } void findForm::closeEvent( QCloseEvent * ) diff --git a/src/findform.h b/src/findform.h index a1ceee40..bd938009 100644 --- a/src/findform.h +++ b/src/findform.h @@ -12,8 +12,7 @@ #define QT_END_NAMESPACE #endif -#include -#include +#include #include #include #include @@ -41,7 +40,7 @@ public: QComboBox *findFieldCombobox; QLineEdit *searchLine; QComboBox *findOperatorComboBox; - Q3ListView *findListView; + QTableWidget *findTableWidget; QHBoxLayout *hboxLayout; QLabel *resultsLabel; QSpacerItem *spacer10; @@ -81,19 +80,16 @@ public: vboxLayout->addLayout(gridLayout); - findListView = new Q3ListView(findForm); - findListView->addColumn(QApplication::translate("findForm", "Record", 0, QApplication::UnicodeUTF8)); - findListView->header()->setClickEnabled(true, findListView->header()->count() - 1); - findListView->header()->setResizeEnabled(true, findListView->header()->count() - 1); - findListView->addColumn(QApplication::translate("findForm", "Data", 0, QApplication::UnicodeUTF8)); - findListView->header()->setClickEnabled(true, findListView->header()->count() - 1); - findListView->header()->setResizeEnabled(true, findListView->header()->count() - 1); - findListView->setObjectName(QString::fromUtf8("findListView")); - findListView->setMidLineWidth(30); - findListView->setResizePolicy(Q3ScrollView::Manual); - findListView->setResizeMode(Q3ListView::LastColumn); + findTableWidget = new QTableWidget(findForm); + findTableWidget->setColumnCount(2); + findTableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem( QApplication::translate("findForm", "Record", 0, QApplication::UnicodeUTF8) )); + findTableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem( QApplication::translate("findForm", "Data", 0, QApplication::UnicodeUTF8) )); + findTableWidget->setObjectName(QString::fromUtf8("findListView")); + findTableWidget->setMidLineWidth(30); + //findTableWidget->setResizePolicy(Q3ScrollView::Manual); + //findTableWidget->setResizeMode(Q3ListView::LastColumn); - vboxLayout->addWidget(findListView); + vboxLayout->addWidget(findTableWidget); hboxLayout = new QHBoxLayout(); hboxLayout->setSpacing(6); @@ -119,7 +115,7 @@ public: retranslateUi(findForm); QObject::connect(searchButton, SIGNAL(clicked()), findForm, SLOT(find())); - QObject::connect(findListView, SIGNAL(clicked(Q3ListViewItem*)), findForm, SLOT(recordSelected(Q3ListViewItem*))); + QObject::connect(findTableWidget, SIGNAL(itemClicked(QTableWidgetItem*)), findForm, SLOT(recordSelected(QTableWidgetItem*))); QMetaObject::connectSlotsByName(findForm); } // setupUi @@ -165,10 +161,10 @@ public: #ifndef QT_NO_WHATSTHIS findOperatorComboBox->setProperty("whatsThis", QVariant(QApplication::translate("findForm", "This control is used to select the search criteria used to look for the search term in the database. Use '=' or 'contains' to find words, and the comparison symbols to filter numeric data.", 0, QApplication::UnicodeUTF8))); #endif // QT_NO_WHATSTHIS - findListView->header()->setLabel(0, QApplication::translate("findForm", "Record", 0, QApplication::UnicodeUTF8)); - findListView->header()->setLabel(1, QApplication::translate("findForm", "Data", 0, QApplication::UnicodeUTF8)); + findTableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem( QApplication::translate("findForm", "Record", 0, QApplication::UnicodeUTF8) )); + findTableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem( QApplication::translate("findForm", "Data", 0, QApplication::UnicodeUTF8) )); #ifndef QT_NO_WHATSTHIS - findListView->setProperty("whatsThis", QVariant(QApplication::translate("findForm", "Results of the search will appear in this area. Click on a result to select the corresponding record in the database", 0, QApplication::UnicodeUTF8))); + findTableWidget->setProperty("whatsThis", QVariant(QApplication::translate("findForm", "Results of the search will appear in this area. Click on a result to select the corresponding record in the database", 0, QApplication::UnicodeUTF8))); #endif // QT_NO_WHATSTHIS resultsLabel->setText(QApplication::translate("findForm", "Found:", 0, QApplication::UnicodeUTF8)); } // retranslateUi @@ -194,7 +190,7 @@ public slots: virtual void find(); virtual void resetFields( QStringList fieldlist ); virtual void resetResults(); - virtual void recordSelected( Q3ListViewItem * witem ); + virtual void recordSelected( QTableWidgetItem * witem ); virtual void closeEvent( QCloseEvent * ); signals: