X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fmultilineedit.h;h=a1a0ffdffb2b65a7d875d4d057e8d37b7f5a0124;hp=04afed31e1f1ba4475f017a4039857b8051605ec;hb=84381d6b74a31c8b1b6468fa490621f8a7a32c23;hpb=713382cb7e35561849dcdccef6d093fa9541bdb3 diff --git a/src/uisupport/multilineedit.h b/src/uisupport/multilineedit.h index 04afed31..a1a0ffdf 100644 --- a/src/uisupport/multilineedit.h +++ b/src/uisupport/multilineedit.h @@ -23,22 +23,19 @@ #include #include -#include #ifdef HAVE_KDE # include +# define MultiLineEditParent KTextEdit +#else +# include +# define MultiLineEditParent QTextEdit #endif class QKeyEvent; class TabCompleter; -class MultiLineEdit : public -#ifdef HAVE_KDE - KTextEdit -#else - QTextEdit -#endif -{ +class MultiLineEdit : public MultiLineEditParent { Q_OBJECT public: @@ -73,11 +70,13 @@ public: inline QStringList history() const { return _history; } inline QHash tempHistory() const { return _tempHistory; } inline qint32 idx() const { return _idx; } + inline bool emacsMode() const { return _emacsMode; } public slots: void setMode(Mode mode); void setMinHeight(int numLines); void setMaxHeight(int numLines); + void setEmacsMode(bool enable = true); void setScrollBarsEnabled(bool enable = true); void setSpellCheckEnabled(bool enable = true); void setPasteProtectionEnabled(bool enable = true, QWidget *msgBoxParent = 0); @@ -94,6 +93,7 @@ signals: void noTextEntered(); protected: + virtual bool event(QEvent *e); virtual void keyPressEvent(QKeyEvent * event); virtual void resizeEvent(QResizeEvent *event); @@ -121,6 +121,7 @@ private: int _maxHeight; bool _scrollBarsEnabled; bool _pasteProtectionEnabled; + bool _emacsMode; QSize _sizeHint; qreal _lastDocumentHeight;