summaryrefslogtreecommitdiff
authortille <tille>2002-07-24 11:37:36 (UTC)
committer tille <tille>2002-07-24 11:37:36 (UTC)
commitadfb21cd5e2fcf750543570ab9c6427f1fba9968 (patch) (unidiff)
tree1a55eb15bd48b373cd3a88a41cb5733af9f9a4b9
parent0948a167e4e46e6d2082809ec47be6a08a5de9d7 (diff)
downloadopie-adfb21cd5e2fcf750543570ab9c6427f1fba9968.zip
opie-adfb21cd5e2fcf750543570ab9c6427f1fba9968.tar.gz
opie-adfb21cd5e2fcf750543570ab9c6427f1fba9968.tar.bz2
fix bug #116 -- subsections
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp
index 998dae9..edb9cc5 100644
--- a/noncore/unsupported/oipkg/packagelist.cpp
+++ b/noncore/unsupported/oipkg/packagelist.cpp
@@ -106,110 +106,109 @@ void PackageList::filterPackages( QString f )
106} 106}
107 107
108Package* PackageList::find( QString n ) 108Package* PackageList::find( QString n )
109{ 109{
110 return packageList.find( n ); 110 return packageList.find( n );
111} 111}
112 112
113Package* PackageList::first() 113Package* PackageList::first()
114 { 114 {
115 packageIter.toFirst(); 115 packageIter.toFirst();
116 return packageIter.current(); 116 return packageIter.current();
117} 117}
118 118
119Package* PackageList::next() 119Package* PackageList::next()
120{ 120{
121 ++packageIter; 121 ++packageIter;
122 return packageIter.current(); 122 return packageIter.current();
123} 123}
124 124
125QStringList PackageList::getSections() 125QStringList PackageList::getSections()
126{ 126{
127 sections.sort(); 127 sections.sort();
128 return sections; 128 return sections;
129} 129}
130 130
131QStringList PackageList::getSubSections() 131QStringList PackageList::getSubSections()
132{ 132{
133 QStringList ss; 133 QStringList ss;
134 if ( !subSections[aktSection] ) return ss; 134 if ( !subSections[aktSection] ) return ss;
135 ss = *subSections[aktSection]; 135 ss = *subSections[aktSection];
136 ss.sort(); 136 ss.sort();
137 return ss; 137 return ss;
138} 138}
139 139
140void PackageList::setSection( QString sec ) 140void PackageList::setSection( QString sec )
141{ 141{
142 aktSection = sec; 142 aktSection = sec;
143} 143}
144 144
145void PackageList::setSubSection( QString ssec ) 145void PackageList::setSubSection( QString ssec )
146{ 146{
147 aktSubSection = ssec; 147 aktSubSection = ssec;
148} 148}
149 149
150void PackageList::updateSections( Package* pack ) 150void PackageList::updateSections( Package* pack )
151{ 151{
152 QString s = pack->section(); 152 QString s = pack->section();
153 if ( s.isEmpty() || s == "") return; 153 if ( s.isEmpty() || s == "") return;
154 if ( sections.contains(s) ) return; 154 if ( !sections.contains(s) ) sections += s;
155 sections += s;
156 QString ss = pack->subSection(); 155 QString ss = pack->subSection();
157 if ( ss.isEmpty() || ss == "" ) return; 156 if ( ss.isEmpty() || ss == "" ) return;
158 if ( !subSections[s] ) { 157 if ( !subSections[s] ) {
159 subSections.insert( s, new QStringList() ); 158 subSections.insert( s, new QStringList() );
160 QStringList *subsecs = subSections[s]; 159 QStringList *subsecs = subSections[s];
161 *subsecs += "All"; 160 *subsecs += "All";
162 } 161 }
163 QStringList *subsecs = subSections[s]; 162 QStringList *subsecs = subSections[s];
164 *subsecs += ss; 163 if ( !subsecs->contains(ss) ) *subsecs += ss;
165 if ( !subSections["All"] ) subSections.insert( "All", new QStringList() ); 164// if ( !subSections["All"] ) subSections.insert( "All", new QStringList() );
166 subsecs = subSections["All"]; 165// subsecs = subSections["All"];
167 *subsecs += ss; 166// *subsecs += ss;
168} 167}
169 168
170 169
171void PackageList::readFileEntries( QString filename, QString dest ) 170void PackageList::readFileEntries( QString filename, QString dest )
172 { 171 {
173 pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest); 172 pvDebug(5,"PackageList::readFileEntries "+filename+" dest "+dest);
174 QStringList packEntry; 173 QStringList packEntry;
175 QFile f( filename ); 174 QFile f( filename );
176 if ( !f.open(IO_ReadOnly) ) return; 175 if ( !f.open(IO_ReadOnly) ) return;
177 QTextStream *statusStream = new QTextStream( &f ); 176 QTextStream *statusStream = new QTextStream( &f );
178 while ( !statusStream ->eof() ) 177 while ( !statusStream ->eof() )
179 { 178 {
180 QString line = statusStream->readLine(); 179 QString line = statusStream->readLine();
181 if ( line.find(QRegExp("[\n\t ]*")) || line == "" ) 180 if ( line.find(QRegExp("[\n\t ]*")) || line == "" )
182 { 181 {
183 //end of package 182 //end of package
184 if ( ! packEntry.isEmpty() ) 183 if ( ! packEntry.isEmpty() )
185 { 184 {
186 Package *p = new Package( packEntry, settings ); 185 Package *p = new Package( packEntry, settings );
187 if ( p ) 186 if ( p )
188 { 187 {
189 p->setDest( dest ); 188 p->setDest( dest );
190 insertPackage( p ); 189 insertPackage( p );
191 packEntry.clear(); 190 packEntry.clear();
192 } 191 }
193 } 192 }
194 }else{ 193 }else{
195 packEntry << line; 194 packEntry << line;
196 }; 195 };
197 } 196 }
198 //there might be no nl at the end of the package file 197 //there might be no nl at the end of the package file
199 if ( ! packEntry.isEmpty() ) 198 if ( ! packEntry.isEmpty() )
200 { 199 {
201 Package *p = new Package( packEntry, settings ); 200 Package *p = new Package( packEntry, settings );
202 if ( p ) 201 if ( p )
203 { 202 {
204 p->setDest( dest ); 203 p->setDest( dest );
205 insertPackage( p ); 204 insertPackage( p );
206 packEntry.clear(); 205 packEntry.clear();
207 } 206 }
208 } 207 }
209 delete statusStream; 208 delete statusStream;
210 return; 209 return;
211} 210}
212 211
213void PackageList::setSettings( PackageManagerSettings *s ) 212void PackageList::setSettings( PackageManagerSettings *s )
214{ 213{
215 settings = s; 214 settings = s;