author | kergoth <kergoth> | 2003-02-18 18:28:18 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-02-18 18:28:18 (UTC) |
commit | 50f0a50a14f87960cf9492d01aeed5a56a6dca06 (patch) (side-by-side diff) | |
tree | 4c922e0fbdc815aba671c09975e56d77140b2c30 | |
parent | f8226f95152e53948b064303b5dc6513ece222aa (diff) | |
download | opie-50f0a50a14f87960cf9492d01aeed5a56a6dca06.zip opie-50f0a50a14f87960cf9492d01aeed5a56a6dca06.tar.gz opie-50f0a50a14f87960cf9492d01aeed5a56a6dca06.tar.bz2 |
Use a max line count on the QMultiLineEdit used for ipkg output, as users have reported performance issues when the line count gets huge.
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index 9339086..1f0bb5f 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp @@ -28,32 +28,36 @@ #include <qcombobox.h> #include <qdialog.h> #include <qgroupbox.h> #include <qmultilineedit.h> #include <qlabel.h> #include <qlayout.h> #include <qpushbutton.h> #include "datamgr.h" #include "destination.h" #include "instoptionsimpl.h" #include "installdlgimpl.h" #include "ipkg.h" #include "utils.h" #include "global.h" +enum { + MAXLINES = 100, +}; + InstallDlgImpl::InstallDlgImpl( QList<InstallData> &packageList, DataManager *dataManager, const char *title ) : QWidget( 0, 0, 0 ) { setCaption( title ); init( TRUE ); pIpkg = 0; upgradePackages = false; dataMgr = dataManager; QString defaultDest = "root"; #ifdef QWS Config cfg( "aqpkg" ); cfg.setGroup( "settings" ); defaultDest = cfg.readEntry( "dest", "root" ); @@ -306,32 +310,38 @@ void InstallDlgImpl :: installSelected() pIpkg = 0; } btnOptions->setEnabled( true ); // btnInstall->setEnabled( true ); btnInstall->setText( tr( "Close" ) ); btnInstall->setIconSet( Resource::loadPixmap( "enter" ) ); if ( destination && destination->currentText() != 0 && destination->currentText() != "" ) displayAvailableSpace( destination->currentText() ); } void InstallDlgImpl :: displayText(const QString &text ) { QString newtext = QString( "%1\n%2" ).arg( output->text() ).arg( text ); + + /* Set a max line count for the QMultiLineEdit, as users have reported + * performance issues when line count gets extreme. + */ + if(output->numLines() >= MAXLINES) + output->removeLine(0); output->setText( newtext ); output->setCursorPosition( output->numLines(), 0 ); } void InstallDlgImpl :: displayAvailableSpace( const QString &text ) { Destination *d = dataMgr->getDestination( text ); QString destDir = d->getDestinationPath(); long blockSize = 0; long totalBlocks = 0; long availBlocks = 0; QString space; if ( Utils::getStorageSpace( (const char *)destDir, &blockSize, &totalBlocks, &availBlocks ) ) { |