HGGitLab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
app
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
luoliangyi
app
Commits
8991d741
Commit
8991d741
authored
Apr 19, 2022
by
yangjiaxuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化日志功能
parent
dd3f6d4b
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
170 additions
and
203 deletions
+170
-203
app/scanner/Scanner_zh_CN.qm
app/scanner/Scanner_zh_CN.qm
+0
-0
app/scanner/Scanner_zh_CN.ts
app/scanner/Scanner_zh_CN.ts
+91
-78
app/scanner/dialog_log.cpp
app/scanner/dialog_log.cpp
+45
-103
app/scanner/dialog_log.h
app/scanner/dialog_log.h
+13
-16
app/scanner/dialog_log.ui
app/scanner/dialog_log.ui
+1
-1
app/scanner/mainwindow.cpp
app/scanner/mainwindow.cpp
+18
-5
app/scanner/mainwindow.h
app/scanner/mainwindow.h
+2
-0
No files found.
app/scanner/Scanner_zh_CN.qm
View file @
8991d741
No preview for this file type
app/scanner/Scanner_zh_CN.ts
View file @
8991d741
This diff is collapsed.
Click to expand it.
app/scanner/dialog_log.cpp
View file @
8991d741
#include "dialog_log.h"
#include "ui_dialog_log.h"
#include <sys/time.h>
#include <qpushbutton.h>
#include <qlabel.h>
dialog_log
::
dialog_log
(
QWidget
*
parent
)
:
QDialog
(
parent
)
,
ui
(
new
Ui
::
dialog_log
)
,
flag_
(
0
)
,
m_isScanning
(
false
)
{
ui
->
setupUi
(
this
);
// this->setFixedSize(400,150);
QHBoxLayout
*
top
=
new
QHBoxLayout
(),
*
bottom
=
new
QHBoxLayout
();
simple_info_
=
new
QLabel
(
this
);
stop_
=
new
QPushButton
(
this
);
expand_
=
new
QPushButton
(
this
);
clear_
=
new
QPushButton
(
this
);
retract_
=
new
QPushButton
(
this
);
stop1_
=
new
QPushButton
(
this
);
stop_
->
setText
(
tr
(
"cancel scan"
));
stop1_
->
setText
(
tr
(
"cancel scan"
));
retract_
->
setText
(
tr
(
"fold"
));
expand_
->
setText
(
tr
(
"unfold"
));
clear_
->
setText
(
tr
(
"clear"
));
top
->
addWidget
(
simple_info_
,
1
);
top
->
addWidget
(
stop_
);
top
->
addWidget
(
expand_
);
bottom
->
addWidget
(
clear_
);
QHBoxLayout
*
bottom
=
new
QHBoxLayout
();
pbtn_clear
=
new
QPushButton
(
this
);
pbtn_stop
=
new
QPushButton
(
this
);
pbtn_continueScan
=
new
QPushButton
(
this
);
pbtn_finishScan
=
new
QPushButton
(
this
);
pbtn_stop
->
setText
(
tr
(
"cancel scan"
));
pbtn_clear
->
setText
(
tr
(
"clear"
));
pbtn_continueScan
->
setText
(
tr
(
"continue scan"
));
pbtn_finishScan
->
setText
(
tr
(
"finish scan"
));
bottom
->
addWidget
(
pbtn_clear
);
bottom
->
addStretch
();
bottom
->
addWidget
(
retract_
);
bottom
->
addWidget
(
stop1_
);
bottom
->
addWidget
(
pbtn_stop
);
bottom
->
addWidget
(
pbtn_continueScan
);
bottom
->
addWidget
(
pbtn_finishScan
);
ui
->
verticalLayout
->
insertStretch
(
0
);
ui
->
verticalLayout
->
insertItem
(
0
,
top
);
ui
->
verticalLayout
->
addStretch
();
ui
->
verticalLayout
->
addItem
(
bottom
);
on_flag_changed
();
connect
(
stop_
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
slot_stop
()));
connect
(
stop1_
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
slot_stop
()));
connect
(
expand_
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
slot_expand
()));
connect
(
retract_
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
slot_retract
()));
connect
(
clear_
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
slot_clear
()));
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
()));
connect
(
pbtn_finishScan
,
SIGNAL
(
clicked
(
bool
)),
this
,
SLOT
(
on_pbtn_finishScan_cliked
()));
}
dialog_log
::~
dialog_log
()
...
...
@@ -79,93 +63,51 @@ void dialog_log::add_log(QString log, bool err)
if
(
ind
>=
0
)
ui
->
listWidget
->
item
(
ind
)
->
setTextColor
(
err
?
Qt
::
red
:
Qt
::
black
);
ui
->
listWidget
->
scrollToItem
(
ui
->
listWidget
->
item
(
ind
)
/*, QAbstractItemView::ScrollHint::PositionAtTop*/
);
// ui->listWidget->update();
simple_info_
->
setText
(
log
);
}
void
dialog_log
::
add_flag
(
int
flag
)
{
flag
&=
INFO_DLG_FLAG_PROGRESS
|
INFO_DLG_FLAG_INFO_LIST
;
flag_
|=
flag
;
if
(
flag
)
on_flag_changed
();
}
void
dialog_log
::
remove_flag
(
int
flag
)
void
dialog_log
::
setScanStatus
(
bool
isscanning
)
{
flag
&=
INFO_DLG_FLAG_PROGRESS
|
INFO_DLG_FLAG_INFO_LIST
;
flag_
&=
~
flag
;
if
(
flag_
==
0
)
close
();
else
if
(
flag
)
on_flag_changed
();
m_isScanning
=
isscanning
;
}
void
dialog_log
::
on_flag_changed
(
void
)
void
dialog_log
::
updateWigetStaus
(
)
{
// simple_info_, stop_, expand_
// listWidget
// clear_, retract_, stop1_
if
(
flag_
&
INFO_DLG_FLAG_INFO_LIST
)
{
ui
->
listWidget
->
show
();
clear_
->
show
();
simple_info_
->
hide
();
stop_
->
hide
();
expand_
->
hide
();
}
else
{
ui
->
listWidget
->
hide
();
clear_
->
hide
();
retract_
->
hide
();
stop1_
->
hide
();
}
if
(
flag_
&
INFO_DLG_FLAG_PROGRESS
)
if
(
m_isScanning
)
{
if
((
flag_
&
INFO_DLG_FLAG_INFO_LIST
)
==
0
)
{
simple_info_
->
show
();
stop_
->
show
();
expand_
->
show
();
}
else
{
retract_
->
show
();
stop1_
->
show
();
}
pbtn_stop
->
show
();
pbtn_continueScan
->
hide
();
pbtn_finishScan
->
hide
();
}
else
{
simple_info_
->
hide
();
stop_
->
hide
();
expand_
->
hide
();
retract_
->
hide
();
stop1_
->
hide
();
pbtn_stop
->
hide
();
pbtn_continueScan
->
show
();
pbtn_finishScan
->
show
();
}
}
void
dialog_log
::
closeEvent
(
QCloseEvent
*
event
)
{
flag_
=
0
;
slot_stop
();
(
void
)
event
;
on_pbtn_stop_clicked
();
}
void
dialog_log
::
slot_stop
(
void
)
{
emit
invoke_stop
();
if
(
flag_
==
INFO_DLG_FLAG_PROGRESS
)
close
();
else
remove_flag
(
INFO_DLG_FLAG_PROGRESS
);
void
dialog_log
::
on_pbtn_continuScan_cliked
()
{
emit
continuScan
();
}
void
dialog_log
::
slot_expand
()
void
dialog_log
::
on_pbtn_finishScan_cliked
()
{
add_flag
(
INFO_DLG_FLAG_INFO_LIST
);
close
(
);
}
void
dialog_log
::
slot_retract
(
)
void
dialog_log
::
on_pbtn_stop_clicked
(
void
)
{
remove_flag
(
INFO_DLG_FLAG_INFO_LIST
);
emit
invoke_stop
(
);
}
void
dialog_log
::
slot_clear
()
void
dialog_log
::
on_pbtn_clear_clicked
()
{
ui
->
listWidget
->
clear
();
}
app/scanner/dialog_log.h
View file @
8991d741
...
...
@@ -2,7 +2,7 @@
#define DIALOG_SCANNERLOG_H
#include <QDialog>
#include <QPushButton>
class
QLabel
;
namespace
Ui
{
...
...
@@ -25,33 +25,30 @@ public:
~
dialog_log
();
void
add_log
(
QString
log
,
bool
err
);
void
add_flag
(
int
flag
);
void
remove_flag
(
int
flag
);
void
setScanStatus
(
bool
isScanning
);
void
updateWigetStaus
();
private:
void
on_flag_changed
(
void
);
protected
:
void
closeEvent
(
QCloseEvent
*
event
);
private
slots
:
void
slot_stop
(
void
);
void
slot_expan
d
();
void
slot_retract
();
void
slot_clear
();
void
on_pbtn_stop_clicked
(
void
);
void
on_pbtn_clear_clicke
d
();
void
on_pbtn_continuScan_cliked
();
void
on_pbtn_finishScan_cliked
();
signals:
void
invoke_stop
(
void
);
void
continuScan
(
void
);
private:
Ui
::
dialog_log
*
ui
;
int
flag_
;
QLabel
*
simple_info_
;
QPushButton
*
stop_
;
QPushButton
*
expand_
;
QPushButton
*
clear_
;
QPushButton
*
retract_
;
QPushButton
*
stop1_
;
bool
m_isScanning
;
QPushButton
*
pbtn_stop
;
QPushButton
*
pbtn_clear
;
QPushButton
*
pbtn_continueScan
;
QPushButton
*
pbtn_finishScan
;
};
#endif // DIALOG_SCANNERLOG_H
app/scanner/dialog_log.ui
View file @
8991d741
...
...
@@ -7,7 +7,7 @@
<x>
0
</x>
<y>
0
</y>
<width>
531
</width>
<height>
255
</height>
<height>
161
</height>
</rect>
</property>
<property
name=
"windowTitle"
>
...
...
app/scanner/mainwindow.cpp
View file @
8991d741
...
...
@@ -213,6 +213,8 @@ MainWindow::MainWindow(QWidget *parent)
connect
(
this
,
SIGNAL
(
new_image
(
void
*
)),
this
,
SLOT
(
on_new_image
(
void
*
)),
Qt
::
QueuedConnection
);
connect
(
this
,
SIGNAL
(
scan_working
()),
this
,
SLOT
(
on_scan_working
()),
Qt
::
QueuedConnection
);
connect
(
this
,
SIGNAL
(
scan_finish
()),
this
,
SLOT
(
on_scan_finish
()),
Qt
::
QueuedConnection
);
connect
(
m_dialog_log
,
SIGNAL
(
continuScan
(
void
)),
this
,
SLOT
(
on_act_acquire_triggered
(
void
)));
connect
(
m_dialog_log
,
SIGNAL
(
invoke_stop
(
void
)),
this
,
SLOT
(
on_act_acquireStop_triggered
(
void
)));
m_saneNoDevAction
=
new
QAction
(
tr
(
"nodevice"
),
this
);
m_saneNoDevAction
->
setEnabled
(
false
);
...
...
@@ -724,7 +726,6 @@ bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
if
(
event
->
type
()
==
QEvent
::
MouseButtonDblClick
)
{
m_dialog_log
->
add_flag
(
INFO_DLG_FLAG_INFO_LIST
);
m_dialog_log
->
show
();
return
true
;
}
...
...
@@ -797,25 +798,28 @@ void MainWindow::on_new_image(void *img)
void
MainWindow
::
on_scan_working
()
{
m_isScanning
=
true
;
#if defined(HG_CMP_MSC) && defined(APP_USE_TWAIN)
//
#else
m_dialog_log
->
add_log
(
tr
(
"scan starting..."
),
false
);
m_dialog_log
->
add_flag
(
INFO_DLG_FLAG_PROGRESS
);
m_dialog_log
->
setScanStatus
(
m_isScanning
);
m_dialog_log
->
updateWigetStaus
();
m_dialog_log
->
show
();
#endif
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"scan starting..."
));
set_actions_enabled
(
false
);
m_isScanning
=
true
;
}
void
MainWindow
::
on_scan_finish
()
{
m_isScanning
=
false
;
#if defined(HG_CMP_MSC) && defined(APP_USE_TWAIN)
//
#else
m_dialog_log
->
add_log
(
tr
(
"scan finished"
),
false
);
m_dialog_log
->
remove_flag
(
INFO_DLG_FLAG_PROGRESS
);
m_dialog_log
->
setScanStatus
(
m_isScanning
);
m_dialog_log
->
updateWigetStaus
();
#endif
if
(
nullptr
!=
m_scanImgFmtWriter
)
{
...
...
@@ -826,7 +830,6 @@ void MainWindow::on_scan_finish()
}
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"scan finished"
));
set_actions_enabled
(
true
);
m_isScanning
=
false
;
}
void
MainWindow
::
on_act_thumbnailBar_triggered
(
bool
checked
)
...
...
@@ -2035,6 +2038,16 @@ void MainWindow::on_act_acquire_triggered()
#endif
}
void
MainWindow
::
on_act_acquireStop_triggered
()
{
#if defined(HG_CMP_MSC) && defined(APP_USE_TWAIN)
// stop scan based on twain
#else
if
(
nullptr
!=
m_saneDeviceHandle
)
sane_cancel
(
m_saneDeviceHandle
);
#endif
}
void
MainWindow
::
on_act_acquireSingle_triggered
()
{
m_scanType
=
1
;
...
...
app/scanner/mainwindow.h
View file @
8991d741
...
...
@@ -177,6 +177,8 @@ private slots:
void
on_act_acquire_triggered
();
void
on_act_acquireStop_triggered
();
void
on_act_acquireSingle_triggered
();
void
on_act_acquireInto_triggered
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment