-rw-r--r-- | noncore/apps/confedit/listviewitemconffile.cpp | 15 | ||||
-rw-r--r-- | noncore/apps/confedit/mainwindow.cpp | 1 |
2 files changed, 13 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 | |||
@@ -81,40 +81,41 @@ void ListViewItemConfFile::parseFile() | |||
81 | } | 81 | } |
82 | 82 | ||
83 | 83 | ||
84 | void ListViewItemConfFile::remove() | 84 | void ListViewItemConfFile::remove() |
85 | { | 85 | { |
86 | QFile::remove(confFileInfo->absFilePath()); | 86 | QFile::remove(confFileInfo->absFilePath()); |
87 | QFile::remove(backupFileName()); | 87 | QFile::remove(backupFileName()); |
88 | delete this; | 88 | delete this; |
89 | } | 89 | } |
90 | 90 | ||
91 | void ListViewItemConfFile::revert() | 91 | void ListViewItemConfFile::revert() |
92 | { | 92 | { |
93 | if (_changed) | 93 | if (!_changed) |
94 | { | 94 | { |
95 | parseFile(); | 95 | // read the backup file |
96 | }else{ | ||
97 | QFile conf(confFileInfo->absFilePath()); | 96 | QFile conf(confFileInfo->absFilePath()); |
98 | QFile back(backupFileName()); | 97 | QFile back(backupFileName()); |
99 | 98 | ||
100 | if (!back.open(IO_ReadOnly)) return; | 99 | if (!back.open(IO_ReadOnly)) return; |
101 | if (!conf.open(IO_WriteOnly)) return; | 100 | if (!conf.open(IO_WriteOnly)) return; |
102 | 101 | ||
103 | #define SIZE 124 | 102 | #define SIZE 124 |
104 | char buf[SIZE]; | 103 | char buf[SIZE]; |
105 | while (int c = back.readBlock(buf, SIZE) ) conf.writeBlock(buf,c); | 104 | while (int c = back.readBlock(buf, SIZE) ) conf.writeBlock(buf,c); |
106 | conf.close(); | 105 | conf.close(); |
107 | back.close(); | 106 | back.close(); |
108 | } | 107 | } |
108 | parseFile(); | ||
109 | expand(); | ||
109 | } | 110 | } |
110 | 111 | ||
111 | void ListViewItemConfFile::save() | 112 | void ListViewItemConfFile::save() |
112 | { | 113 | { |
113 | if (!_changed) return; | 114 | if (!_changed) return; |
114 | QFile conf(confFileInfo->absFilePath()); | 115 | QFile conf(confFileInfo->absFilePath()); |
115 | QFile back(backupFileName()); | 116 | QFile back(backupFileName()); |
116 | 117 | ||
117 | if (!conf.open(IO_ReadOnly)) return; | 118 | if (!conf.open(IO_ReadOnly)) return; |
118 | if (!back.open(IO_WriteOnly)) return; | 119 | if (!back.open(IO_WriteOnly)) return; |
119 | 120 | ||
120 | char buf[SIZE]; | 121 | char buf[SIZE]; |
@@ -138,14 +139,22 @@ bool ListViewItemConfFile::revertable() | |||
138 | { | 139 | { |
139 | return _changed || QFile(backupFileName()).exists(); | 140 | return _changed || QFile(backupFileName()).exists(); |
140 | } | 141 | } |
141 | 142 | ||
142 | QString ListViewItemConfFile::backupFileName() | 143 | QString ListViewItemConfFile::backupFileName() |
143 | { | 144 | { |
144 | return confFileInfo->absFilePath()+"~"; | 145 | return confFileInfo->absFilePath()+"~"; |
145 | } | 146 | } |
146 | 147 | ||
147 | 148 | ||
148 | void ListViewItemConfFile::expand() | 149 | void ListViewItemConfFile::expand() |
149 | { | 150 | { |
151 | QListViewItem *subItem = firstChild(); | ||
152 | QListViewItem *toDel; | ||
153 | while(subItem) | ||
154 | { | ||
155 | toDel = subItem; | ||
156 | subItem = subItem->nextSibling(); | ||
157 | delete toDel; | ||
158 | } | ||
150 | parseFile(); | 159 | parseFile(); |
151 | } | 160 | } |
diff --git a/noncore/apps/confedit/mainwindow.cpp b/noncore/apps/confedit/mainwindow.cpp index 6de8741..c91c846 100644 --- a/noncore/apps/confedit/mainwindow.cpp +++ b/noncore/apps/confedit/mainwindow.cpp | |||
@@ -64,24 +64,25 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : | |||
64 | this, SLOT(setCurrent(QListViewItem*))); | 64 | this, SLOT(setCurrent(QListViewItem*))); |
65 | connect( settingList, SIGNAL( clicked( QListViewItem* ) ), | 65 | connect( settingList, SIGNAL( clicked( QListViewItem* ) ), |
66 | this, SLOT( stopTimer( QListViewItem* ) ) ); | 66 | this, SLOT( stopTimer( QListViewItem* ) ) ); |
67 | 67 | ||
68 | connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ), | 68 | connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ), |
69 | SLOT( groupChanged(const QString&) ) ); | 69 | SLOT( groupChanged(const QString&) ) ); |
70 | connect( editor->LineEditKey, SIGNAL( textChanged(const QString&) ), | 70 | connect( editor->LineEditKey, SIGNAL( textChanged(const QString&) ), |
71 | SLOT( keyChanged(const QString&) ) ); | 71 | SLOT( keyChanged(const QString&) ) ); |
72 | connect( editor->LineEditValue, SIGNAL( textChanged(const QString&) ), | 72 | connect( editor->LineEditValue, SIGNAL( textChanged(const QString&) ), |
73 | SLOT( valueChanged(const QString&) ) ); | 73 | SLOT( valueChanged(const QString&) ) ); |
74 | 74 | ||
75 | setCurrent(0); | 75 | setCurrent(0); |
76 | editor->layoutType(EditWidget::File); | ||
76 | } | 77 | } |
77 | 78 | ||
78 | void MainWindow::makeMenu() | 79 | void MainWindow::makeMenu() |
79 | { | 80 | { |
80 | popupTimer = new QTimer(this); | 81 | popupTimer = new QTimer(this); |
81 | popupMenuFile = new QPopupMenu(this); | 82 | popupMenuFile = new QPopupMenu(this); |
82 | popupMenuEntry = new QPopupMenu(this); | 83 | popupMenuEntry = new QPopupMenu(this); |
83 | 84 | ||
84 | popupActionSave = new QAction( tr("Save"),QString::null, 0, this, 0 ); | 85 | popupActionSave = new QAction( tr("Save"),QString::null, 0, this, 0 ); |
85 | popupActionSave->addTo( popupMenuFile ); | 86 | popupActionSave->addTo( popupMenuFile ); |
86 | // popupActionSave->addTo( popupMenuEntry ); | 87 | // popupActionSave->addTo( popupMenuEntry ); |
87 | connect( popupActionSave, SIGNAL( activated() ), | 88 | connect( popupActionSave, SIGNAL( activated() ), |