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 "ui_dialog_log.h"
#include <QDateTime>
#include "app_cfg.h"
dialog_log::dialog_log(QWidget *parent)
: QDialog(parent)
......@@ -10,6 +11,7 @@ dialog_log::dialog_log(QWidget *parent)
QHBoxLayout *bottom = new QHBoxLayout();
pbtn_clear = new QPushButton(this);
cBox_autoScroll = new QCheckBox(this);
pbtn_stop = new QPushButton(this);
pbtn_continueScan = new QPushButton(this);
pbtn_finishScan = new QPushButton(this);
......@@ -19,11 +21,13 @@ dialog_log::dialog_log(QWidget *parent)
pbtn_finishScan->setVisible(false);
pbtn_stop->setText(tr("cancel scan"));
cBox_autoScroll->setText(tr("auto scroll"));
pbtn_clear->setText(tr("clear"));
pbtn_continueScan->setText(tr("continue scan"));
pbtn_finishScan->setText(tr("finish scan"));
bottom->addWidget(pbtn_clear);
bottom->addWidget(cBox_autoScroll);
bottom->addStretch();
bottom->addWidget(pbtn_stop);
bottom->addWidget(pbtn_continueScan);
......@@ -31,6 +35,9 @@ dialog_log::dialog_log(QWidget *parent)
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_clear, SIGNAL(clicked(bool)), this, SLOT(on_pbtn_clear_clicked()));
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)
int idx = ui->listWidget->count() - 1;
if (idx >= 0)
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)
......@@ -103,6 +115,11 @@ void dialog_log::on_pbtn_finishScan_cliked()
close();
}
void dialog_log::on_cbox_autoScroll_stateChanged(int state)
{
saveCfgValue("log", "autoScroll", cBox_autoScroll->isChecked());
}
void dialog_log::on_pbtn_stop_clicked(void)
{
emit stopScan();
......
......@@ -3,6 +3,7 @@
#include <QDialog>
#include <QPushButton>
#include <QCheckBox>
class QLabel;
namespace Ui {
......@@ -35,6 +36,7 @@ private:
void closeEvent(QCloseEvent *event);
private slots:
void on_cbox_autoScroll_stateChanged(int state);
void on_pbtn_stop_clicked(void);
void on_pbtn_clear_clicked();
void on_pbtn_continuScan_cliked();
......@@ -43,6 +45,7 @@ private slots:
private:
Ui::dialog_log *ui;
QPushButton *pbtn_stop;
QCheckBox *cBox_autoScroll;
QPushButton *pbtn_clear;
QPushButton *pbtn_continueScan;
QPushButton *pbtn_finishScan;
......
......@@ -881,8 +881,9 @@ void MainWindow::on_continueScan()
m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus();
m_dialogLog->show();
}
m_dialogLog->show();
}
void MainWindow::on_stopScan()
......@@ -2139,8 +2140,9 @@ void MainWindow::on_act_acquire_triggered()
m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus();
m_dialogLog->show();
}
m_dialogLog->show();
}
void MainWindow::on_act_acquireSingle_triggered()
......@@ -2185,8 +2187,9 @@ void MainWindow::on_act_acquireSingle_triggered()
m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus();
m_dialogLog->show();
}
m_dialogLog->show();
}
void MainWindow::on_act_acquireInto_triggered()
......@@ -2241,8 +2244,9 @@ void MainWindow::on_act_acquireInto_triggered()
m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus();
m_dialogLog->show();
}
m_dialogLog->show();
}
}
......@@ -2302,8 +2306,9 @@ void MainWindow::on_act_insertFromScanner_triggered()
m_thumb->setAcceptDrops(false);
m_dialogLog->updateStatus(cur_dev_.is_online() && 0 != m_scanType, m_isScanning);
updateActionStatus();
m_dialogLog->show();
}
m_dialogLog->show();
}
}
......
......@@ -13,7 +13,7 @@
<property name="windowTitle">
<string>Form</string>
</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">
<number>5</number>
</property>
......@@ -49,6 +49,16 @@
</property>
</spacer>
</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>
<widget class="QLabel" name="lbl_page">
<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