35 #include "dialpadbutton.h" |
35 #include "dialpadbutton.h" |
36 #include "dialpadmultitaphandler.h" |
36 #include "dialpadmultitaphandler.h" |
37 #include "dialpadbackground.h" |
37 #include "dialpadbackground.h" |
38 #include "dialpadbutton.h" |
38 #include "dialpadbutton.h" |
39 |
39 |
40 static const QLatin1String backgroundGraphics("qtg_fr_input_v_bg"); |
40 static const QLatin1String backgroundGraphicsV("qtg_fr_input_v_bg"); |
41 static const QLatin1String backgroundGraphicsH("qtg_fr_input_h_bg"); |
41 static const QLatin1String backgroundGraphicsH("qtg_fr_input_h_bg"); |
42 static const QLatin1String minimizeIcon("qtg_graf_input_v_swipe"); |
42 static const QLatin1String minimizeIconV("qtg_graf_input_v_swipe"); |
43 static const QLatin1String minimizeIconH("qtg_graf_input_h_swipe"); |
43 static const QLatin1String minimizeIconH("qtg_graf_input_h_swipe"); |
44 static const int DialpadCloseAnimDuration = 200; // ms |
44 static const int DialpadCloseAnimDuration = 200; // ms |
45 static const int DialpadOpenAnimDuration = 200; // ms |
45 static const int DialpadOpenAnimDuration = 200; // ms |
46 static const qreal DialpadComponentMargin = 0.75; // units |
46 static const qreal DialpadComponentMargin = 0.75; // units |
47 static const qreal DialpadCloseHandleHeight = 2.23; // units |
47 static const qreal DialpadCloseHandleHeight = 2.23; // units |
48 static const qreal DialpadCloseHandleWidth = 18.8; // units |
48 static const qreal DialpadCloseHandleWidth = 18.8; // units |
49 static const qreal DialpadCallButtonHeight = 8.75; // units, same as numeric buttons |
|
50 static const qreal DialpadCallButtonHeightH = 7.25; // units |
|
51 |
49 |
52 static const QLatin1String handsetIcon("qtg_mono_call"); |
50 static const QLatin1String handsetIcon("qtg_mono_call"); |
53 static const QLatin1String vmbxIcon("qtg_mono_voice_mailbox"); |
51 static const QLatin1String vmbxIcon("qtg_mono_voice_mailbox"); |
54 |
52 |
55 const QLatin1String DIALPAD_TO_PRT_FXML(":/dialpad_to_prt.fxml"); |
53 const QLatin1String DIALPAD_TO_PRT_FXML(":/dialpad_to_prt.fxml"); |
82 initialize(); |
80 initialize(); |
83 } |
81 } |
84 |
82 |
85 void Dialpad::initialize() |
83 void Dialpad::initialize() |
86 { |
84 { |
|
85 setObjectName(QLatin1String("dialpad")); |
87 setFocusPolicy(Qt::StrongFocus); |
86 setFocusPolicy(Qt::StrongFocus); |
88 setFlag(QGraphicsItem::ItemIsFocusable,true); |
87 setFlag(QGraphicsItem::ItemIsFocusable,true); |
89 setFlag(QGraphicsItem::ItemHasNoContents, false); |
88 setFlag(QGraphicsItem::ItemHasNoContents, false); |
90 |
89 |
91 // create input field |
90 // create input field |
92 mInputField = new DialpadInputField(this); |
91 mInputField = new DialpadInputField(mMainWindow,this); |
93 |
92 |
94 // create keypad |
93 // create keypad |
95 mKeypad = new DialpadKeypad(mMainWindow,*mInputField,this); |
94 mKeypad = new DialpadKeypad(mMainWindow,*mInputField,this); |
96 |
95 |
97 // layouting params |
96 // layouting params |
98 qreal unit = HbDeviceProfile::current().unitValue(); |
97 qreal unit = HbDeviceProfile::profile(&mMainWindow).unitValue(); |
99 qreal margin = DialpadComponentMargin * unit; |
98 qreal margin = DialpadComponentMargin * unit; |
100 mCloseHandleHeight = DialpadCloseHandleHeight * unit; |
99 mCloseHandleHeight = DialpadCloseHandleHeight * unit; |
101 mCloseHandleWidth = DialpadCloseHandleWidth * unit; |
100 mCloseHandleWidth = DialpadCloseHandleWidth * unit; |
102 |
|
103 mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeight*unit); |
|
104 mKeypad->callButton().setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); |
|
105 |
101 |
106 // create popup background |
102 // create popup background |
107 mBackgroundDrawer = new HbFrameDrawer(); |
103 mBackgroundDrawer = new HbFrameDrawer(); |
108 mIconDrawer = new HbFrameDrawer(); |
104 mIconDrawer = new HbFrameDrawer(); |
109 |
105 |
110 // popup layout |
106 // popup layout |
111 QGraphicsLinearLayout* popupLayout = |
107 QGraphicsLinearLayout* popupLayout = |
112 new QGraphicsLinearLayout(Qt::Vertical); |
108 new QGraphicsLinearLayout(Qt::Vertical); |
113 popupLayout->addItem(mInputField); |
109 popupLayout->addItem(mInputField); |
114 popupLayout->addItem(mKeypad); |
110 popupLayout->addItem(mKeypad); |
115 popupLayout->addItem(&mKeypad->callButton()); |
|
116 popupLayout->setContentsMargins(margin, mCloseHandleHeight, margin, margin); |
111 popupLayout->setContentsMargins(margin, mCloseHandleHeight, margin, margin); |
117 popupLayout->setSpacing(0); |
112 popupLayout->setSpacing(0); |
118 popupLayout->setItemSpacing(0,margin); |
113 popupLayout->setItemSpacing(0,margin); |
119 setLayout(popupLayout); |
114 setLayout(popupLayout); |
120 setLayoutDirection(Qt::LeftToRight); |
115 setLayoutDirection(Qt::LeftToRight); |
177 Q_UNUSED(option); |
172 Q_UNUSED(option); |
178 Q_UNUSED(widget); |
173 Q_UNUSED(widget); |
179 |
174 |
180 // paint popup background |
175 // paint popup background |
181 if ( mOrientation == Qt::Vertical ) { |
176 if ( mOrientation == Qt::Vertical ) { |
182 mBackgroundDrawer->setFrameGraphicsName(backgroundGraphics); |
177 mBackgroundDrawer->setFrameGraphicsName(backgroundGraphicsV); |
183 mIconDrawer->setFrameGraphicsName(minimizeIcon); |
178 mIconDrawer->setFrameGraphicsName(minimizeIconV); |
184 mBackgroundDrawer->setFrameType(HbFrameDrawer::ThreePiecesVertical); |
179 mBackgroundDrawer->setFrameType(HbFrameDrawer::ThreePiecesVertical); |
185 mBackgroundDrawer->setBorderWidths(0.0, mCloseHandleHeight, 0.0, 0.0); |
180 mBackgroundDrawer->setBorderWidths(0.0, mCloseHandleHeight, 0.0, 0.0); |
186 } else { |
181 } else { |
187 mBackgroundDrawer->setFrameGraphicsName(backgroundGraphicsH); |
182 mBackgroundDrawer->setFrameGraphicsName(backgroundGraphicsH); |
188 mIconDrawer->setFrameGraphicsName(minimizeIconH); |
183 mIconDrawer->setFrameGraphicsName(minimizeIconH); |
451 if (orientation==Qt::Vertical) { |
448 if (orientation==Qt::Vertical) { |
452 mainLayout->setContentsMargins(margin, |
449 mainLayout->setContentsMargins(margin, |
453 mCloseHandleHeight, |
450 mCloseHandleHeight, |
454 margin, |
451 margin, |
455 margin); |
452 margin); |
456 mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeight*unit); |
|
457 } else { |
453 } else { |
458 mainLayout->setContentsMargins(mCloseHandleHeight, |
454 mainLayout->setContentsMargins(mCloseHandleHeight, |
459 margin, |
455 margin, |
460 margin, |
456 margin, |
461 margin); |
457 margin); |
462 mKeypad->callButton().setPreferredHeight(DialpadCallButtonHeightH*unit); |
|
463 } |
458 } |
464 } |
459 } |
465 |
460 |
466 void Dialpad::gestureEvent(QGestureEvent *event) |
461 void Dialpad::gestureEvent(QGestureEvent *event) |
467 { |
462 { |