调整侧边菜单栏
This commit is contained in:
parent
a042ee16d9
commit
1e12a64f4d
|
@ -842,8 +842,12 @@ HGResult HGImgView::addImage(HGImage image)
|
||||||
|
|
||||||
reset();
|
reset();
|
||||||
|
|
||||||
|
int oldWidth = 0;
|
||||||
|
int oldHeight = 0;
|
||||||
if (nullptr != m_image)
|
if (nullptr != m_image)
|
||||||
{
|
{
|
||||||
|
oldWidth = m_qImage->width();
|
||||||
|
oldHeight = m_qImage->height();
|
||||||
delete m_qImage;
|
delete m_qImage;
|
||||||
HGBase_DestroyImage(m_image);
|
HGBase_DestroyImage(m_image);
|
||||||
}
|
}
|
||||||
|
@ -851,18 +855,22 @@ HGResult HGImgView::addImage(HGImage image)
|
||||||
m_image = img;
|
m_image = img;
|
||||||
m_qImage = createQImage();
|
m_qImage = createQImage();
|
||||||
|
|
||||||
HGImageInfo info;
|
if (oldWidth != m_qImage->width() || oldHeight != m_qImage->height())
|
||||||
HGBase_GetImageInfo(m_image, &info);
|
{
|
||||||
HGRect rcWnd = {0, 0, this->width(), this->height()};
|
HGImageInfo info;
|
||||||
|
HGBase_GetImageInfo(m_image, &info);
|
||||||
|
HGRect rcWnd = {0, 0, this->width(), this->height()};
|
||||||
|
|
||||||
m_hScroll = false;
|
m_hScroll = false;
|
||||||
m_vScroll = false;
|
m_vScroll = false;
|
||||||
GetMinShowImageRect(&rcWnd, info.width, info.height, m_showImage, m_showRect);
|
GetMinShowImageRect(&rcWnd, info.width, info.height, m_showImage, m_showRect);
|
||||||
double scale = (double)(m_showRect.right - m_showRect.left) / (double)info.width;
|
double scale = (double)(m_showRect.right - m_showRect.left) / (double)info.width;
|
||||||
|
|
||||||
|
updateMoveStatusAndCursor();
|
||||||
|
emit scaleChanged(scale);
|
||||||
|
}
|
||||||
|
|
||||||
updateMoveStatusAndCursor();
|
|
||||||
Show();
|
Show();
|
||||||
emit scaleChanged(scale);
|
|
||||||
return HGBASE_ERR_OK;
|
return HGBASE_ERR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,7 @@ MainWindow::MainWindow(const QString& appLang, QWidget *parent)
|
||||||
, m_cacheDirNotify(false)
|
, m_cacheDirNotify(false)
|
||||||
, m_AquirePathNotify(false)
|
, m_AquirePathNotify(false)
|
||||||
, m_bSideflag(false)
|
, m_bSideflag(false)
|
||||||
|
, m_bSideEditing(false)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
@ -334,7 +335,6 @@ MainWindow::MainWindow(const QString& appLang, QWidget *parent)
|
||||||
m_menu_imageInsert->addAction(ui->act_insertFromScanner);
|
m_menu_imageInsert->addAction(ui->act_insertFromScanner);
|
||||||
|
|
||||||
ui->act_consume->setVisible(false);
|
ui->act_consume->setVisible(false);
|
||||||
ui->act_enhanceText->setVisible(false);
|
|
||||||
|
|
||||||
connect(this, SIGNAL(sane_dev_arrive(QString, bool)), this, SLOT(on_sane_dev_arrive(QString, bool)), Qt::QueuedConnection);
|
connect(this, SIGNAL(sane_dev_arrive(QString, bool)), this, SLOT(on_sane_dev_arrive(QString, bool)), Qt::QueuedConnection);
|
||||||
connect(this, SIGNAL(sane_dev_remove(QString)), this, SLOT(on_sane_dev_remove(QString)), Qt::QueuedConnection);
|
connect(this, SIGNAL(sane_dev_remove(QString)), this, SLOT(on_sane_dev_remove(QString)), Qt::QueuedConnection);
|
||||||
|
@ -396,8 +396,8 @@ MainWindow::MainWindow(const QString& appLang, QWidget *parent)
|
||||||
m_widget_sideBar = new Widget_Imgproc_SideBar(this);
|
m_widget_sideBar = new Widget_Imgproc_SideBar(this);
|
||||||
|
|
||||||
connect(m_pbtn_push, SIGNAL(clicked()), this, SLOT(on_m_pbtn_push_clicked()));
|
connect(m_pbtn_push, SIGNAL(clicked()), this, SLOT(on_m_pbtn_push_clicked()));
|
||||||
connect(m_widget_sideBar, SIGNAL(applyToImage(HGImage,int,int,double)), this, SLOT(on_dialog_sideBar_applyToImage(HGImage,int,int,double)));
|
connect(m_widget_sideBar, SIGNAL(applyToImage(HGImage,int,int,double,bool)), this, SLOT(on_dialog_sideBar_applyToImage(HGImage,int,int,double,bool)));
|
||||||
connect(m_widget_sideBar, SIGNAL(finish()), this, SLOT(on_dialog_sideBar_finish()));
|
connect(m_widget_sideBar, SIGNAL(finish(bool)), this, SLOT(on_dialog_sideBar_finish(bool)));
|
||||||
|
|
||||||
updateSideBar();
|
updateSideBar();
|
||||||
updateActionStatus();
|
updateActionStatus();
|
||||||
|
@ -825,6 +825,9 @@ void MainWindow::on_currItemChanged(int index)
|
||||||
if (nullptr != img2)
|
if (nullptr != img2)
|
||||||
{
|
{
|
||||||
m_view->addImage(img2);
|
m_view->addImage(img2);
|
||||||
|
m_widget_sideBar->setImage(img2);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img2);
|
HGBase_DestroyImage(img2);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -861,16 +864,6 @@ void MainWindow::on_currItemChanged(int index)
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_widget_sideBar != nullptr)
|
|
||||||
{
|
|
||||||
HGImage curImage = nullptr;
|
|
||||||
m_view->getImage(&curImage);
|
|
||||||
if (curImage != nullptr)
|
|
||||||
{
|
|
||||||
m_widget_sideBar->getCurrentImg(curImage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
m_thumb->getItemCount(&count);
|
m_thumb->getItemCount(&count);
|
||||||
m_wndStatusBar->setPageInfo(count, m_currIndex);
|
m_wndStatusBar->setPageInfo(count, m_currIndex);
|
||||||
|
@ -987,6 +980,9 @@ void MainWindow::on_multiPageLineEditFinished()
|
||||||
if (nullptr != img)
|
if (nullptr != img)
|
||||||
{
|
{
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -1610,8 +1606,8 @@ void MainWindow::on_m_pbtn_push_clicked()
|
||||||
{
|
{
|
||||||
int mainWndWidth = this->rect().width();
|
int mainWndWidth = this->rect().width();
|
||||||
int mainWndHeight = this->rect().height();
|
int mainWndHeight = this->rect().height();
|
||||||
int sideBarWidth = m_widget_sideBar->getWidth();
|
int sideBarWidth = m_widget_sideBar->width();
|
||||||
int sideBarHeight = m_widget_sideBar->getHeight();
|
int sideBarHeight = m_widget_sideBar->height();
|
||||||
|
|
||||||
if(!m_bSideflag)
|
if(!m_bSideflag)
|
||||||
{
|
{
|
||||||
|
@ -1635,30 +1631,37 @@ void MainWindow::on_m_pbtn_push_clicked()
|
||||||
m_pbtn_push->setText("<<");
|
m_pbtn_push->setText("<<");
|
||||||
m_bSideflag = !m_bSideflag;
|
m_bSideflag = !m_bSideflag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateActionStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma)
|
void MainWindow::on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma, bool enhanceText)
|
||||||
{
|
{
|
||||||
assert(nullptr != img);
|
assert(nullptr != img);
|
||||||
|
|
||||||
HGImageInfo imgInfo;
|
|
||||||
HGBase_GetImageInfo(img, &imgInfo);
|
|
||||||
|
|
||||||
HGImage destImg = nullptr;
|
HGImage destImg = nullptr;
|
||||||
HGBase_CreateImage(imgInfo.width, imgInfo.height, imgInfo.type, imgInfo.origin, &destImg);
|
HGBase_CloneImage(img, 0, 0, &destImg);
|
||||||
if (nullptr != destImg)
|
if (nullptr != destImg)
|
||||||
{
|
{
|
||||||
HGImgProc_ImageAdjustColors(img, destImg, brightness, contrast, (HGFloat)gamma);
|
HGImgProc_ImageAdjustColors(destImg, destImg, brightness, contrast, (HGFloat)gamma);
|
||||||
|
if (enhanceText)
|
||||||
|
HGImgProc_ImageBinarization(destImg, destImg, HGIMGPROC_THRESHTYPE_ADAPTIVE_GAUSSIAN, 120, 51, 41);
|
||||||
|
|
||||||
m_view->addImage(destImg);
|
m_view->addImage(destImg);
|
||||||
|
m_widget_sideBar->enableUI(m_multiPageCount == 1);
|
||||||
|
m_bSideEditing = true;
|
||||||
HGBase_DestroyImage(destImg);
|
HGBase_DestroyImage(destImg);
|
||||||
|
updateActionStatus();
|
||||||
updateStatusBarPixelInfo();
|
updateStatusBarPixelInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_dialog_sideBar_finish()
|
void MainWindow::on_dialog_sideBar_finish(bool ok)
|
||||||
{
|
{
|
||||||
|
m_modify = ok;
|
||||||
|
m_bSideEditing = false;
|
||||||
|
updateActionStatus();
|
||||||
emit m_pbtn_push->clicked();
|
emit m_pbtn_push->clicked();
|
||||||
m_modify = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_act_thumbnailBar_triggered(bool checked)
|
void MainWindow::on_act_thumbnailBar_triggered(bool checked)
|
||||||
|
@ -1897,11 +1900,9 @@ void MainWindow::updateActionStatus()
|
||||||
ui->act_90Right->setEnabled(nullptr != img);
|
ui->act_90Right->setEnabled(nullptr != img);
|
||||||
ui->act_180->setEnabled(nullptr != img);
|
ui->act_180->setEnabled(nullptr != img);
|
||||||
ui->menu_Auto_Image_Size->setEnabled(nullptr != img);
|
ui->menu_Auto_Image_Size->setEnabled(nullptr != img);
|
||||||
ui->act_adjust->setEnabled(nullptr != img);
|
|
||||||
ui->act_multiRotate->setEnabled(0 != count && (!dev_que_.is_online() || !m_isScanning));
|
ui->act_multiRotate->setEnabled(0 != count && (!dev_que_.is_online() || !m_isScanning));
|
||||||
ui->menu_Rotate->setEnabled((0 != count || nullptr != img) && (!dev_que_.is_online() || !m_isScanning));
|
ui->menu_Rotate->setEnabled((0 != count || nullptr != img) && (!dev_que_.is_online() || !m_isScanning));
|
||||||
ui->act_autoCrop->setEnabled(nullptr != img);
|
ui->act_autoCrop->setEnabled(nullptr != img);
|
||||||
ui->act_enhanceText->setEnabled(nullptr != img);
|
|
||||||
|
|
||||||
ui->act_signIn->setEnabled(!m_admin_loggedIn);
|
ui->act_signIn->setEnabled(!m_admin_loggedIn);
|
||||||
ui->act_passwordChange->setEnabled(m_admin_loggedIn);
|
ui->act_passwordChange->setEnabled(m_admin_loggedIn);
|
||||||
|
@ -1930,6 +1931,8 @@ void MainWindow::updateActionStatus()
|
||||||
m_pbtn_push->setVisible(nullptr != img);
|
m_pbtn_push->setVisible(nullptr != img);
|
||||||
m_widget_sideBar->setVisible(nullptr != img);
|
m_widget_sideBar->setVisible(nullptr != img);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->act_adjust->setEnabled(!m_bSideEditing && nullptr != img);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::startSaveMessageBox(QWidget* parent)
|
void MainWindow::startSaveMessageBox(QWidget* parent)
|
||||||
|
@ -2028,6 +2031,9 @@ void MainWindow::on_act_previousPage_triggered()
|
||||||
if (nullptr != img)
|
if (nullptr != img)
|
||||||
{
|
{
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -2053,6 +2059,9 @@ void MainWindow::on_act_nextPage_triggered()
|
||||||
if (nullptr != img)
|
if (nullptr != img)
|
||||||
{
|
{
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -2078,6 +2087,9 @@ void MainWindow::on_act_firstPage_triggered()
|
||||||
if (nullptr != img)
|
if (nullptr != img)
|
||||||
{
|
{
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -2103,6 +2115,9 @@ void MainWindow::on_act_lastPage_triggered()
|
||||||
if (nullptr != img)
|
if (nullptr != img)
|
||||||
{
|
{
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = false;
|
m_modify = false;
|
||||||
}
|
}
|
||||||
|
@ -2140,6 +2155,9 @@ void MainWindow::on_act_adjust_triggered()
|
||||||
image = dlg.getAfterImage();
|
image = dlg.getAfterImage();
|
||||||
HGBase_SetImageDpi(image, xDpi, yDpi);
|
HGBase_SetImageDpi(image, xDpi, yDpi);
|
||||||
m_view->addImage(image);
|
m_view->addImage(image);
|
||||||
|
m_widget_sideBar->setImage(image);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
m_modify = true;
|
m_modify = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2147,6 +2165,9 @@ void MainWindow::on_act_adjust_triggered()
|
||||||
image = dlg.getBeforeImage();
|
image = dlg.getBeforeImage();
|
||||||
HGBase_SetImageDpi(image, xDpi, yDpi);
|
HGBase_SetImageDpi(image, xDpi, yDpi);
|
||||||
m_view->addImage(image);
|
m_view->addImage(image);
|
||||||
|
m_widget_sideBar->setImage(image);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateStatusBarPixelInfo();
|
updateStatusBarPixelInfo();
|
||||||
|
@ -2795,8 +2816,8 @@ void MainWindow::resizeEvent(QResizeEvent *e)
|
||||||
{
|
{
|
||||||
int mainWndWidth = this->rect().width();
|
int mainWndWidth = this->rect().width();
|
||||||
int mainWndHeight = this->rect().height();
|
int mainWndHeight = this->rect().height();
|
||||||
int sideBarWidth = m_widget_sideBar->getWidth();
|
int sideBarWidth = m_widget_sideBar->width();
|
||||||
int sideBarHeight = m_widget_sideBar->getHeight();
|
int sideBarHeight = m_widget_sideBar->height();
|
||||||
|
|
||||||
m_widget_sideBar->move(mainWndWidth - sideBarWidth, mainWndHeight/2 - sideBarHeight/2);
|
m_widget_sideBar->move(mainWndWidth - sideBarWidth, mainWndHeight/2 - sideBarHeight/2);
|
||||||
m_pbtn_push->move(mainWndWidth - m_pbtn_push->width() - sideBarWidth, mainWndHeight/2 - m_pbtn_push->height()/2);
|
m_pbtn_push->move(mainWndWidth - m_pbtn_push->width() - sideBarWidth, mainWndHeight/2 - m_pbtn_push->height()/2);
|
||||||
|
@ -3175,6 +3196,9 @@ void MainWindow::on_act_autoCrop_triggered()
|
||||||
{
|
{
|
||||||
HGBase_SetImageDpi(destImage, xDpi, yDpi);
|
HGBase_SetImageDpi(destImage, xDpi, yDpi);
|
||||||
m_view->addImage(destImage);
|
m_view->addImage(destImage);
|
||||||
|
m_widget_sideBar->setImage(destImage);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(destImage);
|
HGBase_DestroyImage(destImage);
|
||||||
m_modify = true;
|
m_modify = true;
|
||||||
|
|
||||||
|
@ -3919,6 +3943,9 @@ void MainWindow::on_act_imageEdit_triggered()
|
||||||
{
|
{
|
||||||
HGBase_SetImageDpi(img, xDpi, yDpi);
|
HGBase_SetImageDpi(img, xDpi, yDpi);
|
||||||
m_view->addImage(img);
|
m_view->addImage(img);
|
||||||
|
m_widget_sideBar->setImage(img);
|
||||||
|
m_widget_sideBar->enableUI(false);
|
||||||
|
m_bSideEditing = false;
|
||||||
HGBase_DestroyImage(img);
|
HGBase_DestroyImage(img);
|
||||||
m_modify = true;
|
m_modify = true;
|
||||||
|
|
||||||
|
@ -4511,7 +4538,7 @@ void MainWindow::updateSideBar()
|
||||||
{
|
{
|
||||||
int mainWndWidth = this->rect().width();
|
int mainWndWidth = this->rect().width();
|
||||||
int mainWndHeight = this->rect().height();
|
int mainWndHeight = this->rect().height();
|
||||||
int sideBarHeight = m_widget_sideBar->getHeight();
|
int sideBarHeight = m_widget_sideBar->height();
|
||||||
|
|
||||||
m_widget_sideBar->move(mainWndWidth, mainWndHeight/2 - sideBarHeight/2);
|
m_widget_sideBar->move(mainWndWidth, mainWndHeight/2 - sideBarHeight/2);
|
||||||
m_pbtn_push->move(mainWndWidth - m_pbtn_push->width(), mainWndHeight/2 - m_pbtn_push->height()/2);
|
m_pbtn_push->move(mainWndWidth - m_pbtn_push->width(), mainWndHeight/2 - m_pbtn_push->height()/2);
|
||||||
|
@ -4791,39 +4818,3 @@ void MainWindow::on_act_deleteFile_triggered()
|
||||||
m_thumb->removeItems(selectIndexs, HGImgThumb::ThumbRemoveFlag_Delete);
|
m_thumb->removeItems(selectIndexs, HGImgThumb::ThumbRemoveFlag_Delete);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_act_enhanceText_triggered()
|
|
||||||
{
|
|
||||||
HGImage image = nullptr;
|
|
||||||
m_view->getImage(&image);
|
|
||||||
if (nullptr == image)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGUInt xDpi = 0;
|
|
||||||
HGUInt yDpi = 0;
|
|
||||||
HGBase_GetImageDpi(image, &xDpi, &yDpi);
|
|
||||||
|
|
||||||
HGImageInfo imgInfo;
|
|
||||||
HGBase_GetImageInfo(image, &imgInfo);
|
|
||||||
HGUInt width = imgInfo.width;
|
|
||||||
HGUInt height = imgInfo.height;
|
|
||||||
|
|
||||||
HGImage destImage = nullptr;
|
|
||||||
HGBase_CreateImage(width, height, imgInfo.type, HGBASE_IMGORIGIN_TOP, &destImage);
|
|
||||||
if (NULL == destImage)
|
|
||||||
{
|
|
||||||
HGBase_DestroyImage(destImage);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGImgProc_ImageBinarization(image, destImage, HGIMGPROC_THRESHTYPE_BINARY, 40, 51, 41);
|
|
||||||
if (nullptr != destImage)
|
|
||||||
{
|
|
||||||
HGBase_SetImageDpi(destImage, xDpi, yDpi);
|
|
||||||
m_view->addImage(destImage);
|
|
||||||
HGBase_DestroyImage(destImage);
|
|
||||||
m_modify = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -159,8 +159,8 @@ private slots:
|
||||||
void on_statusInfoDblClick();
|
void on_statusInfoDblClick();
|
||||||
void on_wrong_image_decide(dialog_wrong_img* dlg, bool save);
|
void on_wrong_image_decide(dialog_wrong_img* dlg, bool save);
|
||||||
void on_m_pbtn_push_clicked();
|
void on_m_pbtn_push_clicked();
|
||||||
void on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma);
|
void on_dialog_sideBar_applyToImage(HGImage img, int brightness, int contrast, double gamma, bool enhanceText);
|
||||||
void on_dialog_sideBar_finish();
|
void on_dialog_sideBar_finish(bool ok);
|
||||||
|
|
||||||
void on_act_thumbnailBar_triggered(bool checked);
|
void on_act_thumbnailBar_triggered(bool checked);
|
||||||
|
|
||||||
|
@ -254,8 +254,6 @@ private slots:
|
||||||
|
|
||||||
void on_act_deleteFile_triggered();
|
void on_act_deleteFile_triggered();
|
||||||
|
|
||||||
void on_act_enhanceText_triggered();
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void my_url_handler(const QUrl& url);
|
void my_url_handler(const QUrl& url);
|
||||||
|
|
||||||
|
@ -365,6 +363,7 @@ private:
|
||||||
bool m_cacheDirNotify;
|
bool m_cacheDirNotify;
|
||||||
bool m_AquirePathNotify;
|
bool m_AquirePathNotify;
|
||||||
bool m_bSideflag;
|
bool m_bSideflag;
|
||||||
|
bool m_bSideEditing;
|
||||||
|
|
||||||
// 固件升级和设备锁定
|
// 固件升级和设备锁定
|
||||||
std::vector<FwUpgradeAndDevLock> m_vFwUpgradeAndDevLock;
|
std::vector<FwUpgradeAndDevLock> m_vFwUpgradeAndDevLock;
|
||||||
|
|
|
@ -140,7 +140,6 @@
|
||||||
<addaction name="menu_Rotate"/>
|
<addaction name="menu_Rotate"/>
|
||||||
<addaction name="act_autoCrop"/>
|
<addaction name="act_autoCrop"/>
|
||||||
<addaction name="act_imageEdit"/>
|
<addaction name="act_imageEdit"/>
|
||||||
<addaction name="act_enhanceText"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menu_user">
|
<widget class="QMenu" name="menu_user">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
|
|
@ -10,7 +10,7 @@ Widget_Imgproc_SideBar::Widget_Imgproc_SideBar(QWidget *parent) :
|
||||||
, m_curImage(NULL)
|
, m_curImage(NULL)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
updateUiStatus();
|
ui->pbtn_ok->setEnabled(false);
|
||||||
|
|
||||||
connect(ui->slider_brightness, SIGNAL(valueChanged(int)), ui->spin_brightness, SLOT(setValue(int)));
|
connect(ui->slider_brightness, SIGNAL(valueChanged(int)), ui->spin_brightness, SLOT(setValue(int)));
|
||||||
connect(ui->slider_contrast, SIGNAL(valueChanged(int)), ui->spin_contrast, SLOT(setValue(int)));
|
connect(ui->slider_contrast, SIGNAL(valueChanged(int)), ui->spin_contrast, SLOT(setValue(int)));
|
||||||
|
@ -25,41 +25,16 @@ Widget_Imgproc_SideBar::~Widget_Imgproc_SideBar()
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Widget_Imgproc_SideBar::getWidth()
|
void Widget_Imgproc_SideBar::setImage(HGImage image)
|
||||||
{
|
{
|
||||||
return this->width();
|
HGBase_DestroyImage(m_curImage);
|
||||||
|
HGBase_CloneImage(image, 0, 0, &m_curImage);
|
||||||
|
on_pbtn_restoreDefault_clicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
int Widget_Imgproc_SideBar::getHeight()
|
void Widget_Imgproc_SideBar::enableUI(bool enable)
|
||||||
{
|
{
|
||||||
return this->height();
|
ui->pbtn_ok->setEnabled(enable);
|
||||||
}
|
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::getCurrentImg(HGImage image)
|
|
||||||
{
|
|
||||||
HGImageInfo imgInfo;
|
|
||||||
HGBase_GetImageInfo(image, &imgInfo);
|
|
||||||
HGBase_CloneImage(image, imgInfo.type, HGBASE_IMGORIGIN_TOP, &m_curImage);
|
|
||||||
if (NULL == m_curImage)
|
|
||||||
{
|
|
||||||
HGBase_DestroyImage(m_curImage);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::setBrightness(int brightness)
|
|
||||||
{
|
|
||||||
ui->spin_brightness->setValue(brightness);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::setContrast(int contrast)
|
|
||||||
{
|
|
||||||
ui->spin_contrast->setValue(contrast);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::setGamma(double gamma)
|
|
||||||
{
|
|
||||||
ui->dspin_gamma->setValue(gamma);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::paintEvent(QPaintEvent *e)
|
void Widget_Imgproc_SideBar::paintEvent(QPaintEvent *e)
|
||||||
|
@ -71,48 +46,32 @@ void Widget_Imgproc_SideBar::paintEvent(QPaintEvent *e)
|
||||||
p.drawRect(0, 0, width() -1, height() -1);
|
p.drawRect(0, 0, width() -1, height() -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::updateUiStatus()
|
|
||||||
{
|
|
||||||
ui->checkBox_apply->setChecked(getCfgValue("sideBar", "applyImg", true));
|
|
||||||
ui->checkBox_enhanceText->setChecked(getCfgValue("sideBar", "enhanceText", false));
|
|
||||||
ui->spin_brightness->setValue(getCfgValue("sideBar", "brightness", 0));
|
|
||||||
ui->spin_contrast->setValue(getCfgValue("sideBar", "contrast", 0));
|
|
||||||
|
|
||||||
QString strGamma = getCfgValue("sideBar", "gamma", QString("1.0"));
|
|
||||||
double gamma = atof(strGamma.toStdString().c_str());
|
|
||||||
ui->dspin_gamma->setValue(gamma);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_spin_brightness_valueChanged(int arg1)
|
void Widget_Imgproc_SideBar::on_spin_brightness_valueChanged(int arg1)
|
||||||
{
|
{
|
||||||
ui->slider_brightness->setValue(arg1);
|
ui->slider_brightness->setValue(arg1);
|
||||||
if(ui->checkBox_apply->isChecked())
|
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(),
|
||||||
emit applyToImage(m_curImage, arg1, ui->spin_contrast->value(), ui->dspin_gamma->value());
|
ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_spin_contrast_valueChanged(int arg1)
|
void Widget_Imgproc_SideBar::on_spin_contrast_valueChanged(int arg1)
|
||||||
{
|
{
|
||||||
ui->slider_contrast->setValue(arg1);
|
ui->slider_contrast->setValue(arg1);
|
||||||
if(ui->checkBox_apply->isChecked())
|
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(),
|
||||||
emit applyToImage(m_curImage, ui->spin_brightness->value(), arg1, ui->dspin_gamma->value());
|
ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_dspin_gamma_valueChanged(double arg1)
|
void Widget_Imgproc_SideBar::on_dspin_gamma_valueChanged(double arg1)
|
||||||
{
|
{
|
||||||
ui->slider_gamma->setValue(static_cast<int>(arg1 * 100));
|
ui->slider_gamma->setValue(static_cast<int>(arg1 * 100));
|
||||||
if(ui->checkBox_apply->isChecked())
|
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(),
|
||||||
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), arg1);
|
ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_slider_gamma_valueChanged(int value)
|
void Widget_Imgproc_SideBar::on_slider_gamma_valueChanged(int value)
|
||||||
{
|
{
|
||||||
ui->dspin_gamma->setValue(static_cast<double>(value / 100.0));
|
ui->dspin_gamma->setValue(static_cast<double>(value / 100.0));
|
||||||
}
|
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(),
|
||||||
|
ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked());
|
||||||
void Widget_Imgproc_SideBar::on_checkBox_apply_toggled(bool checked)
|
|
||||||
{
|
|
||||||
if(checked)
|
|
||||||
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_pbtn_restoreDefault_clicked()
|
void Widget_Imgproc_SideBar::on_pbtn_restoreDefault_clicked()
|
||||||
|
@ -120,60 +79,22 @@ void Widget_Imgproc_SideBar::on_pbtn_restoreDefault_clicked()
|
||||||
ui->spin_brightness->setValue(0);
|
ui->spin_brightness->setValue(0);
|
||||||
ui->spin_contrast->setValue(0);
|
ui->spin_contrast->setValue(0);
|
||||||
ui->dspin_gamma->setValue(1.0);
|
ui->dspin_gamma->setValue(1.0);
|
||||||
ui->checkBox_apply->setChecked(true);
|
|
||||||
ui->checkBox_enhanceText->setChecked(false);
|
ui->checkBox_enhanceText->setChecked(false);
|
||||||
if(ui->checkBox_apply->isChecked())
|
|
||||||
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_pbtn_ok_clicked()
|
void Widget_Imgproc_SideBar::on_pbtn_ok_clicked()
|
||||||
{
|
{
|
||||||
saveCfgValue("sideBar", "applyImg", ui->checkBox_apply->isChecked());
|
emit finish(true);
|
||||||
saveCfgValue("sideBar", "enhanceText", ui->checkBox_enhanceText->isChecked());
|
|
||||||
|
|
||||||
saveCfgValue("sideBar", "brightness", ui->spin_brightness->value());
|
|
||||||
saveCfgValue("sideBar", "contrast", ui->spin_contrast->value());
|
|
||||||
char gamma[32];
|
|
||||||
sprintf(gamma, "%f", ui->dspin_gamma->value());
|
|
||||||
saveCfgValue("sideBar", "gamma", QString(gamma));
|
|
||||||
|
|
||||||
if (ui->checkBox_enhanceText->isChecked())
|
|
||||||
{
|
|
||||||
HGUInt xDpi = 0;
|
|
||||||
HGUInt yDpi = 0;
|
|
||||||
HGBase_GetImageDpi(m_curImage, &xDpi, &yDpi);
|
|
||||||
|
|
||||||
HGImageInfo imgInfo;
|
|
||||||
HGBase_GetImageInfo(m_curImage, &imgInfo);
|
|
||||||
HGUInt width = imgInfo.width;
|
|
||||||
HGUInt height = imgInfo.height;
|
|
||||||
|
|
||||||
HGImage destImage = nullptr;
|
|
||||||
HGBase_CreateImage(width, height, imgInfo.type, HGBASE_IMGORIGIN_TOP, &destImage);
|
|
||||||
if (NULL == destImage)
|
|
||||||
{
|
|
||||||
HGBase_DestroyImage(destImage);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
HGImgProc_ImageBinarization(m_curImage, destImage, HGIMGPROC_THRESHTYPE_BINARY, 40, 51, 41);
|
|
||||||
if (nullptr != destImage)
|
|
||||||
{
|
|
||||||
HGBase_SetImageDpi(destImage, xDpi, yDpi);
|
|
||||||
emit applyToImage(destImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value());
|
|
||||||
HGBase_DestroyImage(destImage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(), ui->dspin_gamma->value());
|
|
||||||
}
|
|
||||||
|
|
||||||
emit finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Widget_Imgproc_SideBar::on_pbtn_cancel_clicked()
|
void Widget_Imgproc_SideBar::on_pbtn_cancel_clicked()
|
||||||
{
|
{
|
||||||
updateUiStatus();
|
on_pbtn_restoreDefault_clicked();
|
||||||
emit finish();
|
emit finish(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Widget_Imgproc_SideBar::on_checkBox_enhanceText_toggled(bool checked)
|
||||||
|
{
|
||||||
|
emit applyToImage(m_curImage, ui->spin_brightness->value(), ui->spin_contrast->value(),
|
||||||
|
ui->dspin_gamma->value(), ui->checkBox_enhanceText->isChecked());
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,23 +16,15 @@ public:
|
||||||
explicit Widget_Imgproc_SideBar(QWidget *parent = nullptr);
|
explicit Widget_Imgproc_SideBar(QWidget *parent = nullptr);
|
||||||
~Widget_Imgproc_SideBar();
|
~Widget_Imgproc_SideBar();
|
||||||
|
|
||||||
int getWidth();
|
void setImage(HGImage image);
|
||||||
int getHeight();
|
void enableUI(bool enable);
|
||||||
void getCurrentImg(HGImage image);
|
|
||||||
|
|
||||||
void setBrightness(int brightness);
|
|
||||||
void setContrast(int contrast);
|
|
||||||
void setGamma(double gamma);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void paintEvent(QPaintEvent *e) override;
|
void paintEvent(QPaintEvent *e) override;
|
||||||
|
|
||||||
private:
|
|
||||||
void updateUiStatus();
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void applyToImage(HGImage img, int brightness, int contrast, double gamma);
|
void applyToImage(HGImage img, int brightness, int contrast, double gamma, bool enhanceText);
|
||||||
void finish();
|
void finish(bool ok);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_spin_brightness_valueChanged(int arg1);
|
void on_spin_brightness_valueChanged(int arg1);
|
||||||
|
@ -43,14 +35,14 @@ private slots:
|
||||||
|
|
||||||
void on_slider_gamma_valueChanged(int value);
|
void on_slider_gamma_valueChanged(int value);
|
||||||
|
|
||||||
void on_checkBox_apply_toggled(bool checked);
|
|
||||||
|
|
||||||
void on_pbtn_restoreDefault_clicked();
|
void on_pbtn_restoreDefault_clicked();
|
||||||
|
|
||||||
void on_pbtn_ok_clicked();
|
void on_pbtn_ok_clicked();
|
||||||
|
|
||||||
void on_pbtn_cancel_clicked();
|
void on_pbtn_cancel_clicked();
|
||||||
|
|
||||||
|
void on_checkBox_enhanceText_toggled(bool checked);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::Widget_Imgproc_SideBar *ui;
|
Ui::Widget_Imgproc_SideBar *ui;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>220</width>
|
<width>220</width>
|
||||||
<height>427</height>
|
<height>376</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>60</x>
|
<x>60</x>
|
||||||
<y>380</y>
|
<y>340</y>
|
||||||
<width>75</width>
|
<width>75</width>
|
||||||
<height>23</height>
|
<height>23</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>140</x>
|
<x>140</x>
|
||||||
<y>380</y>
|
<y>340</y>
|
||||||
<width>75</width>
|
<width>75</width>
|
||||||
<height>23</height>
|
<height>23</height>
|
||||||
</rect>
|
</rect>
|
||||||
|
@ -39,38 +39,6 @@
|
||||||
<string>Cancel</string>
|
<string>Cancel</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>10</x>
|
|
||||||
<y>330</y>
|
|
||||||
<width>152</width>
|
|
||||||
<height>25</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="pbtn_restoreDefault">
|
|
||||||
<property name="text">
|
|
||||||
<string>Restore defaults</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<widget class="QWidget" name="layoutWidget">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
|
@ -103,38 +71,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="layoutWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>10</x>
|
|
||||||
<y>290</y>
|
|
||||||
<width>155</width>
|
|
||||||
<height>22</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="checkBox_apply">
|
|
||||||
<property name="text">
|
|
||||||
<string>Apply to image</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>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QGroupBox" name="gbox_brightness">
|
<widget class="QGroupBox" name="gbox_brightness">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
|
@ -171,6 +107,9 @@
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="tracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -252,6 +191,9 @@
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>100</number>
|
<number>100</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="tracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -333,6 +275,9 @@
|
||||||
<property name="value">
|
<property name="value">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="tracking">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -384,6 +329,19 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="QPushButton" name="pbtn_restoreDefault">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>10</x>
|
||||||
|
<y>290</y>
|
||||||
|
<width>104</width>
|
||||||
|
<height>23</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Restore defaults</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|
Loading…
Reference in New Issue