added support for RichText input and conversion to mirc format
[quassel.git] / src / qtui / inputwidget.h
index fae3d7f..b185567 100644 (file)
@@ -28,8 +28,9 @@
 #include "bufferinfo.h"
 #include "identity.h"
 #include "network.h"
+#include <action.h>
 
-class InputLine;
+class MultiLineEdit;
 
 class InputWidget : public AbstractItemView {
   Q_OBJECT
@@ -40,7 +41,10 @@ public:
 
   const Network *currentNetwork() const;
 
-  inline  InputLine* inputLine() const { return ui.inputEdit; }
+  inline MultiLineEdit* inputLine() const { return ui.inputEdit; }
+
+protected:
+  virtual bool eventFilter(QObject *watched, QEvent *event);
 
 protected slots:
   virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous);
@@ -49,7 +53,14 @@ protected slots:
 
 private slots:
   void setCustomFont(const QVariant &font);
-  void sendText(const QString &text) const;
+  void setUseCustomFont(const QVariant &);
+  void setEnableSpellCheck(const QVariant &);
+  void setShowNickSelector(const QVariant &);
+  void setMaxLines(const QVariant &);
+  void setMultiLineEnabled(const QVariant &);
+  void setScrollBarsEnabled(const QVariant &);
+
+  void on_inputEdit_textEntered(const QString &text) const;
   void changeNick(const QString &newNick) const;
 
   void setNetwork(NetworkId networkId);
@@ -60,11 +71,27 @@ private slots:
 
   BufferInfo currentBufferInfo() const;
 
+  void currentCharFormatChanged(const QTextCharFormat &format);
+  void textBold();
+  void textUnderline();
+  void textItalic();
+
 private:
   Ui::InputWidget ui;
 
   NetworkId _networkId;
   IdentityId _identityId;
+
+  Action *actionTextBold,
+  *actionTextUnderline,
+  *actionTextItalic,
+  *actionTextFgColor,
+  *actionTextBgColor;
+
+  void mergeFormatOnWordOrSelection(const QTextCharFormat &format);
+  void fontChanged(const QFont &f);
+  void colorChanged(const QColor &fg, const QColor &bg);
+
 };