diff options
author | Ming Chen <mingc2099@gmail.com> | 2022-10-03 15:01:57 -0700 |
---|---|---|
committer | A Wireshark GitLab Utility <gerald+gitlab-utility@wireshark.org> | 2022-10-04 12:36:25 +0000 |
commit | 01a3a19e15c5e0ff7fcb070178dceb20d804ef3f (patch) | |
tree | cc9113e6cd5d4be13ab804650918e25b96206fdc /ui/qt | |
parent | 2c40dc97cd19f6b4ee3cf2d888ecdb7ee7705412 (diff) |
Add copy as a Base64 string
Diffstat (limited to 'ui/qt')
-rw-r--r-- | ui/qt/utils/data_printer.cpp | 10 | ||||
-rw-r--r-- | ui/qt/utils/data_printer.h | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ui/qt/utils/data_printer.cpp b/ui/qt/utils/data_printer.cpp index 53e632d2c2..cfbc17180c 100644 --- a/ui/qt/utils/data_printer.cpp +++ b/ui/qt/utils/data_printer.cpp @@ -46,6 +46,9 @@ 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_Base64: + clipboard_text = printData.toBase64(); + break; case DP_EscapedString: // Beginning quote clipboard_text += QString("\""); @@ -212,6 +215,11 @@ QActionGroup * DataPrinter::copyActions(QObject * copyClass, QObject * data) action->setProperty("printertype", DataPrinter::DP_HexStream); connect(action, &QAction::triggered, dpi, &DataPrinter::copyIDataBytes); + action = new QAction(tr("…as a Base64 String"), actions); + action->setToolTip(tr("Copy packet bytes as a base64 encoded string.")); + action->setProperty("printertype", DataPrinter::DP_Base64); + connect(action, &QAction::triggered, dpi, &DataPrinter::copyIDataBytes); + action = new QAction(tr("…as Raw Binary"), actions); action->setToolTip(tr("Copy packet bytes as application/octet-stream MIME data.")); action->setProperty("printertype", DataPrinter::DP_Binary); @@ -240,7 +248,7 @@ void DataPrinter::copyIDataBytes(bool /* state */) int dump_type = sendingAction->property("printertype").toInt(); - if (dump_type >= 0 && dump_type <= DataPrinter::DP_Binary) { + if (dump_type >= 0 && dump_type <= DataPrinter::DP_Base64) { DataPrinter printer; printer.toClipboard((DataPrinter::DumpType) dump_type, dynamic_cast<IDataPrintable *>(dataObject)); } diff --git a/ui/qt/utils/data_printer.h b/ui/qt/utils/data_printer.h index 67a394dd27..ec0ee88418 100644 --- a/ui/qt/utils/data_printer.h +++ b/ui/qt/utils/data_printer.h @@ -32,7 +32,8 @@ public: DP_HexStream, DP_PrintableText, DP_EscapedString, - DP_Binary + DP_Binary, + DP_Base64 }; void toClipboard(DataPrinter::DumpType type, IDataPrintable * printable); |