diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/dataview.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/dataview.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp index f2aba69..69ca9cd 100644 --- a/SQLiteStudio3/guiSQLiteStudio/dataview.cpp +++ b/SQLiteStudio3/guiSQLiteStudio/dataview.cpp @@ -75,6 +75,7 @@ void DataView::initSlots() connect(model, SIGNAL(totalRowsAndPagesAvailable()), this, SLOT(totalRowsAndPagesAvailable())); connect(gridView->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(columnsHeaderClicked(int))); connect(this, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); + connect(model, SIGNAL(itemEditionEnded(SqlQueryItem*)), this, SLOT(adjustColumnWidth(SqlQueryItem*))); } void DataView::initFormView() @@ -265,10 +266,15 @@ void DataView::resizeColumnsInitiallyToContents() { int cols = gridView->model()->columnCount(); gridView->resizeColumnsToContents(); + int wd; for (int i = 0; i < cols ; i++) { - if (gridView->columnWidth(i) > CFG_UI.General.MaxInitialColumnWith.get()) + wd = gridView->columnWidth(i); + if (wd > CFG_UI.General.MaxInitialColumnWith.get()) gridView->setColumnWidth(i, CFG_UI.General.MaxInitialColumnWith.get()); + else if (wd < 60) + gridView->setColumnWidth(i, 60); + } } @@ -524,6 +530,17 @@ void DataView::hideGridCommitCover() QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents); } +void DataView::adjustColumnWidth(SqlQueryItem* item) +{ + if (!item) + return; + + int col = item->column(); + gridView->resizeColumnToContents(col); + if (gridView->columnWidth(col) > CFG_UI.General.MaxInitialColumnWith.get()) + gridView->setColumnWidth(col, CFG_UI.General.MaxInitialColumnWith.get()); +} + void DataView::updateCommitRollbackActions(bool enabled) { gridView->getAction(SqlQueryView::COMMIT)->setEnabled(enabled); |
