--- a/telutils/dialpad/inc/dialpadkeypad.h Thu Sep 02 21:00:29 2010 +0300
+++ b/telutils/dialpad/inc/dialpadkeypad.h Fri Sep 17 08:33:29 2010 +0300
@@ -11,24 +11,21 @@
*
* Contributors:
*
-* Description: Dialpad keypad
+* Description: Number grid and dial key.
*
*/
#ifndef DIALPADKEYPAD_H
#define DIALPADKEYPAD_H
-#include <QTextLayout>
-#include <QColor>
-#include <hbinputbuttongroup.h>
+#include <hbwidget.h>
class DialpadInputField;
class DialpadButton;
-class DialpadNumericButton;
+class DialpadNumericButtonGrid;
class QSignalMapper;
-class QGraphicsGridLayout;
-class DialpadKeypad : public HbInputButtonGroup
+class DialpadKeypad : public HbWidget
{
Q_OBJECT
@@ -41,71 +38,34 @@
~DialpadKeypad();
public:
+ bool isCallButtonEnabled() const;
+
void setCallButtonEnabled(bool enabled);
void resetButtons();
- DialpadButton& callButton() const;
-
protected slots:
- void setButtonTexts();
-
void handleKeyClicked(int key);
void sendKeyPressEvent(const QKeyEvent& event);
void sendKeyReleaseEvent(const QKeyEvent& event);
void sendLongPressEvent(const QKeyEvent& event);
void handleKeyChangeEvent(const QKeyEvent& releaseEvent,
const QKeyEvent& pressEvent);
- void cancelButtonPress();
protected:
void postKeyEvent(QEvent::Type type, int key);
void sendKeyEventToEditor(QEvent::Type type, int key);
- inline DialpadNumericButton* button(int i) const;
- void updateButtonLabels();
- void updateColorArray();
- void updateIconColor();
- void updateTextLayouts(const QSizeF &size);
- void resolveTextContent(QList<QString> &content);
- void createTextLayouts(const QSizeF &size,
- const QList<QString> &content);
- void layoutTextLines(const QSizeF &size,
- QTextLayout &textLayout,
- int state,
- int type);
-
protected:
- void paint(QPainter* painter,
- const QStyleOptionGraphicsItem* option,
- QWidget* widget);
void setGeometry(const QRectF &rect);
- void changeEvent(QEvent *event);
-
-private:
- enum ButtonState {
- Normal = 0,
- Pressed,
- StateCount
- };
-
- enum TextType {
- PrimaryText = 0,
- SecondaryText,
- TextTypeCount
- };
private:
const HbMainWindow& mMainWindow;
DialpadInputField& mInputField;
QSignalMapper* mKeyClickedSignalMapper;
- QMap<int,QChar> mGeneratedChar;
int mPressedNumericKey;
DialpadButton* mCallButton;
- QList<QColor> mColors;
- QList<QTextLayout*> mTextLayouts;
- qreal mUnit;
- qreal mMaxPrimaryLineWidth;
+ DialpadNumericButtonGrid* mNumericButtonGrid;
};
#endif // DIALPADKEYPAD_H