X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fmultilineedit.h;h=7cf418920ec625eaa8ff27cb8cd101211a0ac2a0;hp=3eb729d2415143517b039b8b1ce984e0ccef47d2;hb=092e6b212637ffbf68800584b7c1f32d1931b602;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222 diff --git a/src/uisupport/multilineedit.h b/src/uisupport/multilineedit.h index 3eb729d2..7cf41892 100644 --- a/src/uisupport/multilineedit.h +++ b/src/uisupport/multilineedit.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2012 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,17 +24,17 @@ #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # define MultiLineEditParent KTextEdit +#elif defined HAVE_KF5 +# include +# define MultiLineEditParent KTextEdit #else # include # define MultiLineEditParent QTextEdit #endif -class QKeyEvent; -class TabCompleter; - class MultiLineEdit : public MultiLineEditParent { Q_OBJECT @@ -61,8 +61,8 @@ public: inline bool isSingleLine() const { return _singleLine; } inline bool pasteProtectionEnabled() const { return _pasteProtectionEnabled; } - virtual QSize sizeHint() const; - virtual QSize minimumSizeHint() const; + QSize sizeHint() const override; + QSize minimumSizeHint() const override; inline QString mircColorFromRGB(QString rgbColor) const { return _mircColorMap.key(rgbColor); } inline QString rgbColorFromMirc(QString mircColor) const { return _mircColorMap[mircColor]; } @@ -73,6 +73,11 @@ public: inline qint32 idx() const { return _idx; } inline bool emacsMode() const { return _emacsMode; } + void addCompletionSpace(); +#if defined HAVE_KF5 || defined HAVE_KDE4 + void createHighlighter() override; +#endif + public slots: void setMode(Mode mode); void setMinHeight(int numLines); @@ -81,9 +86,7 @@ public slots: void setScrollBarsEnabled(bool enable = true); void setSpellCheckEnabled(bool enable = true); void setPasteProtectionEnabled(bool enable = true, QWidget *msgBoxParent = 0); - - // Note: Enabling wrap will make isSingleLine() not work correctly, so only use this if minHeight() > 1! - void setWordWrapEnabled(bool enable = true); + void setLineWrapEnabled(bool enable = false); inline void setHistory(QStringList history) { _history = history; } inline void setTempHistory(QHash tempHistory) { _tempHistory = tempHistory; } @@ -94,13 +97,13 @@ signals: void noTextEntered(); protected: - virtual bool event(QEvent *e); - virtual void keyPressEvent(QKeyEvent *event); - virtual void resizeEvent(QResizeEvent *event); + bool event(QEvent *e) override; + void keyPressEvent(QKeyEvent *event) override; + void resizeEvent(QResizeEvent *event) override; private slots: void on_returnPressed(); - void on_returnPressed(const QString &text); + void on_returnPressed(QString text); void on_textChanged(); void on_documentHeightChanged(qreal height); @@ -123,6 +126,7 @@ private: bool _scrollBarsEnabled; bool _pasteProtectionEnabled; bool _emacsMode; + int _completionSpace; QSize _sizeHint; qreal _lastDocumentHeight;