17 #include <mpxmediageneraldefs.h> |
17 #include <mpxmediageneraldefs.h> |
18 #include <mpxmedia.h> |
18 #include <mpxmedia.h> |
19 #include "videodatacontainer.h" |
19 #include "videodatacontainer.h" |
20 #include "videocollectionutils.h" |
20 #include "videocollectionutils.h" |
21 |
21 |
|
22 const TMPXItemId INVALID_ID = TMPXItemId::InvalidId(); |
|
23 const int INVALID_INDEX = -1; |
|
24 |
22 /** |
25 /** |
23 * global qHash function required fo creating hash values for TMPXItemId -keys |
26 * global qHash function required fo creating hash values for TMPXItemId -keys |
24 */ |
27 */ |
25 inline uint qHash(TMPXItemId key) |
28 inline uint qHash(TMPXItemId key) |
26 { |
29 { |
85 |
88 |
86 delete removeIter->second; |
89 delete removeIter->second; |
87 mMediaData.erase(removeIter); |
90 mMediaData.erase(removeIter); |
88 } |
91 } |
89 |
92 |
90 void VideoDataContainer::decHashIndexesAfter(int fromIndex) |
93 void VideoDataContainer::decHashIndexesAfter(const int &fromIndex) |
91 { |
94 { |
92 int count = mMediaIds.count(); |
95 int count = mMediaIds.count(); |
93 QMultiHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator hashIter; |
96 QMultiHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator hashIter; |
94 for(int i = fromIndex; i < count; ++i) |
97 for(int i = fromIndex; i < count; ++i) |
95 { |
98 { |
127 |
130 |
128 // ----------------------------------------------------------------------------- |
131 // ----------------------------------------------------------------------------- |
129 // fromIndex |
132 // fromIndex |
130 // ----------------------------------------------------------------------------- |
133 // ----------------------------------------------------------------------------- |
131 // |
134 // |
132 CMPXMedia* VideoDataContainer::fromIndex(int index) const |
135 CMPXMedia* VideoDataContainer::fromIndex(const int &index) const |
133 { |
136 { |
134 if(index >= 0 && index < mMediaIds.count() && mMediaData.contains(mMediaIds[index])) |
137 if(index >= 0 && index < mMediaIds.count() && mMediaData.contains(mMediaIds[index])) |
135 { |
138 { |
136 return (mMediaData.find(mMediaIds[index]))->second; |
139 return (mMediaData.find(mMediaIds[index]))->second; |
137 } |
140 } |
141 |
144 |
142 // ----------------------------------------------------------------------------- |
145 // ----------------------------------------------------------------------------- |
143 // indexOfId |
146 // indexOfId |
144 // ----------------------------------------------------------------------------- |
147 // ----------------------------------------------------------------------------- |
145 // |
148 // |
146 int VideoDataContainer::indexOfId(const TMPXItemId &id) const |
149 const int& VideoDataContainer::indexOfId(const TMPXItemId &id) const |
147 { |
150 { |
148 QMultiHash<TMPXItemId, QPair<int, CMPXMedia*> >::const_iterator iter = mMediaData.find(id); |
151 QMultiHash<TMPXItemId, QPair<int, CMPXMedia*> >::const_iterator iter = mMediaData.find(id); |
149 if(iter != mMediaData.constEnd()) |
152 if(iter != mMediaData.constEnd()) |
150 { |
153 { |
151 return iter->first; |
154 return iter->first; |
152 } |
155 } |
153 return -1; |
156 return INVALID_INDEX; |
154 } |
157 } |
155 |
158 |
156 // ----------------------------------------------------------------------------- |
159 // ----------------------------------------------------------------------------- |
157 // idFromIndex |
160 // idFromIndex |
158 // ----------------------------------------------------------------------------- |
161 // ----------------------------------------------------------------------------- |
159 // |
162 // |
160 TMPXItemId VideoDataContainer::idFromIndex(int index) const |
163 TMPXItemId& VideoDataContainer::idFromIndex(const int &index) const |
161 { |
164 { |
162 if(index >= 0 && index < mMediaIds.count()) |
165 if(index >= 0 && index < mMediaIds.count()) |
163 { |
166 { |
164 return mMediaIds[index]; |
167 return mMediaIds[index]; |
165 } |
168 } |
166 return TMPXItemId::InvalidId(); |
169 return INVALID_ID; |
167 } |
170 } |
168 |
171 |
169 // ----------------------------------------------------------------------------- |
172 // ----------------------------------------------------------------------------- |
170 // count |
173 // count |
171 // ----------------------------------------------------------------------------- |
174 // ----------------------------------------------------------------------------- |
177 |
180 |
178 // ----------------------------------------------------------------------------- |
181 // ----------------------------------------------------------------------------- |
179 // markItemsRemoved |
182 // markItemsRemoved |
180 // ----------------------------------------------------------------------------- |
183 // ----------------------------------------------------------------------------- |
181 // |
184 // |
182 TMPXItemId VideoDataContainer::markItemRemoved(const int &itemIndex) |
185 const TMPXItemId VideoDataContainer::markItemRemoved(const int &itemIndex) |
183 { |
186 { |
184 // for all provided indexes: |
187 // for all provided indexes: |
185 // - get item address from mMediaData |
188 // - get item address from mMediaData |
186 // - get item index from mMediaData |
189 // - get item index from mMediaData |
187 // - remove item from mMediaData, do not deallocate object |
190 // - remove item from mMediaData, do not deallocate object |
281 |
284 |
282 // ----------------------------------------------------------------------------- |
285 // ----------------------------------------------------------------------------- |
283 // getRemovedMedia |
286 // getRemovedMedia |
284 // ----------------------------------------------------------------------------- |
287 // ----------------------------------------------------------------------------- |
285 // |
288 // |
286 CMPXMedia* VideoDataContainer::getRemovedMedia(TMPXItemId itemId) |
289 CMPXMedia* VideoDataContainer::getRemovedMedia(TMPXItemId &itemId) |
287 { |
290 { |
288 QHash<TMPXItemId, CMPXMedia*>::const_iterator itemIter = |
291 QHash<TMPXItemId, CMPXMedia*>::const_iterator itemIter = |
289 mRemovedMedia.constFind(itemId); |
292 mRemovedMedia.constFind(itemId); |
290 if(itemIter != mRemovedMedia.constEnd()) |
293 if(itemIter != mRemovedMedia.constEnd()) |
291 { |
294 { |