5 Commits

Author SHA1 Message Date
d41accd111 cleanup 2025-03-08 17:33:24 +03:00
957ccc9946 dirty minimal working version 2025-03-08 12:42:43 +03:00
7d42cbd111 unneeded dependencies 2025-03-07 16:36:12 +03:00
5ca16a4f76 translations 2025-03-03 22:52:09 +03:00
e60aafd653 separated translations as a new make target 2024-12-12 00:58:36 +03:00
6 changed files with 78 additions and 87 deletions

View File

@@ -2,97 +2,93 @@ cmake_minimum_required(VERSION 3.10)
project(checks-parser VERSION 0.1 LANGUAGES CXX) project(checks-parser VERSION 0.1 LANGUAGES CXX)
option(BUILD_TRANSLATIONS "Build translations?" ON)
set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON) set(CMAKE_AUTORCC OFF)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC_SEARCH_PATHS Designer) set(CMAKE_AUTOUIC_SEARCH_PATHS Designer)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools) find_package(Qt5Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) find_package(Qt5 REQUIRED COMPONENTS LinguistTools)
find_package(Qt5 COMPONENTS LinguistTools) find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)
set(PROJECT_SOURCES set(PROJECT_SOURCES
main.cpp main.cpp
mainwindow.cpp mainwindow.cpp
mainwindow.h mainwindow.h
mainwindow.ui mainwindow.ui
# Add other source files here that contain translatable strings 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
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 set(TRANSLATION_SOURCES
main.cpp main.cpp
mainwindow.cpp mainwindow.h mainwindow.ui mainwindow.cpp mainwindow.h mainwindow.ui
outputdialog.cpp outputdialog.h outputdialog.ui outputdialog.cpp outputdialog.h outputdialog.ui
settingsdialog.cpp settingsdialog.h settingsdialog.ui settingsdialog.cpp settingsdialog.h settingsdialog.ui
solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui solvecaptchadialog.cpp solvecaptchadialog.h solvecaptchadialog.ui
adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui adjustpicturedialog.cpp adjustpicturedialog.h adjustpicturedialog.ui
# Add other .cpp or .ui files that need translation here
) )
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) set(TS_FILES
qt_add_executable(checks-parser translations/en_US.ts
MANUAL_FINALIZATION translations/ru_RU.ts
)
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()
set(SOURCES "")
if (BUILD_TRANSLATIONS)
list(APPEND SOURCES ${TRANSLATIONQRC})
endif()
if(ANDROID)
add_library(checks-parser SHARED
${PROJECT_SOURCES} ${PROJECT_SOURCES}
${SOURCES}
) )
# Generate translation files for Qt 6
qt_add_translation(TRANSLATIONS "${TRANSLATION_SOURCES}")
else() else()
if(ANDROID) add_executable(checks-parser
add_library(checks-parser SHARED ${PROJECT_SOURCES}
${PROJECT_SOURCES} ${SOURCES}
) )
else()
# Generate translation files for Qt 5
# QT5_ADD_TRANSLATION()
qt5_create_translation(QM_FILES "${TRANSLATION_SOURCES}" translations/en_US.ts translations/ru_RU.ts)
qt5_add_resources(TRANSLATIONQRC translations.qrc)
add_executable(checks-parser
${PROJECT_SOURCES}
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
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
# ${QM_FILES}
# ${TS_FILES}
translations.qrc
${TRANSLATIONQRC}
)
# configure_file(translations.qrc ${CMAKE_BINARY_DIR} COPYONLY)
# QT5_ADD_TRANSLATION(TRANSLATIONS ${CMAKE_SOURCE_DIR} translations/en_US.ts)
endif()
endif() endif()
target_link_libraries(checks-parser PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) target_link_libraries(checks-parser PRIVATE Qt5::Widgets)
target_include_directories(checks-parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/image_redactor)
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER org.foxarmy.checks-parser)
# 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_target_properties(checks-parser PROPERTIES set_target_properties(checks-parser PROPERTIES
${BUNDLE_ID_OPTION} ${BUNDLE_ID_OPTION}
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
@@ -108,18 +104,16 @@ install(TARGETS checks-parser
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
) )
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(checks-parser)
endif()
if(WIN32) if(WIN32)
# set(OPENCV_MAP_IMPORTED_CONFIG "") #????
set(OpenCV_DIR /usr/local/lib/cmake/opencv4) set(OpenCV_DIR /usr/local/lib/cmake/opencv4)
# set (OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4)
endif() endif()
find_package(OpenCV REQUIRED)
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs)
include_directories( ${OpenCV_INCLUDE_DIRS} ) include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries(checks-parser PRIVATE -lzbar) target_link_libraries(checks-parser PRIVATE -lzbar)
target_link_libraries(checks-parser PRIVATE -ltesseract) target_link_libraries(checks-parser PRIVATE -ltesseract)
target_link_libraries(checks-parser PRIVATE -lcurl) target_link_libraries(checks-parser PRIVATE -lcurl)

View File

@@ -29,7 +29,6 @@ In general, you need to install following dependencies in order to build that ap
* curl * curl
* nlohmann-json * nlohmann-json
* qt5 * qt5
* vtk
Please, do not hesitate to open an issue if you cannot build that. I will help and if you are building on a distro that is not listed there, we can append that list as soon as we will solve your problem! Please, do not hesitate to open an issue if you cannot build that. I will help and if you are building on a distro that is not listed there, we can append that list as soon as we will solve your problem!
### Linux ### Linux

View File

@@ -29,7 +29,6 @@
* curl * curl
* nlohmann-json * nlohmann-json
* qt5 * qt5
* vtk
Пожалуйста, не стесняйтесь и открывайте issue, если вы не можете собрать приложение. Я помогу вам, и если вы собираете приложение на дистрибутиве, который здесь не перечислен, как только мы решим вашу проблему, я добавлю новый дистрибутив в этот список! Пожалуйста, не стесняйтесь и открывайте issue, если вы не можете собрать приложение. Я помогу вам, и если вы собираете приложение на дистрибутиве, который здесь не перечислен, как только мы решим вашу проблему, я добавлю новый дистрибутив в этот список!

View File

@@ -61,10 +61,10 @@
<widget class="ImageRedactor" name="graphicsView"> <widget class="ImageRedactor" name="graphicsView">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>15</x> <x>5</x>
<y>41</y> <y>21</y>
<width>791</width> <width>801</width>
<height>391</height> <height>421</height>
</rect> </rect>
</property> </property>
</widget> </widget>
@@ -77,10 +77,7 @@
<customwidget> <customwidget>
<class>ImageRedactor</class> <class>ImageRedactor</class>
<extends>QGraphicsView</extends> <extends>QGraphicsView</extends>
<header>../../image_redactor/imageredactor.h</header> <header location="global">imageredactor.h</header>
<slots>
<slot>slot1()</slot>
</slots>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources/> <resources/>

View File

@@ -54,6 +54,9 @@ int main(int argc, char *argv[]) {
} else { } else {
lang = QString::fromStdString("en_US"); lang = QString::fromStdString("en_US");
} }
std::cout << "Using locale: " << lang.toStdString() << std::endl;
translator.load(":/translation/" + lang + ".qm"); translator.load(":/translation/" + lang + ".qm");
a.installTranslator(&translator); a.installTranslator(&translator);

View File

@@ -3,5 +3,4 @@
<file>en_US.qm</file> <file>en_US.qm</file>
<file>ru_RU.qm</file> <file>ru_RU.qm</file>
</qresource> </qresource>
<qresource prefix="/translations"/>
</RCC> </RCC>