121 elements << HbSlider::IncreaseElement |
124 elements << HbSlider::IncreaseElement |
122 << HbSlider::TrackElement |
125 << HbSlider::TrackElement |
123 << HbSlider::DecreaseElement |
126 << HbSlider::DecreaseElement |
124 << HbSlider::TextElement; |
127 << HbSlider::TextElement; |
125 setElements( elements ); |
128 setElements( elements ); |
|
129 #ifdef HB_GESTURE_FW |
|
130 q->grabGesture(Qt::TapGesture); |
|
131 #endif |
126 |
132 |
127 // create element because HbSlider will not create element for NULL Icon |
133 // create element because HbSlider will not create element for NULL Icon |
128 // and zoom slider Icon is set in style |
134 // and zoom slider Icon is set in style |
129 |
135 |
130 if ( !elementItemMap.contains(HbSlider::IncreaseElement) ) { |
136 if ( !elementItemMap.contains(HbSlider::IncreaseElement) ) { |
131 elementItemMap[HbSlider::IncreaseElement].item = |
137 elementItemMap[HbSlider::IncreaseElement].item = |
132 q->style( )->createPrimitive( HbStyle::P_SliderElement_increase, q); |
138 HbStylePrivate::createPrimitive( HbStylePrivate::P_SliderElement_increase, q); |
133 HbStyle::setItemName( elementItemMap[HbSlider::IncreaseElement].item, "increment-icon" ); |
139 HbStyle::setItemName( elementItemMap[HbSlider::IncreaseElement].item, "increment-icon" ); |
134 elementItemMap[HbSlider::IncreaseElement].type= HbStyle::P_SliderElement_increase; |
140 elementItemMap[HbSlider::IncreaseElement].type= HbStylePrivate::P_SliderElement_increase; |
135 elementItemMap[HbSlider::IncreaseElement].touchItem = |
141 elementItemMap[HbSlider::IncreaseElement].touchItem = |
136 q->style( )->createPrimitive( HbStyle::P_SliderElement_touchincrease,q ); |
142 HbStylePrivate::createPrimitive( HbStylePrivate::P_SliderElement_touchincrease,q ); |
137 HbStyle::setItemName( elementItemMap[HbSlider::IncreaseElement].touchItem, "increment-icon-toucharea" ); |
143 HbStyle::setItemName( elementItemMap[HbSlider::IncreaseElement].touchItem, "increment-icon-toucharea" ); |
138 } |
144 } |
139 |
145 |
140 if ( !elementItemMap.contains(HbSlider::DecreaseElement) ) { |
146 if ( !elementItemMap.contains(HbSlider::DecreaseElement) ) { |
141 elementItemMap[HbSlider::DecreaseElement].item = |
147 elementItemMap[HbSlider::DecreaseElement].item = |
142 q->style( )->createPrimitive( HbStyle::P_SliderElement_decrease, q); |
148 HbStylePrivate::createPrimitive( HbStylePrivate::P_SliderElement_decrease, q); |
143 elementItemMap[HbSlider::DecreaseElement].type = HbStyle::P_SliderElement_decrease; |
149 elementItemMap[HbSlider::DecreaseElement].type = HbStylePrivate::P_SliderElement_decrease; |
144 HbStyle::setItemName( elementItemMap[HbSlider::DecreaseElement].item, "decrement-icon" ); |
150 HbStyle::setItemName( elementItemMap[HbSlider::DecreaseElement].item, "decrement-icon" ); |
145 elementItemMap[HbSlider::DecreaseElement].touchItem = q->style( )->createPrimitive( HbStyle::P_SliderElement_touchdecrease,q ) ; |
151 elementItemMap[HbSlider::DecreaseElement].touchItem = HbStylePrivate::createPrimitive( HbStylePrivate::P_SliderElement_touchdecrease,q ) ; |
146 HbStyle::setItemName( elementItemMap[HbSlider::DecreaseElement].touchItem, "decrement-icon-toucharea" ); |
152 HbStyle::setItemName( elementItemMap[HbSlider::DecreaseElement].touchItem, "decrement-icon-toucharea" ); |
147 } |
153 } |
148 |
154 |
149 HbStyleOptionSlider option; |
155 HbStyleOptionSlider option; |
150 q->initStyleOption( &option ); |
156 q->initStyleOption( &option ); |
151 option.sliderElementIcon = icons.value( HbSlider::IncreaseElement ); |
157 option.sliderElementIcon = icons.value( HbSlider::IncreaseElement ); |
152 q->style( )->updatePrimitive(elementItemMap[HbSlider::IncreaseElement].item ,HbStyle::P_SliderElement_increase,&option ); |
158 HbStylePrivate::updatePrimitive(elementItemMap[HbSlider::IncreaseElement].item ,HbStylePrivate::P_SliderElement_increase,&option ); |
153 option.sliderElementIcon = icons.value( HbSlider::DecreaseElement ); |
159 option.sliderElementIcon = icons.value( HbSlider::DecreaseElement ); |
154 q->style( )->updatePrimitive(elementItemMap[HbSlider::DecreaseElement].item ,HbStyle::P_SliderElement_decrease,&option ); |
160 HbStylePrivate::updatePrimitive(elementItemMap[HbSlider::DecreaseElement].item ,HbStylePrivate::P_SliderElement_decrease,&option ); |
155 q->setFlags( QGraphicsItem::ItemIsFocusable ); |
161 q->setFlags( QGraphicsItem::ItemIsFocusable ); |
156 q->connect( q, SIGNAL( textClicked( ) ), q, SLOT( _q_resetToDefault( ) ) ); |
162 q->connect( q, SIGNAL( textClicked( ) ), q, SLOT( _q_resetToDefault( ) ) ); |
157 q->setProperty("changeincrementState" ,false); |
163 q->setProperty("changeincrementState" ,false); |
158 q->setProperty("changedecrementState" ,false); |
164 q->setProperty("changedecrementState" ,false); |
159 q->setProperty("state", "normal"); |
165 q->setProperty("state", "normal"); |
264 setProperty("state", "pressed"); |
271 setProperty("state", "pressed"); |
265 } |
272 } |
266 } |
273 } |
267 |
274 |
268 HbSlider::mousePressEvent( event ); |
275 HbSlider::mousePressEvent( event ); |
|
276 #else |
|
277 Q_UNUSED(event) |
|
278 #endif |
269 } |
279 } |
270 |
280 |
271 /*! |
281 /*! |
272 \reimp |
282 \reimp |
273 |
283 |
274 */ |
284 */ |
275 void HbZoomSlider::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) |
285 void HbZoomSlider::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) |
276 { |
286 { |
|
287 #ifndef HB_GESTURE_FW |
277 Q_D( HbZoomSlider ); |
288 Q_D( HbZoomSlider ); |
278 HbSlider::mouseReleaseEvent( event ); |
289 HbSlider::mouseReleaseEvent( event ); |
279 d->stopRepeatAction( ); |
290 d->stopRepeatAction( ); |
280 setProperty("changeincrementState" ,false); |
291 setProperty("changeincrementState" ,false); |
281 setProperty("changedecrementState" ,false); |
292 setProperty("changedecrementState" ,false); |
282 setProperty("state", "normal"); |
293 setProperty("state", "normal"); |
|
294 #else |
|
295 Q_UNUSED (event) |
|
296 #endif |
|
297 } |
|
298 /*! |
|
299 \reimp |
|
300 */ |
|
301 void HbZoomSlider::gestureEvent(QGestureEvent *event) |
|
302 { |
|
303 Q_D(HbZoomSlider); |
|
304 //consume the event if gesture is on increment or decrement |
|
305 if (HbTapGesture *tap = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) { |
|
306 QPointF pos = event->mapToGraphicsScene(tap->position()); |
|
307 switch( tap->state( ) ) { |
|
308 case Qt::GestureStarted: { |
|
309 if ( d->elementItemMap.contains (HbSlider::IncreaseElement ) ) { |
|
310 if (d->elementItemMap[HbSlider::IncreaseElement].touchItem ) { |
|
311 if (d->elementItemMap[HbSlider::IncreaseElement].touchItem->sceneBoundingRect().contains(pos)) { |
|
312 setProperty("changeincrementState" ,true); |
|
313 setProperty("changedecrementState" ,false); |
|
314 setProperty("state", "pressed"); |
|
315 |
|
316 } |
|
317 } |
|
318 } |
|
319 if ( d->elementItemMap.contains (HbSlider::DecreaseElement ) ) { |
|
320 if (d->elementItemMap[HbSlider::DecreaseElement].touchItem ) { |
|
321 if (d->elementItemMap[HbSlider::DecreaseElement].touchItem->sceneBoundingRect().contains(pos)) { |
|
322 setProperty("changeincrementState" ,false); |
|
323 setProperty("changedecrementState" ,true); |
|
324 setProperty("state", "pressed"); |
|
325 } |
|
326 } |
|
327 } |
|
328 } |
|
329 break; |
|
330 case Qt::GestureCanceled: |
|
331 case Qt::GestureFinished: { |
|
332 setProperty("changeincrementState" ,false); |
|
333 setProperty("changedecrementState" ,false); |
|
334 setProperty("state", "normal"); |
|
335 } |
|
336 default: |
|
337 break; |
|
338 |
|
339 |
|
340 } |
|
341 } |
|
342 HbSlider::gestureEvent(event); |
283 } |
343 } |
284 |
344 |
285 /*! |
345 /*! |
286 \reimp |
346 \reimp |
287 */ |
347 */ |