diff -r 627c4a0fd0e7 -r c3690ec91ef8 src/hbinput/inputwidgets/hbinputbuttongroup.cpp --- a/src/hbinput/inputwidgets/hbinputbuttongroup.cpp Fri Jun 11 13:58:22 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputbuttongroup.cpp Wed Jun 23 18:33:25 2010 +0300 @@ -22,6 +22,8 @@ ** Nokia at developer.feedback@nokia.com. ** ****************************************************************************/ +#include "hbinputbuttongroup.h" +#include "hbinputbuttongroup_p.h" #include #include @@ -42,8 +44,6 @@ #include #include "hbframedrawerpool_p.h" -#include "hbinputbuttongroup.h" -#include "hbinputbuttongroup_p.h" #include "hbinputbutton.h" /// @cond @@ -94,9 +94,9 @@ const qreal HbTouchAreaSizeInUnits = 8; HbInputButtonGroupPrivate::HbInputButtonGroupPrivate() - : mUnitValue(0), mGridSize(1, 1), mButtonBorderSize(1.0), mEnabled(true), - mButtonPreviewEnabled(false), mCharacterSelectionPreviewEnabled(false), - mMultiTouchEnabled(true), mCharacterSelectionPreview(0), mBackground(0) + : mUnitValue(0), mGridSize(1, 1), mButtonBorderSize(1.0), mEnabled(true), + mButtonPreviewEnabled(false), mCharacterSelectionPreviewEnabled(false), + mMultiTouchEnabled(true), mCharacterSelectionPreview(0), mBackground(0) { for (int i = 0; i < HbTextLayoutCount; ++i) { mTextLayouts.append(0); @@ -111,16 +111,16 @@ HbFrameDrawerPool::release(drawer); } - foreach (HbInputButton *button, mButtonData) { + foreach(HbInputButton *button, mButtonData) { delete button; } mButtonData.clear(); - foreach (QTextLayout *layout, mTextLayouts) { + foreach(QTextLayout *layout, mTextLayouts) { delete layout; } - foreach (QTimer *timer, mLongPressTimers) { + foreach(QTimer *timer, mLongPressTimers) { delete timer; } @@ -309,7 +309,7 @@ } } -void HbInputButtonGroupPrivate::showButtonPreview(HbInputButton * const item) +void HbInputButtonGroupPrivate::showButtonPreview(HbInputButton *const item) { Q_Q(HbInputButtonGroup); @@ -319,7 +319,7 @@ HbInputButtonGroup *group = new HbInputButtonGroup(QSize(1, 1)); mButtonPreview.insert(index, group); - QList buttons; + QList buttons; HbInputButton *previewItem = 0; if (!item->icon(HbInputButton::ButtonIconIndexPrimary).isNull()) { int keyCode = -1; @@ -340,7 +340,7 @@ qreal cellHeight = q->boundingRect().height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypeLabel))); QFontMetricsF fontMetrics(font); qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexPrimary)); @@ -371,7 +371,7 @@ } } -void HbInputButtonGroupPrivate::hideButtonPreview(HbInputButton * const item) +void HbInputButtonGroupPrivate::hideButtonPreview(HbInputButton *const item) { int index = mButtonData.indexOf(item); if (mButtonPreview.contains(index)) { @@ -379,7 +379,7 @@ } } -void HbInputButtonGroupPrivate::showCharacterSelectionPreview(HbInputButton * const item) +void HbInputButtonGroupPrivate::showCharacterSelectionPreview(HbInputButton *const item) { Q_Q(HbInputButtonGroup); @@ -387,10 +387,10 @@ item->mappedCharacters().count() > 1) { HbWidgetFeedback::triggered(q, Hb::InstantLongPressed); - + mProbabilities.clear(); q->cancelButtonPress(); - + if (!mCharacterSelectionPreview) { mCharacterSelectionPreview = new HbDialog(); HbInputRegionCollector::instance()->attach(mCharacterSelectionPreview); @@ -405,17 +405,17 @@ } HbInputButtonGroup *group = new HbInputButtonGroup(QSize(item->mappedCharacters().count(), 1)); - QObject::connect(group, SIGNAL(buttonPressed(const QKeyEvent&)), q, SLOT(emitButtonPressed(const QKeyEvent&))); - QObject::connect(group, SIGNAL(buttonDoublePressed(const QKeyEvent&)), q, SLOT(emitButtonDoublePressed(const QKeyEvent&))); - QObject::connect(group, SIGNAL(buttonReleased(const QKeyEvent&)), q, SLOT(emitButtonReleased(const QKeyEvent&))); - QObject::connect(group, SIGNAL(buttonLongPressed(const QKeyEvent&)), q, SLOT(emitButtonLongPressed(const QKeyEvent&))); - QObject::connect(group, SIGNAL(pressedButtonChanged(const QKeyEvent&, const QKeyEvent&)), q, SLOT(emitPressedButtonChanged(const QKeyEvent&, const QKeyEvent&))); - + QObject::connect(group, SIGNAL(buttonPressed(const QKeyEvent &)), q, SLOT(emitButtonPressed(const QKeyEvent &))); + QObject::connect(group, SIGNAL(buttonDoublePressed(const QKeyEvent &)), q, SLOT(emitButtonDoublePressed(const QKeyEvent &))); + QObject::connect(group, SIGNAL(buttonReleased(const QKeyEvent &)), q, SLOT(emitButtonReleased(const QKeyEvent &))); + QObject::connect(group, SIGNAL(buttonLongPressed(const QKeyEvent &)), q, SLOT(emitButtonLongPressed(const QKeyEvent &))); + QObject::connect(group, SIGNAL(pressedButtonChanged(const QKeyEvent &, const QKeyEvent &)), q, SLOT(emitPressedButtonChanged(const QKeyEvent &, const QKeyEvent &))); + qreal cellWidth = q->boundingRect().width() / mGridSize.width(); qreal cellHeight = q->boundingRect().height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypeLabel))); QFontMetricsF fontMetrics(font); qreal textWidth = fontMetrics.width(item->mappedCharacters()); @@ -424,7 +424,7 @@ qreal x = q->scenePos().x() + (item->position().x() + 0.5 * item->size().width()) * cellWidth; qreal y = q->scenePos().y() + item->position().y() * cellHeight; - QList buttons; + QList buttons; for (int i = 0; i < item->mappedCharacters().count(); ++i) { HbInputButton *previewItem = new HbInputButton(item->keyCode(), QPoint(i, 0)); previewItem->setType(HbInputButton::ButtonTypeLabel); @@ -451,7 +451,7 @@ Q_Q(HbInputButtonGroup); if (!(position.x() >= 0 && position.x() < q->boundingRect().width() && - position.y() >= 0 && position.y() < q->boundingRect().height())) { + position.y() >= 0 && position.y() < q->boundingRect().height())) { return; } @@ -463,8 +463,8 @@ if (index >= 0 && index < mButtonData.count()) { HbInputButton *item = mButtonData.at(index); - if ((item->state() != HbInputButton::ButtonStateReleased && - item->state() != HbInputButton::ButtonStateLatched) || + if ((item->state() != HbInputButton::ButtonStateReleased && + item->state() != HbInputButton::ButtonStateLatched) || (mCharacterSelectionPreview && mCharacterSelectionPreview->isVisible())) { if (item->state() == HbInputButton::ButtonStateDisabled) { startLongPress(index); @@ -501,7 +501,7 @@ Q_Q(HbInputButtonGroup); if (!(position.x() >= 0 && position.x() < q->boundingRect().width() && - position.y() >= 0 && position.y() < q->boundingRect().height())) { + position.y() >= 0 && position.y() < q->boundingRect().height())) { return; } @@ -513,8 +513,8 @@ if (index >= 0 && index < mButtonData.count()) { HbInputButton *item = mButtonData.at(index); - if ((item->state() != HbInputButton::ButtonStateReleased && - item->state() != HbInputButton::ButtonStateLatched) || + if ((item->state() != HbInputButton::ButtonStateReleased && + item->state() != HbInputButton::ButtonStateLatched) || (mCharacterSelectionPreview && mCharacterSelectionPreview->isVisible())) { if (item->state() == HbInputButton::ButtonStateDisabled) { startLongPress(index); @@ -562,7 +562,7 @@ newPosition.y() >= 0 && newPosition.y() < q->boundingRect().height() && oldPosition.x() >= 0 && oldPosition.x() < q->boundingRect().width() && oldPosition.y() >= 0 && oldPosition.y() < q->boundingRect().height()) { - + if (oldIndex != newIndex) { releaseEvent(oldPosition, false); pressEvent(newPosition, false); @@ -593,7 +593,7 @@ Q_Q(HbInputButtonGroup); if (!(position.x() >= 0 && position.x() < q->boundingRect().width() && - position.y() >= 0 && position.y() < q->boundingRect().height())) { + position.y() >= 0 && position.y() < q->boundingRect().height())) { return; } @@ -658,7 +658,7 @@ if (item->autoRepeat() && (item->state() == HbInputButton::ButtonStatePressed || - item->state() == HbInputButton::ButtonStateLatched)) { + item->state() == HbInputButton::ButtonStateLatched)) { mLongPressButtons.append(index); mLongPressTimers.append(timer); timer->start(HbAutoRepeatTimeout); @@ -705,7 +705,7 @@ HbTouchAreaSizeInUnits * mUnitValue, HbTouchAreaSizeInUnits * mUnitValue); qreal probabilities = 0; - foreach (HbInputButton *button, mButtonData) { + foreach(HbInputButton *button, mButtonData) { QRectF intersection = button->boundingRect().intersected(touchArea); if (intersection.isValid()) { @@ -734,9 +734,9 @@ int typeIndex = index % HbTextTypeCount / HbInputButton::ButtonStateCount; if (typeIndex == HbInputButton::ButtonTypeLabel) { - font.setPixelSize(int(fontSize(ButtonTextTypeLabel))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypeLabel))); } else { - font.setPixelSize(int(fontSize(ButtonTextTypeSingle))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypeSingle))); } mTextLayouts[index] = new QTextLayout(textContent.value(index), font); @@ -745,7 +745,7 @@ // Create text line for each button with primary text and correct type and state. Layout it // to correct position mTextLayouts.at(index)->beginLayout(); - foreach (HbInputButton *item, mButtonData) { + foreach(HbInputButton *item, mButtonData) { int layoutIndex = item->type() * HbInputButton::ButtonStateCount + item->state() + HbTextTypeCount; if (!mEnabled) { layoutIndex = item->type() * HbInputButton::ButtonStateCount + HbInputButton::ButtonStateDisabled + HbTextTypeCount; @@ -758,14 +758,14 @@ item->icon(HbInputButton::ButtonIconIndexSecondarySecondRow).isNull()) { qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexPrimary)); qreal textHeight = fontMetrics.height(); - + QTextLine line = mTextLayouts.at(index)->createLine(); line.setNumColumns(item->text(HbInputButton::ButtonTextIndexPrimary).length()); if (typeIndex == HbInputButton::ButtonTypeLabel) { - layoutTextLine(ButtonTextTypeLabel, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); + layoutTextLine(HbInputButtonGroup::ButtonTextTypeLabel, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); } else { - layoutTextLine(ButtonTextTypeSingle, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); + layoutTextLine(HbInputButtonGroup::ButtonTextTypeSingle, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); } } } @@ -779,7 +779,7 @@ qreal cellHeight = size.height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(int(fontSize(ButtonTextTypePrimary))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypePrimary))); mTextLayouts[index] = new QTextLayout(textContent.value(index), font); QFontMetricsF fontMetrics(font); @@ -787,7 +787,7 @@ // Create text line for each button with primary text and correct type and state. Layout it // to correct position mTextLayouts.at(index)->beginLayout(); - foreach (HbInputButton *item, mButtonData) { + foreach(HbInputButton *item, mButtonData) { int layoutIndex = item->type() * HbInputButton::ButtonStateCount + item->state(); if (!mEnabled) { layoutIndex = item->type() * HbInputButton::ButtonStateCount + HbInputButton::ButtonStateDisabled; @@ -795,16 +795,16 @@ if (index == layoutIndex && !item->text(HbInputButton::ButtonTextIndexPrimary).isEmpty() && item->icon(HbInputButton::ButtonIconIndexPrimary).isNull() && !(item->text(HbInputButton::ButtonTextIndexSecondaryFirstRow).isEmpty() && - item->icon(HbInputButton::ButtonIconIndexSecondaryFirstRow).isNull() && - item->text(HbInputButton::ButtonTextIndexSecondarySecondRow).isEmpty() && - item->icon(HbInputButton::ButtonIconIndexSecondarySecondRow).isNull())) { + item->icon(HbInputButton::ButtonIconIndexSecondaryFirstRow).isNull() && + item->text(HbInputButton::ButtonTextIndexSecondarySecondRow).isEmpty() && + item->icon(HbInputButton::ButtonIconIndexSecondarySecondRow).isNull())) { qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexPrimary)); qreal textHeight = fontMetrics.height(); QTextLine line = mTextLayouts.at(index)->createLine(); line.setNumColumns(item->text(HbInputButton::ButtonTextIndexPrimary).length()); - layoutTextLine(ButtonTextTypePrimary, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); + layoutTextLine(HbInputButtonGroup::ButtonTextTypePrimary, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); } } mTextLayouts.at(index)->endLayout(); @@ -817,7 +817,7 @@ qreal cellHeight = size.height() / mGridSize.height(); QFont font = HbFontSpec(HbFontSpec::Primary).font(); - font.setPixelSize(int(fontSize(ButtonTextTypeSecondaryFirstRow))); + font.setPixelSize(int(fontSize(HbInputButtonGroup::ButtonTextTypeSecondaryFirstRow))); mTextLayouts[index] = new QTextLayout(textContent.value(index), font); QFontMetricsF fontMetrics(font); @@ -825,13 +825,13 @@ // Create text line for each button with secondary first row or second row text and correct type and state. // Layout it to correct position mTextLayouts.at(index)->beginLayout(); - foreach (HbInputButton *item, mButtonData) { + foreach(HbInputButton *item, mButtonData) { int layoutIndex = item->type() * HbInputButton::ButtonStateCount + item->state() + HbTextTypeCount * 2; if (!mEnabled) { layoutIndex = item->type() * HbInputButton::ButtonStateCount + HbInputButton::ButtonStateDisabled + HbTextTypeCount * 2; } if (index == layoutIndex) { - if (!item->text(HbInputButton::ButtonTextIndexSecondaryFirstRow).isEmpty() && + if (!item->text(HbInputButton::ButtonTextIndexSecondaryFirstRow).isEmpty() && item->icon(HbInputButton::ButtonIconIndexSecondaryFirstRow).isNull()) { qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexSecondaryFirstRow)); qreal textHeight = fontMetrics.height(); @@ -839,10 +839,10 @@ QTextLine line = mTextLayouts.at(index)->createLine(); line.setNumColumns(item->text(HbInputButton::ButtonTextIndexSecondaryFirstRow).length()); - layoutTextLine(ButtonTextTypeSecondaryFirstRow, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); + layoutTextLine(HbInputButtonGroup::ButtonTextTypeSecondaryFirstRow, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); } - if (!item->text(HbInputButton::ButtonTextIndexSecondarySecondRow).isEmpty() && + if (!item->text(HbInputButton::ButtonTextIndexSecondarySecondRow).isEmpty() && item->icon(HbInputButton::ButtonIconIndexSecondarySecondRow).isNull()) { qreal textWidth = fontMetrics.width(item->text(HbInputButton::ButtonTextIndexSecondarySecondRow)); qreal textHeight = fontMetrics.height(); @@ -850,7 +850,7 @@ QTextLine line = mTextLayouts.at(index)->createLine(); line.setNumColumns(item->text(HbInputButton::ButtonTextIndexSecondarySecondRow).length()); - layoutTextLine(ButtonTextTypeSecondarySecondRow, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); + layoutTextLine(HbInputButtonGroup::ButtonTextTypeSecondarySecondRow, item, QSizeF(cellWidth, cellHeight), line, QSizeF(textWidth, textHeight)); } } } @@ -858,26 +858,26 @@ mTextLayouts.at(index)->setCacheEnabled(true); } -void HbInputButtonGroupPrivate::layoutTextLine(HbInputButtonTextType textType, const HbInputButton *button, const QSizeF &cellSize, - QTextLine &textLine, const QSizeF &textSize) +void HbInputButtonGroupPrivate::layoutTextLine(HbInputButtonGroup::HbInputButtonTextType textType, const HbInputButton *button, const QSizeF &cellSize, + QTextLine &textLine, const QSizeF &textSize) { qreal textPositionX = 0.0; qreal textPositionY = 0.0; - if (textType == ButtonTextTypeSingle || - textType == ButtonTextTypeLabel) { + if (textType == HbInputButtonGroup::ButtonTextTypeSingle || + textType == HbInputButtonGroup::ButtonTextTypeLabel) { textPositionX = (button->position().x() + 0.5 * button->size().width()) * cellSize.width() - 0.5 * textSize.width(); textPositionY = (button->position().y() + 0.5 * button->size().height()) * cellSize.height() - 0.5 * textSize.height(); - } else if (textType == ButtonTextTypePrimary) { + } else if (textType == HbInputButtonGroup::ButtonTextTypePrimary) { textPositionX = button->position().x() * cellSize.width() + HbHorizontalMarginInUnits * mUnitValue + mButtonBorderSize; textPositionY = (button->position().y() + 0.5 * button->size().height()) * cellSize.height() - 0.5 * textSize.height(); - } else if (textType == ButtonTextTypeSecondaryFirstRow) { + } else if (textType == HbInputButtonGroup::ButtonTextTypeSecondaryFirstRow) { textPositionX = (button->position().x() + button->size().width()) * cellSize.width() - - textSize.width() - HbHorizontalMarginInUnits * mUnitValue - mButtonBorderSize; + textSize.width() - HbHorizontalMarginInUnits * mUnitValue - mButtonBorderSize; textPositionY = (button->position().y() + button->size().height()) * cellSize.height() - - textSize.height() - HbVerticalMarginInUnits * mUnitValue - mButtonBorderSize; - } else if (textType == ButtonTextTypeSecondarySecondRow) { + textSize.height() - HbVerticalMarginInUnits * mUnitValue - mButtonBorderSize; + } else if (textType == HbInputButtonGroup::ButtonTextTypeSecondarySecondRow) { textPositionX = (button->position().x() + button->size().width()) * cellSize.width() - - textSize.width() - HbHorizontalMarginInUnits * mUnitValue - mButtonBorderSize; + textSize.width() - HbHorizontalMarginInUnits * mUnitValue - mButtonBorderSize; textPositionY = button->position().y() * cellSize.height() + HbVerticalMarginInUnits * mUnitValue + mButtonBorderSize; } textLine.setPosition(QPointF(textPositionX, textPositionY)); @@ -941,16 +941,16 @@ return QString(""); } -qreal HbInputButtonGroupPrivate::fontSize(HbInputButtonTextType textType) +qreal HbInputButtonGroupPrivate::fontSize(HbInputButtonGroup::HbInputButtonTextType textType) { - if (textType == ButtonTextTypeSingle) { + if (textType == HbInputButtonGroup::ButtonTextTypeSingle) { return HbTextSizeInUnits * mUnitValue; - } else if (textType == ButtonTextTypePrimary) { + } else if (textType == HbInputButtonGroup::ButtonTextTypePrimary) { return HbPrimaryTextSizeInUnits * mUnitValue; - } else if (textType == ButtonTextTypeSecondaryFirstRow || - textType == ButtonTextTypeSecondarySecondRow) { + } else if (textType == HbInputButtonGroup::ButtonTextTypeSecondaryFirstRow || + textType == HbInputButtonGroup::ButtonTextTypeSecondarySecondRow) { return HbSecondaryTextSizeInUnits * mUnitValue; - } else if (textType == ButtonTextTypeLabel) { + } else if (textType == HbInputButtonGroup::ButtonTextTypeLabel) { return HbLabelTextSizeInUnits * mUnitValue; } return 0; @@ -993,56 +993,60 @@ Constructor */ HbInputButtonGroup::HbInputButtonGroup(QGraphicsItem *parent) - : HbWidget(*new HbInputButtonGroupPrivate, parent) + : HbWidget(*new HbInputButtonGroupPrivate, parent) { Q_D(HbInputButtonGroup); d->mUnitValue = HbDeviceProfile::profile(mainWindow()).unitValue(); setAcceptedMouseButtons(Qt::LeftButton); + setFlag(QGraphicsItem::ItemHasNoContents,false); } /*! Constructor */ HbInputButtonGroup::HbInputButtonGroup(HbInputButtonGroupPrivate &dd, QGraphicsItem *parent) - : HbWidget(dd, parent) + : HbWidget(dd, parent) { Q_D(HbInputButtonGroup); d->mUnitValue = HbDeviceProfile::profile(mainWindow()).unitValue(); setAcceptedMouseButtons(Qt::LeftButton); + setFlag(QGraphicsItem::ItemHasNoContents,false); } /*! Constructor */ HbInputButtonGroup::HbInputButtonGroup(const QSize &size, QGraphicsItem *parent) - : HbWidget(*new HbInputButtonGroupPrivate, parent) + : HbWidget(*new HbInputButtonGroupPrivate, parent) { Q_D(HbInputButtonGroup); d->mUnitValue = HbDeviceProfile::profile(mainWindow()).unitValue(); setAcceptedMouseButtons(Qt::LeftButton); - + setGridSize(size); + setFlag(QGraphicsItem::ItemHasNoContents,false); } /*! Constructor */ HbInputButtonGroup::HbInputButtonGroup(HbInputButtonGroupPrivate &dd, const QSize &size, QGraphicsItem *parent) - : HbWidget(dd, parent) + : HbWidget(dd, parent) { Q_D(HbInputButtonGroup); d->mUnitValue = HbDeviceProfile::profile(mainWindow()).unitValue(); setAcceptedMouseButtons(Qt::LeftButton); - + setGridSize(size); + setFlag(QGraphicsItem::ItemHasNoContents,false); } /*! @@ -1090,17 +1094,17 @@ /*! Sets the button data and updates button group based on the new data. -Takes ownership of the button items. Button items that are not in the new list +Takes ownership of the button items. Button items that are not in the new list will be destroyed. \sa buttons \sa button */ -void HbInputButtonGroup::setButtons(const QList &data) +void HbInputButtonGroup::setButtons(const QList &data) { Q_D(HbInputButtonGroup); - foreach (HbInputButton *button, d->mButtonData) { + foreach(HbInputButton *button, d->mButtonData) { if (!data.contains(button)) { delete button; } @@ -1186,7 +1190,7 @@ break; } } - + setButton(data, index); } @@ -1197,7 +1201,7 @@ \sa setButtons \sa setButton */ -QList HbInputButtonGroup::buttons() const +QList HbInputButtonGroup::buttons() const { Q_D(const HbInputButtonGroup); @@ -1231,7 +1235,7 @@ HbInputButton *HbInputButtonGroup::button(int column, int row) const { Q_D(const HbInputButtonGroup); - + int index = -1; if (d->mButtonGridPositions.contains(QPair(column, row))) { index = d->mButtonGridPositions.value(QPair(column, row), -1); @@ -1250,7 +1254,7 @@ { Q_D(const HbInputButtonGroup); - foreach (HbInputButton *button, d->mButtonData) { + foreach(HbInputButton *button, d->mButtonData) { if (button->keyCode() == keyCode) { return button; } @@ -1265,7 +1269,7 @@ \sa customButtonActions */ -void HbInputButtonGroup::setCustomButtonActions(const QList &actions) +void HbInputButtonGroup::setCustomButtonActions(const QList &actions) { Q_D(HbInputButtonGroup); @@ -1274,7 +1278,7 @@ d->mCustomActions = actions; - foreach (HbAction *action, d->mCustomActions) { + foreach(HbAction *action, d->mCustomActions) { connect(action, SIGNAL(changed()), this, SLOT(updateCustomButtons())); connect(action, SIGNAL(destroyed(QObject *)), this, SLOT(_q_customActionDestroyed(QObject *))); } @@ -1291,7 +1295,7 @@ \sa setCustomButtonActions */ -QList HbInputButtonGroup::customButtonActions() const +QList HbInputButtonGroup::customButtonActions() const { Q_D(const HbInputButtonGroup); @@ -1407,7 +1411,7 @@ bool HbInputButtonGroup::isMultiTouchEnabled() const { Q_D(const HbInputButtonGroup); - + return d->mMultiTouchEnabled; } @@ -1424,6 +1428,16 @@ } /*! +Returns font size for given text type +*/ +qreal HbInputButtonGroup::fontSize(HbInputButtonTextType textType) +{ + Q_D(HbInputButtonGroup); + + return d->fontSize(textType); +} + +/*! Returns all possible buttons the user could have intended to press for the last registered touch along with their corresponding probabilities. */ @@ -1464,7 +1478,7 @@ /*! Draws the button group. */ -void HbInputButtonGroup::paint(QPainter* painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +void HbInputButtonGroup::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); @@ -1489,7 +1503,7 @@ painter->save(); painter->translate(x, y); - d->mButtonDrawers.at(i)->paint(painter, QRectF(0, 0, width, height)); + d->mButtonDrawers.at(i)->paint(painter, QRectF(0, 0, width, height)); painter->restore(); } @@ -1513,9 +1527,9 @@ if (!item->icon(HbInputButton::ButtonIconIndexSecondaryFirstRow).isNull()) { qreal x = (item->position().x() + item->size().width()) * cellWidth - - HbSecondaryIconSizeInUnits * d->mUnitValue - HbHorizontalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; + HbSecondaryIconSizeInUnits * d->mUnitValue - HbHorizontalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; qreal y = (item->position().y() + item->size().height()) * cellHeight - - HbSecondaryIconSizeInUnits * d->mUnitValue - HbVerticalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; + HbSecondaryIconSizeInUnits * d->mUnitValue - HbVerticalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; qreal width = HbSecondaryIconSizeInUnits * d->mUnitValue; qreal height = HbSecondaryIconSizeInUnits * d->mUnitValue; @@ -1525,7 +1539,7 @@ if (!item->icon(HbInputButton::ButtonIconIndexSecondarySecondRow).isNull()) { qreal x = (item->position().x() + item->size().width()) * cellWidth - - HbSecondaryIconSizeInUnits * d->mUnitValue - HbHorizontalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; + HbSecondaryIconSizeInUnits * d->mUnitValue - HbHorizontalMarginInUnits * d->mUnitValue - d->mButtonBorderSize; qreal y = item->position().y() * cellHeight + HbVerticalMarginInUnits * d->mUnitValue + d->mButtonBorderSize; qreal width = HbSecondaryIconSizeInUnits * d->mUnitValue; qreal height = HbSecondaryIconSizeInUnits * d->mUnitValue; @@ -1562,15 +1576,15 @@ } if (event->type() == QEvent::TouchBegin) { - QTouchEvent *touchEvent = static_cast(event); - foreach (QTouchEvent::TouchPoint point, touchEvent->touchPoints()) { - if (!point.isPrimary() && d->mMultiTouchEnabled) { + QTouchEvent *touchEvent = static_cast(event); + foreach(const QTouchEvent::TouchPoint &point, touchEvent->touchPoints()) { + if (!point.isPrimary() && d->mMultiTouchEnabled) { d->pressEvent(point.pos()); } } } else if (event->type() == QEvent::TouchUpdate) { - QTouchEvent *touchEvent = static_cast(event); - foreach (QTouchEvent::TouchPoint point, touchEvent->touchPoints()) { + QTouchEvent *touchEvent = static_cast(event); + foreach(const QTouchEvent::TouchPoint &point, touchEvent->touchPoints()) { if (!point.isPrimary() && d->mMultiTouchEnabled) { if (point.state() & Qt::TouchPointPressed) { d->pressEvent(point.pos()); @@ -1582,23 +1596,23 @@ } } } else if (event->type() == QEvent::TouchEnd) { - QTouchEvent *touchEvent = static_cast(event); - foreach (QTouchEvent::TouchPoint point, touchEvent->touchPoints()) { - if (!point.isPrimary() && d->mMultiTouchEnabled) { + QTouchEvent *touchEvent = static_cast(event); + foreach(const QTouchEvent::TouchPoint &point, touchEvent->touchPoints()) { + if (!point.isPrimary() && d->mMultiTouchEnabled) { d->releaseEvent(point.pos()); } } } else if (event->type() == QEvent::GraphicsSceneMousePress) { - QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); + QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); d->pressEvent(mouseEvent->pos()); } else if (event->type() == QEvent::GraphicsSceneMouseDoubleClick) { - QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); + QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); d->doublePressEvent(mouseEvent->pos()); } else if (event->type() == QEvent::GraphicsSceneMouseMove) { - QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); + QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); d->moveEvent(mouseEvent->lastPos(), mouseEvent->pos()); } else if (event->type() == QEvent::GraphicsSceneMouseRelease) { - QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); + QGraphicsSceneMouseEvent *mouseEvent = static_cast(event); d->releaseEvent(mouseEvent->pos()); cancelButtonPress(); } else { @@ -1632,13 +1646,13 @@ void HbInputButtonGroup::changeEvent(QEvent *event) { Q_D(HbInputButtonGroup); - + if (event->type() == HbEvent::ThemeChanged) { if (d->mBackground) { d->mBackground->themeChanged(); } - foreach (HbFrameDrawer *drawer, d->mButtonDrawers) { + foreach(HbFrameDrawer *drawer, d->mButtonDrawers) { drawer->themeChanged(); }