diff --git a/mainwindow.cpp b/mainwindow.cpp index edb17bb..27a3ea3 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -473,8 +473,21 @@ void MainWindow::expandAllRows() void MainWindow::manageRowExpansion() { - if(rowExpansionActive && model->getInterpretMode()) - ui->canFramesView->resizeRowsToContents(); + int numRows = ui->canFramesView->model()->rowCount(); + if(numRows < 20000) + { + if(rowExpansionActive && model->getInterpretMode()) + ui->canFramesView->resizeRowsToContents(); + } + else + { + disableAutoRowExpansion(); + } +} + +void MainWindow::disableAutoRowExpansion() +{ + rowExpansionActive = false; } void MainWindow::collapseAllRows() @@ -869,6 +882,7 @@ void MainWindow::handleLoadFile() if (loadResult) { + disableAutoRowExpansion(); ui->canFramesView->scrollToTop(); model->clearFrames(); model->insertFrames(tempFrames); @@ -912,6 +926,7 @@ void MainWindow::handleDroppedFile(const QString &filename) if (loadResult) { + disableAutoRowExpansion(); ui->canFramesView->scrollToTop(); model->clearFrames(); model->insertFrames(loadedFrames); diff --git a/mainwindow.h b/mainwindow.h index 2001860..e76ec3f 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -209,6 +209,7 @@ private: void writeSettings(); bool eventFilter(QObject *obj, QEvent *event); void manageRowExpansion(); + void disableAutoRowExpansion(); }; #endif // MAINWINDOW_H