Fix compiler warnings
[quassel.git] / src / uisupport / multilineedit.h
index 73ea678..a1a0ffd 100644 (file)
 
 #include <QKeyEvent>
 #include <QHash>
-#include <QTextEdit>
 
 #ifdef HAVE_KDE
 #  include <KDE/KTextEdit>
+#  define MultiLineEditParent KTextEdit
+#else
+#  include <QTextEdit>
+#  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:
@@ -53,12 +50,12 @@ public:
   void setCustomFont(const QFont &); // should be used instead setFont(), so we can set our size correctly
 
   // 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 QString text() const { return toPlainText(); }
+  inline QString html() const { return toHtml(); }
+  inline int cursorPosition() const { return textCursor().position(); }
   inline void insert(const QString &newText) { insertPlainText(newText); }
   inline void backspace() { keyPressEvent(new QKeyEvent(QEvent::KeyPress, Qt::Key_Backspace, Qt::NoModifier)); }
-  inline bool hasSelectedText() { return textCursor().hasSelection(); }
+  inline bool hasSelectedText() const { return textCursor().hasSelection(); }
 
   inline bool isSingleLine() const { return _singleLine; }
   inline bool pasteProtectionEnabled() const { return _pasteProtectionEnabled; }
@@ -70,14 +67,16 @@ public:
   inline QString rgbColorFromMirc(QString mircColor) const { return _mircColorMap[mircColor]; }
   inline QMap<QString, QString>  mircColorMap() const { return _mircColorMap; }
 
-  inline QStringList history() { return _history; }
-  inline QHash<int, QString> tempHistory() { return _tempHistory; }
-  inline qint32 idx() { return _idx; }
+  inline QStringList history() const { return _history; }
+  inline QHash<int, QString> 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;