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
9da47822
Commit
9da47822
authored
Apr 25, 2022
by
luoliangyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加磁盘空间不足的提示
parent
6f9f21c6
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
183 additions
and
98 deletions
+183
-98
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
+93
-82
app/scanner/mainwindow.cpp
app/scanner/mainwindow.cpp
+85
-14
app/scanner/mainwindow.h
app/scanner/mainwindow.h
+1
-0
ui/HGImgThumb.cpp
ui/HGImgThumb.cpp
+4
-2
No files found.
app/scanner/Scanner_zh_CN.qm
View file @
9da47822
No preview for this file type
app/scanner/Scanner_zh_CN.ts
View file @
9da47822
This diff is collapsed.
Click to expand it.
app/scanner/mainwindow.cpp
View file @
9da47822
...
@@ -47,7 +47,7 @@ MainWindow::MainWindow(QWidget *parent)
...
@@ -47,7 +47,7 @@ MainWindow::MainWindow(QWidget *parent)
,
m_multiIndex
(
-
1
)
,
m_multiIndex
(
-
1
)
,
m_relation
(
false
)
,
m_relation
(
false
)
,
m_modify
(
false
)
,
m_modify
(
false
)
,
m_scanType
(
1
)
,
m_scanType
(
0
)
,
m_scanInsertPos
(
-
1
)
,
m_scanInsertPos
(
-
1
)
,
m_scanFileName
(
""
)
,
m_scanFileName
(
""
)
,
m_scanImgFmtWriter
(
nullptr
)
,
m_scanImgFmtWriter
(
nullptr
)
...
@@ -229,7 +229,7 @@ MainWindow::MainWindow(QWidget *parent)
...
@@ -229,7 +229,7 @@ MainWindow::MainWindow(QWidget *parent)
sane_init_ex
(
&
v
,
sane_ex_callback
,
this
);
sane_init_ex
(
&
v
,
sane_ex_callback
,
this
);
m_dlgFullScreen
=
nullptr
;
m_dlgFullScreen
=
nullptr
;
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
}
}
...
@@ -682,7 +682,7 @@ void MainWindow::on_devMenu_action_triggered()
...
@@ -682,7 +682,7 @@ void MainWindow::on_devMenu_action_triggered()
}
}
}
}
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
}
}
...
@@ -717,7 +717,7 @@ void MainWindow::on_sane_dev_arrive(QString devName)
...
@@ -717,7 +717,7 @@ void MainWindow::on_sane_dev_arrive(QString devName)
}
}
}
}
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_wndStatusBar
->
setDeviceStatusInfo
(
devName
+
tr
(
" already connected"
),
false
);
m_wndStatusBar
->
setDeviceStatusInfo
(
devName
+
tr
(
" already connected"
),
false
);
m_dialogLog
->
addLog
(
devName
+
tr
(
" already connected"
),
false
);
m_dialogLog
->
addLog
(
devName
+
tr
(
" already connected"
),
false
);
...
@@ -758,7 +758,7 @@ void MainWindow::on_sane_dev_remove(QString devName)
...
@@ -758,7 +758,7 @@ void MainWindow::on_sane_dev_remove(QString devName)
ui
->
menu_device
->
addAction
(
m_saneNoDevAction
);
ui
->
menu_device
->
addAction
(
m_saneNoDevAction
);
}
}
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_wndStatusBar
->
setDeviceStatusInfo
(
devName
+
tr
(
" disconnected"
),
true
);
m_wndStatusBar
->
setDeviceStatusInfo
(
devName
+
tr
(
" disconnected"
),
true
);
m_dialogLog
->
addLog
(
devName
+
tr
(
" disconnected"
),
true
);
m_dialogLog
->
addLog
(
devName
+
tr
(
" disconnected"
),
true
);
...
@@ -854,7 +854,7 @@ void MainWindow::on_scan_finish(QString finishInfo, int err)
...
@@ -854,7 +854,7 @@ void MainWindow::on_scan_finish(QString finishInfo, int err)
}
}
m_thumb
->
setAcceptDrops
(
true
);
m_thumb
->
setAcceptDrops
(
true
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_wndStatusBar
->
setDeviceStatusInfo
(
finishInfo
,
(
err
!=
SANE_STATUS_GOOD
));
m_wndStatusBar
->
setDeviceStatusInfo
(
finishInfo
,
(
err
!=
SANE_STATUS_GOOD
));
m_dialogLog
->
addLog
(
finishInfo
,
(
err
!=
SANE_STATUS_GOOD
));
m_dialogLog
->
addLog
(
finishInfo
,
(
err
!=
SANE_STATUS_GOOD
));
...
@@ -864,13 +864,15 @@ void MainWindow::on_scan_finish(QString finishInfo, int err)
...
@@ -864,13 +864,15 @@ void MainWindow::on_scan_finish(QString finishInfo, int err)
void
MainWindow
::
on_continueScan
()
void
MainWindow
::
on_continueScan
()
{
{
if
(
nullptr
==
m_saneDeviceHandle
||
m_isScanning
)
if
(
nullptr
==
m_saneDeviceHandle
||
m_isScanning
||
0
==
m_scanType
)
{
{
return
;
return
;
}
}
m_scanType
=
1
;
if
(
!
startSpaceCheck
(
m_dialogLog
))
m_scanInsertPos
=
-
1
;
{
return
;
}
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
if
(
ret
!=
SANE_STATUS_GOOD
)
if
(
ret
!=
SANE_STATUS_GOOD
)
...
@@ -883,7 +885,7 @@ void MainWindow::on_continueScan()
...
@@ -883,7 +885,7 @@ void MainWindow::on_continueScan()
{
{
m_isScanning
=
true
;
m_isScanning
=
true
;
m_thumb
->
setAcceptDrops
(
false
);
m_thumb
->
setAcceptDrops
(
false
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_dialogLog
->
show
();
m_dialogLog
->
show
();
}
}
...
@@ -1142,6 +1144,38 @@ askIfClear MainWindow::startScanMessageBox(QWidget *parent)
...
@@ -1142,6 +1144,38 @@ askIfClear MainWindow::startScanMessageBox(QWidget *parent)
return
notClearAndScan
;
return
notClearAndScan
;
}
}
bool
MainWindow
::
startSpaceCheck
(
QWidget
*
parent
)
{
qint64
space
=
0
;
QList
<
QStorageInfo
>
storageInfoList
=
QStorageInfo
::
mountedVolumes
();
foreach
(
QStorageInfo
storage
,
storageInfoList
)
{
QString
savePath
;
if
(
1
==
m_scanType
)
savePath
=
APP_CACHE_PATH
;
else
if
(
2
==
m_scanType
)
savePath
=
m_aquireIntoSaveParam
.
m_savePath
;
if
(
0
==
savePath
.
indexOf
(
storage
.
rootPath
()))
{
space
=
storage
.
bytesAvailable
()
/
1024
/
1024
;
break
;
}
}
assert
(
0
!=
space
);
if
(
space
<
64
)
{
QMessageBox
msg
(
QMessageBox
::
Information
,
tr
(
"Information"
),
tr
(
"Insufficient disk space"
),
QMessageBox
::
Yes
,
parent
);
msg
.
setButtonText
(
QMessageBox
::
Yes
,
tr
(
"yes"
));
msg
.
exec
();
return
false
;
}
return
true
;
}
void
MainWindow
::
on_act_openPageNum_triggered
()
void
MainWindow
::
on_act_openPageNum_triggered
()
{
{
int
count
=
0
;
int
count
=
0
;
...
@@ -2083,9 +2117,16 @@ void MainWindow::on_act_acquire_triggered()
...
@@ -2083,9 +2117,16 @@ void MainWindow::on_act_acquire_triggered()
m_scanType
=
1
;
m_scanType
=
1
;
m_scanInsertPos
=
-
1
;
m_scanInsertPos
=
-
1
;
if
(
!
startSpaceCheck
(
this
))
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
return
;
}
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
if
(
ret
!=
SANE_STATUS_GOOD
)
if
(
ret
!=
SANE_STATUS_GOOD
)
{
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
...
@@ -2094,7 +2135,7 @@ void MainWindow::on_act_acquire_triggered()
...
@@ -2094,7 +2135,7 @@ void MainWindow::on_act_acquire_triggered()
{
{
m_isScanning
=
true
;
m_isScanning
=
true
;
m_thumb
->
setAcceptDrops
(
false
);
m_thumb
->
setAcceptDrops
(
false
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_dialogLog
->
show
();
m_dialogLog
->
show
();
}
}
...
@@ -2119,9 +2160,16 @@ void MainWindow::on_act_acquireSingle_triggered()
...
@@ -2119,9 +2160,16 @@ void MainWindow::on_act_acquireSingle_triggered()
m_scanType
=
1
;
m_scanType
=
1
;
m_scanInsertPos
=
-
1
;
m_scanInsertPos
=
-
1
;
if
(
!
startSpaceCheck
(
this
))
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
return
;
}
SANE_Status
ret
=
sane_io_control
(
m_saneDeviceHandle
,
IO_CTRL_CODE_TEST_SINGLE
,
nullptr
,
nullptr
);
SANE_Status
ret
=
sane_io_control
(
m_saneDeviceHandle
,
IO_CTRL_CODE_TEST_SINGLE
,
nullptr
,
nullptr
);
if
(
ret
!=
SANE_STATUS_GOOD
)
if
(
ret
!=
SANE_STATUS_GOOD
)
{
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
...
@@ -2130,7 +2178,7 @@ void MainWindow::on_act_acquireSingle_triggered()
...
@@ -2130,7 +2178,7 @@ void MainWindow::on_act_acquireSingle_triggered()
{
{
m_isScanning
=
true
;
m_isScanning
=
true
;
m_thumb
->
setAcceptDrops
(
false
);
m_thumb
->
setAcceptDrops
(
false
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_dialogLog
->
show
();
m_dialogLog
->
show
();
}
}
...
@@ -2143,15 +2191,31 @@ void MainWindow::on_act_acquireInto_triggered()
...
@@ -2143,15 +2191,31 @@ void MainWindow::on_act_acquireInto_triggered()
return
;
return
;
}
}
int
count
=
0
;
m_thumb
->
getItemCount
(
&
count
);
if
(
count
!=
0
)
{
int
result
=
startScanMessageBox
(
this
);
if
(
cancelScan
==
result
)
return
;
}
Dialog_AquireInto
dlg
(
this
);
Dialog_AquireInto
dlg
(
this
);
if
(
dlg
.
exec
())
if
(
dlg
.
exec
())
{
{
m_scanType
=
2
;
m_scanType
=
2
;
m_aquireIntoSaveParam
=
dlg
.
getSaveParam
();
m_aquireIntoSaveParam
=
dlg
.
getSaveParam
();
if
(
!
startSpaceCheck
(
this
))
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
return
;
}
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
if
(
ret
!=
SANE_STATUS_GOOD
)
if
(
ret
!=
SANE_STATUS_GOOD
)
{
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
...
@@ -2160,7 +2224,7 @@ void MainWindow::on_act_acquireInto_triggered()
...
@@ -2160,7 +2224,7 @@ void MainWindow::on_act_acquireInto_triggered()
{
{
m_isScanning
=
true
;
m_isScanning
=
true
;
m_thumb
->
setAcceptDrops
(
false
);
m_thumb
->
setAcceptDrops
(
false
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_dialogLog
->
show
();
m_dialogLog
->
show
();
}
}
...
@@ -2200,9 +2264,16 @@ void MainWindow::on_act_insertFromScanner_triggered()
...
@@ -2200,9 +2264,16 @@ void MainWindow::on_act_insertFromScanner_triggered()
break
;
break
;
}
}
if
(
!
startSpaceCheck
(
this
))
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
return
;
}
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
SANE_Status
ret
=
sane_start
(
m_saneDeviceHandle
);
if
(
ret
!=
SANE_STATUS_GOOD
)
if
(
ret
!=
SANE_STATUS_GOOD
)
{
{
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
m_dialogLog
->
addLog
(
tr
(
"start failed"
),
true
);
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
HGBase_WriteInfo
(
HGBASE_INFOTYPE_ERROR
,
"%s"
,
getStdString
(
tr
(
"start failed"
)).
c_str
());
...
@@ -2211,7 +2282,7 @@ void MainWindow::on_act_insertFromScanner_triggered()
...
@@ -2211,7 +2282,7 @@ void MainWindow::on_act_insertFromScanner_triggered()
{
{
m_isScanning
=
true
;
m_isScanning
=
true
;
m_thumb
->
setAcceptDrops
(
false
);
m_thumb
->
setAcceptDrops
(
false
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
,
m_isScanning
);
m_dialogLog
->
updateStatus
(
nullptr
!=
m_saneDeviceHandle
&&
0
!=
m_scanType
,
m_isScanning
);
updateActionStatus
();
updateActionStatus
();
m_dialogLog
->
show
();
m_dialogLog
->
show
();
}
}
...
...
app/scanner/mainwindow.h
View file @
9da47822
...
@@ -199,6 +199,7 @@ private:
...
@@ -199,6 +199,7 @@ private:
void
updateStatusBarPixelInfo
();
void
updateStatusBarPixelInfo
();
void
updateActionStatus
();
void
updateActionStatus
();
askIfClear
startScanMessageBox
(
QWidget
*
parent
);
askIfClear
startScanMessageBox
(
QWidget
*
parent
);
bool
startSpaceCheck
(
QWidget
*
parent
);
private:
private:
Ui
::
MainWindow
*
ui
;
Ui
::
MainWindow
*
ui
;
...
...
ui/HGImgThumb.cpp
View file @
9da47822
...
@@ -2070,8 +2070,10 @@ void HGImgThumb::mouseMoveEvent(QMouseEvent* e)
...
@@ -2070,8 +2070,10 @@ void HGImgThumb::mouseMoveEvent(QMouseEvent* e)
QRect
textRect
(
0
,
0
,
pixmap
.
width
(),
pixmap
.
height
());
QRect
textRect
(
0
,
0
,
pixmap
.
width
(),
pixmap
.
height
());
char
chCount
[
12
];
char
chCount
[
12
];
sprintf
(
chCount
,
"%d"
,
urls
.
count
());
sprintf
(
chCount
,
"%d"
,
urls
.
count
());
QFont
font
(
"微软雅黑"
,
16
);
QFont
countFont
(
"微软雅黑"
,
pixmap
.
width
()
/
4
);
painter
.
setFont
(
font
);
painter
.
setFont
(
countFont
);
QPen
countPen
(
QColor
(
0
,
0
,
0
,
200
));
painter
.
setPen
(
countPen
);
painter
.
drawText
(
textRect
,
Qt
::
AlignHCenter
|
Qt
::
AlignVCenter
,
chCount
);
painter
.
drawText
(
textRect
,
Qt
::
AlignHCenter
|
Qt
::
AlignVCenter
,
chCount
);
drag
->
setPixmap
(
pixmap
);
drag
->
setPixmap
(
pixmap
);
...
...
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