X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Funicodedialog.h;h=83065c09f8ee5d13805f144ff8b554270f746e1e;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=3dde58c4058e4647b43d38ad525d9a12ae6c5c74;hpb=7dd5286bd12cb1654407283fdcf7ccf5e44615f8;p=kdenlive diff --git a/src/unicodedialog.h b/src/unicodedialog.h index 3dde58c4..83065c09 100644 --- a/src/unicodedialog.h +++ b/src/unicodedialog.h @@ -10,43 +10,65 @@ #ifndef UNICODEDIALOG_H #define UNICODEDIALOG_H -#include "ui_unicodedialog_ui.h" +#include "ui_unicodewidget_ui.h" +#include -class UnicodeDialog : public QDialog, public Ui::UnicodeDialog_UI +class UnicodeWidget; +class UnicodeDialog : public KDialog { Q_OBJECT - public: /** \brief The input method for the dialog. Atm only InputHex supported. */ enum InputMethod { InputHex, InputDec }; - - UnicodeDialog(InputMethod inputMeth, QString lastUnicodeNumber); + explicit UnicodeDialog(InputMethod inputMeth, QWidget *parent = 0); ~UnicodeDialog(); +private Q_SLOTS: + void slotAccept(); + +Q_SIGNALS: + /** \brief Contains the selected unicode character; emitted when Enter is pressed. */ + void charSelected(const QString&); + +private: + UnicodeWidget *mUnicodeWidget; +}; + +class UnicodeWidget : public QWidget, public Ui::UnicodeWidget_UI +{ + Q_OBJECT +public: + + explicit UnicodeWidget(UnicodeDialog::InputMethod inputMeth, QWidget *parent = 0); + ~UnicodeWidget(); + /** \brief Returns infos about a unicode number. Extendable/improvable ;) */ - QString unicodeInfo(QString unicode); + QString unicodeInfo(const QString &unicode); void showLastUnicode(); +protected: + void wheelEvent(QWheelEvent * event); + private: - Ui::UnicodeDialog_UI m_view; + Ui::UnicodeWidget_UI m_view; enum Direction { Forward, Backward }; /** Selected input method */ - InputMethod inputMethod; + UnicodeDialog::InputMethod inputMethod; /** \brief Validates text and removes all invalid characters (non-hex e.g.) */ - QString validateText(QString text); + QString validateText(const QString &text); /** \brief Removes all leading zeros */ QString trimmedUnicodeNumber(QString text); /** \brief Checks whether the given string is a control character */ - bool controlCharacter(QString text); + bool controlCharacter(const QString& text); /** \brief Checks whether the given uint is a control character */ bool controlCharacter(uint value); /** \brief Returns the next available unicode. */ - QString nextUnicode(QString text, Direction direction); + QString nextUnicode(const QString &text, Direction direction); /** \brief Paints previous and next characters around current char */ void updateOverviewChars(uint unicode); @@ -55,18 +77,24 @@ private: int m_lastCursorPos; QString m_lastUnicodeNumber; + /** \brief Reads the last used unicode number from the config file. */ + void readChoices(); + /** \brief Writes the last used unicode number into the config file. */ + void writeChoices(); + signals: /** \brief Contains the selected unicode character; emitted when Enter is pressed. */ void charSelected(const QString&); - /** \brief Contains the last used unicode number. */ - void newUnicodeNumber(const QString&); -private slots: - void slotTextChanged(QString text); +public slots: void slotReturnPressed(); + +private slots: + void slotTextChanged(const QString &text); void slotNextUnicode(); void slotPrevUnicode(); - }; + + #endif