projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
uisupport: Provide helpers for dealing with widget changes
[quassel.git]
/
src
/
uisupport
/
multilineedit.h
diff --git
a/src/uisupport/multilineedit.h
b/src/uisupport/multilineedit.h
index
7cf4189
..
bd06172
100644
(file)
--- a/
src/uisupport/multilineedit.h
+++ b/
src/uisupport/multilineedit.h
@@
-18,16
+18,14
@@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#ifndef MULTILINEEDIT_H_
-#define MULTILINEEDIT_H_
+#pragma once
+
+#include "uisupport-export.h"
#include <QKeyEvent>
#include <QHash>
#include <QKeyEvent>
#include <QHash>
-#ifdef HAVE_KDE4
-# include <KDE/KTextEdit>
-# define MultiLineEditParent KTextEdit
-#elif defined HAVE_KF5
+#if defined HAVE_KF5
# include <KTextWidgets/KTextEdit>
# define MultiLineEditParent KTextEdit
#else
# include <KTextWidgets/KTextEdit>
# define MultiLineEditParent KTextEdit
#else
@@
-35,7
+33,13
@@
# define MultiLineEditParent QTextEdit
#endif
# define MultiLineEditParent QTextEdit
#endif
-class MultiLineEdit : public MultiLineEditParent
+#if defined HAVE_SONNET && !defined HAVE_KDE
+# include <QContextMenuEvent>
+# include <Sonnet/Highlighter>
+# include <Sonnet/SpellCheckDecorator>
+#endif
+
+class UISUPPORT_EXPORT MultiLineEdit : public MultiLineEditParent
{
Q_OBJECT
{
Q_OBJECT
@@
-45,8
+49,7
@@
public:
MultiLine
};
MultiLine
};
- MultiLineEdit(QWidget *parent = 0);
- ~MultiLineEdit();
+ MultiLineEdit(QWidget *parent = nullptr);
void setCustomFont(const QFont &); // should be used instead setFont(), so we can set our size correctly
void setCustomFont(const QFont &); // should be used instead setFont(), so we can set our size correctly
@@
-74,9
+77,6
@@
public:
inline bool emacsMode() const { return _emacsMode; }
void addCompletionSpace();
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);
public slots:
void setMode(Mode mode);
@@
-84,8
+84,7
@@
public slots:
void setMaxHeight(int numLines);
void setEmacsMode(bool enable = true);
void setScrollBarsEnabled(bool enable = true);
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);
+ void setPasteProtectionEnabled(bool enable = true, QWidget *msgBoxParent = nullptr);
void setLineWrapEnabled(bool enable = false);
inline void setHistory(QStringList history) { _history = history; }
void setLineWrapEnabled(bool enable = false);
inline void setHistory(QStringList history) { _history = history; }
@@
-101,6
+100,10
@@
protected:
void keyPressEvent(QKeyEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void keyPressEvent(QKeyEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
+#if defined HAVE_SONNET && !defined HAVE_KDE
+ void contextMenuEvent(QContextMenuEvent *event) override;
+#endif
+
private slots:
void on_returnPressed();
void on_returnPressed(QString text);
private slots:
void on_returnPressed();
void on_returnPressed(QString text);
@@
-115,29
+118,38
@@
private slots:
QString convertMircCodesToHtml(const QString &text);
bool mircCodesChanged(QTextCursor &cursor, QTextCursor &peekcursor);
QString convertMircCodesToHtml(const QString &text);
bool mircCodesChanged(QTextCursor &cursor, QTextCursor &peekcursor);
+private:
+ void reset();
+ void showHistoryEntry();
+ void updateScrollBars();
+ void updateSizeHint();
+
private:
QStringList _history;
QHash<int, QString> _tempHistory;
private:
QStringList _history;
QHash<int, QString> _tempHistory;
- qint32 _idx;
- Mode _mode;
- bool _singleLine;
- int _minHeight;
- int _maxHeight;
- bool _scrollBarsEnabled;
- bool _pasteProtectionEnabled;
- bool _emacsMode;
- int _completionSpace;
+ qint32 _idx
{0}
;
+ Mode _mode
{SingleLine}
;
+ bool _singleLine
{true}
;
+ int _minHeight
{1}
;
+ int _maxHeight
{5}
;
+ bool _scrollBarsEnabled
{true}
;
+ bool _pasteProtectionEnabled
{true}
;
+ bool _emacsMode
{false}
;
+ int _completionSpace
{0}
;
QSize _sizeHint;
QSize _sizeHint;
- qreal _lastDocumentHeight;
+ qreal _lastDocumentHeight
{-1}
;
QMap<QString, QString> _mircColorMap;
QMap<QString, QString> _mircColorMap;
- void reset();
- void showHistoryEntry();
- void updateScrollBars();
- void updateSizeHint();
-};
+#if defined HAVE_SONNET && !defined HAVE_KDE
+ // This member function is provided by KTextEdit
+ Sonnet::Highlighter *highlighter() const;
+private slots:
+ void setSpellCheckEnabled(bool enabled);
+private:
+ Sonnet::SpellCheckDecorator *_spellCheckDecorator{nullptr};
#endif
#endif
+};