22 |
22 |
23 #include "logger.h" |
23 #include "logger.h" |
24 |
24 |
25 using namespace java::runtimeui; |
25 using namespace java::runtimeui; |
26 |
26 |
27 OS_EXPORT void RuntimeUiQt::errorL(const TDesC& /*aAppName*/, const TDesC& aShortMsg, const TDesC& aDetailedMsg) |
27 OS_EXPORT void RuntimeUiQt::errorL(const TDesC& /*aAppName*/, const TDesC& aShortMsg, |
|
28 const TDesC& aDetailedMsg, const TDesC& aDetailsButton, const TDesC& aOkButton) |
28 { |
29 { |
29 CHbDeviceMessageBoxSymbian* messageBox |
30 CHbDeviceMessageBoxSymbian* messageBox |
30 = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning); |
31 = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning); |
31 CleanupStack::PushL(messageBox); |
32 CleanupStack::PushL(messageBox); |
32 |
33 |
33 messageBox->SetTextL(aShortMsg); |
34 messageBox->SetTextL(aShortMsg); |
34 messageBox->SetTimeout(HbPopup::NoTimeout); |
35 messageBox->SetTimeout(HbPopup::NoTimeout); |
35 |
36 |
36 // Read localised versions instead of hard coded values. |
|
37 _LIT(KOkButtonText, "OK"); |
|
38 |
|
39 if (aDetailedMsg.Size() > 0) |
37 if (aDetailedMsg.Size() > 0) |
40 { |
38 { |
41 _LIT(KDetailsButtonText, "Details"); |
39 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, aOkButton); |
42 |
|
43 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KOkButtonText); |
|
44 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
40 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
45 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDetailsButtonText); |
41 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, aDetailsButton); |
46 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue); |
42 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue); |
47 |
43 |
48 if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton) |
44 if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton) |
49 { |
45 { |
50 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, EFalse); |
46 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, EFalse); |
52 (void)messageBox->ExecL(); |
48 (void)messageBox->ExecL(); |
53 } |
49 } |
54 } |
50 } |
55 else |
51 else |
56 { |
52 { |
57 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KOkButtonText); |
53 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, aOkButton); |
58 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
54 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
59 (void)messageBox->ExecL(); |
55 (void)messageBox->ExecL(); |
60 } |
56 } |
61 messageBox->Close(); |
57 messageBox->Close(); |
62 CleanupStack::PopAndDestroy(messageBox); |
58 CleanupStack::PopAndDestroy(messageBox); |
63 } |
59 } |
64 |
60 |
65 OS_EXPORT int RuntimeUiQt::confirmL(const TDesC& /*aAppName*/, const TDesC& aQuestion) |
61 OS_EXPORT int RuntimeUiQt::confirmL(const TDesC& /*aAppName*/, const TDesC& aQuestion, |
|
62 const ConfirmData& aConfirmData, bool /*aIdentified*/) |
66 { |
63 { |
67 CHbDeviceMessageBoxSymbian* messageBox |
64 CHbDeviceMessageBoxSymbian* messageBox |
68 = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning); |
65 = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning); |
69 CleanupStack::PushL(messageBox); |
66 CleanupStack::PushL(messageBox); |
70 |
67 |
71 messageBox->SetTextL(aQuestion); |
68 messageBox->SetTextL(aQuestion); |
72 messageBox->SetTimeout(HbPopup::NoTimeout); |
69 messageBox->SetTimeout(HbPopup::NoTimeout); |
73 |
70 |
74 // Read localised versions instead of hard coded values. |
71 // Deny by default. |
75 _LIT(KAllowButtonText, "Allow"); |
72 int result = 1; |
76 _LIT(KDenyButtonText, "Deny"); |
|
77 |
73 |
78 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, KAllowButtonText); |
74 // ConfirmData must always have two entries. If not confirmation is denied. |
79 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
75 if (aConfirmData.iAnswerOptions.size() >= 2) |
80 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, KDenyButtonText); |
76 { |
81 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue); |
77 // Button 1 localized text. |
|
78 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::EAcceptButton, (aConfirmData.iAnswerOptions.at(0))->Des()); |
|
79 messageBox->SetButton(CHbDeviceMessageBoxSymbian::EAcceptButton, ETrue); |
82 |
80 |
83 // by default the answer is Allow |
81 // Button 2 localized text. |
84 int result = 0; |
82 messageBox->SetButtonTextL(CHbDeviceMessageBoxSymbian::ERejectButton, (aConfirmData.iAnswerOptions.at(1))->Des()); |
85 if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::ERejectButton) |
83 messageBox->SetButton(CHbDeviceMessageBoxSymbian::ERejectButton, ETrue); |
86 { |
84 |
87 // change the answer to Deny |
85 if (messageBox->ExecL() == CHbDeviceMessageBoxSymbian::EAcceptButton) |
88 result = 1; |
86 { |
|
87 // AcceptButton selected. |
|
88 result = 0; |
|
89 } |
|
90 |
|
91 messageBox->Close(); |
89 } |
92 } |
90 |
|
91 messageBox->Close(); |
|
92 CleanupStack::PopAndDestroy(messageBox); |
93 CleanupStack::PopAndDestroy(messageBox); |
93 return result; |
94 return result; |
94 } |
95 } |