cmake: avoid de-duplication of user's CXXFLAGS
[quassel.git] / src / qtui / inputwidget.h
index 47b876f..c8cb0b5 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2018 by the Quassel Project                        *
+ *   Copyright (C) 2005-2022 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -27,8 +27,8 @@
 
 #include "abstractitemview.h"
 #include "action.h"
-#include "buffermodel.h"
 #include "bufferinfo.h"
+#include "buffermodel.h"
 #include "identity.h"
 #include "network.h"
 
@@ -41,11 +41,11 @@ class InputWidget : public AbstractItemView
     Q_OBJECT
 
 public:
-    InputWidget(QWidget *parent = nullptr);
+    InputWidget(QWidgetparent = nullptr);
 
-    const Network *currentNetwork() const;
+    const NetworkcurrentNetwork() const;
 
-    inline MultiLineEdit *inputLine() const { return ui.inputEdit; }
+    inline MultiLineEditinputLine() const { return ui.inputEdit; }
 
 public slots:
     /**
@@ -83,6 +83,13 @@ public slots:
      */
     void toggleFormatUnderline();
 
+    /**
+     * Toggle the striking of the selected or typed text
+     *
+     * striking becomes normal, and normal becomes underlined.
+     */
+    void toggleFormatStrikethrough();
+
     /**
      * Clear the formatting of the selected or typed text
      *
@@ -91,26 +98,26 @@ public slots:
     void clearFormat();
 
 protected:
-    bool eventFilter(QObject *watched, QEvent *event) override;
+    bool eventFilter(QObject* watched, QEvent* event) override;
 
 protected slots:
-    void currentChanged(const QModelIndex &current, const QModelIndex &previous) override;
-    void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override;
-    void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) override;
+    void currentChanged(const QModelIndex& current, const QModelIndex& previous) override;
+    void rowsAboutToBeRemoved(const QModelIndexparent, int start, int end) override;
+    void dataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight) override;
 
 private slots:
-    void setCustomFont(const QVariant &font);
-    void setUseCustomFont(const QVariant &);
-    void setEnableEmacsMode(const QVariant &);
-    void setShowNickSelector(const QVariant &);
-    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);
-    void changeNick(const QString &newNick) const;
+    void setCustomFont(const QVariantfont);
+    void setUseCustomFont(const QVariant&);
+    void setEnableEmacsMode(const QVariant&);
+    void setShowNickSelector(const QVariant&);
+    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 QStringtext);
+    void changeNick(const QStringnewNick) const;
 
     void setNetwork(NetworkId networkId);
     void setIdentity(IdentityId identityId);
@@ -127,13 +134,14 @@ private slots:
      */
     void setStyleOptionsExpanded(const bool visible);
 
-    void currentCharFormatChanged(const QTextCharFormat &format);
+    void currentCharFormatChanged(const QTextCharFormatformat);
     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);
+    void on_strikethroughButton_clicked(bool checked);
+    void colorChosen(QAction* action);
+    void colorHighlightChosen(QAction* action);
 
 private:
     /**
@@ -166,20 +174,28 @@ private:
      */
     void setFormatUnderline(const bool underline);
 
+    /**
+     * Sets the strikethrough of the selected or typed text
+     *
+     * @param strike If true, set text striked, otherwise set text normal
+     */
+    void setFormatStrikethrough(const bool strike);
+
     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);
+    void mergeFormatOnSelection(const QTextCharFormatformat);
+    void fontChanged(const QFontf);
+    QIcon createColorToolButtonIcon(const QIcon& icon, const QColor& color);
     QTextCharFormat getFormatOfWordOrSelection();
-    void setFormatOnSelection(const QTextCharFormat &format);
+    void setFormatOnSelection(const QTextCharFormatformat);
 
     bool _perChatHistory;
-    struct HistoryState {
+    struct HistoryState
+    {
         QStringList history;
         QHash<int, QString> tempHistory;
         qint32 idx{0};
@@ -189,12 +205,11 @@ private:
     QMap<BufferId, HistoryState> historyMap;
 };
 
-
 class MouseWheelFilter : public QObject
 {
     Q_OBJECT
 
 public:
-    MouseWheelFilter(QObject *parent = nullptr);
-    bool eventFilter(QObject *obj, QEvent *event) override;
+    MouseWheelFilter(QObjectparent = nullptr);
+    bool eventFilter(QObject* obj, QEvent* event) override;
 };