HGGitLab

Commit 0e487eb1 authored by luoliangyi's avatar luoliangyi

1.增加日志自动滚动功能

2.扫描错误自动显示日志对话框
parent 0c4e1426
Pipeline #16 canceled with stages
This diff is collapsed.
#include "dialog_log.h" #include "dialog_log.h"
#include "ui_dialog_log.h" #include "ui_dialog_log.h"
#include <QDateTime> #include <QDateTime>
#include "app_cfg.h"
dialog_log::dialog_log(QWidget *parent) dialog_log::dialog_log(QWidget *parent)
: QDialog(parent) : QDialog(parent)
...@@ -10,6 +11,7 @@ dialog_log::dialog_log(QWidget *parent) ...@@ -10,6 +11,7 @@ dialog_log::dialog_log(QWidget *parent)
QHBoxLayout *bottom = new QHBoxLayout(); QHBoxLayout *bottom = new QHBoxLayout();
pbtn_clear = new QPushButton(this); pbtn_clear = new QPushButton(this);
cBox_autoScroll = new QCheckBox(this);
pbtn_stop = new QPushButton(this); pbtn_stop = new QPushButton(this);
pbtn_continueScan = new QPushButton(this); pbtn_continueScan = new QPushButton(this);
pbtn_finishScan = new QPushButton(this); pbtn_finishScan = new QPushButton(this);
...@@ -19,11 +21,13 @@ dialog_log::dialog_log(QWidget *parent) ...@@ -19,11 +21,13 @@ dialog_log::dialog_log(QWidget *parent)
pbtn_finishScan->setVisible(false); pbtn_finishScan->setVisible(false);
pbtn_stop->setText(tr("cancel scan")); pbtn_stop->setText(tr("cancel scan"));
cBox_autoScroll->setText(tr("auto scroll"));
pbtn_clear->setText(tr("clear")); pbtn_clear->setText(tr("clear"));
pbtn_continueScan->setText(tr("continue scan")); pbtn_continueScan->setText(tr("continue scan"));
pbtn_finishScan->setText(tr("finish scan")); pbtn_finishScan->setText(tr("finish scan"));
bottom->addWidget(pbtn_clear); bottom->addWidget(pbtn_clear);
bottom->addWidget(cBox_autoScroll);
bottom->addStretch(); bottom->addStretch();
bottom->addWidget(pbtn_stop); bottom->addWidget(pbtn_stop);
bottom->addWidget(pbtn_continueScan); bottom->addWidget(pbtn_continueScan);
...@@ -31,6 +35,9 @@ dialog_log::dialog_log(QWidget *parent) ...@@ -31,6 +35,9 @@ dialog_log::dialog_log(QWidget *parent)
ui->verticalLayout->addItem(bottom); ui->verticalLayout->addItem(bottom);
cBox_autoScroll->setChecked(getCfgValue("log", "autoScroll", false));
connect(cBox_autoScroll, SIGNAL(stateChanged(int)), this, SLOT(on_cbox_autoScroll_stateChanged(int)));
connect(pbtn_stop, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_stop_clicked())); connect(pbtn_stop, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_stop_clicked()));
connect(pbtn_clear, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_clear_clicked())); connect(pbtn_clear, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_clear_clicked()));
connect(pbtn_continueScan, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_continuScan_cliked())); connect(pbtn_continueScan, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_continuScan_cliked()));
...@@ -60,6 +67,11 @@ void dialog_log::addLog(const QString &log, bool err) ...@@ -60,6 +67,11 @@ void dialog_log::addLog(const QString &log, bool err)
int idx = ui->listWidget->count() - 1; int idx = ui->listWidget->count() - 1;
if (idx >= 0) if (idx >= 0)
ui->listWidget->item(idx)->setTextColor(err ? Qt::red : Qt::black); ui->listWidget->item(idx)->setTextColor(err ? Qt::red : Qt::black);
if (cBox_autoScroll->isChecked())
{
ui->listWidget->scrollToItem(ui->listWidget->item(idx));
}
} }
void dialog_log::updateStatus(bool online, bool isScanning) void dialog_log::updateStatus(bool online, bool isScanning)
...@@ -103,6 +115,11 @@ void dialog_log::on_pbtn_finishScan_cliked() ...@@ -103,6 +115,11 @@ void dialog_log::on_pbtn_finishScan_cliked()
close(); close();
} }
void dialog_log::on_cbox_autoScroll_stateChanged(int state)
{
saveCfgValue("log", "autoScroll", cBox_autoScroll->isChecked());
}
void dialog_log::on_pbtn_stop_clicked(void) void dialog_log::on_pbtn_stop_clicked(void)
{ {
emit stopScan(); emit stopScan();
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include <QDialog> #include <QDialog>
#include <QPushButton> #include <QPushButton>
#include <QCheckBox>
class QLabel; class QLabel;
namespace Ui { namespace Ui {
...@@ -35,6 +36,7 @@ private: ...@@ -35,6 +36,7 @@ private:
void closeEvent(QCloseEvent *event); void closeEvent(QCloseEvent *event);
private slots: private slots:
void on_cbox_autoScroll_stateChanged(int state);
void on_pbtn_stop_clicked(void); void on_pbtn_stop_clicked(void);
void on_pbtn_clear_clicked(); void on_pbtn_clear_clicked();
void on_pbtn_continuScan_cliked(); void on_pbtn_continuScan_cliked();
...@@ -43,6 +45,7 @@ private slots: ...@@ -43,6 +45,7 @@ private slots:
private: private:
Ui::dialog_log *ui; Ui::dialog_log *ui;
QPushButton *pbtn_stop; QPushButton *pbtn_stop;
QCheckBox *cBox_autoScroll;
QPushButton *pbtn_clear; QPushButton *pbtn_clear;
QPushButton *pbtn_continueScan; QPushButton *pbtn_continueScan;
QPushButton *pbtn_finishScan; QPushButton *pbtn_finishScan;
......
...@@ -881,8 +881,9 @@ void MainWindow::on_continueScan() ...@@ -881,8 +881,9 @@ void MainWindow::on_continueScan()
m_thumb->setAcceptDrops(false); m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning); m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus(); updateActionStatus();
m_dialogLog->show();
} }
m_dialogLog->show();
} }
void MainWindow::on_stopScan() void MainWindow::on_stopScan()
...@@ -2139,8 +2140,9 @@ void MainWindow::on_act_acquire_triggered() ...@@ -2139,8 +2140,9 @@ void MainWindow::on_act_acquire_triggered()
m_thumb->setAcceptDrops(false); m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning); m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus(); updateActionStatus();
m_dialogLog->show();
} }
m_dialogLog->show();
} }
void MainWindow::on_act_acquireSingle_triggered() void MainWindow::on_act_acquireSingle_triggered()
...@@ -2185,8 +2187,9 @@ void MainWindow::on_act_acquireSingle_triggered() ...@@ -2185,8 +2187,9 @@ void MainWindow::on_act_acquireSingle_triggered()
m_thumb->setAcceptDrops(false); m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning); m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus(); updateActionStatus();
m_dialogLog->show();
} }
m_dialogLog->show();
} }
void MainWindow::on_act_acquireInto_triggered() void MainWindow::on_act_acquireInto_triggered()
...@@ -2241,8 +2244,9 @@ void MainWindow::on_act_acquireInto_triggered() ...@@ -2241,8 +2244,9 @@ void MainWindow::on_act_acquireInto_triggered()
m_thumb->setAcceptDrops(false); m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning); m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus(); updateActionStatus();
m_dialogLog->show();
} }
m_dialogLog->show();
} }
} }
...@@ -2302,8 +2306,9 @@ void MainWindow::on_act_insertFromScanner_triggered() ...@@ -2302,8 +2306,9 @@ void MainWindow::on_act_insertFromScanner_triggered()
m_thumb->setAcceptDrops(false); m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning); m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus(); updateActionStatus();
m_dialogLog->show();
} }
m_dialogLog->show();
} }
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0,0,0,0,0"> <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0,0,0,0,0,0">
<property name="spacing"> <property name="spacing">
<number>5</number> <number>5</number>
</property> </property>
...@@ -49,6 +49,16 @@ ...@@ -49,6 +49,16 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QFrame" name="frame_2">
<property name="frameShape">
<enum>QFrame::VLine</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="lbl_page"> <widget class="QLabel" name="lbl_page">
<property name="text"> <property name="text">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment