File indexing completed on 2024-06-02 05:18:41

0001 // SPDX-FileCopyrightText: 2023 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003 
0004 #include "clipboard.h"
0005 
0006 #include <QClipboard>
0007 #include <QGuiApplication>
0008 #include <QMimeData>
0009 #include <QRegularExpression>
0010 #include <QUrl>
0011 
0012 Clipboard::Clipboard(QObject *parent)
0013     : QObject(parent)
0014     , m_clipboard(QGuiApplication::clipboard())
0015 {
0016 }
0017 
0018 void Clipboard::saveText(const QString &message)
0019 {
0020     auto text = message;
0021     const static QRegularExpression regex(QStringLiteral("<[^>]*>"));
0022     auto mineData = new QMimeData; // ownership is transferred to clipboard
0023     mineData->setHtml(message);
0024     mineData->setText(text.replace(regex, QString()));
0025     m_clipboard->setMimeData(mineData);
0026 }
0027 
0028 #include "moc_clipboard.cpp"