369 //updatePrimitives(); |
370 //updatePrimitives(); |
370 if( d->textItem ) { |
371 if( d->textItem ) { |
371 HbStyleOptionPushButton buttonOption; |
372 HbStyleOptionPushButton buttonOption; |
372 initStyleOption( &buttonOption ); |
373 initStyleOption( &buttonOption ); |
373 style( )->updatePrimitive( d->textItem, HbStyle::P_PushButton_text, &buttonOption); |
374 style( )->updatePrimitive( d->textItem, HbStyle::P_PushButton_text, &buttonOption); |
|
375 if ( isEnabled() ) { |
|
376 setProperty("state", "normal"); |
|
377 } |
374 } |
378 } |
375 if(doPolish) { |
379 if(doPolish) { |
376 repolish( ); |
380 repolish( ); |
377 } |
381 } |
378 } |
382 } |
457 setProperty("state", "normal"); |
461 setProperty("state", "normal"); |
458 } |
462 } |
459 |
463 |
460 } |
464 } |
461 if( doPolish ) { |
465 if( doPolish ) { |
462 repolish(); |
466 //Instead of posting an event we are directly sending polish and layout request |
|
467 //event because during runtime if icon is set for the first time some |
|
468 //flickering was coming. That was coming because icon was getting painted |
|
469 //before polish. |
|
470 QEvent* polishEvent = new QEvent( QEvent::Polish ); |
|
471 QCoreApplication::sendEvent(this, polishEvent); |
|
472 QApplication::sendPostedEvents(this, QEvent::LayoutRequest); |
463 } |
473 } |
464 } |
474 } |
465 } |
475 } |
466 |
476 |
467 /*! |
477 /*! |
849 #ifdef HB_GESTURE_FW |
861 #ifdef HB_GESTURE_FW |
850 void HbPushButton::gestureEvent( QGestureEvent *event ) |
862 void HbPushButton::gestureEvent( QGestureEvent *event ) |
851 { |
863 { |
852 Q_D(HbPushButton); |
864 Q_D(HbPushButton); |
853 if(HbTapGesture *tap = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) { |
865 if(HbTapGesture *tap = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) { |
|
866 bool hit = hitButton(mapFromScene(event->mapToGraphicsScene(tap->position()))); |
854 switch(tap->state()) { |
867 switch(tap->state()) { |
855 case Qt::GestureStarted:{ |
868 case Qt::GestureStarted: |
|
869 if( hit ){ |
856 #ifdef HB_EFFECTS |
870 #ifdef HB_EFFECTS |
857 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "pressed" ); |
871 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "pressed" ); |
858 #endif |
872 #endif |
|
873 if( d->checkable && !d->checked) { |
|
874 setProperty( "state", "latched" ); |
|
875 }else if(!d->checkable) { |
|
876 setProperty( "state", "pressed" ); |
|
877 } |
|
878 } |
|
879 break; |
|
880 case Qt::GestureUpdated: |
|
881 if(tap->tapStyleHint() == HbTapGesture::TapAndHold && hit) { |
|
882 d->longPress = true; |
|
883 emit longPress( event->mapToGraphicsScene(tap->position()) ); |
|
884 } |
|
885 break; |
|
886 case Qt::GestureCanceled: |
|
887 setProperty( "state", "normal" ); |
|
888 break; |
|
889 case Qt::GestureFinished: |
|
890 if( hit ){ |
|
891 #ifdef HB_EFFECTS |
|
892 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "released" ); |
|
893 #endif |
|
894 } |
859 if( d->checkable && !d->checked) { |
895 if( d->checkable && !d->checked) { |
860 setProperty( "state", "latched" ); |
896 setProperty( "state", "latched" ); |
861 }else if(!d->checkable) { |
897 }else { |
862 setProperty( "state", "pressed" ); |
|
863 } |
|
864 } |
|
865 break; |
|
866 case Qt::GestureUpdated: |
|
867 if(tap->tapStyleHint() == HbTapGesture::TapAndHold) { |
|
868 d->longPress = true; |
|
869 emit longPress( event->mapToGraphicsScene(tap->position()) ); |
|
870 } |
|
871 break; |
|
872 case Qt::GestureCanceled: |
|
873 setProperty( "state", "normal" ); |
|
874 break; |
|
875 case Qt::GestureFinished:{ |
|
876 #ifdef HB_EFFECTS |
|
877 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "released" ); |
|
878 #endif |
|
879 if( d->checkable && !d->checked) { |
|
880 setProperty( "state", "latched" ); |
|
881 }else { |
|
882 setProperty( "state", "normal" ); |
898 setProperty( "state", "normal" ); |
883 } |
899 } |
884 |
900 break; |
885 } |
901 default: |
886 break; |
902 break; |
887 default: |
903 } |
888 break; |
904 } |
889 } |
|
890 } |
|
891 |
|
892 HbAbstractButton::gestureEvent( event ); |
905 HbAbstractButton::gestureEvent( event ); |
893 |
|
894 } |
906 } |
895 #endif |
907 #endif |
896 |
908 |
897 |
909 |
898 /*! |
910 /*! |