optimize: use QTextEdit::insertFromMimeData to process pasting images instead of manipulating context menu

This commit is contained in:
shunf4 2021-12-18 17:00:33 +08:00
parent e27ae1a82f
commit 9aba09f919
6 changed files with 79 additions and 35 deletions

View file

@ -0,0 +1,30 @@
#ifndef MESSAGETEXTEDIT_H
#define MESSAGETEXTEDIT_H
#include <QTextEdit>
#include <QObject>
#include <QWidget>
namespace Ui
{
class MessageTextEdit;
}
class MessageTextEdit : public QTextEdit
{
Q_OBJECT
public:
explicit MessageTextEdit(QWidget *parent = nullptr) : QTextEdit(parent) {}
explicit MessageTextEdit(const QString &text, QWidget *parent = nullptr) : QTextEdit(text, parent) {}
signals:
void imageInserted(const QImage& image);
void fileInserted(const QString& localPath);
protected:
bool canInsertFromMimeData(const QMimeData* source) const override;
void insertFromMimeData(const QMimeData* source) override;
};
#endif // MESSAGETEXTEDIT_H