author | drw <drw> | 2003-02-06 02:15:59 (UTC) |
---|---|---|
committer | drw <drw> | 2003-02-06 02:15:59 (UTC) |
commit | 51f39143a14b10b971670ad3a204af35be2564bb (patch) (side-by-side diff) | |
tree | 72b9e104f25449f014d877f467f34fd3dba12443 /noncore/settings/sysinfo | |
parent | 79588befde53765db0a92977c6890a4d226096e7 (diff) | |
download | opie-51f39143a14b10b971670ad3a204af35be2564bb.zip opie-51f39143a14b10b971670ad3a204af35be2564bb.tar.gz opie-51f39143a14b10b971670ad3a204af35be2564bb.tar.bz2 |
Fix to keep current selection for modules & processes. Would lose selection when lists were updated.
-rw-r--r-- | noncore/settings/sysinfo/modulesinfo.cpp | 16 | ||||
-rw-r--r-- | noncore/settings/sysinfo/processinfo.cpp | 16 |
2 files changed, 30 insertions, 2 deletions
diff --git a/noncore/settings/sysinfo/modulesinfo.cpp b/noncore/settings/sysinfo/modulesinfo.cpp index 7abad69..3d127a8 100644 --- a/noncore/settings/sysinfo/modulesinfo.cpp +++ b/noncore/settings/sysinfo/modulesinfo.cpp @@ -98,2 +98,9 @@ void ModulesInfo::updateData() + QString selectedmod; + QListViewItem *curritem = ModulesView->currentItem(); + if ( curritem ) + { + selectedmod = curritem->text( 0 ); + } + ModulesView->clear(); @@ -104,2 +111,4 @@ void ModulesInfo::updateData() { + QListViewItem *newitem; + QListViewItem *selecteditem = 0x0; while ( true ) { @@ -115,4 +124,9 @@ void ModulesInfo::updateData() - ( void ) new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); + newitem = new QListViewItem( ModulesView, qmodname, qmodsize, qusecount, qusage ); + if ( qmodname == selectedmod ) + { + selecteditem = newitem; + } } + ModulesView->setCurrentItem( selecteditem ); diff --git a/noncore/settings/sysinfo/processinfo.cpp b/noncore/settings/sysinfo/processinfo.cpp index 769410f..2232771 100644 --- a/noncore/settings/sysinfo/processinfo.cpp +++ b/noncore/settings/sysinfo/processinfo.cpp @@ -103,4 +103,13 @@ void ProcessInfo::updateData() + QString selectedpid; + QListViewItem *curritem = ProcessView->currentItem(); + if ( curritem ) + { + selectedpid = curritem->text( 0 ); + } + ProcessView->clear(); + QListViewItem *newitem; + QListViewItem *selecteditem = 0x0; QDir *procdir = new QDir("/proc", 0, QDir::Name, QDir::Dirs); @@ -134,3 +143,7 @@ void ProcessInfo::updateData() - ( void ) new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime ); + newitem = new QListViewItem( ProcessView, processnum, processcmd, processstatus, processtime ); + if ( processnum == selectedpid ) + { + selecteditem = newitem; + } } @@ -138,2 +151,3 @@ void ProcessInfo::updateData() } + ProcessView->setCurrentItem( selecteditem ); } |