X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.h;h=e5d6c1dea9f6cf67e0462e4b66cc2c422030dc45;hp=563700a058a6d0819d18f9b0ea4a3713cda245cd;hb=580662426b8b734566b37de61deccf5b89970c6e;hpb=8056d708179608e637f351e975dcc4efe01247d1 diff --git a/src/qtui/inputwidget.h b/src/qtui/inputwidget.h index 563700a0..e5d6c1de 100644 --- a/src/qtui/inputwidget.h +++ b/src/qtui/inputwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-2010 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -28,8 +28,9 @@ #include "bufferinfo.h" #include "identity.h" #include "network.h" +#include -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 ¤t, const QModelIndex &previous); @@ -48,7 +52,15 @@ protected slots: virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); private slots: - void sendText(QString text); + void setCustomFont(const QVariant &font); + 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); @@ -59,14 +71,28 @@ private slots: BufferInfo currentBufferInfo() const; -signals: - void userInput(BufferInfo, QString msg) const; + void currentCharFormatChanged(const QTextCharFormat &format); + void on_showStyleButton_toggled(bool checked); + void on_boldButton_clicked(bool checked); + void on_italicButton_clicked(bool checked); + void on_underlineButton_clicked(bool checked); + void colorChosen(QAction *action); + void colorHighlightChosen(QAction *action); private: Ui::InputWidget ui; - + NetworkId _networkId; IdentityId _identityId; + QMenu *_colorMenu, *_colorFillMenu; + + void mergeFormatOnWordOrSelection(const QTextCharFormat &format); + void fontChanged(const QFont &f); + void colorChanged(const QColor &fg); + void colorHighlightChanged(const QColor &bg); + QIcon createColorToolButtonIcon(const QIcon &icon, const QColor &color); + QTextCharFormat getFormatOfWordOrSelection(); + void setFormatOnWordOrSelection(const QTextCharFormat &format); };