summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/confedit/listviewitemconffile.cpp15
-rw-r--r--noncore/apps/confedit/mainwindow.cpp1
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
84void ListViewItemConfFile::remove() 84void 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
91void ListViewItemConfFile::revert() 91void 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
111void ListViewItemConfFile::save() 112void 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
142QString ListViewItemConfFile::backupFileName() 143QString ListViewItemConfFile::backupFileName()
143{ 144{
144 return confFileInfo->absFilePath()+"~"; 145 return confFileInfo->absFilePath()+"~";
145} 146}
146 147
147 148
148void ListViewItemConfFile::expand() 149void 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
78void MainWindow::makeMenu() 79void 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() ),