equal
deleted
inserted
replaced
14 * Description: Implements CLiwIterable type |
14 * Description: Implements CLiwIterable type |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 |
18 |
19 #include <mclfitem.h> |
19 #include <MCLFItem.h> |
20 #include <mclfitemlistmodel.h> |
20 #include <MCLFItemListModel.h> |
21 |
21 |
22 #include "mgitemslist.h" |
22 #include "mgitemslist.h" |
23 #include "mgmediaitemfactory.h" |
23 #include "mgmediaitemfactory.h" |
24 #include "mgmediaitem.h" |
24 #include "mgmediaitem.h" |
|
25 #include "mgclfoperationobserver.h" |
25 |
26 |
26 |
27 |
27 _LIT8( KMgFileNameAndPath, "FileNameAndPath" ); |
28 _LIT8( KMgFileNameAndPath, "FileNameAndPath" ); |
28 |
29 |
29 const TInt KStartItemIndex = -1; |
30 const TInt KStartItemIndex = -1; |
32 // CMgItemsList::CMgItemsList |
33 // CMgItemsList::CMgItemsList |
33 // Parameterised constructor |
34 // Parameterised constructor |
34 // --------------------------------------------------------------------------- |
35 // --------------------------------------------------------------------------- |
35 // |
36 // |
36 |
37 |
37 CMgItemsList::CMgItemsList( MCLFItemListModel* aItemListModel, TMgCmdId aCmdId ) |
38 CMgItemsList::CMgItemsList( MCLFItemListModel* aItemListModel, CClfOperationObserver* aOperationObserver, TMgCmdId aCmdId ) |
38 : iItemListModel(aItemListModel), |
39 : iItemListModel(aItemListModel), |
|
40 iOperationObserver(aOperationObserver), |
39 iCmdId(aCmdId), |
41 iCmdId(aCmdId), |
40 iCount(iItemListModel->ItemCount()), |
42 iCount(iItemListModel->ItemCount()), |
41 iCurrent(KStartItemIndex), |
43 iCurrent(KStartItemIndex), |
42 iMediaItem(NULL) |
44 iMediaItem(NULL) |
43 { |
45 { |
47 // CMgItemsList::NewL |
49 // CMgItemsList::NewL |
48 // Two-phased constructor |
50 // Two-phased constructor |
49 // --------------------------------------------------------------------------- |
51 // --------------------------------------------------------------------------- |
50 // |
52 // |
51 |
53 |
52 CMgItemsList* CMgItemsList::NewL( MCLFItemListModel* aItemListModel, TMgCmdId aCmdId ) |
54 CMgItemsList* CMgItemsList::NewL( MCLFItemListModel* aItemListModel, CClfOperationObserver* aOperationObserver, TMgCmdId aCmdId ) |
53 { |
55 { |
54 return new( ELeave ) CMgItemsList( aItemListModel, aCmdId ); |
56 return new( ELeave ) CMgItemsList( aItemListModel, aOperationObserver, aCmdId ); |
55 } |
57 } |
56 |
58 |
57 |
59 |
58 // --------------------------------------------------------------------------- |
60 // --------------------------------------------------------------------------- |
59 // CMgItemsList::~CMgItemsList |
61 // CMgItemsList::~CMgItemsList |
61 // --------------------------------------------------------------------------- |
63 // --------------------------------------------------------------------------- |
62 // |
64 // |
63 CMgItemsList::~CMgItemsList() |
65 CMgItemsList::~CMgItemsList() |
64 { |
66 { |
65 |
67 |
66 delete iItemListModel; |
68 if(iItemListModel) |
67 |
69 { |
68 delete iMediaItem; |
70 iItemListModel->CancelRefresh(); |
69 |
71 delete iItemListModel; |
70 } |
72 iItemListModel = NULL; |
|
73 } |
|
74 if(iOperationObserver) |
|
75 { |
|
76 delete iOperationObserver; |
|
77 iOperationObserver = NULL; |
|
78 } |
|
79 if(iMediaItem) |
|
80 { |
|
81 delete iMediaItem; |
|
82 iMediaItem = NULL; |
|
83 } |
|
84 } |
71 // --------------------------------------------------------------------------- |
85 // --------------------------------------------------------------------------- |
72 // CMgItemsList::Reset |
86 // CMgItemsList::Reset |
73 // Resets the iterator to point to the beginning of list |
87 // Resets the iterator to point to the beginning of list |
74 // --------------------------------------------------------------------------- |
88 // --------------------------------------------------------------------------- |
75 // |
89 // |
87 // |
101 // |
88 TBool CMgItemsList::NextL( TLiwVariant& aItem ) |
102 TBool CMgItemsList::NextL( TLiwVariant& aItem ) |
89 { |
103 { |
90 |
104 |
91 iCurrent++; |
105 iCurrent++; |
92 |
106 |
93 if( iCurrent<iCount ) |
107 if( iCurrent< iCount ) |
94 { |
108 { |
95 |
109 |
96 const MCLFItem& item = iItemListModel->Item( iCurrent ); |
110 const MCLFItem& item = iItemListModel->Item( iCurrent ); |
97 |
111 |
98 TPtrC fullPath; |
112 TPtrC fullPath; |