summaryrefslogtreecommitdiff
path: root/noncore/apps/confedit/listviewitemconffile.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/confedit/listviewitemconffile.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/confedit/listviewitemconffile.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/noncore/apps/confedit/listviewitemconffile.cpp b/noncore/apps/confedit/listviewitemconffile.cpp
index 1f85095..ce6504c 100644
--- a/noncore/apps/confedit/listviewitemconffile.cpp
+++ b/noncore/apps/confedit/listviewitemconffile.cpp
@@ -90,10 +90,9 @@ void ListViewItemConfFile::remove()
void ListViewItemConfFile::revert()
{
- if (_changed)
+ if (!_changed)
{
- parseFile();
- }else{
+ // read the backup file
QFile conf(confFileInfo->absFilePath());
QFile back(backupFileName());
@@ -106,6 +105,8 @@ void ListViewItemConfFile::revert()
conf.close();
back.close();
}
+ parseFile();
+ expand();
}
void ListViewItemConfFile::save()
@@ -147,5 +148,13 @@ QString ListViewItemConfFile::backupFileName()
void ListViewItemConfFile::expand()
{
+ QListViewItem *subItem = firstChild();
+ QListViewItem *toDel;
+ while(subItem)
+ {
+ toDel = subItem;
+ subItem = subItem->nextSibling();
+ delete toDel;
+ }
parseFile();
}