Merge branch 'master' of http://192.168.100.140:8099/sane/code_app
This commit is contained in:
commit
304bb14215
|
@ -55,6 +55,7 @@ Dialog_Export::Dialog_Export(int total, const std::vector<int> &selectedIndexs,
|
||||||
ui->fileDialog->setAcceptMode(QFileDialog::AcceptSave);
|
ui->fileDialog->setAcceptMode(QFileDialog::AcceptSave);
|
||||||
ui->fileDialog->setWindowFlags(ui->fileDialog->windowFlags() & ~Qt::Dialog);
|
ui->fileDialog->setWindowFlags(ui->fileDialog->windowFlags() & ~Qt::Dialog);
|
||||||
ui->fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
|
ui->fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
|
||||||
|
ui->fileDialog->setOption(QFileDialog::ReadOnly, true); // disable 'Delete' menu item
|
||||||
ui->fileDialog->setSizeGripEnabled(false);
|
ui->fileDialog->setSizeGripEnabled(false);
|
||||||
|
|
||||||
// ui->fileDialog->setNameFilter("JPG - JPEG / JFIF(*.jpg);;"
|
// ui->fileDialog->setNameFilter("JPG - JPEG / JFIF(*.jpg);;"
|
||||||
|
|
|
@ -4,6 +4,58 @@
|
||||||
#include "HGUIGlobal.h"
|
#include "HGUIGlobal.h"
|
||||||
#include "app_cfg.h"
|
#include "app_cfg.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <qabstractproxymodel.h>
|
||||||
|
|
||||||
|
class del_delegate : public QAbstractProxyModel
|
||||||
|
{
|
||||||
|
QAbstractProxyModel* prev_ = nullptr;
|
||||||
|
QFileDialog* dlg_ = nullptr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
del_delegate(QFileDialog* fd) : dlg_(fd)
|
||||||
|
{
|
||||||
|
prev_ = dlg_->proxyModel();
|
||||||
|
dlg_->setProxyModel(this);
|
||||||
|
dlg_->setOption(QFileDialog::Option::ReadOnly, true);
|
||||||
|
}
|
||||||
|
~del_delegate()
|
||||||
|
{
|
||||||
|
dlg_->setProxyModel(prev_);
|
||||||
|
prev_ = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
|
||||||
|
{
|
||||||
|
return prev_->removeRows(row, count, parent);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual QModelIndex mapToSource(const QModelIndex &proxyIndex) const override
|
||||||
|
{
|
||||||
|
return prev_->mapToSource(proxyIndex);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual QModelIndex mapFromSource(const QModelIndex &sourceIndex) const override
|
||||||
|
{
|
||||||
|
return prev_->mapFromSource(sourceIndex);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
|
||||||
|
{
|
||||||
|
return prev_->rowCount(parent);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override
|
||||||
|
{
|
||||||
|
return prev_->columnCount(parent);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual QModelIndex index(int row, int column,
|
||||||
|
const QModelIndex &parent = QModelIndex()) const override
|
||||||
|
{
|
||||||
|
return prev_->index(row, column, parent);
|
||||||
|
}
|
||||||
|
Q_INVOKABLE virtual QModelIndex parent(const QModelIndex &child) const override
|
||||||
|
{
|
||||||
|
return prev_->parent(child);
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
Dialog_SaveAs::Dialog_SaveAs(QWidget *parent) :
|
Dialog_SaveAs::Dialog_SaveAs(QWidget *parent) :
|
||||||
QDialog(parent)
|
QDialog(parent)
|
||||||
|
@ -14,6 +66,7 @@ Dialog_SaveAs::Dialog_SaveAs(QWidget *parent) :
|
||||||
ui->fileDialog->setAcceptMode(QFileDialog::AcceptSave);
|
ui->fileDialog->setAcceptMode(QFileDialog::AcceptSave);
|
||||||
ui->fileDialog->setWindowFlags(ui->fileDialog->windowFlags() & ~Qt::Dialog);
|
ui->fileDialog->setWindowFlags(ui->fileDialog->windowFlags() & ~Qt::Dialog);
|
||||||
ui->fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
|
ui->fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
|
||||||
|
ui->fileDialog->setOption(QFileDialog::ReadOnly, true); // disable 'Delete' menu item
|
||||||
ui->fileDialog->setSizeGripEnabled(false);
|
ui->fileDialog->setSizeGripEnabled(false);
|
||||||
#if defined(OEM_LISICHENG) || defined(x86_64)
|
#if defined(OEM_LISICHENG) || defined(x86_64)
|
||||||
ui->fileDialog->setNameFilter("JPG - JPEG / JFIF(*.jpg);;"
|
ui->fileDialog->setNameFilter("JPG - JPEG / JFIF(*.jpg);;"
|
||||||
|
|
|
@ -289,6 +289,10 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
ui->act_autoSave->setToolTip(tr("when switching pictures, save the edited pictures directly without reminding"));
|
ui->act_autoSave->setToolTip(tr("when switching pictures, save the edited pictures directly without reminding"));
|
||||||
|
|
||||||
auto_save_info_.index = 0;
|
auto_save_info_.index = 0;
|
||||||
|
ui->act_device_log->setEnabled(false);
|
||||||
|
ui->act_driver_log->setEnabled(false);
|
||||||
|
ui->act_device_log->setText(QString::fromStdString("\345\257\274\345\207\272\350\256\276\345\244\207\346\227\245\345\277\227")); // 导出设备日志
|
||||||
|
ui->act_driver_log->setText(QString::fromStdString("\345\257\274\345\207\272\351\251\261\345\212\250\346\227\245\345\277\227")); // 导出驱动日志
|
||||||
|
|
||||||
SANE_Int v = 0;
|
SANE_Int v = 0;
|
||||||
sane_init_ex(&v, sane_ex_callback, this);
|
sane_init_ex(&v, sane_ex_callback, this);
|
||||||
|
@ -1401,6 +1405,8 @@ void MainWindow::updateActionStatus()
|
||||||
ui->act_insertFromScanner->setEnabled(cur_dev_.is_online() && !m_isScanning);
|
ui->act_insertFromScanner->setEnabled(cur_dev_.is_online() && !m_isScanning);
|
||||||
ui->menu_scan->setEnabled(cur_dev_.is_online() && !m_isScanning);
|
ui->menu_scan->setEnabled(cur_dev_.is_online() && !m_isScanning);
|
||||||
ui->menu_device->setEnabled(!cur_dev_.is_online() || !m_isScanning);
|
ui->menu_device->setEnabled(!cur_dev_.is_online() || !m_isScanning);
|
||||||
|
ui->act_device_log->setEnabled(m_admin_loggedIn && !m_isScanning && cur_dev_.is_online());
|
||||||
|
ui->act_driver_log->setEnabled(m_admin_loggedIn);
|
||||||
|
|
||||||
m_moveToAction->setEnabled(!selectIndexs.empty() && (!cur_dev_.is_online() || !m_isScanning));
|
m_moveToAction->setEnabled(!selectIndexs.empty() && (!cur_dev_.is_online() || !m_isScanning));
|
||||||
}
|
}
|
||||||
|
@ -3380,3 +3386,40 @@ void MainWindow::on_act_feedback_triggered()
|
||||||
Dialog_Feedback dlg(m_versionDll, this);
|
Dialog_Feedback dlg(m_versionDll, this);
|
||||||
dlg.exec();
|
dlg.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_act_driver_log_triggered()
|
||||||
|
{
|
||||||
|
char log_file_path[260] = {0};
|
||||||
|
unsigned int type = SANE_LogFileType::LOG_FILE_DRIVER;
|
||||||
|
SANE_Status statu = sane_hgsane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_LOG_FILE, log_file_path, &type);
|
||||||
|
if(statu == SANE_STATUS_GOOD)
|
||||||
|
{
|
||||||
|
if(log_file_path[0])
|
||||||
|
QDesktopServices::openUrl(QUrl::fromLocalFile(log_file_path));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(statu == SANE_STATUS_UNSUPPORTED) // 设备不支持该操作
|
||||||
|
QMessageBox::information(this, windowTitle(), QString::fromStdString("\350\256\276\345\244\207\344\270\215\346\224\257\346\214\201\350\257\245\346\223\215\344\275\234"));
|
||||||
|
else
|
||||||
|
QMessageBox::information(this, windowTitle(), QString::fromStdString("IO\351\224\231\350\257\257")); // IO错误
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_act_device_log_triggered()
|
||||||
|
{
|
||||||
|
char log_file_path[260] = {0};
|
||||||
|
unsigned int type = SANE_LogFileType::LOG_FILE_DEVICE;
|
||||||
|
SANE_Status statu = sane_hgsane_io_control(cur_dev_.handle(), IO_CTRL_CODE_GET_LOG_FILE, log_file_path, &type);
|
||||||
|
if(statu == SANE_STATUS_GOOD)
|
||||||
|
{
|
||||||
|
if(log_file_path[0])
|
||||||
|
QDesktopServices::openUrl(QUrl::fromLocalFile(log_file_path));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(statu == SANE_STATUS_UNSUPPORTED) // 设备不支持该操作
|
||||||
|
QMessageBox::information(this, windowTitle(), QString::fromStdString("\350\256\276\345\244\207\344\270\215\346\224\257\346\214\201\350\257\245\346\223\215\344\275\234"));
|
||||||
|
else
|
||||||
|
QMessageBox::information(this, windowTitle(), QString::fromStdString("IO\351\224\231\350\257\257")); // IO错误
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -210,6 +210,10 @@ private slots:
|
||||||
|
|
||||||
void on_act_feedback_triggered();
|
void on_act_feedback_triggered();
|
||||||
|
|
||||||
|
void on_act_driver_log_triggered();
|
||||||
|
|
||||||
|
void on_act_device_log_triggered();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void my_url_handler(const QUrl& url);
|
void my_url_handler(const QUrl& url);
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>800</width>
|
<width>800</width>
|
||||||
<height>22</height>
|
<height>36</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menu_file">
|
<widget class="QMenu" name="menu_file">
|
||||||
|
@ -142,6 +142,8 @@
|
||||||
<addaction name="act_signOut"/>
|
<addaction name="act_signOut"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="act_log"/>
|
<addaction name="act_log"/>
|
||||||
|
<addaction name="act_device_log"/>
|
||||||
|
<addaction name="act_driver_log"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="act_clrCache"/>
|
<addaction name="act_clrCache"/>
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
|
@ -592,6 +594,16 @@
|
||||||
<string>act_feedback</string>
|
<string>act_feedback</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="act_device_log">
|
||||||
|
<property name="text">
|
||||||
|
<string>act_device_log</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="act_driver_log">
|
||||||
|
<property name="text">
|
||||||
|
<string>act_driver_log</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
|
Loading…
Reference in New Issue