equal
deleted
inserted
replaced
256 q->ungrabGesture(Qt::TapGesture); |
256 q->ungrabGesture(Qt::TapGesture); |
257 } else { |
257 } else { |
258 q->grabGesture(Qt::TapGesture); |
258 q->grabGesture(Qt::TapGesture); |
259 } |
259 } |
260 } |
260 } |
261 |
|
262 if( !focusItem ) { |
|
263 focusItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_PushButton_focus, q); |
|
264 //focus primitive is will not be visible by default, |
|
265 //only in case of keyboard focus events it will be Visible. |
|
266 focusItem->setVisible( false ); |
|
267 } |
|
268 } |
261 } |
269 |
262 |
270 void HbPushButtonPrivate::_q_handleLongKeyPress( ) |
263 void HbPushButtonPrivate::_q_handleLongKeyPress( ) |
271 { |
264 { |
272 Q_Q( HbPushButton ); |
265 Q_Q( HbPushButton ); |
678 |
671 |
679 */ |
672 */ |
680 void HbPushButton::recreatePrimitives() |
673 void HbPushButton::recreatePrimitives() |
681 { |
674 { |
682 Q_D( HbPushButton ); |
675 Q_D( HbPushButton ); |
683 HbWidget::recreatePrimitives(); |
676 HbWidget::recreatePrimitives(); |
684 |
677 if ( d->frameItem ) { |
685 delete d->frameItem; |
678 delete d->frameItem; |
686 d->frameItem = 0; |
679 d->frameItem = 0; |
687 delete d->iconItem; |
680 } |
688 d->iconItem = 0; |
681 if ( d->iconItem ) { |
689 delete d->textItem; |
682 delete d->iconItem; |
690 d->textItem = 0; |
683 d->iconItem = 0; |
691 delete d->touchArea; |
684 } |
692 d->touchArea = 0; |
685 if ( d->textItem ) { |
693 delete d->additionalTextItem; |
686 delete d->textItem ; |
694 d->additionalTextItem = 0; |
687 d->textItem = 0; |
695 delete d->focusItem; |
688 } |
696 d->focusItem = 0; |
689 if ( d->touchArea ) { |
697 |
690 delete d->touchArea ; |
|
691 d->touchArea = 0; |
|
692 } |
|
693 if ( d->additionalTextItem ) { |
|
694 delete d->additionalTextItem ; |
|
695 d->additionalTextItem = 0; |
|
696 } |
|
697 if ( d->focusItem ) { |
|
698 delete d->focusItem ; |
|
699 d->focusItem = 0; |
|
700 } |
698 d->createPrimitives( ); |
701 d->createPrimitives( ); |
699 setFrameBackground( 0 ); |
702 setFrameBackground( 0 ); |
700 } |
703 } |
701 |
704 |
702 /*! |
705 /*! |
704 */ |
707 */ |
705 void HbPushButton::updatePrimitives() |
708 void HbPushButton::updatePrimitives() |
706 { |
709 { |
707 Q_D( HbPushButton ); |
710 Q_D( HbPushButton ); |
708 HbWidget::updatePrimitives( ); |
711 HbWidget::updatePrimitives( ); |
709 |
|
710 HbStyleOptionPushButton buttonOption; |
712 HbStyleOptionPushButton buttonOption; |
711 initStyleOption(&buttonOption); |
713 initStyleOption(&buttonOption); |
|
714 //update the button color property information |
|
715 if ( d->checkable ) { |
|
716 if ( d->checked ) { |
|
717 setProperty( "state", "latched" ); |
|
718 } |
|
719 else { |
|
720 setProperty( "state", "normal" ); |
|
721 } |
|
722 } |
|
723 else{ |
|
724 if ( d->down ) { |
|
725 setProperty( "state", "pressed" ); |
|
726 } |
|
727 else { |
|
728 setProperty( "state", "normal" ); |
|
729 } |
|
730 } |
712 if ( d->textItem ) { |
731 if ( d->textItem ) { |
713 HbStylePrivate::updatePrimitive( d->textItem, HbStylePrivate::P_PushButton_text, &buttonOption ); |
732 HbStylePrivate::updatePrimitive( d->textItem, HbStylePrivate::P_PushButton_text, &buttonOption ); |
714 } |
733 } |
715 if ( d->touchArea ) { |
734 if ( d->touchArea ) { |
716 HbStylePrivate::updatePrimitive( d->touchArea, HbStylePrivate::P_PushButton_toucharea, &buttonOption ); |
735 HbStylePrivate::updatePrimitive( d->touchArea, HbStylePrivate::P_PushButton_toucharea, &buttonOption ); |
915 case Qt::GestureStarted: |
934 case Qt::GestureStarted: |
916 if( hit ){ |
935 if( hit ){ |
917 #ifdef HB_EFFECTS |
936 #ifdef HB_EFFECTS |
918 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "pressed" ); |
937 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "pressed" ); |
919 #endif |
938 #endif |
920 if( d->checkable && !d->checked) { |
939 /* if( d->checkable && !d->checked) { |
921 setProperty( "state", "latched" ); |
940 setProperty( "state", "latched" ); |
922 }else if(!d->checkable) { |
941 }else if(!d->checkable) { |
923 setProperty( "state", "pressed" ); |
942 setProperty( "state", "pressed" ); |
924 } |
943 }*/ |
925 } |
944 } |
926 break; |
945 break; |
927 case Qt::GestureUpdated: |
946 case Qt::GestureUpdated: |
928 if(tap->tapStyleHint() == HbTapGesture::TapAndHold && hit) { |
947 if(tap->tapStyleHint() == HbTapGesture::TapAndHold && hit) { |
929 d->longPress = true; |
948 d->longPress = true; |
937 if( hit ){ |
956 if( hit ){ |
938 #ifdef HB_EFFECTS |
957 #ifdef HB_EFFECTS |
939 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "released" ); |
958 HbEffect::start( this, HB_PUSHBUTTON_TYPE, "released" ); |
940 #endif |
959 #endif |
941 } |
960 } |
942 if( d->checkable && !d->checked) { |
961 /*if( d->checkable && !d->checked) { |
943 setProperty( "state", "latched" ); |
962 setProperty( "state", "latched" ); |
944 }else { |
963 }else { |
945 setProperty( "state", "normal" ); |
964 setProperty( "state", "normal" ); |
946 } |
965 }*/ |
947 break; |
966 break; |
948 default: |
967 default: |
949 break; |
968 break; |
950 } |
969 } |
951 } |
970 } |
983 void HbPushButton::focusInEvent( QFocusEvent *event ) |
1002 void HbPushButton::focusInEvent( QFocusEvent *event ) |
984 { |
1003 { |
985 Q_D( HbPushButton ); |
1004 Q_D( HbPushButton ); |
986 if( ( event->reason() == Qt::TabFocusReason || event->reason() == Qt::BacktabFocusReason ) |
1005 if( ( event->reason() == Qt::TabFocusReason || event->reason() == Qt::BacktabFocusReason ) |
987 && ( d->navigationKeyPress ) ) { |
1006 && ( d->navigationKeyPress ) ) { |
988 if( d->focusItem ) { |
1007 if( !d->focusItem ) { |
|
1008 d->focusItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_PushButton_focus, this); |
|
1009 } else { |
989 d->focusItem->setVisible( true ); |
1010 d->focusItem->setVisible( true ); |
990 if( hasFocus() ) { |
1011 if( hasFocus() ) { |
991 HbStyleOptionPushButton buttonOption; |
1012 HbStyleOptionPushButton buttonOption; |
992 initStyleOption( &buttonOption ); |
1013 initStyleOption( &buttonOption ); |
993 HbStylePrivate::updatePrimitive( d->focusItem,HbStylePrivate::P_PushButton_focus, &buttonOption ); |
1014 HbStylePrivate::updatePrimitive( d->focusItem,HbStylePrivate::P_PushButton_focus, &buttonOption ); |
994 } |
1015 } |
995 } else { |
|
996 d->focusItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_PushButton_focus, this); |
|
997 } |
1016 } |
998 } |
1017 } |
999 HbAbstractButton::focusInEvent( event ); |
1018 HbAbstractButton::focusInEvent( event ); |
1000 } |
1019 } |
1001 |
1020 |