X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fmultilineedit.h;h=999487a4e67933a89994e7e670e51969892d0acc;hb=745f33ace5377addd6fec7991db594dd8c64984d;hp=d12dfe6d3682bcf07ce83493105f60653faae0c6;hpb=09d19fe065125ccc6e406fa325d675387788ab3c;p=quassel.git diff --git a/src/uisupport/multilineedit.h b/src/uisupport/multilineedit.h index d12dfe6d..999487a4 100644 --- a/src/uisupport/multilineedit.h +++ b/src/uisupport/multilineedit.h @@ -54,6 +54,7 @@ public: // Compatibility methods with the rest of the classes which still expect this to be a QLineEdit inline QString text() { return toPlainText(); } + inline QString html() { return toHtml(); } inline int cursorPosition() { return textCursor().position(); } inline void insert(const QString &newText) { insertPlainText(newText); } inline void backspace() { keyPressEvent(new QKeyEvent(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier)); } @@ -65,6 +66,10 @@ public: virtual QSize sizeHint() const; virtual QSize minimumSizeHint() const; + inline QString mircColorFromRGB(QString rgbColor) const { return _mircColorMap.key(rgbColor); } + inline QString rgbColorFromMirc(QString mircColor) const { return _mircColorMap[mircColor]; } + inline QMap mircColorMap() const { return _mircColorMap; } + public slots: void setMode(Mode mode); void setMinHeight(int numLines); @@ -78,6 +83,7 @@ public slots: signals: void textEntered(const QString &text); + void noTextEntered(); protected: virtual void keyPressEvent(QKeyEvent * event); @@ -93,6 +99,9 @@ private slots: void historyMoveForward(); void historyMoveBack(); + QString convertHtmlToMircCodes(const QString &text); + QString convertMircCodesToHtml(const QString &text); + private: QStringList history; QHash tempHistory; @@ -107,6 +116,8 @@ private: QSize _sizeHint; qreal _lastDocumentHeight; + QMap _mircColorMap; + void reset(); void showHistoryEntry(); void updateScrollBars();