summaryrefslogtreecommitdiff
path: root/noncore/settings/sysinfo/storage.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/sysinfo/storage.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sysinfo/storage.cpp27
1 files changed, 9 insertions, 18 deletions
diff --git a/noncore/settings/sysinfo/storage.cpp b/noncore/settings/sysinfo/storage.cpp
index c4474d5..4ef7122 100644
--- a/noncore/settings/sysinfo/storage.cpp
+++ b/noncore/settings/sysinfo/storage.cpp
@@ -49,49 +49,41 @@ FileSysInfo::FileSysInfo( QWidget *parent, const char *name )
vb = 0x0;
storage = new StorageInfo( this );
connect( storage, SIGNAL( disksChanged() ), this, SLOT( disksChanged() ) );
-
+
lines.setAutoDelete(TRUE);
rebuildDisks = TRUE;
updateMounts();
startTimer( 5000 );
}
+
void FileSysInfo::timerEvent(QTimerEvent*)
{
updateMounts();
}
void FileSysInfo::updateMounts()
{
storage->update();
-
+
if ( rebuildDisks )
{
- // Cannot auto delete QDict<MountInfo> disks because it seems to delete
- // the filesystem object as well causing a segfault
- MountInfo *mi;
- for ( QDictIterator<MountInfo> delit(disks); delit.current(); ++delit )
- {
- mi = delit.current();
- mi->fs = 0x0;
- delete mi;
- }
disks.clear();
lines.clear();
-
+
delete vb;
vb = new QVBoxLayout( container/*, n > 3 ? 1 : 5*/ );
bool frst=TRUE;
-
+
FileSystem *fs;
for ( QListIterator<FileSystem> it(storage->fileSystems()); it.current(); ++it )
{
fs = it.current();
-
+
if ( !frst )
{
QFrame *f = new QFrame( container );
vb->addWidget(f);
@@ -99,9 +91,9 @@ void FileSysInfo::updateMounts()
lines.append(f);
f->show();
}
frst = FALSE;
-
+
MountInfo *mi = new MountInfo( fs, container );
vb->addWidget( mi );
disks.insert( fs->path(), mi );
mi->show();
@@ -125,9 +117,9 @@ void FileSysInfo::updateMounts()
{
for (QDictIterator<MountInfo> i(disks); i.current(); ++i)
i.current()->updateData();
}
-
+
rebuildDisks = FALSE;
}
void FileSysInfo::disksChanged()
@@ -144,9 +136,9 @@ MountInfo::MountInfo( FileSystem *filesys, QWidget *parent, const char *name )
vb->addWidget( totalSize );
fs = filesys;
title = fs->name();
-
+
data = new GraphData();
graph = new BarGraph( this );
graph->setFrameStyle( QFrame::Panel | QFrame::Sunken );
vb->addWidget( graph, 1 );
@@ -162,9 +154,8 @@ MountInfo::MountInfo( FileSystem *filesys, QWidget *parent, const char *name )
MountInfo::~MountInfo()
{
delete data;
- delete fs;
}
void MountInfo::updateData()
{