Diffstat (limited to 'noncore/unsupported/oipkg/package.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 9280d89..c947c64 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp | |||
@@ -29,9 +29,11 @@ void Package::init( PackageManagerSettings *s ) | |||
29 | _name = ""; | 29 | _name = ""; |
30 | _toProcess = false; | 30 | _toProcess = false; |
31 | _useFileName = false; | 31 | _useFileName = false; |
32 | _old = false; | ||
32 | _status = ""; | 33 | _status = ""; |
33 | _dest = settings->getDestinationName(); | 34 | _dest = settings->getDestinationName(); |
34 | _link = settings->createLinks(); | 35 | _link = settings->createLinks(); |
36 | _versions=0; | ||
35 | } | 37 | } |
36 | 38 | ||
37 | Package::Package( QStringList pack, PackageManagerSettings *s ) | 39 | Package::Package( QStringList pack, PackageManagerSettings *s ) |
@@ -128,7 +130,34 @@ QString Package::installName() | |||
128 | 130 | ||
129 | bool Package::installed() | 131 | bool Package::installed() |
130 | { | 132 | { |
131 | return _status.contains("installed"); | 133 | if (_status.contains("installed")) return true; |
134 | else | ||
135 | if (_versions) | ||
136 | { | ||
137 | QDictIterator<Package> other( *_versions ); | ||
138 | while ( other.current() ) | ||
139 | { | ||
140 | if (other.current()->status().contains("installed") | ||
141 | && other.current()->version() == version()) | ||
142 | return true; | ||
143 | ++other; | ||
144 | } | ||
145 | } | ||
146 | return false; | ||
147 | } | ||
148 | |||
149 | bool Package::otherInstalled() | ||
150 | { | ||
151 | if (_versions) | ||
152 | { | ||
153 | QDictIterator<Package> other( *_versions ); | ||
154 | while ( other.current() ) | ||
155 | { | ||
156 | if (other.current()->installed()) return true; | ||
157 | ++other; | ||
158 | } | ||
159 | } | ||
160 | return false; | ||
132 | } | 161 | } |
133 | 162 | ||
134 | void Package::setDesc( QString s ) | 163 | void Package::setDesc( QString s ) |
@@ -370,3 +399,30 @@ QString Package::status() | |||
370 | { | 399 | { |
371 | return _status; | 400 | return _status; |
372 | } | 401 | } |
402 | |||
403 | bool Package::isOld() | ||
404 | { | ||
405 | if (!_versions) return false; | ||
406 | QDictIterator<Package> other( *_versions ); | ||
407 | while ( other.current() ) { | ||
408 | if (other.current()->version() > version() ) return true; | ||
409 | ++other; | ||
410 | } | ||
411 | return false; | ||
412 | } | ||
413 | |||
414 | bool Package::hasVersions() | ||
415 | { | ||
416 | if (!_versions) return false; | ||
417 | else return true; | ||
418 | } | ||
419 | |||
420 | QDict<Package>* Package::getOtherVersions() | ||
421 | { | ||
422 | return _versions; | ||
423 | } | ||
424 | |||
425 | void Package::setOtherVersions(QDict<Package> *v) | ||
426 | { | ||
427 | _versions=v; | ||
428 | } | ||