Diffstat (limited to 'noncore/settings/aqpkg/installdlgimpl.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index 485fe3d..bfb4f62 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp @@ -15,25 +15,28 @@ * * ***************************************************************************/ #ifdef QWS #include <qpe/config.h> #include <qpe/qpeapplication.h> +#include <qpe/storage.h> #endif #include <qmultilineedit.h> #include <qdialog.h> #include <qcombobox.h> #include <qcheckbox.h> #include <qpushbutton.h> +#include <qlabel.h> #include "datamgr.h" #include "instoptionsimpl.h" #include "destination.h" #include "installdlgimpl.h" +#include "utils.h" #include "global.h" InstallDlgImpl::InstallDlgImpl( vector<InstallData> &packageList, DataManager *dataManager, QWidget * parent, const char* name, bool modal, WFlags fl ) : InstallDlg( parent, name, modal, fl ) { pIpkg = 0; @@ -98,12 +101,14 @@ InstallDlgImpl::InstallDlgImpl( vector<InstallData> &packageList, DataManager *d type = " (ReInstall)"; upgrade += " " + item.packageName + type + "\n"; } } output->setText( remove + install + upgrade ); + + displayAvailableSpace( destination->currentText() ); } InstallDlgImpl::InstallDlgImpl( Ipkg *ipkg, QString initialText, QWidget *parent, const char *name, bool modal, WFlags fl ) : InstallDlg( parent, name, modal, fl ) { pIpkg = ipkg; @@ -234,6 +239,36 @@ void InstallDlgImpl :: installSelected() void InstallDlgImpl :: displayText(const QString &text ) { QString t = output->text() + "\n" + text; output->setText( t ); output->setCursorPosition( output->numLines(), 0 ); } + + +void InstallDlgImpl :: displayAvailableSpace( const QString &text ) +{ + vector<Destination>::iterator 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 ) ) + { + long mult = blockSize / 1024; + long div = 1024 / blockSize; + + if ( !mult ) mult = 1; + if ( !div ) div = 1; +// long total = totalBlocks * mult / div; + long avail = availBlocks * mult / div; +// long used = total - avail; + + space.sprintf( "%ld Kb", avail ); + } + else + space = "Unknown"; + + txtAvailableSpace->setText( space ); +} + |