From e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:34:10 +0200 Subject: Adding upstream version 4.2.2. Signed-off-by: Daniel Baumann --- ui/qt/utils/data_printer.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 ui/qt/utils/data_printer.h (limited to 'ui/qt/utils/data_printer.h') diff --git a/ui/qt/utils/data_printer.h b/ui/qt/utils/data_printer.h new file mode 100644 index 00000000..85f11c36 --- /dev/null +++ b/ui/qt/utils/data_printer.h @@ -0,0 +1,60 @@ +/** @file + * + * Used by ByteView and others, to create data dumps in printable + * form + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef DATA_PRINTER_H +#define DATA_PRINTER_H + +#include + +#include +#include + +#include + +class DataPrinter : public QObject +{ + Q_OBJECT +public: + explicit DataPrinter(QObject *parent = 0); + + enum DumpType { + DP_HexDump, + DP_HexOnly, + DP_HexStream, + DP_CString, + DP_MimeData, + DP_Base64 + }; + + void toClipboard(DataPrinter::DumpType type, IDataPrintable * printable); + + void setByteLineLength(int); + int byteLineLength() const; + // Insert a space after this many bytes + static int separatorInterval() { return 8; } + // The number of hexadecimal characters per line + static int hexChars(); + + static QActionGroup * copyActions(QObject * copyClass, QObject * data = Q_NULLPTR); + static DataPrinter * instance(); + +protected slots: + void copyIDataBytes(bool); + +private: + QString hexTextDump(const QByteArray printData, bool showASCII); + void binaryDump(const QByteArray printData); + + int byteLineLength_; +}; + +#endif // DATA_PRINTER_H -- cgit v1.2.3