summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/storage.cpp
authorllornkcor <llornkcor>2002-05-04 14:13:06 (UTC)
committer llornkcor <llornkcor>2002-05-04 14:13:06 (UTC)
commit4fe6b62e42697c68cd54ac3954ffc536e6f2c0f7 (patch) (side-by-side diff)
tree861d1cda54cb859ad88c160f12a933ae97c701d1 /noncore/settings/sysinfo/storage.cpp
parent27f8629d4e6e16e9a33410ffe650f4a6d0bb17be (diff)
downloadopie-4fe6b62e42697c68cd54ac3954ffc536e6f2c0f7.zip
opie-4fe6b62e42697c68cd54ac3954ffc536e6f2c0f7.tar.gz
opie-4fe6b62e42697c68cd54ac3954ffc536e6f2c0f7.tar.bz2
hacked some changes for openzaurus, root fs should work, /mnt/ram shows something, but I dont know if its correct. At least it shows more than it did
Diffstat (limited to 'noncore/settings/sysinfo/storage.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/sysinfo/storage.cpp46
1 files changed, 32 insertions, 14 deletions
diff --git a/noncore/settings/sysinfo/storage.cpp b/noncore/settings/sysinfo/storage.cpp
index 4e81170..0a07a3b 100644
--- a/noncore/settings/sysinfo/storage.cpp
+++ b/noncore/settings/sysinfo/storage.cpp
@@ -17,7 +17,7 @@
** not clear to you.
**
**********************************************************************/
-
+// additions copyright 2002 by L.J. Potter
#include <qlabel.h>
#include <qlayout.h>
#include <qtimer.h>
@@ -57,8 +57,7 @@ static bool isCF(const QString& m)
char devname[80];
while ( fgets( line, 1024, f ) ) {
// 0 ide ide-cs 0 hda 3 0
- if ( sscanf(line,"%*d %s %*s %*s %s", devtype, devname )==2 )
- {
+ if ( sscanf(line,"%*d %s %*s %*s %s", devtype, devname )==2 ) {
if ( QString(devtype) == "ide" && m.find(devname)>0 ) {
fclose(f);
return TRUE;
@@ -77,18 +76,24 @@ void StorageInfo::updateMounts()
FILE *mntfp = setmntent( "/etc/mtab", "r" );
QStringList curdisks;
QStringList curfs;
+ QStringList mountList;
+ QStringList fsT;
bool rebuild = FALSE;
int n=0;
if ( mntfp ) {
while ( (me = getmntent( mntfp )) != 0 ) {
QString fs = me->mnt_fsname;
if ( fs.left(7)=="/dev/hd" || fs.left(7)=="/dev/sd"
- || fs.left(8)=="/dev/mtd" || fs.left(9) == "/dev/mmcd" )
- {
+ || fs.left(8)=="/dev/mtd" || fs.left(9) == "/dev/mmcd"
+ || fs.left(9) == "/dev/root" || fs.left(5) == "/ramfs") {
n++;
curdisks.append(fs);
QString d = me->mnt_dir;
curfs.append(d);
+ QString mount = me->mnt_dir;
+ mountList.append(mount);
+ QString t = me->mnt_type;
+ fsT.append(t);
if ( !disks.find(d) )
rebuild = TRUE;
}
@@ -103,6 +108,9 @@ void StorageInfo::updateMounts()
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 );
@@ -113,26 +121,29 @@ void StorageInfo::updateMounts()
} frst=FALSE;
QString humanname=*it;
if ( isCF(humanname) )
- humanname = tr("CF Card");
+ humanname = tr("CF Card: "+*fsmount+" "+*fsTit+" ");
else if ( humanname == "/dev/hda1" )
- humanname = tr("Hard Disk");
+ humanname = tr("Hard Disk "+*fsmount+" "+*fsTit+" ");
else if ( humanname.left(9) == "/dev/mmcd" )
- humanname = tr("SD Card");
+ humanname = tr("SD Card "+*fsmount+" "+*fsTit+" ");
else if ( humanname.left(7) == "/dev/hd" )
- humanname = tr("Hard Disk") + " " + humanname.mid(7);
+ humanname = tr("Hard Disk") + " " + humanname.mid(7)+" "+*fsmount+" "+*fsTit+" ";
else if ( humanname.left(7) == "/dev/sd" )
- humanname = tr("SCSI Hard Disk") + " " + humanname.mid(7);
+ humanname = tr("SCSI Hard Disk") + " " + humanname.mid(7)+" "+*fsmount+" "+*fsTit+" ";
else if ( humanname == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" )
- humanname = tr("Internal Storage");
+ humanname = tr("Internal Storage "+*fsmount+" "+*fsTit+"\n");
else if ( humanname.left(14) == "/dev/mtdblock/" )
- humanname = tr("Internal Storage") + " " + humanname.mid(14);
+ humanname = tr("Internal Storage") + " " + humanname.mid(14)+" "+*fsmount+" "+*fsTit+" ";
else if ( humanname.left(13) == "/dev/mtdblock" )
- humanname = tr("Internal Storage") + " " + humanname.mid(13);
+ humanname = tr("Internal Storage") + " " + humanname.mid(13)+" "+*fsmount+" "+*fsTit+" ";
+ else if ( humanname.left(9) == "/dev/root" )
+ humanname = tr("Internal 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 {
@@ -147,6 +158,7 @@ void StorageInfo::updateMounts()
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 );
@@ -184,7 +196,7 @@ void MountInfo::updateData()
long total = fs->totalBlocks() * mult / div;
long avail = fs->availBlocks() * mult / div;
long used = total - avail;
- totalSize->setText( title + tr(" total: %1 kB").arg( total ) );
+ totalSize->setText( title + tr("Total: %1 kB").arg( total ) );
data->clear();
data->addItem( tr("Used (%1 kB)").arg(used), used );
data->addItem( tr("Available (%1 kB)").arg(avail), avail );
@@ -207,9 +219,15 @@ 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;