|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Language selection dialog in SifUi |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "sifuidialogselectlanguage.h" // SifUiDialogSelectLanguage |
|
19 #include <HbLabel> |
|
20 #include <HbRadioButtonList> |
|
21 #include <HbAction> |
|
22 |
|
23 |
|
24 // ======== MEMBER FUNCTIONS ======== |
|
25 |
|
26 // ---------------------------------------------------------------------------- |
|
27 // SifUiDialogSelectLanguage::SifUiDialogSelectLanguage() |
|
28 // ---------------------------------------------------------------------------- |
|
29 // |
|
30 SifUiDialogSelectLanguage::SifUiDialogSelectLanguage(const QVariant &languages, |
|
31 QGraphicsItem *parent) : HbDialog(parent), mRadioButtonList(0), mOkAction(0) |
|
32 { |
|
33 setTimeout(HbPopup::NoTimeout); |
|
34 setDismissPolicy(HbPopup::NoDismiss); |
|
35 setModal(true); |
|
36 |
|
37 HbLabel *title = new HbLabel(hbTrId("txt_installer_title_select_language")); |
|
38 setHeadingWidget(title); |
|
39 |
|
40 Q_ASSERT( mRadioButtonList == 0 ); |
|
41 mRadioButtonList = new HbRadioButtonList(this); |
|
42 mRadioButtonList->setItems(languageNames(languages)); |
|
43 setContentWidget(mRadioButtonList); |
|
44 |
|
45 HbAction *okAction = new HbAction(QString(hbTrId("txt_common_button_ok")), this); |
|
46 disconnect(okAction, SIGNAL(triggered()), this, SLOT(close())); |
|
47 connect(okAction, SIGNAL(triggered()), this, SLOT(handleAccepted())); |
|
48 addAction(okAction); |
|
49 |
|
50 HbAction *cancelAction = new HbAction(QString(hbTrId("txt_common_button_cancel")), this); |
|
51 disconnect(cancelAction, SIGNAL(triggered()), this, SLOT(close())); |
|
52 connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleRejected())); |
|
53 addAction(cancelAction); |
|
54 } |
|
55 |
|
56 // ---------------------------------------------------------------------------- |
|
57 // SifUiDialogSelectLanguage::~SifUiDialogSelectLanguage() |
|
58 // ---------------------------------------------------------------------------- |
|
59 // |
|
60 SifUiDialogSelectLanguage::~SifUiDialogSelectLanguage() |
|
61 { |
|
62 } |
|
63 |
|
64 // ---------------------------------------------------------------------------- |
|
65 // SifUiDialogSelectLanguage::selectedLanguageIndex() |
|
66 // ---------------------------------------------------------------------------- |
|
67 // |
|
68 int SifUiDialogSelectLanguage::selectedLanguageIndex() const |
|
69 { |
|
70 if (mRadioButtonList) { |
|
71 return mRadioButtonList->selected(); |
|
72 } |
|
73 return -1; |
|
74 } |
|
75 |
|
76 // ---------------------------------------------------------------------------- |
|
77 // SifUiDialogSelectLanguage::handleAccepted() |
|
78 // ---------------------------------------------------------------------------- |
|
79 // |
|
80 void SifUiDialogSelectLanguage::handleAccepted() |
|
81 { |
|
82 int index = selectedLanguageIndex(); |
|
83 emit languageSelected(index); |
|
84 close(); |
|
85 } |
|
86 |
|
87 // ---------------------------------------------------------------------------- |
|
88 // SifUiDialogSelectLanguage::handleRejected() |
|
89 // ---------------------------------------------------------------------------- |
|
90 // |
|
91 void SifUiDialogSelectLanguage::handleRejected() |
|
92 { |
|
93 emit languageSelectionCancelled(); |
|
94 close(); |
|
95 } |
|
96 |