1 /* Copyright (C) 2012 Thomas Lübking <thomas.luebking@gmail.com>
3 This file is part of the Trojita Qt IMAP e-mail client,
4 http://trojita.flaska.net/
6 This program is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation; either version 2 of
9 the License or (at your option) version 3 or any later version
10 accepted by the membership of KDE e.V. (or its successor approved
11 by the membership of KDE e.V.), which shall act as a proxy
12 defined in Section 14 of version 3 of the license.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
29 class ComposerTextEdit
: public QTextEdit
{
32 explicit ComposerTextEdit(QWidget
*parent
= 0);
34 * use the view to display a notification for @p timeout ms
35 * using an empty or null string will clear the notification at once
36 * a @p timeout of 0ms shows the notification until it's replaced or reset
38 void notify(const QString
&n
, uint timeout
= 0);
41 void urlsAdded(QList
<QUrl
> urls
);
43 /** DND reimplementation **/
44 bool canInsertFromMimeData( const QMimeData
* source
) const;
45 void insertFromMimeData(const QMimeData
*source
);
46 void keyPressEvent(QKeyEvent
*event
);
47 void keyReleaseEvent(QKeyEvent
*event
);
48 /** painter reimplementation for notification **/
49 void paintEvent(QPaintEvent
*pe
);
50 virtual void contextMenuEvent(QContextMenuEvent
*e
);
52 void resetNotification();
53 void slotPasteAsQuotation();
55 QString m_notification
;
56 QTimer
*m_notificationTimer
;
57 bool m_couldBeSendRequest
;
58 QAction
*m_pasteQuoted
;