Diffstat (limited to 'noncore/apps/opie-console/function_keyboard.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/function_keyboard.h | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/noncore/apps/opie-console/function_keyboard.h b/noncore/apps/opie-console/function_keyboard.h index 05b991d..496d932 100644 --- a/noncore/apps/opie-console/function_keyboard.h +++ b/noncore/apps/opie-console/function_keyboard.h @@ -1,65 +1,71 @@ #ifndef OPIE_FUNCTION_KEYBOARD_H #define OPIE_FUNCTION_KEYBOARD_H #include <qpe/config.h> +#include <qpe/qpeapplication.h> #include <qframe.h> #include <qpainter.h> #include <qvbox.h> #include <qgroupbox.h> #include <qmap.h> #include <qspinbox.h> #include <qcombobox.h> #include "profiledialogwidget.h" -class FKey { - -public: +struct FKey { FKey(): qcode(0), unicode(0) {}; - FKey(const QString &l, ushort q, ushort u): label(l), qcode(q), unicode(u) {}; + FKey(const QString &l, const QString &f, ushort q, ushort u): + label(l), pixFile(f), qcode(q), unicode(u) { + + if (!f.isEmpty()) { - QString getL() { return label; } - ushort getQ() { return qcode; } - ushort getU() { return unicode; } + pix = new QPixmap (QPEApplication::qpeDir() + "pics/console/keys/" + f); - -private: + } + }; QString label; + QPixmap *pix; + QString pixFile; ushort qcode; ushort unicode; }; class FunctionKeyboard : public QFrame { Q_OBJECT public: FunctionKeyboard(QWidget *parent = 0); ~FunctionKeyboard(); + friend class FunctionKeyboardConfig; + void changeRows(int); void changeCols(int); + //Key getKey(int, int); + void paintEvent(QPaintEvent *); - void paintKey(int, int); + void paintKey(uint, uint); void mousePressEvent(QMouseEvent*); void mouseReleaseEvent(QMouseEvent*); void resizeEvent(QResizeEvent*); QSize sizeHint() const; signals: - void keyPressed(ushort, ushort, bool, bool, bool, ushort, ushort); + void keyPressed(FKey, ushort, ushort, bool); private: void loadDefaults(); private: // thie key for the map is the row/col QMap<QString, FKey> keys; uint numRows; @@ -78,26 +84,29 @@ class FunctionKeyboardConfig : public ProfileDialogKeyWidget { Q_OBJECT public: FunctionKeyboardConfig(const QString& name, QWidget *wid, const char* name = 0l ); ~FunctionKeyboardConfig(); void load(const Profile&); void save(Profile&); private slots: - void slotKeyPressed(ushort, ushort, bool, bool, bool, ushort, ushort); + void slotKeyPressed(FKey, ushort, ushort, bool); void slotChangeRows(int); void slotChangeCols(int); void slotChangeIcon(int); + void slotChangeLabelText(const QString &); private: + ushort selectedRow, selectedCol; + FunctionKeyboard *kb; QSpinBox *m_rowBox, *m_colBox; - QComboBox *m_labels; + QComboBox *m_labels, *m_qvalues; }; #endif |