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->setWindowFlags(ui->fileDialog->windowFlags() & ~Qt::Dialog);
|
||||
ui->fileDialog->setOption(QFileDialog::DontUseNativeDialog, true);
|
||||
ui->fileDialog->setOption(QFileDialog::ReadOnly, true); // disable 'Delete' menu item
|
||||
ui->fileDialog->setSizeGripEnabled(false);
|
||||
|
||||
// ui->fileDialog->setNameFilter("JPG - JPEG / JFIF(*.jpg);;"
|
||||
|
|
|
@ -4,6 +4,58 @@
|
|||
#include "HGUIGlobal.h"
|
||||
#include "app_cfg.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) :
|
||||
QDialog(parent)
|
||||
|
@ -13,7 +65,8 @@ Dialog_SaveAs::Dialog_SaveAs(QWidget *parent) :
|
|||
|
||||
ui->fileDialog->setAcceptMode(QFileDialog::AcceptSave);
|
||||
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);
|
||||
#if defined(OEM_LISICHENG) || defined(x86_64)
|
||||
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"));
|
||||
|
||||
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_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->menu_scan->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));
|
||||
}
|
||||
|
@ -3380,3 +3386,40 @@ void MainWindow::on_act_feedback_triggered()
|
|||
Dialog_Feedback dlg(m_versionDll, this);
|
||||
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_driver_log_triggered();
|
||||
|
||||
void on_act_device_log_triggered();
|
||||
|
||||
public slots:
|
||||
void my_url_handler(const QUrl& url);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>800</width>
|
||||
<height>22</height>
|
||||
<height>36</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menu_file">
|
||||
|
@ -142,6 +142,8 @@
|
|||
<addaction name="act_signOut"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="act_log"/>
|
||||
<addaction name="act_device_log"/>
|
||||
<addaction name="act_driver_log"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="act_clrCache"/>
|
||||
<addaction name="separator"/>
|
||||
|
@ -592,6 +594,16 @@
|
|||
<string>act_feedback</string>
|
||||
</property>
|
||||
</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>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
Loading…
Reference in New Issue