Diffstat (limited to 'noncore/settings/sysinfo/storage.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/sysinfo/storage.cpp | 27 |
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() { |