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
6ff349b2
Commit
6ff349b2
authored
Apr 07, 2022
by
luoliangyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加状态栏功能
parent
81f777ff
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
343 additions
and
18 deletions
+343
-18
app/Scanner/Scanner/Scanner.pro
app/Scanner/Scanner/Scanner.pro
+6
-3
app/Scanner/Scanner/dialog_export.cpp
app/Scanner/Scanner/dialog_export.cpp
+2
-5
app/Scanner/Scanner/dialog_export.h
app/Scanner/Scanner/dialog_export.h
+0
-2
app/Scanner/Scanner/dialog_fullscreen.cpp
app/Scanner/Scanner/dialog_fullscreen.cpp
+2
-2
app/Scanner/Scanner/dialog_fullscreen.h
app/Scanner/Scanner/dialog_fullscreen.h
+1
-1
app/Scanner/Scanner/mainwindow.cpp
app/Scanner/Scanner/mainwindow.cpp
+110
-3
app/Scanner/Scanner/mainwindow.h
app/Scanner/Scanner/mainwindow.h
+31
-0
app/Scanner/Scanner/widget_statusbar.cpp
app/Scanner/Scanner/widget_statusbar.cpp
+55
-0
app/Scanner/Scanner/widget_statusbar.h
app/Scanner/Scanner/widget_statusbar.h
+32
-0
app/Scanner/Scanner/widget_statusbar.ui
app/Scanner/Scanner/widget_statusbar.ui
+101
-0
ui/HGImgView.cpp
ui/HGImgView.cpp
+3
-1
ui/HGImgView.h
ui/HGImgView.h
+0
-1
No files found.
app/Scanner/Scanner/Scanner.pro
View file @
6ff349b2
...
@@ -67,7 +67,8 @@ SOURCES += \
...
@@ -67,7 +67,8 @@ SOURCES += \
mainwindow
.
cpp
\
mainwindow
.
cpp
\
..
/../../
ui
/
HGImgView
.
cpp
\
..
/../../
ui
/
HGImgView
.
cpp
\
..
/../../
ui
/
HGImgThumb
.
cpp
\
..
/../../
ui
/
HGImgThumb
.
cpp
\
widget_imgproc_base
.
cpp
widget_imgproc_base
.
cpp
\
widget_statusbar
.
cpp
HEADERS
+=
\
HEADERS
+=
\
..
/../../
ui
/
HGUIGlobal
.
h
\
..
/../../
ui
/
HGUIGlobal
.
h
\
...
@@ -85,7 +86,8 @@ HEADERS += \
...
@@ -85,7 +86,8 @@ HEADERS += \
mainwindow
.
h
\
mainwindow
.
h
\
..
/../../
ui
/
HGImgView
.
h
\
..
/../../
ui
/
HGImgView
.
h
\
..
/../../
ui
/
HGImgThumb
.
h
\
..
/../../
ui
/
HGImgThumb
.
h
\
widget_imgproc_base
.
h
widget_imgproc_base
.
h
\
widget_statusbar
.
h
FORMS
+=
\
FORMS
+=
\
dialog_export
.
ui
\
dialog_export
.
ui
\
...
@@ -100,7 +102,8 @@ FORMS += \
...
@@ -100,7 +102,8 @@ FORMS += \
dialog_saveas
.
ui
\
dialog_saveas
.
ui
\
dialog_savequality
.
ui
\
dialog_savequality
.
ui
\
mainwindow
.
ui
\
mainwindow
.
ui
\
widget_imgproc_base
.
ui
widget_imgproc_base
.
ui
\
widget_statusbar
.
ui
TRANSLATIONS
+=
\
TRANSLATIONS
+=
\
Scanner_zh_CN
.
ts
Scanner_zh_CN
.
ts
...
...
app/Scanner/Scanner/dialog_export.cpp
View file @
6ff349b2
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
#include <QButtonGroup>
#include <QButtonGroup>
#include <QMessageBox>
#include <QMessageBox>
#include <algorithm>
#include <algorithm>
#include <QRegExpValidator>
#include "dialog_savequality.h"
#include "dialog_savequality.h"
#include "HGUIGlobal.h"
#include "HGUIGlobal.h"
...
@@ -39,8 +40,7 @@ Dialog_Export::Dialog_Export(int total, const std::vector<int> &selectedIndexs,
...
@@ -39,8 +40,7 @@ Dialog_Export::Dialog_Export(int total, const std::vector<int> &selectedIndexs,
ui
->
radio_allPages
->
setChecked
(
true
);
ui
->
radio_allPages
->
setChecked
(
true
);
QRegExp
rx
(
"[0-9,-]+$"
);
QRegExp
rx
(
"[0-9,-]+$"
);
m_qReg
=
new
QRegExpValidator
(
rx
,
this
);
ui
->
lineEdit_nominatePages
->
setValidator
(
new
QRegExpValidator
(
rx
,
this
));
ui
->
lineEdit_nominatePages
->
setValidator
(
m_qReg
);
ui
->
lab_nominatePages
->
setEnabled
(
ui
->
radio_nominatedPages
->
isChecked
());
ui
->
lab_nominatePages
->
setEnabled
(
ui
->
radio_nominatedPages
->
isChecked
());
ui
->
lineEdit_nominatePages
->
setEnabled
(
ui
->
radio_nominatedPages
->
isChecked
());
ui
->
lineEdit_nominatePages
->
setEnabled
(
ui
->
radio_nominatedPages
->
isChecked
());
ui
->
lab_warning
->
setVisible
(
false
);
ui
->
lab_warning
->
setVisible
(
false
);
...
@@ -48,9 +48,6 @@ Dialog_Export::Dialog_Export(int total, const std::vector<int> &selectedIndexs,
...
@@ -48,9 +48,6 @@ Dialog_Export::Dialog_Export(int total, const std::vector<int> &selectedIndexs,
Dialog_Export
::~
Dialog_Export
()
Dialog_Export
::~
Dialog_Export
()
{
{
delete
m_qReg
;
m_qReg
=
nullptr
;
delete
ui
;
delete
ui
;
}
}
...
...
app/Scanner/Scanner/dialog_export.h
View file @
6ff349b2
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
#define DIALOG_EXPORT_H
#define DIALOG_EXPORT_H
#include <QDialog>
#include <QDialog>
#include <QRegExpValidator>
namespace
Ui
{
namespace
Ui
{
class
Dialog_Export
;
class
Dialog_Export
;
...
@@ -35,7 +34,6 @@ private:
...
@@ -35,7 +34,6 @@ private:
Ui
::
Dialog_Export
*
ui
;
Ui
::
Dialog_Export
*
ui
;
int
m_total
;
int
m_total
;
std
::
vector
<
int
>
m_selectedIndexs
;
std
::
vector
<
int
>
m_selectedIndexs
;
QRegExpValidator
*
m_qReg
;
QString
m_savePath
;
QString
m_savePath
;
int
m_saveQuality
;
int
m_saveQuality
;
...
...
app/Scanner/Scanner/dialog_fullscreen.cpp
View file @
6ff349b2
...
@@ -21,7 +21,7 @@ Dialog_FullScreen::Dialog_FullScreen(class MainWindow *mainWidget, const QString
...
@@ -21,7 +21,7 @@ Dialog_FullScreen::Dialog_FullScreen(class MainWindow *mainWidget, const QString
connect
(
&
m_timer_hide
,
SIGNAL
(
timeout
()),
this
,
SLOT
(
on_hide
()));
connect
(
&
m_timer_hide
,
SIGNAL
(
timeout
()),
this
,
SLOT
(
on_hide
()));
connect
(
ui
->
view
,
SIGNAL
(
escape
()),
this
,
SLOT
(
on_escape
()));
connect
(
ui
->
view
,
SIGNAL
(
escape
()),
this
,
SLOT
(
on_escape
()));
connect
(
ui
->
view
,
SIGNAL
(
mouse
Move
(
int
,
int
)),
this
,
SLOT
(
on_mouseMove
(
int
,
int
)));
connect
(
ui
->
view
,
SIGNAL
(
mouse
Pos
(
int
,
int
)),
this
,
SLOT
(
on_mousePos
(
int
,
int
)));
this
->
setWindowFlags
(
Qt
::
FramelessWindowHint
);
this
->
setWindowFlags
(
Qt
::
FramelessWindowHint
);
this
->
setWindowState
(
Qt
::
WindowFullScreen
);
this
->
setWindowState
(
Qt
::
WindowFullScreen
);
...
@@ -195,7 +195,7 @@ void Dialog_FullScreen::on_escape()
...
@@ -195,7 +195,7 @@ void Dialog_FullScreen::on_escape()
m_mainWidget
->
exitFullScreen
();
m_mainWidget
->
exitFullScreen
();
}
}
void
Dialog_FullScreen
::
on_mouse
Move
(
int
x
,
int
y
)
void
Dialog_FullScreen
::
on_mouse
Pos
(
int
x
,
int
y
)
{
{
(
void
)
x
;
(
void
)
x
;
(
void
)
y
;
(
void
)
y
;
...
...
app/Scanner/Scanner/dialog_fullscreen.h
View file @
6ff349b2
...
@@ -31,7 +31,7 @@ private slots:
...
@@ -31,7 +31,7 @@ private slots:
void
on_hide
();
void
on_hide
();
void
on_escape
();
void
on_escape
();
void
on_mouse
Move
(
int
x
,
int
y
);
void
on_mouse
Pos
(
int
x
,
int
y
);
private:
private:
void
setBtnOpacity
(
qreal
opacity
);
void
setBtnOpacity
(
qreal
opacity
);
...
...
app/Scanner/Scanner/mainwindow.cpp
View file @
6ff349b2
...
@@ -4,6 +4,9 @@
...
@@ -4,6 +4,9 @@
#include <QFileDialog>
#include <QFileDialog>
#include <QMessageBox>
#include <QMessageBox>
#include <QDateTime>
#include <QDateTime>
#include <QLineEdit>
#include <QRegExpValidator>
#include "widget_statusbar.h"
#include "dialog_openimageindex.h"
#include "dialog_openimageindex.h"
#include "dialog_saveas.h"
#include "dialog_saveas.h"
#include "dialog_export.h"
#include "dialog_export.h"
...
@@ -66,6 +69,19 @@ MainWindow::MainWindow(QWidget *parent)
...
@@ -66,6 +69,19 @@ MainWindow::MainWindow(QWidget *parent)
ui
->
dockWidget
->
setTitleBarWidget
(
new
QWidget
());
ui
->
dockWidget
->
setTitleBarWidget
(
new
QWidget
());
ui
->
dockWidget
->
titleBarWidget
()
->
setVisible
(
false
);
ui
->
dockWidget
->
titleBarWidget
()
->
setVisible
(
false
);
QRegExp
rx
(
"[0-9,-]+$"
);
m_multiPageLineEdit
=
new
HGLineEdit
(
this
);
m_multiPageLineEdit
->
setValidator
(
new
QRegExpValidator
(
rx
,
this
));
m_multiPageLineEdit
->
setFixedWidth
(
70
);
m_multiPageLineEdit
->
setAlignment
(
Qt
::
AlignHCenter
);
ui
->
toolBar
->
insertWidget
(
ui
->
act_nextPage
,
m_multiPageLineEdit
);
m_wndStatusBar
=
new
Widget_StatusBar
(
ui
->
act_zoomIn
,
ui
->
act_zoomOut
,
ui
->
statusBar
);
ui
->
statusBar
->
addWidget
(
m_wndStatusBar
,
1
);
m_wndStatusBar
->
setDeviceStatusInfo
(
tr
(
"disconnect"
));
connect
(
m_view
,
SIGNAL
(
scaleChanged
(
double
)),
this
,
SLOT
(
on_viewerScale
(
double
)));
connect
(
m_view
,
SIGNAL
(
mousePos
(
int
,
int
)),
this
,
SLOT
(
on_viewerMousePos
(
int
,
int
)));
connect
(
m_view
,
SIGNAL
(
drop
(
const
QString
&
)),
this
,
SLOT
(
on_viewerDrop
(
const
QString
&
)));
connect
(
m_view
,
SIGNAL
(
drop
(
const
QString
&
)),
this
,
SLOT
(
on_viewerDrop
(
const
QString
&
)));
connect
(
m_thumb
,
SIGNAL
(
itemCountChanged
(
int
)),
this
,
SLOT
(
on_itemCountChanged
(
int
)));
connect
(
m_thumb
,
SIGNAL
(
itemCountChanged
(
int
)),
this
,
SLOT
(
on_itemCountChanged
(
int
)));
connect
(
m_thumb
,
SIGNAL
(
itemSelectingChanged
()),
this
,
SLOT
(
on_itemSelectingChanged
()));
connect
(
m_thumb
,
SIGNAL
(
itemSelectingChanged
()),
this
,
SLOT
(
on_itemSelectingChanged
()));
...
@@ -73,6 +89,8 @@ MainWindow::MainWindow(QWidget *parent)
...
@@ -73,6 +89,8 @@ MainWindow::MainWindow(QWidget *parent)
connect
(
m_thumb
,
SIGNAL
(
itemDoubleClicked
(
int
)),
this
,
SLOT
(
on_itemDoubleClicked
(
int
)));
connect
(
m_thumb
,
SIGNAL
(
itemDoubleClicked
(
int
)),
this
,
SLOT
(
on_itemDoubleClicked
(
int
)));
connect
(
m_thumb
,
SIGNAL
(
contextMenuEvent
(
int
)),
this
,
SLOT
(
on_thumbContextMenu
(
int
)));
connect
(
m_thumb
,
SIGNAL
(
contextMenuEvent
(
int
)),
this
,
SLOT
(
on_thumbContextMenu
(
int
)));
connect
(
m_multiPageLineEdit
,
SIGNAL
(
editingFinished
()),
this
,
SLOT
(
on_multiPageLineEditFinished
()));
m_view
->
enableScroll
(
true
);
m_view
->
enableScroll
(
true
);
m_view
->
setScrollSize
(
16
);
m_view
->
setScrollSize
(
16
);
m_view
->
setMinScrollSliderSize
(
20
);
m_view
->
setMinScrollSliderSize
(
20
);
...
@@ -182,6 +200,7 @@ void MainWindow::on_act_90Left_triggered()
...
@@ -182,6 +200,7 @@ void MainWindow::on_act_90Left_triggered()
if
(
HGBASE_ERR_OK
==
m_view
->
rotateLeft
())
if
(
HGBASE_ERR_OK
==
m_view
->
rotateLeft
())
{
{
m_modify
=
true
;
m_modify
=
true
;
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -191,6 +210,7 @@ void MainWindow::on_act_90Right_triggered()
...
@@ -191,6 +210,7 @@ void MainWindow::on_act_90Right_triggered()
if
(
HGBASE_ERR_OK
==
m_view
->
rotateRight
())
if
(
HGBASE_ERR_OK
==
m_view
->
rotateRight
())
{
{
m_modify
=
true
;
m_modify
=
true
;
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -200,6 +220,7 @@ void MainWindow::on_act_180_triggered()
...
@@ -200,6 +220,7 @@ void MainWindow::on_act_180_triggered()
if
(
HGBASE_ERR_OK
==
m_view
->
rotate180
())
if
(
HGBASE_ERR_OK
==
m_view
->
rotate180
())
{
{
m_modify
=
true
;
m_modify
=
true
;
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -265,7 +286,7 @@ void MainWindow::on_act_fullscreen_triggered()
...
@@ -265,7 +286,7 @@ void MainWindow::on_act_fullscreen_triggered()
void
MainWindow
::
on_itemCountChanged
(
int
count
)
void
MainWindow
::
on_itemCountChanged
(
int
count
)
{
{
(
void
)
count
;
m_wndStatusBar
->
setPageInfo
(
count
,
m_currIndex
)
;
updateActionStatus
();
updateActionStatus
();
}
}
...
@@ -323,6 +344,7 @@ void MainWindow::on_currItemChanged(int index)
...
@@ -323,6 +344,7 @@ void MainWindow::on_currItemChanged(int index)
else
else
{
{
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
...
@@ -336,10 +358,15 @@ void MainWindow::on_currItemChanged(int index)
...
@@ -336,10 +358,15 @@ void MainWindow::on_currItemChanged(int index)
m_multiIndex
=
-
1
;
m_multiIndex
=
-
1
;
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
int
count
=
0
;
m_thumb
->
getItemCount
(
&
count
);
m_wndStatusBar
->
setPageInfo
(
count
,
m_currIndex
);
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
...
@@ -357,6 +384,16 @@ void MainWindow::on_thumbContextMenu(int index)
...
@@ -357,6 +384,16 @@ void MainWindow::on_thumbContextMenu(int index)
qDebug
(
"show menu"
);
qDebug
(
"show menu"
);
}
}
void
MainWindow
::
on_viewerScale
(
double
scale
)
{
m_wndStatusBar
->
setScale
(
scale
);
}
void
MainWindow
::
on_viewerMousePos
(
int
x
,
int
y
)
{
m_wndStatusBar
->
setMousePosInfo
(
x
,
y
);
}
void
MainWindow
::
on_viewerDrop
(
const
QString
&
fileName
)
void
MainWindow
::
on_viewerDrop
(
const
QString
&
fileName
)
{
{
int
index
=
-
1
;
int
index
=
-
1
;
...
@@ -415,6 +452,7 @@ void MainWindow::on_viewerDrop(const QString &fileName)
...
@@ -415,6 +452,7 @@ void MainWindow::on_viewerDrop(const QString &fileName)
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -430,6 +468,7 @@ void MainWindow::on_act_thumbGrid_triggered(bool checked)
...
@@ -430,6 +468,7 @@ void MainWindow::on_act_thumbGrid_triggered(bool checked)
void
MainWindow
::
on_dialog_adjust_applyToImage
(
HGImage
img
)
void
MainWindow
::
on_dialog_adjust_applyToImage
(
HGImage
img
)
{
{
m_view
->
addImage
(
img
);
m_view
->
addImage
(
img
);
updateStatusBarPixelInfo
();
}
}
void
MainWindow
::
on_dialog_multirotate_refreshImgFile
(
const
QString
&
fileName
)
void
MainWindow
::
on_dialog_multirotate_refreshImgFile
(
const
QString
&
fileName
)
...
@@ -437,6 +476,38 @@ void MainWindow::on_dialog_multirotate_refreshImgFile(const QString &fileName)
...
@@ -437,6 +476,38 @@ void MainWindow::on_dialog_multirotate_refreshImgFile(const QString &fileName)
m_thumb
->
refreshItem
(
fileName
);
m_thumb
->
refreshItem
(
fileName
);
}
}
void
MainWindow
::
on_multiPageLineEditFinished
()
{
if
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
)
{
int
multiIndex
=
m_multiPageLineEdit
->
text
().
toInt
()
-
1
;
if
(
multiIndex
>=
0
&&
multiIndex
<
m_multiPageCount
)
{
m_multiIndex
=
multiIndex
;
HGImage
img
=
createImage
();
if
(
nullptr
!=
img
)
{
m_view
->
addImage
(
img
);
HGBase_DestroyImage
(
img
);
m_relation
=
true
;
m_modify
=
false
;
}
else
{
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_modify
=
false
;
}
updateStatusBarPixelInfo
();
}
updateActionStatus
();
}
}
void
MainWindow
::
on_act_thumbnailBar_triggered
(
bool
checked
)
void
MainWindow
::
on_act_thumbnailBar_triggered
(
bool
checked
)
{
{
ui
->
dockWidget
->
setVisible
(
checked
);
ui
->
dockWidget
->
setVisible
(
checked
);
...
@@ -545,6 +616,29 @@ int MainWindow::getMultiPageCount()
...
@@ -545,6 +616,29 @@ int MainWindow::getMultiPageCount()
return
count
;
return
count
;
}
}
void
MainWindow
::
updateStatusBarPixelInfo
()
{
HGImage
img
=
nullptr
;
m_view
->
getImage
(
&
img
);
if
(
nullptr
==
img
)
{
m_wndStatusBar
->
setPixelInfo
(
0
,
0
,
0
);
}
else
{
HGImageInfo
imgInfo
;
HGBase_GetImageInfo
(
img
,
&
imgInfo
);
int
bpp
=
0
;
if
(
HGBASE_IMGTYPE_GRAY
==
imgInfo
.
type
)
bpp
=
8
;
else
if
(
HGBASE_IMGTYPE_BGR
==
imgInfo
.
type
||
HGBASE_IMGTYPE_RGB
==
imgInfo
.
type
)
bpp
=
24
;
else
bpp
=
32
;
m_wndStatusBar
->
setPixelInfo
(
imgInfo
.
width
,
imgInfo
.
height
,
bpp
);
}
}
void
MainWindow
::
updateActionStatus
()
void
MainWindow
::
updateActionStatus
()
{
{
HGImage
img
=
nullptr
;
HGImage
img
=
nullptr
;
...
@@ -576,6 +670,8 @@ void MainWindow::updateActionStatus()
...
@@ -576,6 +670,8 @@ void MainWindow::updateActionStatus()
ui
->
act_nextPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
-
1
!=
m_multiIndex
&&
m_multiIndex
<
m_multiPageCount
-
1
);
ui
->
act_nextPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
-
1
!=
m_multiIndex
&&
m_multiIndex
<
m_multiPageCount
-
1
);
ui
->
act_firstPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
0
!=
m_multiIndex
);
ui
->
act_firstPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
0
!=
m_multiIndex
);
ui
->
act_lastPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
m_multiIndex
!=
m_multiPageCount
-
1
);
ui
->
act_lastPage
->
setEnabled
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
0
&&
m_multiIndex
!=
m_multiPageCount
-
1
);
m_multiPageLineEdit
->
setText
(
QString
(
"%1/%2"
).
arg
(
m_multiIndex
+
1
).
arg
(
m_multiPageCount
));
ui
->
toolBar
->
actions
().
at
(
15
)
->
setVisible
(
-
1
!=
m_currIndex
&&
m_multiPageCount
>
1
&&
-
1
!=
m_multiIndex
);
ui
->
act_zoomIn
->
setEnabled
(
nullptr
!=
img
);
ui
->
act_zoomIn
->
setEnabled
(
nullptr
!=
img
);
ui
->
act_zoomOut
->
setEnabled
(
nullptr
!=
img
);
ui
->
act_zoomOut
->
setEnabled
(
nullptr
!=
img
);
...
@@ -626,10 +722,12 @@ void MainWindow::on_act_previousPage_triggered()
...
@@ -626,10 +722,12 @@ void MainWindow::on_act_previousPage_triggered()
else
else
{
{
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -651,10 +749,12 @@ void MainWindow::on_act_nextPage_triggered()
...
@@ -651,10 +749,12 @@ void MainWindow::on_act_nextPage_triggered()
else
else
{
{
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -676,10 +776,12 @@ void MainWindow::on_act_firstPage_triggered()
...
@@ -676,10 +776,12 @@ void MainWindow::on_act_firstPage_triggered()
else
else
{
{
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -701,10 +803,12 @@ void MainWindow::on_act_lastPage_triggered()
...
@@ -701,10 +803,12 @@ void MainWindow::on_act_lastPage_triggered()
else
else
{
{
m_view
->
clearImage
();
m_view
->
clearImage
();
m_wndStatusBar
->
setMousePosInfo
(
0
,
0
);
m_relation
=
false
;
m_relation
=
false
;
m_modify
=
false
;
m_modify
=
false
;
}
}
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
@@ -724,12 +828,14 @@ void MainWindow::on_act_adjust_triggered()
...
@@ -724,12 +828,14 @@ void MainWindow::on_act_adjust_triggered()
{
{
m_view
->
addImage
(
dlg
.
getAfterImage
());
m_view
->
addImage
(
dlg
.
getAfterImage
());
m_modify
=
true
;
m_modify
=
true
;
updateActionStatus
();
}
}
else
else
{
{
m_view
->
addImage
(
dlg
.
getBeforeImage
());
m_view
->
addImage
(
dlg
.
getBeforeImage
());
}
}
updateStatusBarPixelInfo
();
updateActionStatus
();
disconnect
(
&
dlg
,
SIGNAL
(
applyToImage
(
HGImage
)),
this
,
SLOT
(
on_dialog_adjust_applyToImage
(
HGImage
)));
disconnect
(
&
dlg
,
SIGNAL
(
applyToImage
(
HGImage
)),
this
,
SLOT
(
on_dialog_adjust_applyToImage
(
HGImage
)));
}
}
...
@@ -1187,8 +1293,9 @@ void MainWindow::on_act_autoCrop_triggered()
...
@@ -1187,8 +1293,9 @@ void MainWindow::on_act_autoCrop_triggered()
{
{
m_view
->
addImage
(
destImage
);
m_view
->
addImage
(
destImage
);
HGBase_DestroyImage
(
destImage
);
HGBase_DestroyImage
(
destImage
);
m_modify
=
true
;
m_modify
=
true
;
updateStatusBarPixelInfo
();
updateActionStatus
();
updateActionStatus
();
}
}
}
}
...
...
app/Scanner/Scanner/mainwindow.h
View file @
6ff349b2
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
#define MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMainWindow>
#include <QLineEdit>
#include "HGImgView.h"
#include "HGImgView.h"
#include "HGImgThumb.h"
#include "HGImgThumb.h"
...
@@ -9,6 +10,30 @@ QT_BEGIN_NAMESPACE
...
@@ -9,6 +10,30 @@ QT_BEGIN_NAMESPACE
namespace
Ui
{
class
MainWindow
;
}
namespace
Ui
{
class
MainWindow
;
}
QT_END_NAMESPACE
QT_END_NAMESPACE
class
HGLineEdit
:
public
QLineEdit
{
Q_OBJECT
public:
HGLineEdit
(
QWidget
*
parent
)
:
QLineEdit
(
parent
)
{
}
protected:
void
focusInEvent
(
QFocusEvent
*
e
)
{
(
void
)
e
;
QString
text
=
this
->
text
();
QStringList
list
=
text
.
split
(
"/"
);
text
=
list
.
first
();
this
->
setText
(
text
);
this
->
selectAll
();
QLineEdit
::
focusInEvent
(
e
);
}
};
class
MainWindow
:
public
QMainWindow
class
MainWindow
:
public
QMainWindow
{
{
Q_OBJECT
Q_OBJECT
...
@@ -50,10 +75,13 @@ private slots:
...
@@ -50,10 +75,13 @@ private slots:
void
on_currItemChanged
(
int
index
);
void
on_currItemChanged
(
int
index
);
void
on_itemDoubleClicked
(
int
index
);
void
on_itemDoubleClicked
(
int
index
);
void
on_thumbContextMenu
(
int
index
);
void
on_thumbContextMenu
(
int
index
);
void
on_viewerScale
(
double
scale
);
void
on_viewerMousePos
(
int
x
,
int
y
);
void
on_viewerDrop
(
const
QString
&
fileName
);
void
on_viewerDrop
(
const
QString
&
fileName
);
void
on_act_thumbGrid_triggered
(
bool
checked
);
void
on_act_thumbGrid_triggered
(
bool
checked
);
void
on_dialog_adjust_applyToImage
(
HGImage
img
);
void
on_dialog_adjust_applyToImage
(
HGImage
img
);
void
on_dialog_multirotate_refreshImgFile
(
const
QString
&
fileName
);
void
on_dialog_multirotate_refreshImgFile
(
const
QString
&
fileName
);
void
on_multiPageLineEditFinished
();
void
on_act_thumbnailBar_triggered
(
bool
checked
);
void
on_act_thumbnailBar_triggered
(
bool
checked
);
...
@@ -105,6 +133,7 @@ protected:
...
@@ -105,6 +133,7 @@ protected:
private:
private:
HGImage
createImage
();
HGImage
createImage
();
int
getMultiPageCount
();
int
getMultiPageCount
();
void
updateStatusBarPixelInfo
();
void
updateActionStatus
();
void
updateActionStatus
();
private:
private:
...
@@ -120,6 +149,8 @@ private:
...
@@ -120,6 +149,8 @@ private:
bool
m_relation
;
// m_view上的图像是否关联到m_thumb
bool
m_relation
;
// m_view上的图像是否关联到m_thumb
bool
m_modify
;
// m_view上面的图像是否改变
bool
m_modify
;
// m_view上面的图像是否改变
class
HGLineEdit
*
m_multiPageLineEdit
;
class
Widget_StatusBar
*
m_wndStatusBar
;
class
Dialog_FullScreen
*
m_dlgFullScreen
;
class
Dialog_FullScreen
*
m_dlgFullScreen
;
};
};
#endif // MAINWINDOW_H
#endif // MAINWINDOW_H
app/Scanner/Scanner/widget_statusbar.cpp
0 → 100644
View file @
6ff349b2
#include "widget_statusbar.h"
#include "ui_widget_statusbar.h"
#include <QToolBar>
Widget_StatusBar
::
Widget_StatusBar
(
QAction
*
zoomIn
,
QAction
*
zoomOut
,
QWidget
*
parent
)
:
QWidget
(
parent
),
ui
(
new
Ui
::
Widget_StatusBar
)
{
ui
->
setupUi
(
this
);
QToolBar
*
toolBar
=
new
QToolBar
(
this
);
toolBar
->
setFixedHeight
(
20
);
m_lbl_scale
=
new
QLabel
(
"0%"
,
toolBar
);
m_lbl_scale
->
setFixedWidth
(
40
);
m_lbl_scale
->
setAlignment
(
Qt
::
AlignHCenter
);
toolBar
->
addAction
(
zoomIn
);
toolBar
->
addWidget
(
m_lbl_scale
);
toolBar
->
addAction
(
zoomOut
);
reinterpret_cast
<
QHBoxLayout
*>
(
this
->
layout
())
->
addWidget
(
toolBar
,
0
,
Qt
::
AlignRight
);
}
Widget_StatusBar
::~
Widget_StatusBar
()
{
qDebug
(
"~Widget_StatusBar"
);
delete
ui
;
}
void
Widget_StatusBar
::
setPageInfo
(
int
total
,
int
page
)
{
ui
->
lbl_page
->
setText
(
QString
(
"%1/%2"
).
arg
(
page
+
1
).
arg
(
total
));
}
void
Widget_StatusBar
::
setPixelInfo
(
int
width
,
int
height
,
int
bpp
)
{
ui
->
lbl_size
->
setText
(
QString
(
"%1*%2*%3"
).
arg
(
width
).
arg
(
height
).
arg
(
bpp
));
}
void
Widget_StatusBar
::
setMousePosInfo
(
int
x
,
int
y
)
{
ui
->
lbl_mousePos
->
setText
(
QString
(
"X:%1, Y:%2"
).
arg
(
x
).
arg
(
y
));
}
void
Widget_StatusBar
::
setScale
(
double
scale
)
{
m_lbl_scale
->
setText
(
QString
(
"%1%"
).
arg
((
int
)(
scale
*
100.0
)));
}
void
Widget_StatusBar
::
setDeviceStatusInfo
(
const
QString
&
info
)
{
ui
->
lbl_devSts
->
setText
(
info
);
m_devStatusInfos
.
append
(
info
);
}
app/Scanner/Scanner/widget_statusbar.h
0 → 100644
View file @
6ff349b2
#ifndef WIDGET_STATUSBAR_H
#define WIDGET_STATUSBAR_H
#include <QWidget>
#include <QLabel>
namespace
Ui
{
class
Widget_StatusBar
;
}
class
Widget_StatusBar
:
public
QWidget
{
Q_OBJECT
public:
explicit
Widget_StatusBar
(
QAction
*
zoomIn
,
QAction
*
zoomOut
,
QWidget
*
parent
=
nullptr
);
~
Widget_StatusBar
();
void
setPageInfo
(
int
total
,
int
page
);
void
setPixelInfo
(
int
width
,
int
height
,
int
bpp
);
void
setMousePosInfo
(
int
x
,
int
y
);
void
setScale
(
double
scale
);
void
setDeviceStatusInfo
(
const
QString
&
info
);
private:
Ui
::
Widget_StatusBar
*
ui
;
QLabel
*
m_lbl_scale
;
QStringList
m_devStatusInfos
;
};
#endif // WIDGET_STATUSBAR_H
app/Scanner/Scanner/widget_statusbar.ui
0 → 100644
View file @
6ff349b2
<?xml version="1.0" encoding="UTF-8"?>
<ui
version=
"4.0"
>
<class>
Widget_StatusBar
</class>
<widget
class=
"QWidget"
name=
"Widget_StatusBar"
>
<property
name=
"geometry"
>
<rect>
<x>
0
</x>
<y>
0
</y>
<width>
603
</width>
<height>
50
</height>
</rect>
</property>
<property
name=
"windowTitle"
>
<string>
Form
</string>
</property>
<layout
class=
"QHBoxLayout"
name=
"horizontalLayout"
stretch=
"0,0,0,0,0,0,0,0"
>
<property
name=
"spacing"
>
<number>
5
</number>
</property>
<property
name=
"leftMargin"
>
<number>
0
</number>
</property>
<property
name=
"topMargin"
>
<number>
0
</number>
</property>
<property
name=
"rightMargin"
>
<number>
0
</number>
</property>
<property
name=
"bottomMargin"
>
<number>
0
</number>
</property>
<item>
<widget
class=
"QLabel"
name=
"lbl_devSts"
>
<property
name=
"text"
>
<string/>
</property>
</widget>
</item>
<item>
<spacer
name=
"horizontalSpacer_2"
>
<property
name=
"orientation"
>
<enum>
Qt::Horizontal
</enum>
</property>
<property
name=
"sizeHint"
stdset=
"0"
>
<size>
<width>
40
</width>
<height>
20
</height>
</size>
</property>
</spacer>
</item>
<item>
<widget
class=
"QLabel"
name=
"lbl_page"
>
<property
name=
"text"
>
<string>
0/0
</string>
</property>
</widget>
</item>
<item>
<widget
class=
"Line"
name=
"line"
>
<property
name=
"orientation"
>
<enum>
Qt::Vertical
</enum>
</property>
</widget>
</item>
<item>
<widget
class=
"QLabel"
name=
"lbl_size"
>
<property
name=
"text"
>
<string>
0*0*0
</string>
</property>
</widget>
</item>
<item>
<widget
class=
"Line"
name=
"line_2"
>
<property
name=
"orientation"
>
<enum>
Qt::Vertical
</enum>
</property>
</widget>
</item>
<item>
<widget
class=
"QLabel"
name=
"lbl_mousePos"
>
<property
name=
"text"
>
<string>
X:0, Y:0
</string>
</property>
</widget>
</item>
<item>
<widget
class=
"QFrame"
name=
"frame"
>
<property
name=
"frameShape"
>
<enum>
QFrame::VLine
</enum>
</property>
<property
name=
"frameShadow"
>
<enum>
QFrame::Sunken
</enum>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
ui/HGImgView.cpp
View file @
6ff349b2
...
@@ -1360,7 +1360,6 @@ void HGImgView::mouseMoveEvent(QMouseEvent* e)
...
@@ -1360,7 +1360,6 @@ void HGImgView::mouseMoveEvent(QMouseEvent* e)
else
else
{
{
assert
(
0
==
m_operate
);
assert
(
0
==
m_operate
);
emit
mouseMove
(
e
->
pos
().
x
(),
e
->
pos
().
y
());
MouseStatus
mouseStatus
=
getMouseStatus
(
e
->
pos
());
MouseStatus
mouseStatus
=
getMouseStatus
(
e
->
pos
());
if
(
nullptr
!=
m_image
&&
m_showImage
&&
!
m_draging
if
(
nullptr
!=
m_image
&&
m_showImage
&&
!
m_draging
...
@@ -1398,11 +1397,13 @@ void HGImgView::mouseMoveEvent(QMouseEvent* e)
...
@@ -1398,11 +1397,13 @@ void HGImgView::mouseMoveEvent(QMouseEvent* e)
}
}
else
else
{
{
emit
mousePos
(
0
,
0
);
QToolTip
::
hideText
();
QToolTip
::
hideText
();
}
}
}
}
else
else
{
{
emit
mousePos
(
0
,
0
);
QToolTip
::
hideText
();
QToolTip
::
hideText
();
}
}
...
@@ -1481,6 +1482,7 @@ void HGImgView::leaveEvent(QEvent *e)
...
@@ -1481,6 +1482,7 @@ void HGImgView::leaveEvent(QEvent *e)
m_mouseOn
=
false
;
m_mouseOn
=
false
;
m_mouseMoveStatus
=
MouseStatus_Null
;
m_mouseMoveStatus
=
MouseStatus_Null
;
Show
();
Show
();
emit
mousePos
(
0
,
0
);
}
}
void
HGImgView
::
paintEvent
(
QPaintEvent
*
e
)
void
HGImgView
::
paintEvent
(
QPaintEvent
*
e
)
...
...
ui/HGImgView.h
View file @
6ff349b2
...
@@ -46,7 +46,6 @@ public:
...
@@ -46,7 +46,6 @@ public:
signals:
signals:
void
escape
();
void
escape
();
void
mouseMove
(
int
x
,
int
y
);
void
mousePos
(
int
x
,
int
y
);
void
mousePos
(
int
x
,
int
y
);
void
scaleChanged
(
double
scale
);
void
scaleChanged
(
double
scale
);
void
drop
(
const
QString
&
fileName
);
void
drop
(
const
QString
&
fileName
);
...
...
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