将设备配置类改为基于sane句柄
This commit is contained in:
parent
f483a44d09
commit
ad1cc486eb
|
@ -3,7 +3,7 @@
|
|||
#include "mainwindow.h"
|
||||
#include <QMessageBox>
|
||||
|
||||
Dialog_Add::Dialog_Add(class MainWindow *mainWnd)
|
||||
Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType)
|
||||
: QDialog(mainWnd)
|
||||
, ui(new Ui::Dialog_Add)
|
||||
, m_mainWnd(mainWnd)
|
||||
|
@ -11,30 +11,26 @@ Dialog_Add::Dialog_Add(class MainWindow *mainWnd)
|
|||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||||
// 添加
|
||||
this->setWindowTitle(tr("Add"));
|
||||
this->setWindowTitle(tr("Add") + " (" + QString(deviceType.c_str()) + ")");
|
||||
|
||||
ui->comboBoxDeviceType->addItem("G100");
|
||||
ui->comboBoxDeviceType->addItem("G200");
|
||||
ui->comboBoxDeviceType->addItem("G300");
|
||||
ui->comboBoxDeviceType->addItem("G400");
|
||||
// TODO 通过devHandle获取支持的按钮,并添加到下拉列表
|
||||
ui->comboBoxButtonType->addItem("Button 1");
|
||||
ui->comboBoxButtonType->addItem("Button 2");
|
||||
ui->comboBoxButtonType->addItem("Button 3");
|
||||
|
||||
m_scanParam.deviceType = DeviceType(ui->comboBoxDeviceType->currentIndex() + 1);
|
||||
m_scanParam.deviceType = deviceType;
|
||||
m_scanParam.buttonType = ButtonType(ui->comboBoxButtonType->currentIndex() + 1);
|
||||
m_scanParam.deviceConfig.clear();
|
||||
m_scanParam.saveParam = Form_SaveParam::GetDefSaveParam();
|
||||
|
||||
m_formDeviceConfig = new Form_DeviceConfig(m_scanParam.deviceType, m_scanParam.deviceConfig, this);
|
||||
m_formDeviceConfig = new Form_DeviceConfig(devHandle, m_scanParam.deviceConfig, this);
|
||||
m_formSaveParam = new Form_SaveParam(m_scanParam.saveParam, this);
|
||||
ui->stackedWidget->addWidget(m_formDeviceConfig);
|
||||
ui->stackedWidget->addWidget(m_formSaveParam);
|
||||
ui->stackedWidget->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
Dialog_Add::Dialog_Add(class MainWindow *mainWnd, const ScanParam &scanParam, int index)
|
||||
Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index)
|
||||
: QDialog(mainWnd)
|
||||
, ui(new Ui::Dialog_Add)
|
||||
, m_mainWnd(mainWnd)
|
||||
|
@ -42,22 +38,17 @@ Dialog_Add::Dialog_Add(class MainWindow *mainWnd, const ScanParam &scanParam, in
|
|||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||||
// 修改
|
||||
this->setWindowTitle(tr("Modify"));
|
||||
this->setWindowTitle(tr("Modify") + " (" + QString(scanParam.deviceType.c_str()) + ")");
|
||||
|
||||
ui->comboBoxDeviceType->addItem("G100");
|
||||
ui->comboBoxDeviceType->addItem("G200");
|
||||
ui->comboBoxDeviceType->addItem("G300");
|
||||
ui->comboBoxDeviceType->addItem("G400");
|
||||
// TODO 通过devHandle获取支持的按钮,并添加到下拉列表
|
||||
ui->comboBoxButtonType->addItem("Button 1");
|
||||
ui->comboBoxButtonType->addItem("Button 2");
|
||||
ui->comboBoxButtonType->addItem("Button 3");
|
||||
|
||||
m_scanParam = scanParam;
|
||||
ui->comboBoxDeviceType->setCurrentIndex(m_scanParam.deviceType - 1);
|
||||
ui->comboBoxButtonType->setCurrentIndex(m_scanParam.buttonType - 1);
|
||||
|
||||
m_formDeviceConfig = new Form_DeviceConfig(m_scanParam.deviceType, m_scanParam.deviceConfig, this);
|
||||
m_formDeviceConfig = new Form_DeviceConfig(devHandle, m_scanParam.deviceConfig, this);
|
||||
m_formSaveParam = new Form_SaveParam(m_scanParam.saveParam, this);
|
||||
ui->stackedWidget->addWidget(m_formDeviceConfig);
|
||||
ui->stackedWidget->addWidget(m_formSaveParam);
|
||||
|
@ -86,13 +77,6 @@ void Dialog_Add::on_pushButtonSaveParam_clicked()
|
|||
ui->stackedWidget->setCurrentIndex(1);
|
||||
}
|
||||
|
||||
void Dialog_Add::on_comboBoxDeviceType_currentIndexChanged(int index)
|
||||
{
|
||||
m_scanParam.deviceType = DeviceType(index + 1);
|
||||
m_scanParam.deviceConfig.clear();
|
||||
m_formDeviceConfig->Update(m_scanParam.deviceType, m_scanParam.deviceConfig);
|
||||
}
|
||||
|
||||
void Dialog_Add::on_comboBoxButtonType_currentIndexChanged(int index)
|
||||
{
|
||||
m_scanParam.buttonType = ButtonType(index + 1);
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define DIALOG_ADD_H
|
||||
|
||||
#include <QDialog>
|
||||
#include "sane/sane_ex.h"
|
||||
#include "form_deviceconfig.h"
|
||||
#include "form_saveparam.h"
|
||||
|
||||
|
@ -18,7 +19,7 @@ enum ButtonType
|
|||
|
||||
struct ScanParam
|
||||
{
|
||||
DeviceType deviceType;
|
||||
std::string deviceType;
|
||||
ButtonType buttonType;
|
||||
std::string deviceConfig;
|
||||
SaveParam saveParam;
|
||||
|
@ -29,8 +30,8 @@ class Dialog_Add : public QDialog
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Dialog_Add(class MainWindow *mainWnd);
|
||||
Dialog_Add(class MainWindow *mainWnd, const ScanParam &scanParam, int index);
|
||||
explicit Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType);
|
||||
Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index);
|
||||
~Dialog_Add();
|
||||
|
||||
ScanParam GetScanParam();
|
||||
|
@ -40,8 +41,6 @@ private slots:
|
|||
|
||||
void on_pushButtonSaveParam_clicked();
|
||||
|
||||
void on_comboBoxDeviceType_currentIndexChanged(int index);
|
||||
|
||||
void on_comboBoxButtonType_currentIndexChanged(int index);
|
||||
|
||||
void on_pushButtonOK_clicked();
|
||||
|
|
|
@ -19,18 +19,7 @@
|
|||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>设备类型:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxDeviceType"/>
|
||||
</item>
|
||||
</layout>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
|
|
|
@ -7,18 +7,111 @@ Dialog_Scan::Dialog_Scan(class MainWindow *mainWnd)
|
|||
: QDialog(nullptr)
|
||||
, ui(new Ui::Dialog_Scan)
|
||||
, m_mainWnd(mainWnd)
|
||||
, m_devHandle(nullptr)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||||
|
||||
connect(this, SIGNAL(deviceArrive(QString)), this, SLOT(on_deviceArrive(QString)));
|
||||
connect(this, SIGNAL(deviceRemove(QString)), this, SLOT(on_deviceRemove(QString)));
|
||||
|
||||
SANE_Int version_code = 0;
|
||||
sane_init_ex(&version_code, sane_ex_callback, this);
|
||||
}
|
||||
|
||||
Dialog_Scan::~Dialog_Scan()
|
||||
{
|
||||
if (NULL != m_devHandle)
|
||||
{
|
||||
sane_cancel(m_devHandle);
|
||||
sane_close(m_devHandle);
|
||||
m_devHandle = NULL;
|
||||
m_devName.clear();
|
||||
}
|
||||
|
||||
sane_exit();
|
||||
|
||||
delete ui;
|
||||
}
|
||||
|
||||
int Dialog_Scan::sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param)
|
||||
{
|
||||
(void)hdev;
|
||||
(void)len;
|
||||
|
||||
Dialog_Scan* p = (Dialog_Scan*)param;
|
||||
switch (code)
|
||||
{
|
||||
case SANE_EVENT_DEVICE_ARRIVED:
|
||||
{
|
||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||
emit p->deviceArrive(sane_dev->name);
|
||||
}
|
||||
break;
|
||||
case SANE_EVENT_DEVICE_LEFT:
|
||||
{
|
||||
SANE_Device* sane_dev = (SANE_Device*)data;
|
||||
emit p->deviceRemove(sane_dev->name);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Dialog_Scan::closeEvent(QCloseEvent *e)
|
||||
{
|
||||
hide(); // 隐藏主窗口
|
||||
e->ignore(); //忽略关闭事件,这样才不会关闭程序
|
||||
}
|
||||
|
||||
void Dialog_Scan::on_deviceArrive(QString devName)
|
||||
{
|
||||
ui->comboBox->addItem(devName);
|
||||
if (nullptr == m_devHandle)
|
||||
{
|
||||
SANE_Status status = sane_open(devName.toStdString().c_str(), &m_devHandle);
|
||||
if (SANE_STATUS_GOOD == status)
|
||||
{
|
||||
m_devName = devName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Dialog_Scan::on_deviceRemove(QString devName)
|
||||
{
|
||||
if (devName == m_devName)
|
||||
{
|
||||
assert(NULL != m_devHandle);
|
||||
sane_cancel(m_devHandle);
|
||||
sane_close(m_devHandle);
|
||||
m_devHandle = NULL;
|
||||
m_devName.clear();
|
||||
}
|
||||
|
||||
for (int i = 0; i < ui->comboBox->count(); ++i)
|
||||
{
|
||||
if (ui->comboBox->itemText(i) == devName)
|
||||
{
|
||||
ui->comboBox->removeItem(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Dialog_Scan::on_comboBox_currentIndexChanged(const QString &arg1)
|
||||
{
|
||||
if (NULL != m_devHandle)
|
||||
{
|
||||
sane_cancel(m_devHandle);
|
||||
sane_close(m_devHandle);
|
||||
m_devHandle = NULL;
|
||||
m_devName.clear();
|
||||
}
|
||||
|
||||
SANE_Status status = sane_open(arg1.toStdString().c_str(), &m_devHandle);
|
||||
if (SANE_STATUS_GOOD == status)
|
||||
{
|
||||
m_devName = arg1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
#define DIALOG_SCAN_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <vector>
|
||||
#include "sane/sane_ex.h"
|
||||
#include "sane/sane_option_definitions.h"
|
||||
|
||||
namespace Ui {
|
||||
class Dialog_Scan;
|
||||
|
@ -11,16 +14,32 @@ class Dialog_Scan : public QDialog
|
|||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class MainWindow;
|
||||
public:
|
||||
explicit Dialog_Scan(class MainWindow *mainWnd);
|
||||
~Dialog_Scan();
|
||||
|
||||
private:
|
||||
static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param);
|
||||
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent *e) override;
|
||||
|
||||
signals:
|
||||
void deviceArrive(QString devName);
|
||||
void deviceRemove(QString devName);
|
||||
|
||||
private slots:
|
||||
void on_deviceArrive(QString devName);
|
||||
void on_deviceRemove(QString devName);
|
||||
|
||||
void on_comboBox_currentIndexChanged(const QString &arg1);
|
||||
|
||||
private:
|
||||
Ui::Dialog_Scan *ui;
|
||||
class MainWindow *m_mainWnd;
|
||||
QString m_devName;
|
||||
SANE_Handle m_devHandle;
|
||||
};
|
||||
|
||||
#endif // DIALOG_SCAN_H
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#include "form_deviceconfig.h"
|
||||
#include "ui_form_deviceconfig.h"
|
||||
|
||||
Form_DeviceConfig::Form_DeviceConfig(DeviceType deviceType, const std::string &deviceConfig, QWidget *parent)
|
||||
Form_DeviceConfig::Form_DeviceConfig(SANE_Handle devHandle, const std::string &deviceConfig, QWidget *parent)
|
||||
: QWidget(parent)
|
||||
, ui(new Ui::Form_DeviceConfig)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
Update(deviceType, deviceConfig);
|
||||
CreateUI(devHandle, deviceConfig);
|
||||
}
|
||||
|
||||
Form_DeviceConfig::~Form_DeviceConfig()
|
||||
|
@ -14,11 +14,6 @@ Form_DeviceConfig::~Form_DeviceConfig()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
void Form_DeviceConfig::Update(DeviceType deviceType, const std::string &deviceConfig)
|
||||
{
|
||||
// TODO 展示界面
|
||||
}
|
||||
|
||||
std::string Form_DeviceConfig::GetDeviceConfig()
|
||||
{
|
||||
std::string deviceConfig;
|
||||
|
@ -27,3 +22,8 @@ std::string Form_DeviceConfig::GetDeviceConfig()
|
|||
|
||||
return deviceConfig;
|
||||
}
|
||||
|
||||
void Form_DeviceConfig::CreateUI(SANE_Handle devHandle, const std::string &deviceConfig)
|
||||
{
|
||||
// 创建UI
|
||||
}
|
||||
|
|
|
@ -2,30 +2,25 @@
|
|||
#define FORM_DEVICECONFIG_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "sane/sane_ex.h"
|
||||
|
||||
namespace Ui {
|
||||
class Form_DeviceConfig;
|
||||
}
|
||||
|
||||
enum DeviceType
|
||||
{
|
||||
DeviceType_G100 = 1,
|
||||
DeviceType_G200,
|
||||
DeviceType_G300,
|
||||
DeviceType_G400
|
||||
};
|
||||
|
||||
class Form_DeviceConfig : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Form_DeviceConfig(DeviceType deviceType, const std::string &deviceConfig, QWidget *parent = nullptr);
|
||||
explicit Form_DeviceConfig(SANE_Handle devHandle, const std::string &deviceConfig, QWidget *parent = nullptr);
|
||||
~Form_DeviceConfig();
|
||||
|
||||
void Update(DeviceType deviceType, const std::string &deviceConfig);
|
||||
std::string GetDeviceConfig();
|
||||
|
||||
private:
|
||||
void CreateUI(SANE_Handle devHandle, const std::string &deviceConfig);
|
||||
|
||||
private:
|
||||
Ui::Form_DeviceConfig *ui;
|
||||
};
|
||||
|
|
|
@ -44,8 +44,8 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
ui->tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("Button Type"));
|
||||
ui->tableWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("Device Config"));
|
||||
ui->tableWidget->setHorizontalHeaderItem(3, new QTableWidgetItem("Save Param"));
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Fixed);
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch);
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(3, QHeaderView::Stretch);
|
||||
|
||||
|
@ -57,8 +57,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
{
|
||||
ui->tableWidget->setRowHeight(index, 30);
|
||||
|
||||
const char *devTypeStr[] = {NULL, "G100", "G200", "G300", "G400"};
|
||||
ui->tableWidget->setItem(index, 0, new QTableWidgetItem(devTypeStr[m_vScanParams[index].deviceType]));
|
||||
ui->tableWidget->setItem(index, 0, new QTableWidgetItem(QString(m_vScanParams[index].deviceType.c_str())));
|
||||
ui->tableWidget->item(index, 0)->setTextAlignment(Qt::AlignCenter);
|
||||
ui->tableWidget->item(index, 0)->setFlags(ui->tableWidget->item(index, 0)->flags() & ~Qt::ItemIsEditable);
|
||||
|
||||
|
@ -85,7 +84,7 @@ MainWindow::~MainWindow()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
bool MainWindow::GetScanParam(DeviceType deviceType, ButtonType buttonType, ScanParam &scanParam)
|
||||
bool MainWindow::GetScanParam(const std::string &deviceType, ButtonType buttonType, ScanParam &scanParam)
|
||||
{
|
||||
for (int i = 0; i < (int)m_vScanParams.size(); ++i)
|
||||
{
|
||||
|
@ -99,7 +98,7 @@ bool MainWindow::GetScanParam(DeviceType deviceType, ButtonType buttonType, Scan
|
|||
return false;
|
||||
}
|
||||
|
||||
bool MainWindow::FindScanParam(DeviceType deviceType, ButtonType buttonType, int ignoreIndex)
|
||||
bool MainWindow::FindScanParam(const std::string &deviceType, ButtonType buttonType, int ignoreIndex)
|
||||
{
|
||||
for (int i = 0; i < (int)m_vScanParams.size(); ++i)
|
||||
{
|
||||
|
@ -183,7 +182,21 @@ void MainWindow::on_showMainWindowDlg()
|
|||
|
||||
void MainWindow::on_pushButtonAdd_clicked()
|
||||
{
|
||||
Dialog_Add dlg(this);
|
||||
if (NULL == m_scanDlg->m_devHandle)
|
||||
{
|
||||
QMessageBox::information(this, tr("Tips"), tr("Device is offline"));
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO 获取m_scanDlg->m_devHandle是否支持按键扫描
|
||||
if (0)
|
||||
{
|
||||
QMessageBox::information(this, tr("Tips"), tr("The device does not support key scanning"));
|
||||
return;
|
||||
}
|
||||
|
||||
std::string deviceType = m_scanDlg->m_devName.toStdString(); // TODO 获取m_scanDlg->m_devHandle设备类型
|
||||
Dialog_Add dlg(m_scanDlg->m_devHandle, this, deviceType);
|
||||
if (dlg.exec())
|
||||
{
|
||||
ScanParam scanParam = dlg.GetScanParam();
|
||||
|
@ -195,8 +208,7 @@ void MainWindow::on_pushButtonAdd_clicked()
|
|||
|
||||
ui->tableWidget->setRowHeight(index, 30);
|
||||
|
||||
const char *devTypeStr[] = {NULL, "G100", "G200", "G300", "G400"};
|
||||
ui->tableWidget->setItem(index, 0, new QTableWidgetItem(devTypeStr[m_vScanParams[index].deviceType]));
|
||||
ui->tableWidget->setItem(index, 0, new QTableWidgetItem(QString(m_vScanParams[index].deviceType.c_str())));
|
||||
ui->tableWidget->item(index, 0)->setTextAlignment(Qt::AlignCenter);
|
||||
ui->tableWidget->item(index, 0)->setFlags(ui->tableWidget->item(index, 0)->flags() & ~Qt::ItemIsEditable);
|
||||
|
||||
|
@ -226,15 +238,27 @@ void MainWindow::on_pushButtonModify_clicked()
|
|||
return;
|
||||
}
|
||||
|
||||
Dialog_Add dlg(this, m_vScanParams[index], index);
|
||||
if (NULL == m_scanDlg->m_devHandle)
|
||||
{
|
||||
QMessageBox::information(this, tr("Tips"), tr("Device is offline"));
|
||||
return;
|
||||
}
|
||||
|
||||
std::string deviceType = m_scanDlg->m_devName.toStdString(); // TODO 获取m_scanDlg->m_devHandle设备类型
|
||||
if (deviceType != m_vScanParams[index].deviceType)
|
||||
{
|
||||
QMessageBox::information(this, tr("Tips"), tr("Device type mismatch"));
|
||||
return;
|
||||
}
|
||||
|
||||
Dialog_Add dlg(m_scanDlg->m_devHandle, this, m_vScanParams[index], index);
|
||||
if (dlg.exec())
|
||||
{
|
||||
ScanParam scanParam = dlg.GetScanParam();
|
||||
m_vScanParams[index] = scanParam;
|
||||
// TODO 保存m_vScanParams
|
||||
|
||||
const char *devTypeStr[] = {NULL, "G100", "G200", "G300", "G400"};
|
||||
ui->tableWidget->item(index, 0)->setText(QString::fromStdString(devTypeStr[m_vScanParams[index].deviceType]));
|
||||
ui->tableWidget->item(index, 0)->setText(QString::fromStdString(m_vScanParams[index].deviceType));
|
||||
|
||||
const char *btnTypeStr[] = {NULL, "Button 1", "Button 2", "Button 3"};
|
||||
ui->tableWidget->item(index, 1)->setText(QString::fromStdString(btnTypeStr[m_vScanParams[index].buttonType]));
|
||||
|
|
|
@ -21,8 +21,8 @@ public:
|
|||
MainWindow(QWidget *parent = nullptr);
|
||||
~MainWindow();
|
||||
|
||||
bool GetScanParam(DeviceType deviceType, ButtonType buttonType, ScanParam &scanParam);
|
||||
bool FindScanParam(DeviceType deviceType, ButtonType buttonType, int ignoreIndex);
|
||||
bool GetScanParam(const std::string &deviceType, ButtonType buttonType, ScanParam &scanParam);
|
||||
bool FindScanParam(const std::string &deviceType, ButtonType buttonType, int ignoreIndex);
|
||||
|
||||
private:
|
||||
QString GetDesc(const std::string &deviceConfig);
|
||||
|
|
|
@ -48,7 +48,9 @@ win32 {
|
|||
|
||||
LIBS += -lgdi32 -lgdiplus -ldbghelp -luser32 -ladvapi32
|
||||
LIBS += -L$$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base -l$${OEM_PREFIX}ImgFmt -l$${OEM_PREFIX}ImgProc
|
||||
LIBS += -L$$PWD/../../../../sdk/lib/win/$${MY_ARCH}/OEM/$${OEM_NAME} -lsanexy
|
||||
|
||||
# sane.dll
|
||||
LIBS += -L$$PWD/../../../../release/win/$${MY_ARCH}/OEM/$${OEM_NAME}
|
||||
}
|
||||
|
||||
|
@ -56,6 +58,7 @@ INCLUDEPATH += $$PWD/../../../modules
|
|||
INCLUDEPATH += $$PWD/../../../utility
|
||||
INCLUDEPATH += $$PWD/../../../third_party/sqlite
|
||||
INCLUDEPATH += $$PWD/../../../third_party/json
|
||||
INCLUDEPATH += $$PWD/../../../../sdk/include
|
||||
|
||||
DESTDIR = $$PWD/../../build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}
|
||||
UI_DIR = $$PWD/../../temp/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE}/$${TARGET}
|
||||
|
|
Loading…
Reference in New Issue