xca/widgets/ExportDialog.h
Christian Hohnstaedt 46c1b78577 Close #88: Export to multiple files
Extend the ExportFile dialog by a checkbox to
switch between "all-in-one-file" or every item in a separate
file. It is only visible if more than one file is selected.
Activating the checkbox will:
 - Change the file-input into a directory-input and cut off the
   file name
 - Disabling all formats that are intended for multiple items.
De-activating the checkbox will:
 - Change the directory-input back into a file-input
   and append the previously erased file name again.
 - Disabling all export-formats that are only useful for single items.
2024-09-14 01:13:18 +02:00

45 lines
1.0 KiB
C++

/* vi: set sw=4 ts=4:
*
* Copyright (C) 2014 Christian Hohnstaedt.
*
* All rights reserved.
*/
#ifndef __EXPORTDIALOG_H
#define __EXPORTDIALOG_H
#include "ui_ExportDialog.h"
#include "lib/pki_export.h"
#include <QModelIndexList>
class QPixmap;
class pki_base;
class ExportDialog: public QDialog, public Ui::ExportDialog
{
Q_OBJECT
protected:
QString filter{}, savedFile{}, filenameLabelOrig{};
QList<const pki_export*> alltypes;
public:
ExportDialog(QWidget *w, const QString &title, const QString &filt,
const QModelIndexList &indexes, const QPixmap &img,
QList<const pki_export*> types,
const QString &help_ctx = QString());
~ExportDialog();
static bool mayWriteFile(const QString &fname);
const pki_export *export_type(int idx = -1) const;
void setupExportFormat(int disable_flag);
public slots:
void on_fileBut_clicked();
void on_separateFiles_clicked(bool checked);
void on_exportFormat_activated(int);
void on_exportFormat_highlighted(int index);
void accept();
};
#endif