diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3c083d9..be87240 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.10)
project(checks-parser VERSION 0.1 LANGUAGES CXX)
+option(BUILD_TRANSLATIONS "Build translations?" ON)
+
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC OFF)
@@ -11,99 +13,82 @@ set(CMAKE_AUTOUIC_SEARCH_PATHS Designer)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
-find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
-find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
-find_package(Qt5 COMPONENTS LinguistTools)
+find_package(Qt5Core REQUIRED)
+find_package(Qt5 REQUIRED COMPONENTS LinguistTools)
+find_package(Qt5Gui REQUIRED)
+find_package(Qt5Widgets REQUIRED)
set(PROJECT_SOURCES
- main.cpp
- mainwindow.cpp
- mainwindow.h
- mainwindow.ui
+ main.cpp
+ mainwindow.cpp
+ mainwindow.h
+ mainwindow.ui
- goods/goods.h goods/goods.cpp
- check/check.h check/check.cpp
- parser/parser.h parser/parser.cpp
- parser/module.h parser/module.cpp
+ goods/goods.h goods/goods.cpp
+ check/check.h check/check.cpp
+ parser/parser.h parser/parser.cpp
+ parser/module.h parser/module.cpp
- outputdialog.h outputdialog.cpp outputdialog.ui
- output/output_options.h output/output_options.cpp
+ outputdialog.h outputdialog.cpp outputdialog.ui
+ output/output_options.h output/output_options.cpp
- utils/utils.h utils/utils.cpp
- image/checkimage.h image/checkimage.cpp
- net/net.h net/net.cpp
- settings/settings.h settings/settings.cpp
- settingsdialog.h settingsdialog.cpp settingsdialog.ui
- adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui
- image_redactor/imageredactor.h image_redactor/imageredactor.cpp
- solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
- exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
+ utils/utils.h utils/utils.cpp
+ image/checkimage.h image/checkimage.cpp
+ net/net.h net/net.cpp
+ settings/settings.h settings/settings.cpp
+ settingsdialog.h settingsdialog.cpp settingsdialog.ui
+ adjustpicturedialog.h adjustpicturedialog.cpp adjustpicturedialog.ui
+ image_redactor/imageredactor.h image_redactor/imageredactor.cpp
+ solvecaptchadialog.h solvecaptchadialog.cpp solvecaptchadialog.ui
+ exceptions/ofdrequestexception.h exceptions/ofdrequestexception.cpp
)
-# Specify the UI files and source files for translation
set(TRANSLATION_SOURCES
- main.cpp
- mainwindow.cpp mainwindow.h mainwindow.ui
- outputdialog.cpp outputdialog.h outputdialog.ui
- settingsdialog.cpp settingsdialog.h settingsdialog.ui
- solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui
- adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui
+ main.cpp
+ mainwindow.cpp mainwindow.h mainwindow.ui
+ outputdialog.cpp outputdialog.h outputdialog.ui
+ settingsdialog.cpp settingsdialog.h settingsdialog.ui
+ solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui
+ adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui
)
-set(TRANSLATION_FILES translations/en_US.ts translations/ru_RU.ts)
-
-# set(QM_FILES "")
-
-
-# qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" translations/en_US.ts translations/ru_RU.ts)
-
-
-# foreach(TS_FILE IN LISTS "${TRANSLATION_FILES}")
-# qt5_create_translation(QM_FILE "${TRANSLATION_SOURCES}" TS_FILE)
-# set(QM_FILE "${CMAKE_CURRENT_BINARY_DIR}/${QM_FILE}")
-# set(QM_FILES "${QM_FILES};${QM_FILE}")
-# endforeach()
-
-qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" translations/en_US.ts translations/ru_RU.ts)
-# message(STATUS ${CMAKE_CURRENT_BINARY_DIR})
-qt5_add_resources(TRANSLATIONQRC translations.qrc OPTIONS --root ${CMAKE_CURRENT_BINARY_DIR})
-
-add_custom_target(translations
- DEPENDS ${QM_FILES}
- DEPENDS ${TRANSLATIONQRC}
- VERBATIM
+set(TS_FILES
+ translations/en_US.ts
+ translations/ru_RU.ts
)
-if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
- qt_add_executable(checks-parser
- MANUAL_FINALIZATION
- ${PROJECT_SOURCES}
- )
-else()
- if(ANDROID)
- add_library(checks-parser SHARED
- ${PROJECT_SOURCES}
- )
-
- else()
- add_executable(checks-parser
- ${PROJECT_SOURCES}
- # ${QM_FILES}
- ${TRANSLATIONQRC}
- )
- endif()
+if (BUILD_TRANSLATIONS)
+ qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" ${TS_FILES})
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/translations.qrc ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc COPYONLY)
+ qt5_add_resources(TRANSLATIONQRC ${CMAKE_CURRENT_BINARY_DIR}/translations.qrc)
+ add_custom_target(translations ALL DEPENDS ${QM_FILES})
+ add_custom_target(resources ALL DEPENDS ${TRANSLATIONQRC})
+ add_dependencies(resources translations)
endif()
-target_link_libraries(checks-parser PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
+set(SOURCES "")
+if (BUILD_TRANSLATIONS)
+ list(APPEND SOURCES ${TRANSLATIONQRC})
+endif()
+
+if(ANDROID)
+ add_library(checks-parser SHARED
+ ${PROJECT_SOURCES}
+ ${SOURCES}
+ )
+else()
+ add_executable(checks-parser
+ ${PROJECT_SOURCES}
+ ${SOURCES}
+ )
+endif()
+
+target_link_libraries(checks-parser PRIVATE Qt5::Widgets)
target_include_directories(checks-parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/image_redactor)
-# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
-# If you are developing for iOS or macOS you should consider setting an
-# explicit, fixed bundle identifier manually though.
-if(${QT_VERSION} VERSION_LESS 6.1.0)
- set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.checks-parser)
-endif()
+set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER org.foxarmy.checks-parser)
+
set_target_properties(checks-parser PROPERTIES
${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
@@ -119,18 +104,16 @@ install(TARGETS checks-parser
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
-if(QT_VERSION_MAJOR EQUAL 6)
- qt_finalize_executable(checks-parser)
-endif()
if(WIN32)
-# set(OPENCV_MAP_IMPORTED_CONFIG "")
- set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
-# set (OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4)
+ #????
+ set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
endif()
-find_package(OpenCV REQUIRED)
+
+find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs)
include_directories( ${OpenCV_INCLUDE_DIRS} )
+
target_link_libraries(checks-parser PRIVATE -lzbar)
target_link_libraries(checks-parser PRIVATE -ltesseract)
target_link_libraries(checks-parser PRIVATE -lcurl)
diff --git a/main.cpp b/main.cpp
index e0498fa..de82bd9 100644
--- a/main.cpp
+++ b/main.cpp
@@ -54,6 +54,9 @@ int main(int argc, char *argv[]) {
} else {
lang = QString::fromStdString("en_US");
}
+
+ std::cout << "Using locale: " << lang.toStdString() << std::endl;
+
translator.load(":/translation/" + lang + ".qm");
a.installTranslator(&translator);
diff --git a/translations.qrc b/translations.qrc
index ed12877..bd622f0 100644
--- a/translations.qrc
+++ b/translations.qrc
@@ -3,5 +3,4 @@
en_US.qm
ru_RU.qm
-