summaryrefslogtreecommitdiff
path: root/noncore/apps/confedit/listviewitemconffile.cpp
authortille <tille>2002-06-29 20:53:42 (UTC)
committer tille <tille>2002-06-29 20:53:42 (UTC)
commitcbb1662a1c3bca476294100ce5e0d0eeb3655639 (patch) (side-by-side diff)
treee7deb5afdba0d5fa843675669ae3e089c168d022 /noncore/apps/confedit/listviewitemconffile.cpp
parent5960b3a2823037c63afba09ca83dbcc0943cd082 (diff)
downloadopie-cbb1662a1c3bca476294100ce5e0d0eeb3655639.zip
opie-cbb1662a1c3bca476294100ce5e0d0eeb3655639.tar.gz
opie-cbb1662a1c3bca476294100ce5e0d0eeb3655639.tar.bz2
makes backups, but does not save the file yet
Diffstat (limited to 'noncore/apps/confedit/listviewitemconffile.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/confedit/listviewitemconffile.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/noncore/apps/confedit/listviewitemconffile.cpp b/noncore/apps/confedit/listviewitemconffile.cpp
index 5457384..a8fd770 100644
--- a/noncore/apps/confedit/listviewitemconffile.cpp
+++ b/noncore/apps/confedit/listviewitemconffile.cpp
@@ -18,37 +18,33 @@
ListViewItemConfFile::ListViewItemConfFile(QFileInfo *file, QListView *parent)
: ListViewItemConf(parent), _valid(false)
{
confFileInfo = file;
parseFile();
- _changed = false;
displayText();
}
ListViewItemConfFile::~ListViewItemConfFile()
{
}
void ListViewItemConfFile::displayText()
{
- setText(0,(_changed?"*":"*")+confFileInfo->fileName());
+ setText(0,(_changed?"*":"")+confFileInfo->fileName());
}
QString ListViewItemConfFile::fileName()
{
return confFileInfo->fileName();
}
void ListViewItemConfFile::parseFile()
{
- qDebug( confFileInfo->absFilePath() );
QFile confFile(confFileInfo->absFilePath());
- qDebug( confFileInfo->absFilePath() );
- // QString fileName = confFileInfo->fileName();
if(! confFile.open(IO_ReadOnly))
QMessageBox::critical(0,tr("Could not open"),tr("The file ")+confFileInfo->fileName()+tr(" could not be opened."),1,0);
QTextStream t( &confFile );
QString s;
QString group;
ListViewItemConfigEntry *groupItem;
@@ -61,13 +57,13 @@ void ListViewItemConfFile::parseFile()
{
_valid = false;
break;
}else
if ( s[0] == '[' && s[s.length()-1] == ']' )
{
- qDebug("got group"+s);
+ // qDebug("got group"+s);
group = s.mid(1,s.length()-2);
groupItem = new ListViewItemConfigEntry(this, group );
insertItem( groupItem );
} else
if ( int pos = s.find('=') )
{
@@ -79,10 +75,25 @@ void ListViewItemConfFile::parseFile()
confFile.close();
setExpandable( _valid );
}
void ListViewItemConfFile::save()
{
- qDebug("ListViewItemConfFile::save()");
+ if (!_changed) return;
+ QString backup = confFileInfo->absFilePath()+"~";
+ qDebug("make backup to "+backup);
+ QFile conf(confFileInfo->absFilePath());
+ QFile back(backup);
+
+ if (!conf.open(IO_ReadOnly)) return;
+ if (!back.open(IO_WriteOnly)) return;
+
+ #define SIZE 124
+ char buf[SIZE];
+ while (int c = conf.readBlock(buf, SIZE) ) back.writeBlock(buf,c);
+ conf.close();
+ back.close();
+
+
qDebug("no saveing yet...");
unchanged();
}