XPlor/app/binaryexportdialog.h
njohnson d7488c5fa9 Add comprehensive export system with format-specific dialogs
Implement a unified export system for extracting data from parsed files:

ExportManager (singleton):
- Centralized export handling for all content types
- Content type detection (image, audio, video, text, binary)
- Batch export support with progress tracking

Format-specific export dialogs:
- ImageExportDialog: PNG, JPEG, BMP, TGA with quality options
- AudioExportDialog: WAV, MP3, OGG with FFmpeg integration
- BinaryExportDialog: Raw data export with optional decompression
- BatchExportDialog: Recursive export with filtering options
- Base ExportDialog class for common functionality

Settings additions:
- FFmpeg path configuration with auto-detection
- Search common install locations and PATH

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 20:54:38 -05:00

39 lines
789 B
C++

#ifndef BINARYEXPORTDIALOG_H
#define BINARYEXPORTDIALOG_H
#include "exportdialog.h"
class QPlainTextEdit;
class QSpinBox;
/**
* @brief Export dialog for binary/raw data with hex preview.
*
* Shows a hex dump preview of the data and provides options
* for raw binary export.
*/
class BinaryExportDialog : public ExportDialog
{
Q_OBJECT
public:
explicit BinaryExportDialog(QWidget *parent = nullptr);
protected:
void setupPreview() override;
void updatePreview() override;
QStringList supportedFormats() const override;
private:
void updateHexPreview();
QPlainTextEdit* mHexPreview;
QLabel* mSizeLabel;
// Preview settings
int mBytesPerLine;
int mPreviewBytes; // How many bytes to show in preview
};
#endif // BINARYEXPORTDIALOG_H