2024-05-09 05:47:40 +00:00
|
|
|
#include "mainwindow.h"
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
|
|
#include <QApplication>
|
|
|
|
#include <QTranslator>
|
|
|
|
#include <QScreen>
|
2023-01-28 07:32:08 +00:00
|
|
|
#include "app_cfg.h"
|
2023-01-28 09:45:13 +00:00
|
|
|
#include "lang/app_language.h"
|
2024-08-01 05:46:17 +00:00
|
|
|
#include "log/log.h"
|
|
|
|
HLOG g_hLog = nullptr;
|
|
|
|
|
|
|
|
#if defined(OEM_HANWANG)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "HanvonScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_LISICHENG)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "LanxumScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_CANGTIAN)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "CumtennScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_ZHONGJING)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "MicrotekScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_ZIGUANG)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "UniScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_NEUTRAL)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "NeuScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#elif defined(OEM_DELI)
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "DeliScan";
|
|
|
|
#elif defined(OEM_MEISONGDA)
|
|
|
|
const char *oem = "MaxsoundScan";
|
|
|
|
#elif defined(OEM_GUANGDIANTONG)
|
|
|
|
const char *oem = "ToecScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#else
|
2024-08-27 11:54:41 +00:00
|
|
|
const char* oem = "HuaGoScan";
|
2024-08-01 05:46:17 +00:00
|
|
|
#endif
|
2022-05-03 10:25:52 +00:00
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
{
|
|
|
|
QApplication a(argc, argv);
|
|
|
|
|
2024-08-01 09:31:44 +00:00
|
|
|
g_hLog = EnableLog(nullptr, oem, "app");
|
2023-01-28 09:45:13 +00:00
|
|
|
lang_initialize(nullptr);
|
|
|
|
|
2023-01-29 03:18:42 +00:00
|
|
|
QString appLang = getCfgValue("global", "language", QString("chinese"));
|
2023-01-28 02:57:18 +00:00
|
|
|
for (int i = 1; i < argc; i++)
|
|
|
|
{
|
|
|
|
char* z = argv[i];
|
|
|
|
|
|
|
|
if (z == strstr(z, "-language="))
|
2023-01-28 07:32:08 +00:00
|
|
|
appLang = z + strlen("-language=");
|
|
|
|
}
|
|
|
|
|
2024-05-09 05:47:40 +00:00
|
|
|
if (appLang != "english" && appLang != "chinese-trad" && appLang != "vietnam")
|
2023-01-28 07:32:08 +00:00
|
|
|
{
|
2023-01-28 09:45:13 +00:00
|
|
|
appLang = "chinese";
|
2023-01-28 02:57:18 +00:00
|
|
|
}
|
|
|
|
|
2023-02-01 03:25:11 +00:00
|
|
|
saveCfgValue("global", "language", appLang);
|
|
|
|
|
2023-01-29 03:18:42 +00:00
|
|
|
QString translator_qt_name = ":translation/qt_zh_CN.qm";
|
|
|
|
QString translator_scanner_name = ":translation/Scanner_zh_CN.qm";
|
2023-02-02 08:12:47 +00:00
|
|
|
|
|
|
|
QTranslator translator_qt;
|
2023-01-29 03:18:42 +00:00
|
|
|
int cp = 936;
|
|
|
|
if (appLang == "english")
|
2023-01-28 07:32:08 +00:00
|
|
|
{
|
2023-01-29 03:18:42 +00:00
|
|
|
translator_scanner_name = ":translation/Scanner_zh_EN.qm";
|
|
|
|
cp = 20127;
|
|
|
|
}
|
2024-02-06 10:12:38 +00:00
|
|
|
else if (appLang == "chinese-trad")
|
|
|
|
{
|
|
|
|
translator_qt_name = ":translation/qt_zh_TW.qm";
|
|
|
|
translator_scanner_name = ":translation/Scanner_zh_TW.qm";
|
|
|
|
|
|
|
|
if (translator_qt.load(translator_qt_name))
|
|
|
|
a.installTranslator(&translator_qt);
|
|
|
|
cp = 950;
|
|
|
|
}
|
2023-02-02 08:12:47 +00:00
|
|
|
else if (appLang == "chinese")
|
|
|
|
{
|
|
|
|
if (translator_qt.load(translator_qt_name))
|
|
|
|
a.installTranslator(&translator_qt);
|
|
|
|
}
|
2024-05-09 05:47:40 +00:00
|
|
|
else if (appLang == "vietnam")
|
|
|
|
{
|
|
|
|
translator_scanner_name = ":translation/Scanner_zh_VN.qm";
|
|
|
|
cp = 1258;
|
|
|
|
}
|
2023-01-28 09:45:13 +00:00
|
|
|
|
2023-01-29 03:18:42 +00:00
|
|
|
QTranslator translator_scanner;
|
|
|
|
if (translator_scanner.load(translator_scanner_name))
|
|
|
|
a.installTranslator(&translator_scanner);
|
2023-01-28 07:32:08 +00:00
|
|
|
|
2023-01-29 03:18:42 +00:00
|
|
|
lang_set_code_page(cp);
|
2022-05-03 10:25:52 +00:00
|
|
|
|
2023-01-29 03:18:42 +00:00
|
|
|
MainWindow w(appLang);
|
|
|
|
QScreen *screen = QGuiApplication::primaryScreen();
|
|
|
|
w.move((screen->size().width() - w.width()) / 2, (screen->size().height() - w.height()) / 2);
|
|
|
|
w.show();
|
2024-08-01 05:46:17 +00:00
|
|
|
int ret = a.exec();
|
|
|
|
|
|
|
|
DisableLog(g_hLog);
|
|
|
|
g_hLog = nullptr;
|
|
|
|
|
|
|
|
return ret;
|
2022-05-03 10:25:52 +00:00
|
|
|
}
|