summaryrefslogtreecommitdiff
path: root/noncore/apps/confedit/listviewitemconffile.cpp
Unidiff
Diffstat (limited to 'noncore/apps/confedit/listviewitemconffile.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/confedit/listviewitemconffile.cpp30
1 files changed, 29 insertions, 1 deletions
diff --git a/noncore/apps/confedit/listviewitemconffile.cpp b/noncore/apps/confedit/listviewitemconffile.cpp
index 858726d..b075063 100644
--- a/noncore/apps/confedit/listviewitemconffile.cpp
+++ b/noncore/apps/confedit/listviewitemconffile.cpp
@@ -75,2 +75,3 @@ void ListViewItemConfFile::parseFile()
75 confFile.close(); 75 confFile.close();
76 unchanged();
76 setExpandable( _valid ); 77 setExpandable( _valid );
@@ -78,2 +79,24 @@ void ListViewItemConfFile::parseFile()
78 79
80
81void ListViewItemConfFile::revert()
82{
83 if (_changed)
84 {
85 parseFile();
86 }else{
87 QString backup = confFileInfo->absFilePath()+"~";
88 QFile conf(confFileInfo->absFilePath());
89 QFile back(backup);
90
91 if (!back.open(IO_ReadOnly)) return;
92 if (!conf.open(IO_WriteOnly)) return;
93
94 #define SIZE 124
95 char buf[SIZE];
96 while (int c = back.readBlock(buf, SIZE) ) conf.writeBlock(buf,c);
97 conf.close();
98 back.close();
99 }
100}
101
79void ListViewItemConfFile::save() 102void ListViewItemConfFile::save()
@@ -103,4 +126,9 @@ void ListViewItemConfFile::save()
103 conf.close(); 126 conf.close();
104 qDebug("no saveing yet...");
105 unchanged(); 127 unchanged();
106} 128}
129
130
131bool ListViewItemConfFile::revertable()
132{
133 return _changed || QFile(confFileInfo->absFilePath()+"~").exists();
134} \ No newline at end of file