summaryrefslogtreecommitdiff
path: root/noncore/apps/confedit/listviewitemconffile.cpp
Unidiff
Diffstat (limited to 'noncore/apps/confedit/listviewitemconffile.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/confedit/listviewitemconffile.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/noncore/apps/confedit/listviewitemconffile.cpp b/noncore/apps/confedit/listviewitemconffile.cpp
index 228421b..1f85095 100644
--- a/noncore/apps/confedit/listviewitemconffile.cpp
+++ b/noncore/apps/confedit/listviewitemconffile.cpp
@@ -17,13 +17,13 @@
17#define tr QObject::tr 17#define tr QObject::tr
18 18
19ListViewItemConfFile::ListViewItemConfFile(QFileInfo *file, QListView *parent) 19ListViewItemConfFile::ListViewItemConfFile(QFileInfo *file, QListView *parent)
20 : ListViewItemConf(parent), _valid(false) 20 : ListViewItemConf(parent), _valid(false)
21{ 21{
22 confFileInfo = file; 22 confFileInfo = file;
23 parseFile(); 23// parseFile();
24 displayText(); 24 displayText();
25} 25}
26 26
27ListViewItemConfFile::~ListViewItemConfFile() 27ListViewItemConfFile::~ListViewItemConfFile()
28{ 28{
29} 29}
@@ -38,46 +38,49 @@ QString ListViewItemConfFile::fileName()
38{ 38{
39 return confFileInfo->fileName(); 39 return confFileInfo->fileName();
40} 40}
41 41
42void ListViewItemConfFile::parseFile() 42void ListViewItemConfFile::parseFile()
43{ 43{
44 //qDebug("ListViewItemConfFile::parseFile BEGIN");
44 QFile confFile(confFileInfo->absFilePath()); 45 QFile confFile(confFileInfo->absFilePath());
45 if(! confFile.open(IO_ReadOnly)) 46 if(! confFile.open(IO_ReadOnly))
46 QMessageBox::critical(0,tr("Could not open"),tr("The file ")+confFileInfo->fileName()+tr(" could not be opened."),1,0); 47 QMessageBox::critical(0,tr("Could not open"),tr("The file ")+confFileInfo->fileName()+tr(" could not be opened."),1,0);
47 QTextStream t( &confFile ); 48 QTextStream t( &confFile );
48 QString s; 49 QString s;
49 QString group; 50 QString group;
50 ListViewItemConfigEntry *groupItem; 51 ListViewItemConfigEntry *groupItem;
51 ListViewItemConfigEntry *item; 52 ListViewItemConfigEntry *item;
52 while ( !t.atEnd() ) 53 while ( !t.atEnd() )
53 { 54 {
54 s = t.readLine().stripWhiteSpace(); 55 s = t.readLine().stripWhiteSpace();
55 //qDebug( "line: >%s<\n", s.latin1() ); 56 //qDebug( "line: >%s<\n", s.latin1() );
56 if (s.contains("<?xml")) 57 if (s.contains("<?xml"))
57 { 58 {
58 _valid = false; 59 _valid = false;
59 break; 60 break;
60 }else 61 }else
61 if ( s[0] == '[' && s[s.length()-1] == ']' ) 62 if ( s[0] == '[' && s[s.length()-1] == ']' )
62 { 63 {
63 // qDebug("got group"+s); 64 // qDebug("got group"+s);
64 group = s.mid(1,s.length()-2); 65 group = s.mid(1,s.length()-2);
66 if (!groupItem) groupItem = new ListViewItemConfigEntry(this, tr("no group") );
65 groupItem = new ListViewItemConfigEntry(this, group ); 67 groupItem = new ListViewItemConfigEntry(this, group );
66 insertItem( groupItem ); 68 insertItem( groupItem );
67 } else 69 } else
68 if ( int pos = s.find('=') ) 70 if ( int pos = s.find('=') )
69 { 71 {
70 // qDebug("got key"+s); 72// qDebug("got key"+s);
73 if (!groupItem) qDebug("PANIK NO GROUP! >%s<",group.latin1());
71 item = new ListViewItemConfigEntry(this, group, s ); 74 item = new ListViewItemConfigEntry(this, group, s );
72 groupItem->insertItem( item ); 75 groupItem->insertItem( item );
73 } 76 }
74 } 77 }
75 confFile.close(); 78 confFile.close();
76 unchanged();
77 setExpandable( _valid ); 79 setExpandable( _valid );
80 //qDebug("ListViewItemConfFile::parseFile END");
78} 81}
79 82
80 83
81void ListViewItemConfFile::remove() 84void ListViewItemConfFile::remove()
82{ 85{
83 QFile::remove(confFileInfo->absFilePath()); 86 QFile::remove(confFileInfo->absFilePath());
@@ -137,6 +140,12 @@ bool ListViewItemConfFile::revertable()
137} 140}
138 141
139QString ListViewItemConfFile::backupFileName() 142QString ListViewItemConfFile::backupFileName()
140{ 143{
141 return confFileInfo->absFilePath()+"~"; 144 return confFileInfo->absFilePath()+"~";
142} 145}
146
147
148void ListViewItemConfFile::expand()
149{
150 parseFile();
151}