author | llornkcor <llornkcor> | 2002-07-20 19:24:20 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-07-20 19:24:20 (UTC) |
commit | 2ba2f7293e6b7b7b54e733ff84e0b57f0dbc3dfc (patch) (side-by-side diff) | |
tree | 54721319a2e07ebda9def3f139f7302c64fef886 | |
parent | 8c335cfdfffede8b7a864566ec4d9507a2978684 (diff) | |
download | opie-2ba2f7293e6b7b7b54e733ff84e0b57f0dbc3dfc.zip opie-2ba2f7293e6b7b7b54e733ff84e0b57f0dbc3dfc.tar.gz opie-2ba2f7293e6b7b7b54e733ff84e0b57f0dbc3dfc.tar.bz2 |
ok, here ya go.
-rw-r--r-- | noncore/settings/sysinfo/storage.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/noncore/settings/sysinfo/storage.cpp b/noncore/settings/sysinfo/storage.cpp index f76fbdb..b369ff1 100644 --- a/noncore/settings/sysinfo/storage.cpp +++ b/noncore/settings/sysinfo/storage.cpp @@ -96,145 +96,139 @@ void StorageInfo::updateMounts() QString t = me->mnt_type; fsT.append(t); if ( !disks.find(d) ) rebuild = TRUE; } } endmntent( mntfp ); } if ( rebuild || n != (int)disks.count() ) { disks.clear(); lines.clear(); delete vb; vb = new QVBoxLayout( this, n > 3 ? 1 : 5 ); bool frst=TRUE; QStringList::ConstIterator it=curdisks.begin(); QStringList::ConstIterator fsit=curfs.begin(); QStringList::ConstIterator fsmount=mountList.begin(); QStringList::ConstIterator fsTit=fsT.begin(); for (; it!=curdisks.end(); ++it, ++fsit) { if ( !frst ) { QFrame *f = new QFrame( this ); vb->addWidget(f); f->setFrameStyle( QFrame::HLine | QFrame::Sunken ); lines.append(f); f->show(); } frst=FALSE; QString humanname=*it; // qDebug(humanname); if ( isCF(humanname) ) humanname = tr("CF Card: "+*fsmount+" "+*fsTit+" "); else if ( humanname == "/dev/hda1" ) humanname = tr("Hard Disk "+*fsmount+" "+*fsTit+" "); else if ( humanname.left(9) == "/dev/mmcd" ) humanname = tr("SD Card "+*fsmount+" "+*fsTit+" "); else if ( humanname.left(7) == "/dev/hd" ) humanname = tr("Hard Disk") + " " + humanname.mid(7)+" "+*fsmount+" "+*fsTit+" "; else if ( humanname.left(7) == "/dev/sd" ) humanname = tr("SCSI Hard Disk") + " " + humanname.mid(7)+" "+*fsmount+" "+*fsTit+" "; else if ( humanname == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" ) humanname = tr("Int. Storage "+*fsmount+" "+*fsTit+"\n"); else if ( humanname.left(14) == "/dev/mtdblock/" ) humanname = tr("Int. Storage") + " " + humanname.mid(14)+" "+*fsmount+" "+*fsTit+" "; else if ( humanname.left(13) == "/dev/mtdblock" ) humanname = tr("Int. Storage") + " " + humanname.mid(13)+" "+*fsmount+" "+*fsTit+" "; else if ( humanname.left(9) == "/dev/root" ) humanname = tr("Int. Storage "+*fsmount+" "+*fsTit+" "); // etc. MountInfo* mi = new MountInfo( *fsit, humanname, this ); vb->addWidget(mi); disks.insert(*fsit,mi); mi->show(); fsmount++;fsTit++; } vb->addStretch(); } else { // just update them for (QDictIterator<MountInfo> i(disks); i.current(); ++i) i.current()->updateData(); } #endif } MountInfo::MountInfo( const QString &path, const QString &ttl, QWidget *parent, const char *name ) : QWidget( parent, name ), title(ttl) { qDebug("new path is "+path); fs = new FileSystem( path ); QVBoxLayout *vb = new QVBoxLayout( this, 3 ); totalSize = new QLabel( this ); vb->addWidget( totalSize ); data = new GraphData(); graph = new BarGraph( this ); graph->setFrameStyle( QFrame::Panel | QFrame::Sunken ); vb->addWidget( graph, 1 ); graph->setData( data ); legend = new GraphLegend( this ); legend->setOrientation(Horizontal); vb->addWidget( legend ); legend->setData( data ); updateData(); } MountInfo::~MountInfo() { delete data; delete fs; } void MountInfo::updateData() { fs->update(); long mult = fs->blockSize() / 1024; long div = 1024 / fs->blockSize(); if ( !mult ) mult = 1; if ( !div ) div = 1; long total = fs->totalBlocks() * mult / div; long avail = fs->availBlocks() * mult / div; long used = total - avail; totalSize->setText( title + tr(" : %1 kB").arg( total ) ); data->clear(); data->addItem( tr("Used (%1 kB)").arg(used), used ); data->addItem( tr("Available (%1 kB)").arg(avail), avail ); graph->repaint( FALSE ); legend->update(); graph->show(); legend->show(); } //--------------------------------------------------------------------------- FileSystem::FileSystem( const QString &p ) : fspath( p ), blkSize(512), totalBlks(0), availBlks(0) { update(); } void FileSystem::update() { #if defined(_OS_LINUX_) || defined(Q_OS_LINUX) struct statfs fs; if ( !statfs( fspath.latin1(), &fs ) ) { - if( fspath.left(8) == "/mnt/ram") { //ugly hack openzaurus - blkSize = fs.f_bsize; - totalBlks = fs.f_blocks; - availBlks = fs.f_ffree; - } else { blkSize = fs.f_bsize; totalBlks = fs.f_blocks; availBlks = fs.f_bavail; - } } else { blkSize = 0; totalBlks = 0; availBlks = 0; } #endif } |