I suspect this might be one of those "Built-In-Qtopia" things like application font selection.
It is indeed, trawled through the Qtopia source and found it in src/libraries/qtopia/storage.cpp (which becomes part of libqpe.so)
It's implemented as part of the StorageInfo class on the update() member function and looks like this in Qtopia 1.7 (which is the source that I'm reading)...
if ( isCF(humanname) ) {
humanname = tr("CF Card");
removable = TRUE;
} else if ( humanname == "/dev/hda1" ) {
humanname = tr("Hard Disk");
} else if ( humanname.left(9) == "/dev/mmcd" ) {
humanname = tr("SD Card");
removable = TRUE;
} else if ( humanname.left(7) == "/dev/hd" )
humanname = tr("Hard Disk") + " " + humanname.mid(7);
else if ( humanname.left(7) == "/dev/sd" )
humanname = tr("SCSI Hard Disk") + " " + humanname.mid(7);
else if ( humanname == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" )
humanname = tr("Internal Storage");
else if ( humanname.left(14) == "/dev/mtdblock/" )
humanname = tr("Internal Storage") + " " + humanname.mid(14);
else if ( humanname.left(13) == "/dev/mtdblock" )
humanname = tr("Internal Storage") + " " + humanname.mid(13);
else if ( humanname.left(8) == "/dev/ram" )
humanname = tr("RAM disk") + " " + humanname.mid(8);
FileSystem *fs = new FileSystem( *it, *fsit, humanname, removable, opts );
I can only assume that in the Sharp Qtopia 1.5 build that the "SCSI Hard Disk" bit is missing which is why /dev/sda1 mounts show up without the name
Since the FileSystem class does not expose a function to modify the humanname member it can't be done... in fact the FileSystem class has no entry to these members apart from the constructor for the class....hmm....great thinking (NOT) and exposes only one member - update() - which uses statfs to update the file system stats in the class.
You may ask how Qtopia gets the info out of the class with only one member.. the answer is in storage.h and is pretty rudimentary..
class QTOPIA_EXPORT FileSystem
{
public:
const QString &disk() const { return fsdisk; }
const QString &path() const { return fspath; }
const QString &name() const { return humanname; }
const QString &options() const { return opts; }
long blockSize() const { return blkSize; }
long totalBlocks() const { return totalBlks; }
long availBlocks() const { return availBlks; }
bool isRemovable() const { return removable; }
bool isWritable() const { return opts.contains("rw"); }
private:
friend class StorageInfo;
FileSystem( const QString &disk, const QString &path, const QString &humanname, bool rem, const QString &opts );
void update();
....
Ah well, at least I tried.
- Andy