settings and bugfixes
This commit is contained in:
parent
e58d6068e0
commit
d17695a7fa
|
@ -82,6 +82,7 @@ set(TRANSLATION_SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
mainwindow.cpp mainwindow.h scenes/mainwindow.ui
|
mainwindow.cpp mainwindow.h scenes/mainwindow.ui
|
||||||
outputdialog.h outputdialog.cpp scenes/outputdialog.ui
|
outputdialog.h outputdialog.cpp scenes/outputdialog.ui
|
||||||
|
settingsdialog.h settingsdialog.cpp scenes/settingsdialog.ui
|
||||||
)
|
)
|
||||||
|
|
||||||
if (BUILD_EMAIL_TO_TEXT_MODE)
|
if (BUILD_EMAIL_TO_TEXT_MODE)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from checks_parser_base_ubuntu
|
FROM checks_parser_base_ubuntu
|
||||||
|
|
||||||
#for envsubst
|
#for envsubst
|
||||||
RUN DEBIAN_FRONTEND=noninteractive apt install -y gettext
|
RUN DEBIAN_FRONTEND=noninteractive apt install -y gettext
|
||||||
|
|
|
@ -3,7 +3,7 @@ services:
|
||||||
image: checks_parser_base_ubuntu:latest
|
image: checks_parser_base_ubuntu:latest
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: deploy/base-docker/ubuntu.Dockerfile
|
dockerfile: deploy/base-docker/ubuntu/Dockerfile
|
||||||
appimage:
|
appimage:
|
||||||
image: checks_parser_appimage:latest
|
image: checks_parser_appimage:latest
|
||||||
build:
|
build:
|
||||||
|
|
14
main.cpp
14
main.cpp
|
@ -20,6 +20,7 @@
|
||||||
#include <QStackedLayout>
|
#include <QStackedLayout>
|
||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
|
#include <settingsdialog.h>
|
||||||
#ifdef BUILD_EMAIL_TO_TEXT_MODE
|
#ifdef BUILD_EMAIL_TO_TEXT_MODE
|
||||||
# include <emailtextscene.h>
|
# include <emailtextscene.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -69,8 +70,6 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
translator.load(":/translation/" + lang + ".qm");
|
translator.load(":/translation/" + lang + ".qm");
|
||||||
app.installTranslator(&translator);
|
app.installTranslator(&translator);
|
||||||
|
|
||||||
QUiLoader loader;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QWidget *window = new QWidget();
|
QWidget *window = new QWidget();
|
||||||
|
@ -81,7 +80,16 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
sceneLayout->addWidget(mainwindowscene);
|
sceneLayout->addWidget(mainwindowscene);
|
||||||
|
|
||||||
for (auto btn : ((MainWindow *)mainwindowscene)->findChildren<QPushButton *>()) {
|
//Settings button setup
|
||||||
|
QPushButton *settingsButton = ((MainWindow *)mainwindowscene)->findChild<QPushButton *>("settings_button");
|
||||||
|
QObject::connect(settingsButton, &QPushButton::clicked, [&]() {
|
||||||
|
SettingsDialog d;
|
||||||
|
d.show();
|
||||||
|
d.exec();
|
||||||
|
});
|
||||||
|
|
||||||
|
for (auto &btn : ((MainWindow *)mainwindowscene)->findChildren<QPushButton *>()) {
|
||||||
|
if (btn->objectName() == "settings_button") continue;
|
||||||
btn->hide();
|
btn->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<file>scenes/ocrscene.ui</file>
|
<file>scenes/ocrscene.ui</file>
|
||||||
<file>scenes/mainwindow.ui</file>
|
<file>scenes/mainwindow.ui</file>
|
||||||
<file>scenes/ofdscene.ui</file>
|
<file>scenes/ofdscene.ui</file>
|
||||||
|
<file>scenes/settingsdialog.ui</file>
|
||||||
<file>scenes/solvecaptchadialog.ui</file>
|
<file>scenes/solvecaptchadialog.ui</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -31,32 +31,6 @@
|
||||||
<property name="verticalSpacing">
|
<property name="verticalSpacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QPushButton" name="ocr_button">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Optical Character Recognition</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset resource="../build/Desktop-Debug/media.qrc">
|
|
||||||
<normaloff>:/icons/assets/icons/OCR.svg</normaloff>:/icons/assets/icons/OCR.svg</iconset>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>128</width>
|
|
||||||
<height>128</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QPushButton" name="text_from_email_button">
|
<widget class="QPushButton" name="text_from_email_button">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -101,7 +75,33 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0" colspan="2">
|
<item row="0" column="1">
|
||||||
|
<widget class="QPushButton" name="ocr_button">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Optical Character Recognition</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../build/Desktop-Debug/media.qrc">
|
||||||
|
<normaloff>:/icons/assets/icons/OCR.svg</normaloff>:/icons/assets/icons/OCR.svg</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>128</width>
|
||||||
|
<height>128</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
<widget class="QPushButton" name="ofd_button">
|
<widget class="QPushButton" name="ofd_button">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
|
@ -124,6 +124,19 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QPushButton" name="settings_button">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Settings</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
|
@ -0,0 +1,290 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>settingsdialog</class>
|
||||||
|
<widget class="QDialog" name="settingsdialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>693</width>
|
||||||
|
<height>786</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Dialog</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QScrollArea" name="scrollArea">
|
||||||
|
<property name="widgetResizable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="scrollAreaWidgetContents">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>673</width>
|
||||||
|
<height>724</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="15" column="1">
|
||||||
|
<widget class="QCheckBox" name="printTotalCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="0">
|
||||||
|
<widget class="QLabel" name="label_15">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods net weight position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QSpinBox" name="goodsNamePositionSpin"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Stores modules url</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<widget class="QLabel" name="label_13">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods quantity position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="OFDModulesDirEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>OFD modules url</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Print header</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QSpinBox" name="goodsPricePerUnitPositionSpin"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLineEdit" name="storesModulesURLEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="0">
|
||||||
|
<widget class="QLabel" name="label_14">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods quantity alias</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>OFD modules directory</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QLineEdit" name="goodsNameAliasEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="15" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Print total</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="1">
|
||||||
|
<widget class="QLineEdit" name="goodsTotalAliasEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="8" column="1">
|
||||||
|
<widget class="QSpinBox" name="goodsQuantityPositionSpin"/>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="0">
|
||||||
|
<widget class="QLabel" name="label_16">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods net weight alias</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="10" column="1">
|
||||||
|
<widget class="QSpinBox" name="goodsNetWeightPositionSpin"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="OFDModulesURLEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="13" column="0">
|
||||||
|
<widget class="QLabel" name="label_18">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods total alias</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="storesModulesDirEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="1">
|
||||||
|
<widget class="QLineEdit" name="goodsPricePerUnitAliasEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="9" column="1">
|
||||||
|
<widget class="QLineEdit" name="goodsQuantityAliasEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="11" column="1">
|
||||||
|
<widget class="QLineEdit" name="goodsNetWeightAliasEdit"/>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QLabel" name="label_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods name position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="14" column="1">
|
||||||
|
<widget class="QCheckBox" name="printHeaderCheckBox">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods name alias</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods price per unit position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Stores modules directory</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="0">
|
||||||
|
<widget class="QLabel" name="label_17">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods total position</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QPushButton" name="OFDModulesDirChooseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="12" column="1">
|
||||||
|
<widget class="QSpinBox" name="goodsTotalPositionSpin"/>
|
||||||
|
</item>
|
||||||
|
<item row="7" column="0">
|
||||||
|
<widget class="QLabel" name="label_12">
|
||||||
|
<property name="text">
|
||||||
|
<string>Goods price per unit alias</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QPushButton" name="storedModulesDirChooseButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Choose</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="0">
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Language</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="16" column="1">
|
||||||
|
<widget class="QComboBox" name="languageComboBox">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>en_US</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>ru_RU</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Orientation::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Save</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>settingsdialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>settingsdialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
|
@ -1,7 +1,10 @@
|
||||||
#include "settingsdialog.h"
|
#include "settingsdialog.h"
|
||||||
#include "settings/settings.h"
|
|
||||||
#include "ui_settingsdialog.h"
|
#include "ui_settingsdialog.h"
|
||||||
#include "utils/utils.h"
|
|
||||||
|
#include <settings/settings.h>
|
||||||
|
#include <utils/utils.h>
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
@ -34,10 +37,14 @@ SettingsDialog::SettingsDialog(QWidget *parent)
|
||||||
|
|
||||||
ui->printHeaderCheckBox->setChecked(this->settings.get_all_settings()["print_header"]);
|
ui->printHeaderCheckBox->setChecked(this->settings.get_all_settings()["print_header"]);
|
||||||
ui->printTotalCheckBox->setChecked(this->settings.get_all_settings()["print_total"]);
|
ui->printTotalCheckBox->setChecked(this->settings.get_all_settings()["print_total"]);
|
||||||
|
std::cout << settings.get_all_settings() << std::endl;
|
||||||
|
|
||||||
int currentLanguageIndex = 0;
|
int currentLanguageIndex = 0;
|
||||||
if (!this->settings.get_all_settings().contains("language")) {
|
bool languageSettingPresent = false;
|
||||||
|
|
||||||
|
//TODO: check that "language" exists before getting its value
|
||||||
|
languageSettingPresent = settings.get_all_settings().find("language") != settings.get_all_settings().end();
|
||||||
|
if (languageSettingPresent) {
|
||||||
currentLanguageIndex = ui->languageComboBox->findText(QLocale::system().name());
|
currentLanguageIndex = ui->languageComboBox->findText(QLocale::system().name());
|
||||||
if (currentLanguageIndex < 0) {
|
if (currentLanguageIndex < 0) {
|
||||||
currentLanguageIndex = ui->languageComboBox->findText("en_US");
|
currentLanguageIndex = ui->languageComboBox->findText("en_US");
|
||||||
|
@ -137,7 +144,11 @@ void SettingsDialog::on_buttonBox_accepted() { this->settings.flush(); }
|
||||||
void SettingsDialog::on_buttonBox_rejected() { this->close(); }
|
void SettingsDialog::on_buttonBox_rejected() { this->close(); }
|
||||||
|
|
||||||
void SettingsDialog::on_languageComboBox_currentTextChanged(const QString &changed) {
|
void SettingsDialog::on_languageComboBox_currentTextChanged(const QString &changed) {
|
||||||
if (this->settings.get_all_settings().contains("language")) {
|
bool languageSettingPresent = false;
|
||||||
|
|
||||||
|
languageSettingPresent = settings.get_all_settings().find("language") != settings.get_all_settings().end();
|
||||||
|
|
||||||
|
if (languageSettingPresent) {
|
||||||
if (changed == QString::fromStdString(this->settings.get_all_settings()["language"])) return;
|
if (changed == QString::fromStdString(this->settings.get_all_settings()["language"])) return;
|
||||||
} else {
|
} else {
|
||||||
if (changed == QLocale::system().name()) return;
|
if (changed == QLocale::system().name()) return;
|
||||||
|
@ -151,4 +162,3 @@ void SettingsDialog::on_languageComboBox_currentTextChanged(const QString &chang
|
||||||
infoDialog.setWindowTitle(tr("Restart required"));
|
infoDialog.setWindowTitle(tr("Restart required"));
|
||||||
infoDialog.exec();
|
infoDialog.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,8 @@ private slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::settingsdialog *ui;
|
Ui::settingsdialog *ui;
|
||||||
|
public:
|
||||||
|
bool settingsExist();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SETTINGSDIALOG_H
|
#endif // SETTINGSDIALOG_H
|
||||||
|
|
|
@ -1,306 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>settingsdialog</class>
|
|
||||||
<widget class="QDialog" name="settingsdialog">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>599</width>
|
|
||||||
<height>799</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Dialog</string>
|
|
||||||
</property>
|
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>310</x>
|
|
||||||
<y>740</y>
|
|
||||||
<width>251</width>
|
|
||||||
<height>32</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="standardButtons">
|
|
||||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QScrollArea" name="scrollArea">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>10</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>541</width>
|
|
||||||
<height>741</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="widgetResizable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="scrollAreaWidgetContents">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>539</width>
|
|
||||||
<height>739</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="gridLayoutWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>531</width>
|
|
||||||
<height>731</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
|
||||||
<item row="15" column="1">
|
|
||||||
<widget class="QCheckBox" name="printTotalCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="0">
|
|
||||||
<widget class="QLabel" name="label_15">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods net weight position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QSpinBox" name="goodsNamePositionSpin"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="label_8">
|
|
||||||
<property name="text">
|
|
||||||
<string>Stores modules url</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="0">
|
|
||||||
<widget class="QLabel" name="label_13">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods quantity position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="OFDModulesDirEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>OFD modules url</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="14" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>Print header</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="1">
|
|
||||||
<widget class="QSpinBox" name="goodsPricePerUnitPositionSpin"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLineEdit" name="storesModulesURLEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="0">
|
|
||||||
<widget class="QLabel" name="label_14">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods quantity alias</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_6">
|
|
||||||
<property name="text">
|
|
||||||
<string>OFD modules directory</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1">
|
|
||||||
<widget class="QLineEdit" name="goodsNameAliasEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="15" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Print total</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="1">
|
|
||||||
<widget class="QLineEdit" name="goodsTotalAliasEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="8" column="1">
|
|
||||||
<widget class="QSpinBox" name="goodsQuantityPositionSpin"/>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="0">
|
|
||||||
<widget class="QLabel" name="label_16">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods net weight alias</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="10" column="1">
|
|
||||||
<widget class="QSpinBox" name="goodsNetWeightPositionSpin"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLineEdit" name="OFDModulesURLEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="13" column="0">
|
|
||||||
<widget class="QLabel" name="label_18">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods total alias</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="storesModulesDirEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="1">
|
|
||||||
<widget class="QLineEdit" name="goodsPricePerUnitAliasEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="9" column="1">
|
|
||||||
<widget class="QLineEdit" name="goodsQuantityAliasEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="11" column="1">
|
|
||||||
<widget class="QLineEdit" name="goodsNetWeightAliasEdit"/>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_9">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods name position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="14" column="1">
|
|
||||||
<widget class="QCheckBox" name="printHeaderCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="label_10">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods name alias</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<widget class="QLabel" name="label_11">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods price per unit position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_7">
|
|
||||||
<property name="text">
|
|
||||||
<string>Stores modules directory</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="0">
|
|
||||||
<widget class="QLabel" name="label_17">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods total position</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<widget class="QPushButton" name="OFDModulesDirChooseButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Choose</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="12" column="1">
|
|
||||||
<widget class="QSpinBox" name="goodsTotalPositionSpin"/>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="0">
|
|
||||||
<widget class="QLabel" name="label_12">
|
|
||||||
<property name="text">
|
|
||||||
<string>Goods price per unit alias</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
|
||||||
<widget class="QPushButton" name="storedModulesDirChooseButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>Choose</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="16" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>TextLabel</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="16" column="1">
|
|
||||||
<widget class="QComboBox" name="languageComboBox">
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>en_US</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>ru_RU</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections>
|
|
||||||
<connection>
|
|
||||||
<sender>buttonBox</sender>
|
|
||||||
<signal>accepted()</signal>
|
|
||||||
<receiver>settingsdialog</receiver>
|
|
||||||
<slot>accept()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>248</x>
|
|
||||||
<y>254</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>157</x>
|
|
||||||
<y>274</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>buttonBox</sender>
|
|
||||||
<signal>rejected()</signal>
|
|
||||||
<receiver>settingsdialog</receiver>
|
|
||||||
<slot>reject()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>316</x>
|
|
||||||
<y>260</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>286</x>
|
|
||||||
<y>274</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
</connections>
|
|
||||||
</ui>
|
|
|
@ -211,12 +211,17 @@
|
||||||
<translation>Form</translation>
|
<translation>Form</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scenes/mainwindow.ui" line="43"/>
|
<location filename="../scenes/mainwindow.ui" line="87"/>
|
||||||
<source>Optical Character Recognition</source>
|
<source>Optical Character Recognition</source>
|
||||||
<translation>Optical Character Recognition</translation>
|
<translation>Optical Character Recognition</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scenes/mainwindow.ui" line="69"/>
|
<location filename="../scenes/mainwindow.ui" line="136"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../scenes/mainwindow.ui" line="43"/>
|
||||||
<source>Text from E-Mail</source>
|
<source>Text from E-Mail</source>
|
||||||
<translation>Text from E-Mail</translation>
|
<translation>Text from E-Mail</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -557,12 +562,14 @@
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="160"/>
|
||||||
<source>You need to restart program to apply language changes</source>
|
<source>You need to restart program to apply language changes</source>
|
||||||
<translation type="vanished">You need to restart program to apply language changes</translation>
|
<translation>You need to restart program to apply language changes</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="162"/>
|
||||||
<source>Restart required</source>
|
<source>Restart required</source>
|
||||||
<translation type="vanished">Restart required</translation>
|
<translation>Restart required</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -586,88 +593,114 @@
|
||||||
<context>
|
<context>
|
||||||
<name>settingsdialog</name>
|
<name>settingsdialog</name>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="14"/>
|
||||||
<source>Dialog</source>
|
<source>Dialog</source>
|
||||||
<translation type="vanished">Dialog</translation>
|
<translation>Dialog</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="153"/>
|
||||||
<source>Goods name position</source>
|
<source>Goods name position</source>
|
||||||
<translation type="vanished">Goods name position</translation>
|
<translation>Goods name position</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="205"/>
|
||||||
<source>Goods price per unit alias</source>
|
<source>Goods price per unit alias</source>
|
||||||
<translation type="vanished">Goods price per unit alias</translation>
|
<translation>Goods price per unit alias</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="219"/>
|
||||||
|
<source>Language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TextLabel</source>
|
<source>TextLabel</source>
|
||||||
<translation type="vanished">Language</translation>
|
<translation type="vanished">Language</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="227"/>
|
||||||
<source>en_US</source>
|
<source>en_US</source>
|
||||||
<translation type="vanished">en_US</translation>
|
<translation>en_US</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="232"/>
|
||||||
<source>ru_RU</source>
|
<source>ru_RU</source>
|
||||||
<translation type="vanished">ru_RU</translation>
|
<translation>ru_RU</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="195"/>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="212"/>
|
||||||
<source>Choose</source>
|
<source>Choose</source>
|
||||||
<translation type="vanished">Choose</translation>
|
<translation>Choose</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="78"/>
|
||||||
<source>Print header</source>
|
<source>Print header</source>
|
||||||
<translation type="vanished">Print header</translation>
|
<translation>Print header</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="121"/>
|
||||||
<source>Goods net weight alias</source>
|
<source>Goods net weight alias</source>
|
||||||
<translation type="vanished">Goods net weight alias</translation>
|
<translation>Goods net weight alias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="54"/>
|
||||||
<source>Stores modules url</source>
|
<source>Stores modules url</source>
|
||||||
<translation type="vanished">Stores modules url</translation>
|
<translation>Stores modules url</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="134"/>
|
||||||
<source>Goods total alias</source>
|
<source>Goods total alias</source>
|
||||||
<translation type="vanished">Goods total alias</translation>
|
<translation>Goods total alias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="167"/>
|
||||||
<source>Goods name alias</source>
|
<source>Goods name alias</source>
|
||||||
<translation type="vanished">Goods name alias</translation>
|
<translation>Goods name alias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="91"/>
|
||||||
<source>Goods quantity alias</source>
|
<source>Goods quantity alias</source>
|
||||||
<translation type="vanished">Goods quantity alias</translation>
|
<translation>Goods quantity alias</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="181"/>
|
||||||
<source>Stores modules directory</source>
|
<source>Stores modules directory</source>
|
||||||
<translation type="vanished">Stores modules directory</translation>
|
<translation>Stores modules directory</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="98"/>
|
||||||
<source>OFD modules directory</source>
|
<source>OFD modules directory</source>
|
||||||
<translation type="vanished">OFD modules directory</translation>
|
<translation>OFD modules directory</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="174"/>
|
||||||
<source>Goods price per unit position</source>
|
<source>Goods price per unit position</source>
|
||||||
<translation type="vanished">Goods price per unit position</translation>
|
<translation>Goods price per unit position</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="44"/>
|
||||||
<source>Goods net weight position</source>
|
<source>Goods net weight position</source>
|
||||||
<translation type="vanished">Goods net weight position</translation>
|
<translation>Goods net weight position</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="71"/>
|
||||||
<source>OFD modules url</source>
|
<source>OFD modules url</source>
|
||||||
<translation type="vanished">OFD modules url</translation>
|
<translation>OFD modules url</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="188"/>
|
||||||
<source>Goods total position</source>
|
<source>Goods total position</source>
|
||||||
<translation type="vanished">Goods total position</translation>
|
<translation>Goods total position</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="61"/>
|
||||||
<source>Goods quantity position</source>
|
<source>Goods quantity position</source>
|
||||||
<translation type="vanished">Goods quantity position</translation>
|
<translation>Goods quantity position</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="108"/>
|
||||||
<source>Print total</source>
|
<source>Print total</source>
|
||||||
<translation type="vanished">Print total</translation>
|
<translation>Print total</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -211,12 +211,17 @@
|
||||||
<translation>Форма</translation>
|
<translation>Форма</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scenes/mainwindow.ui" line="43"/>
|
<location filename="../scenes/mainwindow.ui" line="87"/>
|
||||||
<source>Optical Character Recognition</source>
|
<source>Optical Character Recognition</source>
|
||||||
<translation>Оптическое распознавание символов</translation>
|
<translation>Оптическое распознавание символов</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../scenes/mainwindow.ui" line="69"/>
|
<location filename="../scenes/mainwindow.ui" line="136"/>
|
||||||
|
<source>Settings</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../scenes/mainwindow.ui" line="43"/>
|
||||||
<source>Text from E-Mail</source>
|
<source>Text from E-Mail</source>
|
||||||
<translation>Текст из электронного письма</translation>
|
<translation>Текст из электронного письма</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -557,12 +562,14 @@
|
||||||
<context>
|
<context>
|
||||||
<name>SettingsDialog</name>
|
<name>SettingsDialog</name>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="160"/>
|
||||||
<source>You need to restart program to apply language changes</source>
|
<source>You need to restart program to apply language changes</source>
|
||||||
<translation type="vanished">Требуется перезагрузить программу, чтобы применить изменения языка</translation>
|
<translation>Требуется перезагрузить программу, чтобы применить изменения языка</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../settingsdialog.cpp" line="162"/>
|
||||||
<source>Restart required</source>
|
<source>Restart required</source>
|
||||||
<translation type="vanished">Требуется перезагрузка</translation>
|
<translation>Требуется перезагрузка</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -586,88 +593,114 @@
|
||||||
<context>
|
<context>
|
||||||
<name>settingsdialog</name>
|
<name>settingsdialog</name>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="14"/>
|
||||||
<source>Dialog</source>
|
<source>Dialog</source>
|
||||||
<translation type="vanished">Диалог</translation>
|
<translation>Диалог</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="153"/>
|
||||||
<source>Goods name position</source>
|
<source>Goods name position</source>
|
||||||
<translation type="vanished">Позиция имени товара</translation>
|
<translation>Позиция имени товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="205"/>
|
||||||
<source>Goods price per unit alias</source>
|
<source>Goods price per unit alias</source>
|
||||||
<translation type="vanished">Алиас цены товара</translation>
|
<translation>Алиас цены товара</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="219"/>
|
||||||
|
<source>Language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TextLabel</source>
|
<source>TextLabel</source>
|
||||||
<translation type="vanished">Язык</translation>
|
<translation type="vanished">Язык</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="227"/>
|
||||||
<source>en_US</source>
|
<source>en_US</source>
|
||||||
<translation type="vanished">en_US</translation>
|
<translation>en_US</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="232"/>
|
||||||
<source>ru_RU</source>
|
<source>ru_RU</source>
|
||||||
<translation type="vanished">ru_RU</translation>
|
<translation>ru_RU</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="195"/>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="212"/>
|
||||||
<source>Choose</source>
|
<source>Choose</source>
|
||||||
<translation type="vanished">Выбрать</translation>
|
<translation>Выбрать</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="78"/>
|
||||||
<source>Print header</source>
|
<source>Print header</source>
|
||||||
<translation type="vanished">Печатать заголовок</translation>
|
<translation>Печатать заголовок</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="121"/>
|
||||||
<source>Goods net weight alias</source>
|
<source>Goods net weight alias</source>
|
||||||
<translation type="vanished">Алиас массы нетто товара</translation>
|
<translation>Алиас массы нетто товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="54"/>
|
||||||
<source>Stores modules url</source>
|
<source>Stores modules url</source>
|
||||||
<translation type="vanished">URL модулей магазина</translation>
|
<translation>URL модулей магазина</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="134"/>
|
||||||
<source>Goods total alias</source>
|
<source>Goods total alias</source>
|
||||||
<translation type="vanished">Алиас всего за продукт</translation>
|
<translation>Алиас всего за продукт</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="167"/>
|
||||||
<source>Goods name alias</source>
|
<source>Goods name alias</source>
|
||||||
<translation type="vanished">Алиас имени товара</translation>
|
<translation>Алиас имени товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="91"/>
|
||||||
<source>Goods quantity alias</source>
|
<source>Goods quantity alias</source>
|
||||||
<translation type="vanished">Алиас количества товара</translation>
|
<translation>Алиас количества товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="181"/>
|
||||||
<source>Stores modules directory</source>
|
<source>Stores modules directory</source>
|
||||||
<translation type="vanished">Директория модулей магазина</translation>
|
<translation>Директория модулей магазина</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="98"/>
|
||||||
<source>OFD modules directory</source>
|
<source>OFD modules directory</source>
|
||||||
<translation type="vanished">Директория модулей ОФД</translation>
|
<translation>Директория модулей ОФД</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="174"/>
|
||||||
<source>Goods price per unit position</source>
|
<source>Goods price per unit position</source>
|
||||||
<translation type="vanished">Позиция центы товара</translation>
|
<translation>Позиция центы товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="44"/>
|
||||||
<source>Goods net weight position</source>
|
<source>Goods net weight position</source>
|
||||||
<translation type="vanished">Позиция массы нетто товара</translation>
|
<translation>Позиция массы нетто товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="71"/>
|
||||||
<source>OFD modules url</source>
|
<source>OFD modules url</source>
|
||||||
<translation type="vanished">URL модулей ОФД</translation>
|
<translation>URL модулей ОФД</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="188"/>
|
||||||
<source>Goods total position</source>
|
<source>Goods total position</source>
|
||||||
<translation type="vanished">Позиция всего за товар</translation>
|
<translation>Позиция всего за товар</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="61"/>
|
||||||
<source>Goods quantity position</source>
|
<source>Goods quantity position</source>
|
||||||
<translation type="vanished">Позиция количества товара</translation>
|
<translation>Позиция количества товара</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
|
<location filename="../scenes/settingsdialog.ui" line="108"/>
|
||||||
<source>Print total</source>
|
<source>Print total</source>
|
||||||
<translation type="vanished">Печатать Итого</translation>
|
<translation>Печатать Итого</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -145,16 +145,16 @@ std::vector<std::wstring> find_in_html(std::string& html, std::string regex, std
|
||||||
it != end; it++) {
|
it != end; it++) {
|
||||||
|
|
||||||
std::wstring found_entry = from_utf8(it->str());
|
std::wstring found_entry = from_utf8(it->str());
|
||||||
std::wcout << "Found: " << found_entry << std::endl;
|
std::cout << "Found: " << to_utf8(found_entry) << std::endl;
|
||||||
std::wstring extracted = substring_from_to(found_entry, from_utf8(html_start), from_utf8(html_end));
|
std::wstring extracted = substring_from_to(found_entry, from_utf8(html_start), from_utf8(html_end));
|
||||||
std::wcout << "Extracted: " << extracted << std::endl;
|
std::cout << "Extracted: " << to_utf8(extracted) << std::endl;
|
||||||
parsed.push_back(extracted);
|
parsed.push_back(extracted);
|
||||||
}
|
}
|
||||||
return parsed;
|
return parsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::wstring> find_products_in_html(std::string html) {
|
std::vector<std::wstring> find_products_in_html(std::string html) {
|
||||||
return find_in_html(html, "<div class=\"ifw-col ifw-col-1 text-left\"><b>.{10,100}<\\/b><\\/div>", "<div class=\"ifw-col ifw-col-1 text-left\"><b>", "<\\/b><\\/div>");
|
return find_in_html(html, "<div class=\"ifw-col ifw-col-1 text-left\"><b>.{2,100}<\\/b><\\/div>", "<div class=\"ifw-col ifw-col-1 text-left\"><b>", "<\\/b><\\/div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::wstring> find_amounts_in_html(std::string html) {
|
std::vector<std::wstring> find_amounts_in_html(std::string html) {
|
||||||
|
@ -170,11 +170,16 @@ std::vector<std::wstring> find_net_weights_in_names(std::vector<std::wstring> &n
|
||||||
std::vector<std::wstring> result;
|
std::vector<std::wstring> result;
|
||||||
for (std::wstring &name : names ) {
|
for (std::wstring &name : names ) {
|
||||||
boost::wregex regexp(from_utf8("((\\d+(.|,)?\\d?((м|)л|(к|м|)г|т|ц|шт|(pc|)s|(m|k|)g|(m|)l|t)).?)+"), boost::regex_constants::collate);
|
boost::wregex regexp(from_utf8("((\\d+(.|,)?\\d?((м|)л|(к|м|)г|т|ц|шт|(pc|)s|(m|k|)g|(m|)l|t)).?)+"), boost::regex_constants::collate);
|
||||||
|
bool found = false;
|
||||||
for (boost::wsregex_iterator it{name.begin(), name.end(), regexp}, end{}; it != end;
|
for (boost::wsregex_iterator it{name.begin(), name.end(), regexp}, end{}; it != end;
|
||||||
it++) {
|
it++) {
|
||||||
result.push_back(it->str());
|
result.push_back(it->str());
|
||||||
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (!found) {
|
||||||
|
result.push_back(from_utf8("?"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -247,6 +252,8 @@ Check parseOfdRuAnswer(std::string html) {
|
||||||
Check c;
|
Check c;
|
||||||
|
|
||||||
for (int i = 0; i < products.size(); i ++) {
|
for (int i = 0; i < products.size(); i ++) {
|
||||||
|
std::cout << "Adding to check: ";
|
||||||
|
std::cout << to_utf8(products[i]) << " " << to_utf8(prices[i]) << " " << to_utf8(net_weights[i]) << " " << to_utf8(amounts[i]) << std::endl;
|
||||||
Goods goods(to_utf8(products[i]), std::stod(prices[i]), to_utf8(net_weights[i]), std::stod(amounts[i]));
|
Goods goods(to_utf8(products[i]), std::stod(prices[i]), to_utf8(net_weights[i]), std::stod(amounts[i]));
|
||||||
c.add_goods(goods);
|
c.add_goods(goods);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue