File indexing completed on 2024-04-28 04:55:41

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2010-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #ifndef TEXTBROWSER_H
0010 #define TEXTBROWSER_H
0011 
0012 #include <QTextBrowser>
0013 
0014 #include "choqok_export.h"
0015 
0016 class QAction;
0017 namespace Choqok
0018 {
0019 
0020 namespace UI
0021 {
0022 
0023 class CHOQOK_EXPORT TextBrowser : public QTextBrowser
0024 {
0025     Q_OBJECT
0026 public:
0027     TextBrowser(QWidget *parent = nullptr);
0028     virtual ~TextBrowser();
0029     static void addAction(QAction *action);
0030 
0031 Q_SIGNALS:
0032     void clicked(QMouseEvent *ev);
0033 
0034 protected Q_SLOTS:
0035     void slotCopyLink();
0036 
0037     /**
0038         @brief Copy post text to clipboard.
0039     */
0040     void slotCopyPostContent();
0041 
0042 protected:
0043     virtual void wheelEvent(QWheelEvent *event) override;
0044     virtual void mousePressEvent(QMouseEvent *ev) override;
0045     virtual void mouseMoveEvent(QMouseEvent *ev) override;
0046     virtual void resizeEvent(QResizeEvent *e) override;
0047     virtual void contextMenuEvent(QContextMenuEvent *event) override;
0048 
0049 private:
0050     class Private;
0051     Private *const d;
0052 };
0053 
0054 }
0055 
0056 }
0057 
0058 #endif // CHOQOK_UI_TEXTBROWSER_H