mirror of https://github.com/bitcoin/bitcoin.git
gui: Avoid pathological QT text/markdown behavior...
during text selection by only setting plaintext mime data.
This commit is contained in:
parent
689a321976
commit
6a371b70c8
|
@ -573,7 +573,7 @@
|
|||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="messagesWidget">
|
||||
<widget class="PlainCopyTextEdit" name="messagesWidget">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
|
@ -1868,6 +1868,10 @@
|
|||
<slot>clear()</slot>
|
||||
</slots>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>PlainCopyTextEdit</class>
|
||||
<extends>QTextEdit</extends>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../bitcoin.qrc"/>
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
|
||||
#include <QByteArray>
|
||||
#include <QCompleter>
|
||||
#include <QMimeData>
|
||||
#include <QTextDocumentFragment>
|
||||
#include <QTextEdit>
|
||||
#include <QThread>
|
||||
#include <QWidget>
|
||||
|
||||
|
@ -191,4 +194,20 @@ private Q_SLOTS:
|
|||
void updateAlerts(const QString& warnings);
|
||||
};
|
||||
|
||||
/**
|
||||
* A version of QTextEdit that only populates plaintext mime data from a
|
||||
* selection, this avoids some bad behavior in QT's HTML->Markdown conversion.
|
||||
*/
|
||||
class PlainCopyTextEdit : public QTextEdit {
|
||||
Q_OBJECT
|
||||
public:
|
||||
using QTextEdit::QTextEdit;
|
||||
protected:
|
||||
QMimeData* createMimeDataFromSelection() const override {
|
||||
auto md = new QMimeData();
|
||||
md->setText(textCursor().selection().toPlainText());
|
||||
return md;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // BITCOIN_QT_RPCCONSOLE_H
|
||||
|
|
Loading…
Reference in New Issue