Ignore small selection (less 3x3).

This commit is contained in:
Gres 2015-09-30 19:48:21 +03:00
parent 3109444805
commit 4c51e264b5

View File

@ -102,25 +102,27 @@ bool SelectionDialog::eventFilter (QObject *object, QEvent *event) {
QPoint endPos = mouseEvent->pos (); QPoint endPos = mouseEvent->pos ();
QRect selection = QRect (startSelectPos_, endPos).normalized (); QRect selection = QRect (startSelectPos_, endPos).normalized ();
QPixmap selectedPixmap = currentPixmap_.copy (selection); QPixmap selectedPixmap = currentPixmap_.copy (selection);
if (!selectedPixmap.isNull ()) { if (selectedPixmap.width () < 3 || selectedPixmap.height () < 3) {
ProcessingItem item; reject ();
item.source = selectedPixmap; return QDialog::eventFilter (object, event);
item.screenPos = pos () + selection.topLeft ();
if (mouseEvent->button () == Qt::RightButton &&
!languageMenu_->children ().isEmpty ()) {
QAction *action = languageMenu_->exec (QCursor::pos ());
if (action == NULL) {
reject ();
return QDialog::eventFilter (object, event);
}
item.ocrLanguage = dictionary_.ocrUiToCode (action->text ());
ST_ASSERT (!item.ocrLanguage.isEmpty ());
item.sourceLanguage = dictionary_.translateForOcrCode (item.ocrLanguage);
ST_ASSERT (!item.sourceLanguage.isEmpty ());
}
emit selected (item);
} }
ProcessingItem item;
item.source = selectedPixmap;
item.screenPos = pos () + selection.topLeft ();
if (mouseEvent->button () == Qt::RightButton &&
!languageMenu_->children ().isEmpty ()) {
QAction *action = languageMenu_->exec (QCursor::pos ());
if (action == NULL) {
reject ();
return QDialog::eventFilter (object, event);
}
item.ocrLanguage = dictionary_.ocrUiToCode (action->text ());
ST_ASSERT (!item.ocrLanguage.isEmpty ());
item.sourceLanguage = dictionary_.translateForOcrCode (item.ocrLanguage);
ST_ASSERT (!item.sourceLanguage.isEmpty ());
}
emit selected (item);
} }
} }
return QDialog::eventFilter (object, event); return QDialog::eventFilter (object, event);