summaryrefslogtreecommitdiffstats
path: root/ui/qt/utils/data_printer.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 17:44:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 17:44:25 +0000
commitf59ea5f7690c9a01ef6f7f6508084a66c40b1dae (patch)
tree482ee255d71f113be6c62e9ff3543fd6ebb9f12a /ui/qt/utils/data_printer.cpp
parentReleasing progress-linux version 4.2.2-1.1~progress7.99u1. (diff)
downloadwireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.tar.xz
wireshark-f59ea5f7690c9a01ef6f7f6508084a66c40b1dae.zip
Merging upstream version 4.2.4.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ui/qt/utils/data_printer.cpp')
-rw-r--r--ui/qt/utils/data_printer.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/ui/qt/utils/data_printer.cpp b/ui/qt/utils/data_printer.cpp
index 36f1abd7..a96e1ed4 100644
--- a/ui/qt/utils/data_printer.cpp
+++ b/ui/qt/utils/data_printer.cpp
@@ -54,6 +54,14 @@ void DataPrinter::toClipboard(DataPrinter::DumpType type, IDataPrintable * print
for (int i = 0; i < printData.length(); i++)
clipboard_text += QString("%1").arg((uint8_t) printData[i], 2, 16, QChar('0'));
break;
+ case DP_PrintableText:
+ for (int i = 0; i < printData.length(); i++) {
+ QChar ch(printData[i]);
+ if (ch.isSpace() || ch.isPrint()) {
+ clipboard_text += ch;
+ }
+ }
+ break;
case DP_Base64:
#if WS_IS_AT_LEAST_GNUC_VERSION(12,1)
DIAG_OFF(stringop-overread)
@@ -219,6 +227,11 @@ QActionGroup * DataPrinter::copyActions(QObject * copyClass, QObject * data)
action->setProperty("printertype", DataPrinter::DP_HexOnly);
connect(action, &QAction::triggered, dpi, &DataPrinter::copyIDataBytes);
+ action = new QAction(tr("…as Printable Text"), actions);
+ action->setToolTip(tr("Copy only the printable text in the packet."));
+ action->setProperty("printertype", DataPrinter::DP_PrintableText);
+ connect(action, &QAction::triggered, dpi, &DataPrinter::copyIDataBytes);
+
action = new QAction(tr("…as a Hex Stream"), actions);
action->setToolTip(tr("Copy packet bytes as a stream of hex."));
action->setProperty("printertype", DataPrinter::DP_HexStream);