Diffstat (limited to 'noncore/apps/confedit/listviewitemconffile.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/confedit/listviewitemconffile.cpp | 30 |
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 | |||
@@ -70,15 +70,38 @@ void ListViewItemConfFile::parseFile() | |||
70 | // qDebug("got key"+s); | 70 | // qDebug("got key"+s); |
71 | item = new ListViewItemConfigEntry(this, group, s ); | 71 | item = new ListViewItemConfigEntry(this, group, s ); |
72 | groupItem->insertItem( item ); | 72 | groupItem->insertItem( item ); |
73 | } | 73 | } |
74 | } | 74 | } |
75 | confFile.close(); | 75 | confFile.close(); |
76 | unchanged(); | ||
76 | setExpandable( _valid ); | 77 | setExpandable( _valid ); |
77 | } | 78 | } |
78 | 79 | ||
80 | |||
81 | void 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 | |||
79 | void ListViewItemConfFile::save() | 102 | void ListViewItemConfFile::save() |
80 | { | 103 | { |
81 | if (!_changed) return; | 104 | if (!_changed) return; |
82 | QString backup = confFileInfo->absFilePath()+"~"; | 105 | QString backup = confFileInfo->absFilePath()+"~"; |
83 | qDebug("make backup to "+backup); | 106 | qDebug("make backup to "+backup); |
84 | QFile conf(confFileInfo->absFilePath()); | 107 | QFile conf(confFileInfo->absFilePath()); |
@@ -98,9 +121,14 @@ void ListViewItemConfFile::save() | |||
98 | QTextStream *t = new QTextStream( &conf ); | 121 | QTextStream *t = new QTextStream( &conf ); |
99 | for (QListViewItem *it = firstChild(); it!=0;it = it->nextSibling()) | 122 | for (QListViewItem *it = firstChild(); it!=0;it = it->nextSibling()) |
100 | { | 123 | { |
101 | ((ListViewItemConfigEntry*)it)->save(t); | 124 | ((ListViewItemConfigEntry*)it)->save(t); |
102 | } | 125 | } |
103 | conf.close(); | 126 | conf.close(); |
104 | qDebug("no saveing yet..."); | ||
105 | unchanged(); | 127 | unchanged(); |
106 | } | 128 | } |
129 | |||
130 | |||
131 | bool ListViewItemConfFile::revertable() | ||
132 | { | ||
133 | return _changed || QFile(confFileInfo->absFilePath()+"~").exists(); | ||
134 | } \ No newline at end of file | ||