X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.h;h=38981fd6ea96290bf75b5a343a628122816042e6;hp=7b6be7b036cab6c365194dc95eba41221144dc25;hb=2ed35d8a6322e49ab604472a7af59592cf36ae12;hpb=1e0bc6a99db648fe68a9aab398d18f041bb17b7f diff --git a/src/qtui/inputwidget.h b/src/qtui/inputwidget.h index 7b6be7b0..38981fd6 100644 --- a/src/qtui/inputwidget.h +++ b/src/qtui/inputwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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,6 +28,7 @@ #include "bufferinfo.h" #include "identity.h" #include "network.h" +#include class MultiLineEdit; @@ -54,12 +55,14 @@ private slots: void setCustomFont(const QVariant &font); void setUseCustomFont(const QVariant &); void setEnableSpellCheck(const QVariant &); + void setEnableEmacsMode(const QVariant &); void setShowNickSelector(const QVariant &); + void setShowStyleButtons(const QVariant &); + void setEnablePerChatHistory(const QVariant &); void setMaxLines(const QVariant &); void setMultiLineEnabled(const QVariant &); void setScrollBarsEnabled(const QVariant &); - - void sendText(const QString &text) const; + void onTextEntered(const QString &text); void changeNick(const QString &newNick) const; void setNetwork(NetworkId networkId); @@ -70,11 +73,37 @@ private slots: BufferInfo currentBufferInfo() 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 mergeFormatOnSelection(const QTextCharFormat &format); + void fontChanged(const QFont &f); + QIcon createColorToolButtonIcon(const QIcon &icon, const QColor &color); + QTextCharFormat getFormatOfWordOrSelection(); + void setFormatOnSelection(const QTextCharFormat &format); + + bool _perChatHistory; + struct HistoryState { + QStringList history; + QHash tempHistory; + qint32 idx; + QString inputLine; + inline HistoryState() : idx(0) {}; + }; + + QMap historyMap; };