41 #include "OstTraceDefinitions.h" |
41 #include "OstTraceDefinitions.h" |
42 #ifdef OST_TRACE_COMPILER_IN_USE |
42 #ifdef OST_TRACE_COMPILER_IN_USE |
43 #include "glxgridviewTraces.h" |
43 #include "glxgridviewTraces.h" |
44 #endif |
44 #endif |
45 |
45 |
46 GlxGridView::GlxGridView(HbMainWindow *window) : GlxView ( GLX_GRIDVIEW_ID ), |
46 GlxGridView::GlxGridView(HbMainWindow *window) |
47 mGridView(NULL), mView(NULL), mWindow(window), mModel ( NULL), mVisualIndex(0), |
47 : GlxView ( GLX_GRIDVIEW_ID ), |
48 mItem(NULL) |
48 mGridView(NULL), |
49 { |
49 mView(NULL), |
|
50 mWindow(window), |
|
51 mModel ( NULL), |
|
52 mVisualIndex(0), |
|
53 mItem(NULL) |
|
54 { |
50 OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
55 OstTraceFunctionEntry0( GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
51 mDocLoader = new HbDocumentLoader(); |
56 mDocLoader = new HbDocumentLoader(); |
52 OstTraceFunctionExit0( GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); |
57 OstTraceFunctionExit0( GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); |
53 setContentFullScreen( true ); |
58 setContentFullScreen( true ); |
54 } |
59 } |
55 |
60 |
56 void GlxGridView::activate() |
61 void GlxGridView::activate() |
57 { |
62 { |
58 OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); |
63 OstTraceFunctionEntry0( GLXGRIDVIEW_ACTIVATE_ENTRY ); |
59 |
|
60 loadGridView(mWindow->orientation()); |
64 loadGridView(mWindow->orientation()); |
61 addViewConnection(); |
65 addViewConnection(); |
62 // mVisualIndex = 0; //To:Do remove later once we get visual index change notification from grid view |
|
63 |
|
64 |
|
65 |
|
66 mGridView->resetTransform(); //to reset the transition effect (reset transform matrix) |
66 mGridView->resetTransform(); //to reset the transition effect (reset transform matrix) |
67 mGridView->setOpacity( 1); |
67 mGridView->setOpacity( 1); |
68 |
68 resetItemTransform(); |
69 if ( mItem ) { |
|
70 mItem->resetTransform(); //to reset the transition effect (reset transform matrix) |
|
71 mItem->setOpacity( 1); |
|
72 mItem->setZValue( mItem->zValue() - 20); |
|
73 disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); |
|
74 mItem = NULL; |
|
75 } |
|
76 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
69 OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT ); |
77 } |
70 } |
78 |
71 |
79 void GlxGridView::deActivate() |
72 void GlxGridView::deActivate() |
80 { |
73 { |
81 OstTraceFunctionEntry0( GLXGRIDVIEW_DEACTIVATE_ENTRY ); |
74 OstTraceFunctionEntry0( GLXGRIDVIEW_DEACTIVATE_ENTRY ); |
82 removeViewConnection(); |
75 removeViewConnection(); |
83 |
|
84 |
|
85 /*if ( mItem ) { |
|
86 mItem->resetTransform(); //to reset the transition effect |
|
87 mItem->setOpacity( 1); |
|
88 disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); |
|
89 mItem = NULL; |
|
90 }*/ |
|
91 takeToolBar(); //To:Do improved later |
|
92 emit toolBarChanged(); |
|
93 OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT ); |
76 OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT ); |
94 } |
77 } |
|
78 |
|
79 void GlxGridView::initializeView(QAbstractItemModel *model) |
|
80 { |
|
81 resetItemTransform(); |
|
82 mGridView->setModel(model); |
|
83 mModel = model; |
|
84 loadGridView(mWindow->orientation()); |
|
85 QVariant variant = model->data( model->index(0,0), GlxFocusIndexRole ); |
|
86 if ( variant.isValid() && variant.canConvert<int> () ) { |
|
87 mGridView->scrollTo( model->index( variant.value<int>(),0), HbGridView::EnsureVisible ); |
|
88 } |
|
89 } |
95 |
90 |
96 void GlxGridView::setModel(QAbstractItemModel *model) |
91 void GlxGridView::setModel(QAbstractItemModel *model) |
97 { |
92 { |
98 OstTraceFunctionEntry0( GLXGRIDVIEW_SETMODEL_ENTRY ); |
93 OstTraceFunctionEntry0( GLXGRIDVIEW_SETMODEL_ENTRY ); |
99 |
|
100 mModel = model ; |
94 mModel = model ; |
101 mGridView->setModel(mModel); |
95 mGridView->setModel(mModel); |
102 QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); |
96 QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); |
103 if ( variant.isValid() && variant.canConvert<int> () ) { |
97 if ( variant.isValid() && variant.canConvert<int> () ) { |
104 mGridView->scrollTo( mModel->index( variant.value<int>(),0), HbGridView::PositionAtCenter ); |
98 mGridView->scrollTo( mModel->index( variant.value<int>(),0), HbGridView::EnsureVisible ); |
105 } |
99 } |
106 |
|
107 OstTraceFunctionExit0( GLXGRIDVIEW_SETMODEL_EXIT ); |
100 OstTraceFunctionExit0( GLXGRIDVIEW_SETMODEL_EXIT ); |
108 } |
101 } |
109 |
102 |
110 void GlxGridView::addToolBar( HbToolBar *toolBar ) |
103 void GlxGridView::addToolBar( HbToolBar *toolBar ) |
111 { |
104 { |
112 OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY ); |
105 OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY ); |
113 //toolBar->setParent(this); |
|
114 if ( mGridView ) { |
|
115 toolBar->setZValue(mGridView->zValue()); |
|
116 } |
|
117 setToolBar(toolBar) ; |
106 setToolBar(toolBar) ; |
118 OstTraceFunctionExit0( GLXGRIDVIEW_ADDTOOLBAR_EXIT ); |
107 OstTraceFunctionExit0( GLXGRIDVIEW_ADDTOOLBAR_EXIT ); |
119 } |
108 } |
120 |
109 |
121 void GlxGridView::enableMarking() |
110 void GlxGridView::enableMarking() |
122 { |
111 { |
123 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); |
112 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" ); |
124 mGridView->setSelectionMode(HbGridView::MultiSelection); |
113 mGridView->setSelectionMode(HbGridView::MultiSelection); |
125 } |
114 } |
126 |
115 |
127 void GlxGridView::disableMarking() |
116 void GlxGridView::disableMarking() |
128 { |
117 { |
129 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); |
118 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" ); |
130 mGridView->setSelectionMode(HbGridView::NoSelection); |
119 mGridView->setSelectionMode(HbGridView::NoSelection); |
131 } |
120 } |
132 |
121 |
133 void GlxGridView::handleUserAction(qint32 commandId) |
122 void GlxGridView::handleUserAction(qint32 commandId) |
134 { |
123 { |
135 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::handleUserAction" ); |
124 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::handleUserAction" ); |
136 switch( commandId ){ |
125 switch( commandId ){ |
137 case EGlxCmdMarkAll : |
126 case EGlxCmdMarkAll : |
138 mGridView->selectAll(); |
127 mGridView->selectAll(); |
139 break; |
128 break; |
140 |
129 |
141 case EGlxCmdUnMarkAll : |
130 case EGlxCmdUnMarkAll : |
142 mGridView->clearSelection(); |
131 mGridView->clearSelection(); |
143 break; |
132 break; |
144 |
133 |
145 case EGlxCmdSend: |
134 |
146 { |
|
147 OstTrace0( TRACE_NORMAL, DUP1_GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::handleUserAction-SendUI" ); |
|
148 |
|
149 QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>() |
|
150 ,0),GlxUriRole)).value<QString>(); |
|
151 |
|
152 if(imagePath.isNull()) |
|
153 { |
|
154 OstTrace0( TRACE_NORMAL, DUP2_GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::SendUi path is NULL" ); |
|
155 } |
|
156 qDebug() << "GlxGridView::SendUi() imagePath= " << imagePath; |
|
157 |
|
158 ShareUi dialog; |
|
159 QList <QVariant> fileList; |
|
160 fileList.append(QVariant(imagePath)); |
|
161 dialog.init(fileList,true); |
|
162 } |
|
163 break; |
|
164 |
135 |
165 default : |
136 default : |
166 break; |
137 break; |
167 } |
138 } |
168 } |
139 } |
169 |
140 |
170 QItemSelectionModel * GlxGridView::getSelectionModel() |
141 QItemSelectionModel * GlxGridView::getSelectionModel() |
171 { |
142 { |
172 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_GETSELECTIONMODEL, "GlxGridView::getSelectionModel" ); |
143 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_GETSELECTIONMODEL, "GlxGridView::getSelectionModel" ); |
173 return mGridView->selectionModel(); |
144 return mGridView->selectionModel(); |
174 } |
145 } |
175 |
146 |
176 QGraphicsItem * GlxGridView::getAnimationItem(GlxEffect transitionEffect) |
147 QGraphicsItem * GlxGridView::getAnimationItem(GlxEffect transitionEffect) |
177 { |
148 { |
178 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
149 OstTraceFunctionEntry0( GLXGRIDVIEW_GETANIMATIONITEM_ENTRY ); |
179 int selIndex = -1; |
150 int selIndex = -1; |
180 |
151 |
181 if ( transitionEffect == FULLSCREEN_TO_GRID ) { |
152 if ( transitionEffect == FULLSCREEN_TO_GRID ) { |
182 return mGridView; |
153 return mGridView; |
183 } |
154 } |
184 |
155 |
185 if ( transitionEffect == GRID_TO_FULLSCREEN ) { |
156 if ( transitionEffect == GRID_TO_FULLSCREEN ) { |
186 QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); |
157 QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole ); |
187 if ( variant.isValid() && variant.canConvert<int> () ) { |
158 if ( variant.isValid() && variant.canConvert<int> () ) { |
188 selIndex = variant.value<int>(); |
159 selIndex = variant.value<int>(); |
189 } |
160 } |
190 |
161 |
191 mItem = mGridView->itemByIndex( mModel->index(selIndex,0) ); |
162 mItem = mGridView->itemByIndex( mModel->index(selIndex,0) ); |
192 connect(mItem, SIGNAL(destroyed()), this, SLOT( itemDestroyed())); |
163 connect(mItem, SIGNAL(destroyed()), this, SLOT( itemDestroyed())); |
193 mItem->setZValue( mItem->zValue() + 20); |
164 mItem->setZValue( mItem->zValue() + 20); |
194 return mItem; |
165 return mItem; |
195 } |
166 } |
196 |
167 |
197 if ( transitionEffect == GRID_TO_ALBUMLIST || transitionEffect == ALBUMLIST_TO_GRID ){ |
168 if ( transitionEffect == GRID_TO_ALBUMLIST || transitionEffect == ALBUMLIST_TO_GRID ){ |
198 return mGridView; |
169 return mGridView; |
199 } |
170 } |
200 return NULL; |
|
201 OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT ); |
171 OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT ); |
202 } |
172 return NULL; |
|
173 } |
203 |
174 |
204 void GlxGridView::loadGridView(Qt::Orientation orient) |
175 void GlxGridView::loadGridView(Qt::Orientation orient) |
205 { |
176 { |
206 OstTraceFunctionEntry0( GLXGRIDVIEW_LOADGRIDVIEW_ENTRY ); |
177 OstTraceFunctionEntry0( GLXGRIDVIEW_LOADGRIDVIEW_ENTRY ); |
207 bool loaded = true; |
178 bool loaded = true; |
208 QString section; |
179 QString section; |
|
180 GlxContextMode mode ; |
|
181 |
209 //Load the widgets accroding to the current Orientation |
182 //Load the widgets accroding to the current Orientation |
210 if(orient == Qt::Horizontal) |
183 if(orient == Qt::Horizontal) { |
211 { |
|
212 section = GLX_GRIDVIEW_LSSECTION ; |
184 section = GLX_GRIDVIEW_LSSECTION ; |
213 } |
185 mode = GlxContextLsGrid ; |
214 else |
186 } |
215 { |
187 else { |
216 section = GLX_GRIDVIEW_PTSECTION ; |
188 section = GLX_GRIDVIEW_PTSECTION ; |
217 } |
189 mode = GlxContextPtGrid ; |
218 |
190 } |
219 if (mGridView == NULL ) |
191 |
220 { |
192 if (mGridView == NULL ) { |
221 mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,&loaded); |
193 mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,&loaded); |
222 if(loaded) |
194 if(loaded) { |
223 { |
|
224 //retrieve the widgets |
195 //retrieve the widgets |
225 mView = static_cast<HbView*>(mDocLoader->findWidget(QString(GLX_GRIDVIEW_VIEW))); |
196 mView = static_cast<HbView*>(mDocLoader->findWidget(QString(GLX_GRIDVIEW_VIEW))); |
226 mGridView = static_cast<HbGridView*>(mDocLoader->findWidget(GLX_GRIDVIEW_GRID)); |
197 mGridView = static_cast<HbGridView*>(mDocLoader->findWidget(GLX_GRIDVIEW_GRID)); |
227 setWidget( mView ); |
198 setWidget( mView ); |
228 } |
199 mGridView->setLayoutName( QString( "GridView" ) ); |
229 } |
200 } |
|
201 } |
230 //Load the Sections |
202 //Load the Sections |
231 mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,section,&loaded); |
203 mDocLoader->load(GLX_GRIDVIEW_DOCMLPATH,section,&loaded); |
|
204 |
|
205 if ( mModel ) { |
|
206 mModel->setData(QModelIndex(), (int)mode, GlxContextRole ); |
|
207 } |
232 OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); |
208 OstTraceFunctionExit0( GLXGRIDVIEW_LOADGRIDVIEW_EXIT ); |
233 } |
209 } |
234 |
210 |
235 void GlxGridView::itemDestroyed() |
211 void GlxGridView::itemDestroyed() |
236 { |
212 { |
237 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMDESTROYED, "GlxGridView::itemDestroyed" ); |
213 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMDESTROYED, "GlxGridView::itemDestroyed" ); |
238 disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); |
214 disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); |
239 mItem = NULL; |
215 mItem = NULL; |
240 } |
216 } |
241 |
217 |
242 QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value) |
218 QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value) |
243 { |
219 { |
244 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" ); |
220 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" ); |
245 |
221 |
251 } |
227 } |
252 return HbWidget::itemChange(change, value); |
228 return HbWidget::itemChange(change, value); |
253 } |
229 } |
254 |
230 |
255 void GlxGridView::addViewConnection () |
231 void GlxGridView::addViewConnection () |
256 { |
232 { |
257 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" ); |
233 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ADDVIEWCONNECTION, "GlxGridView::addViewConnection" ); |
258 connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadGridView(Qt::Orientation))); |
234 connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadGridView(Qt::Orientation))); |
259 connect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); |
235 connect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); |
260 connect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); |
236 connect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); |
261 if(XQServiceUtil::isService()){ |
237 if(XQServiceUtil::isService()){ |
262 connect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SIGNAL( gridItemSelected(const QModelIndex &))); |
238 connect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SIGNAL( gridItemSelected(const QModelIndex &))); |
263 } |
239 } |
264 // connect(mGridView, SIGNAL(scrollPositionChange(QPointF , Qt::Orientations)), this, SLOT( scrollPositionChange(QPointF, Qt::Orientations))); |
|
265 connect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); |
240 connect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); |
266 } |
241 } |
267 |
242 |
268 void GlxGridView::removeViewConnection () |
243 void GlxGridView::removeViewConnection () |
269 { |
244 { |
270 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_REMOVEVIEWCONNECTION, "GlxGridView::removeViewConnection" ); |
245 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_REMOVEVIEWCONNECTION, "GlxGridView::removeViewConnection" ); |
271 disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation))); |
246 disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(loadGridView(Qt::Orientation))); |
272 disconnect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); |
247 disconnect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SLOT( itemSelected(const QModelIndex &))); |
273 disconnect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SIGNAL( gridItemSelected(const QModelIndex &))); |
248 disconnect(mGridView, SIGNAL(activated(const QModelIndex &)), this, SIGNAL( gridItemSelected(const QModelIndex &))); |
274 disconnect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); |
249 disconnect( mGridView, SIGNAL( scrollingEnded() ), this, SLOT( setVisvalWindowIndex() ) ); |
275 disconnect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); |
250 disconnect(mGridView, SIGNAL(longPressed( HbAbstractViewItem*, QPointF )),this, SLOT( indicateLongPress( HbAbstractViewItem*, QPointF ) ) ); |
276 } |
251 } |
|
252 |
|
253 void GlxGridView::resetItemTransform() |
|
254 { |
|
255 if ( mItem ) { |
|
256 mItem->resetTransform(); //to reset the transition effect (reset transform matrix) |
|
257 mItem->setOpacity( 1); |
|
258 mItem->setZValue( mItem->zValue() - 20); |
|
259 disconnect( mItem, SIGNAL( destroyed() ), this, SLOT( itemDestroyed() ) ); |
|
260 mItem = NULL; |
|
261 } |
|
262 } |
277 |
263 |
278 void GlxGridView::itemSelected(const QModelIndex & index) |
264 void GlxGridView::itemSelected(const QModelIndex & index) |
279 { |
265 { |
280 OstTrace1( TRACE_NORMAL, GLXGRIDVIEW_ITEMSELECTED, "GlxGridView::itemSelected;index=%d", index.row() ); |
266 OstTrace1( TRACE_NORMAL, GLXGRIDVIEW_ITEMSELECTED, "GlxGridView::itemSelected;index=%d", index.row() ); |
281 |
267 |
282 if ( mGridView->selectionMode() == HbGridView::MultiSelection ){ //in multi selection mode no need to open the full screen |
268 if ( mGridView->selectionMode() == HbGridView::MultiSelection ){ //in multi selection mode no need to open the full screen |
283 return ; |
269 return ; |
284 } |
270 } |
313 |
299 |
314 if ( item->modelIndex().row() < 0 || item->modelIndex().row() >= mModel->rowCount() ) |
300 if ( item->modelIndex().row() < 0 || item->modelIndex().row() >= mModel->rowCount() ) |
315 return ; |
301 return ; |
316 |
302 |
317 mModel->setData( item->modelIndex (), item->modelIndex().row(), GlxVisualWindowIndex); |
303 mModel->setData( item->modelIndex (), item->modelIndex().row(), GlxVisualWindowIndex); |
318 } |
304 } |
319 |
|
320 //To:Do remove later once we get visual index change notification from grid view |
|
321 void GlxGridView::scrollPositionChange (QPointF newPosition, Qt::Orientations importantDimensions) |
|
322 { |
|
323 OstTrace0( TRACE_IMPORTANT, DUP1_GLXGRIDVIEW_SCROLLPOSITIONCHANGE, "GlxGridView::scrollPositionChange" ); |
|
324 Q_UNUSED(importantDimensions); |
|
325 qreal x = newPosition.x(); |
|
326 qreal y = newPosition.y(); |
|
327 int index = 0; |
|
328 OstTraceExt2( TRACE_IMPORTANT, GLXGRIDVIEW_SCROLLPOSITIONCHANGE, "GlxGridView::scrollPositionChange;x=%f;y=%f", x, y ); |
|
329 |
|
330 if( mWindow->orientation() == Qt::Vertical ) { |
|
331 index = y / 100; |
|
332 index = index * NBR_COL; |
|
333 } |
|
334 else { |
|
335 index = y / 98; |
|
336 index = index * NBR_ROW; |
|
337 } |
|
338 |
|
339 OstTraceExt2( TRACE_IMPORTANT, DUP2_GLXGRIDVIEW_SCROLLPOSITIONCHANGE, |
|
340 "GlxGridView::scrollPositionChange;index=%d;visualindex=%d", index, mVisualIndex ); |
|
341 |
|
342 if ( qAbs (index - mVisualIndex) >= NBR_PAGE && index >=0 && index < mModel->rowCount() ) { |
|
343 mVisualIndex = index; |
|
344 OstTrace0( TRACE_IMPORTANT, DUP3_GLXGRIDVIEW_SCROLLPOSITIONCHANGE, |
|
345 "GlxGridView::scrollPositionChange visual index changed" ); |
|
346 //To:Do call back of model for visual index change |
|
347 //mModel->setVisibleWindowIndex( mModel->index(mVisualIndex, 0 )); |
|
348 } |
|
349 } |
|
350 |
|
351 |
305 |
352 GlxGridView::~GlxGridView() |
306 GlxGridView::~GlxGridView() |
353 { |
307 { |
354 OstTraceFunctionEntry0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
308 OstTraceFunctionEntry0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_ENTRY ); |
355 removeViewConnection(); |
309 removeViewConnection(); |
356 delete mGridView; |
310 delete mGridView; |
357 mGridView = NULL; |
311 mGridView = NULL; |
358 |
312 |
359 delete mDocLoader; |
313 delete mDocLoader; |
360 mDocLoader = NULL; |
314 mDocLoader = NULL; |
361 |
315 |
362 OstTraceFunctionExit0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); |
316 OstTraceFunctionExit0( DUP1_GLXGRIDVIEW_GLXGRIDVIEW_EXIT ); |
363 } |
317 } |
364 |
318 |
365 void GlxGridView::indicateLongPress(HbAbstractViewItem *item, QPointF coords) |
319 void GlxGridView::indicateLongPress(HbAbstractViewItem *item, QPointF coords) |
366 { |
320 { |
367 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_INDICATELONGPRESS, "GlxGridView::indicateLongPress" ); |
321 OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_INDICATELONGPRESS, "GlxGridView::indicateLongPress" ); |
368 qDebug() << "GlxGridView:indicateLongPress Item " << item->modelIndex() << "long pressed at " |
322 qDebug() << "GlxGridView:indicateLongPress Item " << item->modelIndex() << "long pressed at " |
369 << coords; |
323 << coords; |
370 |
324 |
371 if ( mGridView->selectionMode() == HbGridView::MultiSelection ){ //in multi selection mode no need to open the context menu |
325 if ( mGridView->selectionMode() == HbGridView::MultiSelection ){ //in multi selection mode no need to open the context menu |
372 return ; |
326 return ; |
373 } |
327 } |
374 |
328 |
375 if ( mModel ) { |
329 if ( mModel ) { |
376 mModel->setData( item->modelIndex(), item->modelIndex().row(), GlxFocusIndexRole ); |
330 mModel->setData( item->modelIndex(), item->modelIndex().row(), GlxFocusIndexRole ); |
377 } |
331 } |
378 emit itemSpecificMenuTriggered(viewId(),coords); |
332 emit itemSpecificMenuTriggered(viewId(),coords); |
379 } |
333 } |