diff -r 0f07cd1b5772 -r 1984aceb8774 calendarui/controller/src/calenmultidbeditor.cpp --- a/calendarui/controller/src/calenmultidbeditor.cpp Mon Mar 15 12:40:18 2010 +0200 +++ b/calendarui/controller/src/calenmultidbeditor.cpp Wed Mar 31 21:29:10 2010 +0300 @@ -29,12 +29,14 @@ #include #include #include +#include #include "calenmultidbeditor.h" #include "calendarui_debug.h" #include "calendar.hrh" #include "calentitlepane.h" #include "calencontroller.h" +#include "calenmultipledbui.h" // Constants. const TUint16 KIllegalChars[] = { @@ -55,7 +57,6 @@ 0, // Array terminator }; const TInt KCalenMaxELAFTextEditorLength(256); -const TInt KCalenColorPalletteStartColor(35); const TInt KOne( 1 ); const TInt KBuffLength ( 16 ); const TInt KTen( 10 ); @@ -71,16 +72,17 @@ // Two-phased constructor. // ---------------------------------------------------------------------------- // -CCalenMultiDBEditor* CCalenMultiDBEditor::NewL( CCalCalendarInfo& aCalendarInfo, - CCalenController& aController, TBool aEditFlag) +CCalenMultiDBEditor* CCalenMultiDBEditor::NewL( + CCalenMultipleDbUi& aMultipleDbui, CCalCalendarInfo& aCalendarInfo, + CCalenController& aController, TBool aEditFlag) { TRACE_ENTRY_POINT; - CCalenMultiDBEditor* self = - new(ELeave) CCalenMultiDBEditor( aCalendarInfo, aController, aEditFlag); - CleanupStack::PushL( self ); + CCalenMultiDBEditor* self = new (ELeave) CCalenMultiDBEditor( + aMultipleDbui, aCalendarInfo, aController, aEditFlag); + CleanupStack::PushL(self); self->ConstructL(); - CleanupStack::Pop( self ); + CleanupStack::Pop(self); TRACE_EXIT_POINT; return self; @@ -93,7 +95,14 @@ // CCalenMultiDBEditor::~CCalenMultiDBEditor() { - TRACE_ENTRY_POINT; + TRACE_ENTRY_POINT; + + if(iRgbColors) + { + iRgbColors->Reset(); + delete iRgbColors; + iRgbColors = NULL; + } if(iCalendarName) { @@ -116,10 +125,12 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -CCalenMultiDBEditor::CCalenMultiDBEditor( CCalCalendarInfo& aCalendarInfo, - CCalenController& aController, TBool aEditFlag) - :iCalendarInfo( aCalendarInfo ) , iController( aController ), - iEditFlag( aEditFlag ) +CCalenMultiDBEditor::CCalenMultiDBEditor(CCalenMultipleDbUi& aMultipleDbui, + CCalCalendarInfo& aCalendarInfo, CCalenController& aController, + TBool aEditFlag) : + iCalendarInfo(aCalendarInfo), iController( + aController), iEditFlag(aEditFlag), + iMultipleDbUi(aMultipleDbui) { TRACE_ENTRY_POINT; @@ -146,10 +157,10 @@ //Initial color value iColVal = iCalendarInfo.Color().Value(); - iColors = TRgb(iColVal); + iChoosenColor = TRgb(iColVal); iPicture = new( ELeave )CDbColorPicture( TSize( 0, 0 ) ); - iPicture->SetRgbColorsL(iColors); + iPicture->SetRgbColorsL(iChoosenColor); //set sync value // ESyncStatus @@ -161,10 +172,51 @@ { iSyncStatus = pkgSyncStatus(); } + + LoadColorsL(); + TRACE_EXIT_POINT; } // ----------------------------------------------------------------------------- +// CCalenMultiDBEditor::LoadColorsL +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CCalenMultiDBEditor::LoadColorsL() + { + TRACE_ENTRY_POINT + + if(iRgbColors) + { + iRgbColors->Reset(); + delete iRgbColors; + iRgbColors = NULL; + } + + iRgbColors = new(ELeave) CArrayFixFlat(2); + + iRgbColors->AppendL(KRgbRed); + iRgbColors->AppendL(KRgbDarkGray); + iRgbColors->AppendL(KRgbDarkRed); + iRgbColors->AppendL(KRgbDarkGreen); + iRgbColors->AppendL(KRgbDarkYellow); + iRgbColors->AppendL(KRgbDarkBlue); + iRgbColors->AppendL(KRgbDarkMagenta); + iRgbColors->AppendL(KRgbDarkCyan); + iRgbColors->AppendL(KRgbBlack); + iRgbColors->AppendL(KRgbGreen); + iRgbColors->AppendL(KRgbYellow); + iRgbColors->AppendL(KRgbBlue); + iRgbColors->AppendL(KRgbMagenta); + iRgbColors->AppendL(KRgbCyan); + iRgbColors->AppendL(KRgbGray); + iRgbColors->AppendL(KRgbWhite); + + TRACE_EXIT_POINT + } + +// ----------------------------------------------------------------------------- // CCalenMultiDBEditor::ProcessCommandL // Process commands from the user. // (other items were commented in a header). @@ -218,8 +270,6 @@ else if ( ECalenMultiDbColor == IdOfFocusControl() ) { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } } break; @@ -227,8 +277,6 @@ case EAknSoftkeyOpen: { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } break; @@ -255,8 +303,6 @@ case ECalenMultiDbColor: { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } break; default: @@ -314,8 +360,6 @@ case EAknSoftkeyOpen: { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } break; @@ -354,8 +398,6 @@ else if ( ECalenMultiDbColor == IdOfFocusControl() ) { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } } break; @@ -363,14 +405,22 @@ case EAknSoftkeyDone: { isExitForm = SaveNoteL(aButtonId); + if(isExitForm) + { + iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + } } break; case EAknSoftkeyExit: case EAknCmdExit: { - SaveNoteL(aButtonId); - isExitForm = ETrue; - } + isExitForm = SaveNoteL(aButtonId); + if(isExitForm) + { + iMultipleDbUi.UpdateOnAddOrEditL(!iEditFlag); + } + iMultipleDbUi.ExitDialogL(); + } break; case EAknSoftkeyQuit: { @@ -577,55 +627,33 @@ void CCalenMultiDBEditor::GetColorL() { TRACE_ENTRY_POINT; - - TBool retVal = EFalse; - - // Array for TRgb colour values - CArrayFixFlat* colors = new( ELeave ) CArrayFixFlat( 8 ); - CleanupStack::PushL( colors ); - - // array of colors. - colors->AppendL(KRgbRed); - colors->AppendL(KRgbDarkGray); - colors->AppendL(KRgbDarkRed); - colors->AppendL(KRgbDarkGreen); - colors->AppendL(KRgbDarkYellow); - colors->AppendL(KRgbDarkBlue); - colors->AppendL(KRgbDarkMagenta); - colors->AppendL(KRgbDarkCyan); - colors->AppendL(KRgbBlack); - colors->AppendL(KRgbGreen); - colors->AppendL(KRgbYellow); - colors->AppendL(KRgbBlue); - colors->AppendL(KRgbMagenta); - colors->AppendL(KRgbCyan); - colors->AppendL(KRgbGray); - colors->AppendL(KRgbWhite); - - // Get current colour - TRgb color = KCalenColorPalletteStartColor; //iDbInfo.GetCalendarColor(); - TInt startValue = iColVal; - TBool noneChosen = ETrue; + iNoneChoosen = ETrue; // Construct colour selection grid - CAknColourSelectionGrid *dlg = CAknColourSelectionGrid::NewL(colors, EFalse, - noneChosen,color ); + CAknDialog *dlg = CAknColourSelectionGrid::NewL(iRgbColors, EFalse, + iNoneChoosen,iChoosenColor ); - retVal = dlg->ExecuteLD(); + dlg->ExecuteLD(R_CALEN_MULTIDB_EDITOR_COLOR_GRID_DLG); - iColVal = KErrNotFound; - if ( !noneChosen && retVal )//If something is chosen - { - iColVal = color.Value(); - } - else//Else set the previous color. + TRACE_EXIT_POINT; + } + +// --------------------------------------------------------------------------- +// CCalenMultiDBEditor::FocusChanged +// --------------------------------------------------------------------------- +// +void CCalenMultiDBEditor::FocusChanged(TDrawNow /*aDrawNow*/) + { + TRACE_ENTRY_POINT + + if(IsFocused() && !iNoneChoosen) { - iColVal = startValue; + iColVal = iChoosenColor.Value(); + iPicture->SetRgbColorsL(iChoosenColor); + GetLineByLineAndPageIndex(1, 0)->DrawNow(); } - iColors = TRgb(iColVal); - iPicture->SetRgbColorsL(iColors); - CleanupStack::PopAndDestroy( colors ); - TRACE_EXIT_POINT; + + TRACE_EXIT_POINT } // --------------------------------------------------------------------------- @@ -803,13 +831,13 @@ { TRACE_ENTRY_POINT; //Initial Name value - TPtr summary = iCalendarName->Des(); - - CEikEdwin* edwin = - reinterpret_cast(Control(ECalenMultiDbName)); - GetEdwinText(summary, ECalenMultiDbName); - - TRACE_EXIT_POINT; + TPtr summary = iCalendarName->Des(); + + CEikEdwin* edwin = reinterpret_cast (Control( + ECalenMultiDbName)); + GetEdwinText(summary, ECalenMultiDbName); + + TRACE_EXIT_POINT; } // --------------------------------------------------------------------------- // CCalenMultiDBEditor::IsNameEditedL @@ -968,8 +996,6 @@ case ECalenMultiDbColor: { GetColorL(); - iColors = TRgb(iColVal); - GetLineByLineAndPageIndex(1,0)->DrawNow(); } break; @@ -1209,6 +1235,10 @@ TRACE_EXIT_POINT; } +// ----------------------------------------------------------------------------- +// CDbColorPicture::SetRgbColorsL +// ----------------------------------------------------------------------------- +// void CDbColorPicture::SetRgbColorsL(TRgb aColors) { TRACE_ENTRY_POINT;