63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
#ifndef SINGLERELAY_H
|
|
#define SINGLERELAY_H
|
|
|
|
#include <QDialog>
|
|
#include <QTextEdit>
|
|
#include <QMimeData>
|
|
#include <QDrag>
|
|
#include <QDragEnterEvent>
|
|
#include <QDebug>
|
|
|
|
namespace Ui {
|
|
class SingleRelay;
|
|
}
|
|
|
|
class SingleRelay : public QDialog {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit SingleRelay(QWidget *parent = nullptr);
|
|
~SingleRelay();
|
|
|
|
private slots:
|
|
void on_pushButton_cancel_clicked();
|
|
|
|
private:
|
|
Ui::SingleRelay *ui;
|
|
};
|
|
class DropTextEdit : public QTextEdit {
|
|
public:
|
|
DropTextEdit(QWidget *parent = nullptr) : QTextEdit(parent) {
|
|
setAcceptDrops(true);
|
|
setReadOnly(false); // 确保不是只读的
|
|
}
|
|
|
|
protected:
|
|
void dragEnterEvent(QDragEnterEvent *event) override {
|
|
qDebug() << "dragEnterEvent" << event->mimeData()->formats();
|
|
if (event->mimeData()->hasText()) {
|
|
event->acceptProposedAction();
|
|
} else {
|
|
event->ignore();
|
|
}
|
|
}
|
|
|
|
void dragMoveEvent(QDragMoveEvent *event) override {
|
|
if (event->mimeData()->hasText()) {
|
|
event->acceptProposedAction();
|
|
} else {
|
|
event->ignore();
|
|
}
|
|
}
|
|
|
|
void dropEvent(QDropEvent *event) override {
|
|
if (event->mimeData()->hasText()) {
|
|
insertPlainText(event->mimeData()->text());
|
|
event->acceptProposedAction();
|
|
} else {
|
|
event->ignore();
|
|
}
|
|
}
|
|
};
|
|
#endif // SINGLERELAY_H
|