]> git.sesse.net Git - kdenlive/blobdiff - src/unicodedialog.h
Const'ref
[kdenlive] / src / unicodedialog.h
index 3dde58c4058e4647b43d38ad525d9a12ae6c5c74..83065c09f8ee5d13805f144ff8b554270f746e1e 100644 (file)
 #ifndef UNICODEDIALOG_H
 #define UNICODEDIALOG_H
 
-#include "ui_unicodedialog_ui.h"
+#include "ui_unicodewidget_ui.h"
+#include <KDialog>
 
-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