X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Finputwidget.h;h=b4aaf0f5f10f2705bdf79eb6d910287152d1de3b;hp=5fa419307df1bd847e4543778c8e511c03237ac2;hb=b7447afe8e836376776dac26704e227a678d2913;hpb=9fc57dc2c000e80fb8bd746a090e2e8210e1278e diff --git a/src/qtui/inputwidget.h b/src/qtui/inputwidget.h index 5fa41930..b4aaf0f5 100644 --- a/src/qtui/inputwidget.h +++ b/src/qtui/inputwidget.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,17 +18,21 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef INPUTWIDGET_H -#define INPUTWIDGET_H +#pragma once -#include "ui_inputwidget.h" +#include +#include +#include +#include #include "abstractitemview.h" +#include "action.h" #include "buffermodel.h" #include "bufferinfo.h" #include "identity.h" #include "network.h" -#include + +#include "ui_inputwidget.h" class MultiLineEdit; @@ -44,6 +48,49 @@ public: inline MultiLineEdit *inputLine() const { return ui.inputEdit; } +public slots: + /** + * Apply the active color to the selected or typed text + * + * Active color is chosen using the UI menu. + */ + void applyFormatActiveColor(); + + /** + * Apply the active fill color to the selected or typed text background + * + * Fill color is chosen using the UI menu. + */ + void applyFormatActiveColorFill(); + + /** + * Toggle the boldness of the selected or typed text + * + * Bold becomes normal, and normal becomes bold. + */ + void toggleFormatBold(); + + /** + * Toggle the italicness of the selected or typed text + * + * Italicized becomes normal, and normal becomes italicized. + */ + void toggleFormatItalic(); + + /** + * Toggle the underlining of the selected or typed text + * + * Underlined becomes normal, and normal becomes underlined. + */ + void toggleFormatUnderline(); + + /** + * Clear the formatting of the selected or typed text + * + * Clears the font weight (bold, italic, underline) and foreground/background coloring. + */ + void clearFormat(); + protected: virtual bool eventFilter(QObject *watched, QEvent *event); @@ -61,6 +108,7 @@ private slots: void setShowStyleButtons(const QVariant &); void setEnablePerChatHistory(const QVariant &); void setMaxLines(const QVariant &); + void setLineWrapEnabled(const QVariant &); void setMultiLineEnabled(const QVariant &); void setScrollBarsEnabled(const QVariant &); void onTextEntered(const QString &text); @@ -74,6 +122,13 @@ private slots: BufferInfo currentBufferInfo() const; + /** + * Set whether or not the style options frame is expanded + * + * @param visible If true, expand the style options frame, otherwise collapse it + */ + void setStyleOptionsExpanded(const bool visible); + void currentCharFormatChanged(const QTextCharFormat &format); void on_showStyleButton_toggled(bool checked); void on_boldButton_clicked(bool checked); @@ -83,6 +138,36 @@ private slots: void colorHighlightChosen(QAction *action); private: + /** + * Clear the formatting of the text, globally or selected text only + * + * Clears the font weight (bold, italic, underline) and foreground/background coloring. + * + * @param global If true, clear all text formatting, otherwise only clear selected text + */ + void setFormatClear(const bool global = false); + + /** + * Sets the boldness of the selected or typed text + * + * @param bold If true, set text bold, otherwise set text normal + */ + void setFormatBold(const bool bold); + + /** + * Sets the italicness of the selected or typed text + * + * @param bold If true, set text italic, otherwise set text normal + */ + void setFormatItalic(const bool italic); + + /** + * Sets the underline of the selected or typed text + * + * @param bold If true, set text underlined, otherwise set text normal + */ + void setFormatUnderline(const bool underline); + Ui::InputWidget ui; NetworkId _networkId; @@ -116,6 +201,3 @@ public: MouseWheelFilter(QObject *parent = 0); virtual bool eventFilter(QObject *obj, QEvent *event); }; - - -#endif // INPUTWIDGET_H