From d45678c551cdc7bc72cb279af8a2e37918d948b1 Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Sun, 29 Jul 2012 22:36:53 +0200 Subject: [PATCH] on refresh don't reset column widths --- src/mainwindow.cpp | 22 ++++++++++++---------- src/mainwindow.h | 4 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index f6fb5e97..fa1e7894 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1015,7 +1015,7 @@ void MainWindow::populateStructure() } } -void MainWindow::populateTable( const QString & tablename) +void MainWindow::populateTable( const QString & tablename, bool keepColumnWidths) { bool mustreset = false; QApplication::setOverrideCursor( Qt::WaitCursor ); @@ -1035,10 +1035,10 @@ void MainWindow::populateTable( const QString & tablename) if (mustreset){ recAtTop = 0; - updateTableView(0); + updateTableView(0, keepColumnWidths); if (findWin) findWin->resetFields(db.getTableFields(db.curBrowseTableName)); } else { - updateTableView(-1); + updateTableView(-1, keepColumnWidths); } //got to keep findWin in synch if (findWin){ @@ -1161,7 +1161,7 @@ QString wrapText(const QString& text) return wrap; } -void MainWindow::updateTableView(int lineToSelect) +void MainWindow::updateTableView(int lineToSelect, bool keepColumnWidths) { // qDebug("line to select value is %d, rowAttop = %d",lineToSelect, recAtTop); QApplication::setOverrideCursor( Qt::WaitCursor ); @@ -1214,11 +1214,13 @@ void MainWindow::updateTableView(int lineToSelect) } - for(int i = 0; i < dataTable->columnCount(); ++i) - { - dataTable->resizeColumnToContents(i); - if( dataTable->columnWidth(i) > 400 ) - dataTable->setColumnWidth(i, 400); + if(!keepColumnWidths) { + for(int i = 0; i < dataTable->columnCount(); ++i) + { + dataTable->resizeColumnToContents(i); + if( dataTable->columnWidth(i) > 400 ) + dataTable->setColumnWidth(i, 400); + } } //dataTable->clearSelection(true); if (lineToSelect!=-1){ @@ -1331,7 +1333,7 @@ void MainWindow::browseFindAway() void MainWindow::browseRefresh() { - populateTable(comboBrowseTable->currentText()); + populateTable(comboBrowseTable->currentText(), true); } void MainWindow::lookfor( const QString & wfield, const QString & woperator, const QString & wsearchterm ) diff --git a/src/mainwindow.h b/src/mainwindow.h index 5c614ac5..60b001d2 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -169,13 +169,13 @@ public slots: virtual void fileOpen(); virtual void fileNew(); virtual void populateStructure(); - virtual void populateTable( const QString & tablename ); + virtual void populateTable(const QString & tablename , bool keepColumnWidths = false); virtual void resetBrowser(); virtual void fileClose(); virtual void fileExit(); virtual void addRecord(); virtual void deleteRecord(); - virtual void updateTableView( int lineToSelect ); + virtual void updateTableView(int lineToSelect , bool keepColumnWidths = false); virtual void selectTableLine( int lineToSelect ); virtual void navigatePrevious(); virtual void navigateNext();