Diffstat (limited to 'noncore/unsupported/oipkg/packagelist.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index b892b30..be20c71 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp | |||
@@ -24,35 +24,44 @@ PackageList::PackageList( PackageManagerSettings* s) | |||
24 | { | 24 | { |
25 | settings = s; | 25 | settings = s; |
26 | PackageList(); | 26 | PackageList(); |
27 | } | 27 | } |
28 | 28 | ||
29 | PackageList::~PackageList() | 29 | PackageList::~PackageList() |
30 | { | 30 | { |
31 | } | 31 | } |
32 | 32 | ||
33 | /** Inserts a package into the list */ | 33 | /** Inserts a package into the list */ |
34 | void PackageList::insertPackage( Package* pack ) | 34 | void PackageList::insertPackage( Package* pack ) |
35 | { | 35 | { |
36 | if (!pack) return; | ||
36 | Package* p = packageList.find( pack->name() ); | 37 | Package* p = packageList.find( pack->name() ); |
37 | if ( p ) | 38 | if ( p ) |
38 | { | 39 | { |
40 | if ( p->version() == pack->version() ) | ||
41 | { | ||
39 | p->copyValues( pack ); | 42 | p->copyValues( pack ); |
40 | delete pack; | 43 | delete pack; |
41 | pack = p; | 44 | pack = p; |
42 | }else{ | 45 | }else{ |
46 | p->setName( pack->name()+"["+p->version()+"]" ); | ||
47 | pack->setName( pack->name()+"["+pack->version()+"]" ); | ||
48 | packageList.insert( pack->name(), pack ); | ||
49 | origPackageList.insert( pack->name(), pack ); | ||
50 | } | ||
51 | }else{ | ||
43 | packageList.insert( pack->name(), pack ); | 52 | packageList.insert( pack->name(), pack ); |
44 | origPackageList.insert( pack->name(), pack ); | 53 | origPackageList.insert( pack->name(), pack ); |
45 | empty=false; | ||
46 | }; | 54 | }; |
55 | empty=false; | ||
47 | updateSections( pack ); | 56 | updateSections( pack ); |
48 | } | 57 | } |
49 | 58 | ||
50 | void PackageList::filterPackages( QString f ) | 59 | void PackageList::filterPackages( QString f ) |
51 | { | 60 | { |
52 | packageList.clear(); | 61 | packageList.clear(); |
53 | QDictIterator<Package> filterIter( origPackageList ); | 62 | QDictIterator<Package> filterIter( origPackageList ); |
54 | filterIter.toFirst(); | 63 | filterIter.toFirst(); |
55 | Package *pack= filterIter.current() ; | 64 | Package *pack= filterIter.current() ; |
56 | while ( pack ) | 65 | while ( pack ) |
57 | { | 66 | { |
58 | if ( | 67 | if ( |