telutils/dialpad/inc/dialpadkeypad.h
changeset 50 2313cb430f28
parent 39 cee7e9e0906c
--- 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