544 // --------------------------------------------------------------------------- |
544 // --------------------------------------------------------------------------- |
545 // |
545 // |
546 TInt CMailCpsSettings::GetSettingToAssociate( const TDesC& aContentId ) |
546 TInt CMailCpsSettings::GetSettingToAssociate( const TDesC& aContentId ) |
547 { |
547 { |
548 FUNC_LOG; |
548 FUNC_LOG; |
549 TInt ret(KErrNotFound); |
549 TInt ret( KErrNotFound ); |
550 |
550 |
551 for (TInt i = 0; i < KMaxMailboxCount; i++) |
551 for ( TInt i = 0; i < KMaxMailboxCount; i++ ) |
552 { |
552 { |
553 TBuf<KMaxDescLen> value; |
553 TUint32 key( KCMailWidgetContentIdBase+ i ); |
554 TUint32 key(KCMailWidgetContentIdBase+i); |
554 TInt err = iCenRep->Get( key, iCenrepText ); |
555 iCenRep->Get( key, value ); |
555 if ( err == KErrNone ) |
556 TInt result = value.Compare(aContentId); |
556 { |
557 if (!result) |
557 if ( iCenrepText.Compare( aContentId ) == 0 ) |
558 { |
|
559 ret = i; |
|
560 break; |
|
561 } |
|
562 } |
|
563 if (ret < 0 ) |
|
564 { |
|
565 for (TInt i = 0; i < KMaxMailboxCount; i++) |
|
566 { |
|
567 TBuf<KMaxDescLen> value; |
|
568 TUint32 key(KCMailWidgetContentIdBase+i); |
|
569 iCenRep->Get( key, value ); |
|
570 TInt result = value.Compare(KDissociated); |
|
571 if (!result) |
|
572 { |
558 { |
573 ret = i; |
559 ret = i; |
574 break; |
560 break; |
575 } |
561 } |
576 } |
562 } |
577 } |
563 } |
|
564 |
|
565 if ( ret < 0 ) |
|
566 { |
|
567 for ( TInt i = 0; i < KMaxMailboxCount; i++ ) |
|
568 { |
|
569 TUint32 key( KCMailWidgetContentIdBase + i ); |
|
570 TInt err = iCenRep->Get( key, iCenrepText ); |
|
571 if ( err == KErrNone ) |
|
572 { |
|
573 if ( iCenrepText.Compare( KDissociated ) == 0 ) |
|
574 { |
|
575 ret = i; |
|
576 break; |
|
577 } |
|
578 } |
|
579 } |
|
580 } |
|
581 |
578 return ret; |
582 return ret; |
579 } |
583 } |
580 |
584 |
|
585 |
581 // --------------------------------------------------------------------------- |
586 // --------------------------------------------------------------------------- |
582 // CMailCpsSettings::Associated |
587 // CMailCpsSettings::Associated |
583 // --------------------------------------------------------------------------- |
588 // --------------------------------------------------------------------------- |
584 // |
589 // |
585 TBool CMailCpsSettings::Associated( const TDesC& aContentId ) |
590 TBool CMailCpsSettings::Associated( const TDesC& aContentId ) |
586 { |
591 { |
587 FUNC_LOG; |
592 FUNC_LOG; |
588 TBool ret(EFalse); |
593 TBool ret( EFalse ); |
589 |
594 |
590 for (TInt i = 0; i < KMaxMailboxCount; i++) |
595 for ( TInt i = 0; i < KMaxMailboxCount; i++ ) |
591 { |
596 { |
592 TBuf<KMaxDescLen> value; |
597 TUint32 key( KCMailWidgetContentIdBase + i ); |
593 TUint32 key(KCMailWidgetContentIdBase+i); |
598 TInt err = iCenRep->Get( key, iCenrepText ); |
594 iCenRep->Get( key, value ); |
599 if ( err == KErrNone ) |
595 TInt result = value.Compare(aContentId); |
600 { |
596 if (!result) |
601 if ( iCenrepText.Compare( aContentId ) == 0 ) |
597 { |
602 { |
598 ret = ETrue; |
603 ret = ETrue; |
599 break; |
604 break; |
600 } |
605 } |
601 } |
606 } |
|
607 } |
|
608 |
602 return ret; |
609 return ret; |
603 } |
610 } |
604 |
611 |
605 // --------------------------------------------------------------------------- |
612 // --------------------------------------------------------------------------- |
606 // CMailCpsSettings::GetContentId |
613 // CMailCpsSettings::GetContentId |
668 } |
675 } |
669 } |
676 } |
670 return ret; |
677 return ret; |
671 } |
678 } |
672 |
679 |
673 // --------------------------------------------------------------------------- |
680 |
674 // CMailCpsSettings::GetSettingToAssociate |
681 // --------------------------------------------------------------------------- |
|
682 // CMailCpsSettings::GetMailboxUidByContentId |
675 // --------------------------------------------------------------------------- |
683 // --------------------------------------------------------------------------- |
676 // |
684 // |
677 TUint CMailCpsSettings::GetMailboxUidByContentId( const TDesC& aContentId ) |
685 TUint CMailCpsSettings::GetMailboxUidByContentId( const TDesC& aContentId ) |
678 { |
686 { |
679 FUNC_LOG; |
687 FUNC_LOG; |
680 TInt ret(KErrNone); |
688 |
681 for (TInt i = 0; i < KMaxMailboxCount; i++) |
689 TInt ret( KErrNone ); |
|
690 for ( TInt i = 0; i < KMaxMailboxCount; i++ ) |
682 { |
691 { |
683 TBuf<KMaxDescLen> cid; |
692 TUint32 key( KCMailWidgetContentIdBase + i ); |
684 TUint32 key(KCMailWidgetContentIdBase+i); |
693 TInt err = iCenRep->Get( key, iCenrepText ); |
685 iCenRep->Get( key, cid ); |
694 if ( err == KErrNone ) |
686 TInt result = cid.Compare(aContentId); |
695 { |
687 if (!result) |
696 if ( iCenrepText.Compare( aContentId ) == 0 ) |
688 { |
697 { |
689 TUint32 key2(KCMailMailboxIdBase+i); |
698 TUint32 key2( KCMailMailboxIdBase + i ); |
690 iCenRep->Get( key2, ret ); |
699 err = iCenRep->Get( key2, ret ); |
691 break; |
700 if ( err == KErrNone ) |
692 } |
701 { |
693 } |
702 break; |
|
703 } |
|
704 } |
|
705 } |
|
706 } |
|
707 |
694 return ret; |
708 return ret; |
695 } |
709 } |
696 |
710 |
|
711 |
|
712 |
697 // --------------------------------------------------------------------------- |
713 // --------------------------------------------------------------------------- |
698 // CMailCpsSettings::GetPluginUidByContentId |
714 // CMailCpsSettings::GetPluginUidByContentId |
699 // --------------------------------------------------------------------------- |
715 // --------------------------------------------------------------------------- |
700 // |
716 // |
701 TUint CMailCpsSettings::GetPluginUidByContentId( const TDesC& aContentId ) |
717 TUint CMailCpsSettings::GetPluginUidByContentId( const TDesC& aContentId ) |
702 { |
718 { |
703 FUNC_LOG; |
719 FUNC_LOG; |
704 TInt ret(KErrNone); |
720 |
705 for (TInt i = 0; i < KMaxMailboxCount; i++) |
721 TInt ret( KErrNone ); |
|
722 for ( TInt i = 0; i < KMaxMailboxCount; i++ ) |
706 { |
723 { |
707 TBuf<KMaxDescLen> cid; |
724 TUint32 key( KCMailWidgetContentIdBase + i ); |
708 TUint32 key(KCMailWidgetContentIdBase+i); |
725 TInt err = iCenRep->Get( key, iCenrepText ); |
709 iCenRep->Get( key, cid ); |
726 if ( err == KErrNone ) |
710 TInt result = cid.Compare(aContentId); |
727 { |
711 if (!result) |
728 if ( iCenrepText.Compare( aContentId ) == 0 ) |
712 { |
729 { |
713 TUint32 key2(KCMailPluginIdBase+i); |
730 TUint32 key2( KCMailPluginIdBase + i ); |
714 iCenRep->Get( key2, ret ); |
731 err = iCenRep->Get( key2, ret ); |
715 break; |
732 if ( err == KErrNone ) |
716 } |
733 { |
717 } |
734 break; |
|
735 } |
|
736 } |
|
737 } |
|
738 } |
|
739 |
718 return ret; |
740 return ret; |
719 } |
741 } |
|
742 |
720 |
743 |
721 // --------------------------------------------------------------------------- |
744 // --------------------------------------------------------------------------- |
722 // CMailCpsSettings::Configuration |
745 // CMailCpsSettings::Configuration |
723 // --------------------------------------------------------------------------- |
746 // --------------------------------------------------------------------------- |
724 // |
747 // |
746 // CMailCpsSettings::ToggleWidgetNewMailIconL |
769 // CMailCpsSettings::ToggleWidgetNewMailIconL |
747 // ----------------------------------------------------------------------------- |
770 // ----------------------------------------------------------------------------- |
748 void CMailCpsSettings::ToggleWidgetNewMailIconL( TBool aIconOn, const TFSMailMsgId& aMailBox ) |
771 void CMailCpsSettings::ToggleWidgetNewMailIconL( TBool aIconOn, const TFSMailMsgId& aMailBox ) |
749 { |
772 { |
750 FUNC_LOG; |
773 FUNC_LOG; |
751 TBuf<KMaxDescLen> mailbox; |
774 |
752 mailbox.Num(aMailBox.Id()); |
775 _LIT( KFormat, "%S%d%S" ); |
753 |
776 const TInt KStrLen = 64; |
754 TBuf<KMaxDescLen> str; |
777 |
755 str.Copy(KStartSeparator); |
778 TBuf<KStrLen> mailbox; |
756 str.Append(mailbox); |
779 mailbox.Format( KFormat, &KStartSeparator, aMailBox.Id(), &KEndSeparator ); |
757 str.Append(KEndSeparator); |
780 |
758 |
781 TUint32 key( KCMailMailboxesWithNewMail ); |
759 TBuf<KMaxDescLen> stored; |
782 TInt err = iCenRep->Get( key, iCenrepText ); |
760 TUint32 key(KCMailMailboxesWithNewMail); |
783 |
761 iCenRep->Get( key, stored ); |
784 if ( err == KErrNone ) |
762 |
785 { |
763 TInt result = stored.Find(str); |
786 TInt pos = iCenrepText.Find( mailbox ); |
764 |
787 |
765 if (aIconOn) |
788 if ( aIconOn ) |
766 { |
789 { |
767 if (result < 0) // Not found |
790 if ( pos < 0 ) // Not found |
768 { |
791 { |
769 stored.Append(str); |
792 iCenrepText.Append( mailbox ); |
770 iCenRep->Set( key, stored ); |
793 iCenRep->Set( key, iCenrepText ); |
771 } |
794 } |
772 } |
795 } |
773 else |
796 else |
774 { |
797 { |
775 if (result >= 0) |
798 if ( pos >= 0 ) |
776 { |
799 { |
777 stored.Delete(result, str.Length()); |
800 iCenrepText.Delete( pos, mailbox.Length() ); |
778 iCenRep->Set( key, stored ); |
801 iCenRep->Set( key, iCenrepText ); |
779 } |
802 } |
780 } |
803 } |
781 } |
804 } |
|
805 } |
|
806 |
|
807 |
782 |
808 |
783 // ----------------------------------------------------------------------------- |
809 // ----------------------------------------------------------------------------- |
784 // CMailCpsSettings::GetNewMailStateL |
810 // CMailCpsSettings::GetNewMailStateL |
785 // ----------------------------------------------------------------------------- |
811 // ----------------------------------------------------------------------------- |
786 TBool CMailCpsSettings::GetNewMailStateL( const TFSMailMsgId& aMailBox, TInt aUnreadCount ) |
812 TBool CMailCpsSettings::GetNewMailStateL( const TFSMailMsgId& aMailBox, TInt aUnreadCount ) |
787 { |
813 { |
788 FUNC_LOG; |
814 FUNC_LOG; |
|
815 |
|
816 _LIT( KFormat, "%S%d%S" ); |
|
817 const TInt KStrLen = 64; |
|
818 |
|
819 |
789 TBool ret(EFalse); |
820 TBool ret(EFalse); |
790 if ( aUnreadCount ) |
821 if ( aUnreadCount ) |
791 { |
822 { |
792 TBuf<KMaxDescLen> mailbox; |
823 TBuf<KStrLen> mailbox; |
793 mailbox.Num(aMailBox.Id()); |
824 mailbox.Format( KFormat, &KStartSeparator, aMailBox.Id(), &KEndSeparator ); |
794 |
825 |
795 TBuf<KMaxDescLen> str; |
826 TUint32 key( KCMailMailboxesWithNewMail ); |
796 str.Copy(KStartSeparator); |
827 TInt err = iCenRep->Get( key, iCenrepText ); |
797 str.Append(mailbox); |
828 if ( err == KErrNone ) |
798 str.Append(KEndSeparator); |
829 { |
799 |
830 TInt pos = iCenrepText.Find( mailbox ); |
800 TBuf<KMaxDescLen> stored; |
831 if ( pos >= 0 ) |
801 TUint32 key(KCMailMailboxesWithNewMail); |
832 { |
802 iCenRep->Get( key, stored ); |
833 ret = ETrue; |
803 |
834 } |
804 TInt result = stored.Find(str); |
|
805 if (result >= 0) |
|
806 { |
|
807 ret = ETrue; |
|
808 } |
835 } |
809 } |
836 } |
810 else |
837 else |
811 { |
838 { |
812 ToggleWidgetNewMailIconL( EFalse, aMailBox ); |
839 ToggleWidgetNewMailIconL( EFalse, aMailBox ); |
813 } |
840 } |
|
841 |
814 return ret; |
842 return ret; |
815 } |
843 } |
|
844 |
|
845 |
|
846 |
|
847 |