code_app/app/scanner/dialog_export.h

86 lines
2.1 KiB
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#ifndef DIALOG_EXPORT_H
#define DIALOG_EXPORT_H
#include <QDialog>
2023-02-17 01:20:12 +00:00
#include <vector>
2022-05-03 10:25:52 +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-03 10:25:52 +00:00
class Dialog_Export : public QDialog
#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-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();
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);
int getOcrLanguageType();
2022-05-03 10:25:52 +00:00
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);
#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