--- a/javauis/lcdui_akn/lcdui/src/CMIDCanvasKeypad.cpp Wed Sep 15 12:05:25 2010 +0300
+++ b/javauis/lcdui_akn/lcdui/src/CMIDCanvasKeypad.cpp Wed Oct 13 14:23:59 2010 +0300
@@ -81,6 +81,11 @@
}
iOSKInBackground = EFalse;
+ if (iBackgroundCC)
+ {
+ delete iBackgroundCC;
+ iBackgroundCC = NULL;
+ }
}
TInt CMIDCanvasKeypad::CountComponentControls() const
{
@@ -99,6 +104,15 @@
void CMIDCanvasKeypad::SizeChanged()
{
SetRectForAllButtons();
+ if (iBackgroundCC)
+ {
+ delete iBackgroundCC;
+ iBackgroundCC = NULL;
+ }
+ TRAP_IGNORE(iBackgroundCC = CAknsBasicBackgroundControlContext::NewL(
+ KAknsIIDQsnBgScreen,
+ Rect(),
+ EFalse));
}
void CMIDCanvasKeypad::ButtonPriorityQueue(TInt aIdx)
@@ -378,29 +392,31 @@
}
SetRectForAllButtons();//Needed for updating OSK-buttons when closing/opening hw-keyboard
CreateButtonsL();
- InitializeKeysL();
+ InitializeKeys();
ActivateL(); // Window owning control draws all children (buttons)
MakeVisible(ETrue);
DrawDeferred();
iOSKInBackground = EFalse;
+ if (iBackgroundCC)
+ {
+ delete iBackgroundCC;
+ iBackgroundCC = NULL;
+ }
+ TRAP_IGNORE(iBackgroundCC = CAknsBasicBackgroundControlContext::NewL(
+ KAknsIIDQsnBgScreen,
+ Rect(),
+ EFalse));
}
void CMIDCanvasKeypad::Draw(const TRect& /*aRect*/) const
{
CWindowGc& gc = SystemGc();
//Drawing skin
- MAknsControlContext* cc = NULL;
gc.SetBrushColor(TRgb(0x0)); //black
-
- TRAP_IGNORE(cc = CAknsBasicBackgroundControlContext::NewL(
- KAknsIIDQsnBgScreen,
- Rect(),
- EFalse));
-
if (!iIsFullScreenMode) //normal mode
{
AknsDrawUtils::DrawBackground(AknsUtils::SkinInstance(),
- cc,
+ iBackgroundCC,
NULL,
gc,
TPoint(0,0),
@@ -411,7 +427,7 @@
else //full screen mode
{
AknsDrawUtils::DrawBackground(NULL,
- cc,
+ iBackgroundCC,
NULL,
gc,
TPoint(0,0),
@@ -465,6 +481,11 @@
CreateWindowL();
SetComponentsToInheritVisibility(ETrue);
Window().SetPointerGrab(ETrue);
+
+ TRAP_IGNORE(iBackgroundCC = CAknsBasicBackgroundControlContext::NewL(
+ KAknsIIDQsnBgScreen,
+ Rect(),
+ EFalse));
}
CMIDCanvasKeypad::CMIDCanvasKeypad()
@@ -504,7 +525,7 @@
buttonData.iButton->SetExtent(iRockerRect.iTl, iRockerRect.Size());
buttonData.iButton->ActivateL();
InitializeKeyEvents(TKeypadKeys(i), &buttonData);
- iButtonData.AppendL(buttonData);
+ iButtonData.Append(buttonData);
CleanupStack::Pop(buttonData.iButton);
}
CleanupStack::PopAndDestroy(); // reader;
@@ -554,7 +575,7 @@
buttonDataGameA.iButton->SetExtent(iGameARect.iTl, iGameARect.Size());
buttonDataGameA.iButton->ActivateL();
InitializeKeyEvents(EGameA, &buttonDataGameA);
- iButtonData.AppendL(buttonDataGameA);
+ iButtonData.Append(buttonDataGameA);
//GameB
bitmap = NULL;
@@ -589,7 +610,7 @@
buttonDataGameB.iButton->SetExtent(iGameBRect.iTl, iGameBRect.Size());
buttonDataGameB.iButton->ActivateL();
InitializeKeyEvents(EGameB, &buttonDataGameB);
- iButtonData.AppendL(buttonDataGameB);
+ iButtonData.Append(buttonDataGameB);
//GameC
bitmap = NULL;
@@ -624,7 +645,7 @@
buttonDataGameC.iButton->SetExtent(iGameCRect.iTl, iGameCRect.Size());
buttonDataGameC.iButton->ActivateL();
InitializeKeyEvents(EGameC, &buttonDataGameC);
- iButtonData.AppendL(buttonDataGameC);
+ iButtonData.Append(buttonDataGameC);
//GameD
bitmap = NULL;
@@ -658,7 +679,7 @@
buttonDataGameD.iButton->SetExtent(iGameDRect.iTl, iGameDRect.Size());
buttonDataGameD.iButton->ActivateL();
InitializeKeyEvents(EGameD, &buttonDataGameD);
- iButtonData.AppendL(buttonDataGameD);
+ iButtonData.Append(buttonDataGameD);
}
//LSK & RSK buttons
@@ -830,17 +851,17 @@
buttonDataLSK.iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
buttonDataLSK.iButton->ActivateL();
InitializeKeyEvents(ELsk, &buttonDataLSK);
- iButtonData.AppendL(buttonDataLSK);
+ iButtonData.Append(buttonDataLSK);
buttonDataRSK.iButton->SetContainerWindowL(*this);
buttonDataRSK.iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
buttonDataRSK.iButton->ActivateL();
InitializeKeyEvents(ERsk, &buttonDataRSK);
- iButtonData.AppendL(buttonDataRSK);
+ iButtonData.Append(buttonDataRSK);
}
-void CMIDCanvasKeypad::InitializeKeysL()
+void CMIDCanvasKeypad::InitializeKeys()
{
TInt buttonCount = iButtonData.Count();
iCurrentButtonData.Reset();
@@ -856,8 +877,8 @@
{
iButtonData[i].iButton->SetPosition(iRockerRect.iTl);
iButtonData[i].iButton->SetSize(iRockerRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
}
// Other keys
@@ -870,29 +891,29 @@
{
iButtonData[i].iButton->SetPosition(iGameARect.iTl);
iButtonData[i].iButton->SetSize(iGameARect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
else if (iButtonData[i].keyType == EGameB)
{
iButtonData[i].iButton->SetPosition(iGameBRect.iTl);
iButtonData[i].iButton->SetSize(iGameBRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
else if (iButtonData[i].keyType == EGameC)
{
iButtonData[i].iButton->SetPosition(iGameCRect.iTl);
iButtonData[i].iButton->SetSize(iGameCRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
else if (iButtonData[i].keyType == EGameD)
{
iButtonData[i].iButton->SetPosition(iGameDRect.iTl);
iButtonData[i].iButton->SetSize(iGameDRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
}
@@ -900,14 +921,14 @@
if (iButtonData[i].keyType == ELsk && iIsFullScreenMode)
{
iButtonData[i].iButton->SetExtent(iLskRect.iTl, iLskRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
else if (iButtonData[i].keyType == ERsk && iIsFullScreenMode)
{
iButtonData[i].iButton->SetExtent(iRskRect.iTl, iRskRect.Size());
- iCurrentButtonData.AppendL(&iButtonData[i]);
- iButtonStack.AppendL(i);
+ iCurrentButtonData.Append(&iButtonData[i]);
+ iButtonStack.Append(i);
}
}
}
@@ -1393,7 +1414,7 @@
feedback->InstantFeedback(ETouchFeedbackSensitiveButton);
}
break;
-#endif //RD_JAVA_ADVANCED_TACTILE_FEEDBACK
+#endif //RD_JAVA_ADVANCED_TACTILE_FEEDBACK
}
}
#endif // RD_TACTILE_FEEDBACK