2023-12-05 09:50:02 +00:00
|
|
|
|
#ifndef DIALOG_EXPORT_H
|
2022-05-03 10:25:52 +00:00
|
|
|
|
#define DIALOG_EXPORT_H
|
|
|
|
|
|
|
|
|
|
#include <QDialog>
|
2023-02-17 01:20:12 +00:00
|
|
|
|
#include <vector>
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
2022-05-25 08:52:55 +00:00
|
|
|
|
// u can ONLY comment following line if u want to use filedialog as system present !
|
|
|
|
|
#include "custom_file_dialog.h"
|
|
|
|
|
|
2023-02-17 01:20:12 +00:00
|
|
|
|
struct SupportType
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
SupportType(const QString &e, const QString &t, int a)
|
|
|
|
|
{
|
|
|
|
|
ext = e;
|
|
|
|
|
title = t;
|
|
|
|
|
attr = a;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString ext;
|
|
|
|
|
QString title;
|
|
|
|
|
int attr;
|
|
|
|
|
};
|
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
namespace Ui {
|
|
|
|
|
class Dialog_Export;
|
|
|
|
|
}
|
|
|
|
|
|
2022-05-25 08:52:55 +00:00
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
class Dialog_Export : public QDialog
|
2022-05-25 08:52:55 +00:00
|
|
|
|
#ifdef USE_FILE_DLG_WITHOUT_PROMPT
|
|
|
|
|
, public custom_file_dlg<Dialog_Export>
|
|
|
|
|
#endif
|
2022-05-03 10:25:52 +00:00
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
2022-05-25 08:52:55 +00:00
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
public:
|
|
|
|
|
explicit Dialog_Export(int total, const std::vector<int> &selectedIndexs, QWidget *parent = nullptr);
|
|
|
|
|
~Dialog_Export();
|
|
|
|
|
|
|
|
|
|
QString getSavePath();
|
|
|
|
|
QString getSaveName();
|
|
|
|
|
QString getSaveExt();
|
2022-05-13 12:38:58 +00:00
|
|
|
|
int getJpegQuality();
|
|
|
|
|
int getTiffCompressionBW();
|
|
|
|
|
int getTiffCompression();
|
|
|
|
|
int getTiffQuality();
|
2022-05-16 09:00:08 +00:00
|
|
|
|
bool isOcr();
|
2022-05-03 10:25:52 +00:00
|
|
|
|
bool isSaveAsMultiPage();
|
|
|
|
|
void getSaveIndexs(std::vector<int> &indexs);
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
void on_dialog_accepted();
|
|
|
|
|
void on_filterSelected(const QString& filterName);
|
|
|
|
|
void on_btn_option_clicked();
|
|
|
|
|
void on_radio_nominatedPages_toggled(bool checked);
|
|
|
|
|
void on_lineEdit_nominatePages_textChanged(const QString& arg1);
|
2023-12-05 09:50:02 +00:00
|
|
|
|
void on_editingFinished();
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
2022-05-25 08:52:55 +00:00
|
|
|
|
#ifdef USE_FILE_DLG_WITHOUT_PROMPT
|
|
|
|
|
void on_file_dialog_textChanged(const QString &path) override;
|
|
|
|
|
void on_file_dialog_returnPressed() override;
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-05-03 10:25:52 +00:00
|
|
|
|
private:
|
|
|
|
|
bool isNominatedPagesLegal(const QString& page);
|
|
|
|
|
void makeSaveIndexs();
|
2022-05-26 08:25:55 +00:00
|
|
|
|
bool is_support_file_type(const QString& ext); // ext is like as '.bmp' '.png' ...
|
|
|
|
|
bool avoid_overwriting(const QString& path_file); // 判断文件是否存在,若存在则提示用户是否覆盖。返回true表示用户希望重新选择
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
Ui::Dialog_Export *ui;
|
2023-02-17 01:20:12 +00:00
|
|
|
|
std::vector<SupportType> m_supportType;
|
2022-05-03 10:25:52 +00:00
|
|
|
|
int m_total;
|
|
|
|
|
std::vector<int> m_selectedIndexs;
|
|
|
|
|
|
|
|
|
|
QString m_savePath;
|
|
|
|
|
QString m_saveName;
|
|
|
|
|
QString m_saveExt;
|
|
|
|
|
std::vector<int> m_saveIndexs;
|
|
|
|
|
int m_suffix;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // DIALOG_EXPORT_H
|