javauis/runtimeui_qt/src.s60/runtimeuiqt.cpp
changeset 78 71ad690e91f5
parent 23 98ccebc37403
child 80 d6dafc5d983f
equal deleted inserted replaced
72:1f0034e370aa 78:71ad690e91f5
    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 }