diff --git a/LedOK/LedOK.pro b/LedOK/LedOK.pro
index 86b30b1..39e8702 100644
--- a/LedOK/LedOK.pro
+++ b/LedOK/LedOK.pro
@@ -17,7 +17,7 @@ CONFIG += embed_translations
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
TARGET = $$quote(LedOK Express)
-VERSION = 1.2.8
+VERSION = 1.2.9
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
msvc {
@@ -304,6 +304,7 @@ LIBS += -L$$PWD/ffmpeg/lib/\
-lswscale
copy.files += $$files(ffmpeg/lib/*.dll)
+copy.files += ffmpeg/lib/ffmpeg.exe
include(./xlsx/qtxlsx.pri)
include(./QSimpleUpdater/QSimpleUpdater.pri)
diff --git a/LedOK/deviceitem.cpp b/LedOK/deviceitem.cpp
index 17df320..9f8d5eb 100644
--- a/LedOK/deviceitem.cpp
+++ b/LedOK/deviceitem.cpp
@@ -373,21 +373,6 @@ void DeviceItem::OnProHttpResponse(QString url, QString postMD5, QByteArray data
emit sigOutputInfo(m_pLedCard->m_strCardId+":"+tr("receive")+"<-"+tr("GetScreenStatus")+tr("success")+","+tr("Status")+":"+tr("off"));
}
}
- }
- else if(strType == "GetEthernet")
- {
- QString strDhcp="";
- if(jsonObject["dhcp"].toBool())
- {
- strDhcp=tr("DHCP IP");
- }
- else {
- strDhcp=tr("STATIC IP");
-
- }
- emit sigOutputInfo(m_pLedCard->m_strCardId+":"+strDhcp+","+"IP:"+jsonObject["ipAddr"].toString()+" GateWay:"+jsonObject["gateWay"].toString()+" Mask:"+jsonObject["netMask"].toString()+" Dns:"+jsonObject["dnsAddr"].toString());
-
-
}
else if(strType == "VerifyPassword")
{
diff --git a/LedOK/main.cpp b/LedOK/main.cpp
index d4719a2..f72ce99 100644
--- a/LedOK/main.cpp
+++ b/LedOK/main.cpp
@@ -20,7 +20,7 @@ LONG WINAPI handleException(_EXCEPTION_POINTERS *excep) {
MINIDUMP_EXCEPTION_INFORMATION dumpInfo{GetCurrentThreadId(), excep, TRUE};
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);//写入Dump文件内容
CloseHandle(hDumpFile);
- QMessageBox::critical(nullptr, "程序出错", "程序出错! (code: "+errCode+". addr: "+errAddr+")
请将C盘下的 ledok-crash.dmp 文件发送到 gangphon@qq.com 邮箱, 研发人员会尽快处理.");
+ QMessageBox::critical(nullptr, "程序出错 (ver: " APP_VERSION")", "程序出错! (code: "+errCode+". addr: "+errAddr+")
请将C盘下的 ledok-crash.dmp 文件发送到 gangphon@qq.com 邮箱, 研发人员会尽快处理.");
return EXCEPTION_EXECUTE_HANDLER;
// EXCEPTION_EXECUTE_HANDLER 已处理异常, 让 windows 正常结束
// EXCEPTION_CONTINUE_SEARCH 未处理异常, 让 windows 弹出错误框并结束 (Qt会卡死一段时间)
diff --git a/LedOK/mainwindow.cpp b/LedOK/mainwindow.cpp
index e1506ed..b5e7a95 100644
--- a/LedOK/mainwindow.cpp
+++ b/LedOK/mainwindow.cpp
@@ -14,6 +14,7 @@
#include
QWidget *gMainWin;
+extern QPoint gPlayPos;
class ImgBtn : public QToolButton {
public:
@@ -106,6 +107,8 @@ MainWindow::MainWindow(QWidget *parent) : BaseWin(parent) {
else resize(1280, 720);
if(settings.value("MainIsMax", false).toBool()) setWindowState(Qt::WindowMaximized);
+ gPlayPos = settings.value("PlayPos").toPoint();
+
setWindowTitle("LedOK Express");
icon.load(":/res/Logo.png");
titlePos = QPointF(26, 80);
@@ -392,6 +395,7 @@ MainWindow::~MainWindow() {
if(act) settings.setValue("Language", act->objectName());
settings.setValue("MainGeo", normalGeometry());
settings.setValue("MainIsMax", isMaximized());
+ settings.setValue("PlayPos", gPlayPos);
if(m_pTimerSendResoreIpOneKey!=nullptr) {
if(m_pTimerSendResoreIpOneKey->isActive()) m_pTimerSendResoreIpOneKey->stop();
diff --git a/LedOK/player/playwin.cpp b/LedOK/player/playwin.cpp
index 8be15cc..4d6f77a 100644
--- a/LedOK/player/playwin.cpp
+++ b/LedOK/player/playwin.cpp
@@ -18,14 +18,21 @@
#include
#include
#include
+#include
PlayWin* PlayWin::self = nullptr;
+QPoint gPlayPos{0, 0};
Page::Page(QWidget *parent) : QWidget{parent} {
}
-PlayWin::PlayWin(QString dir, int x, int y, int width, int height, const QJsonObject &aprog, QWidget *parent) : QWidget(parent) {
+PlayWin *PlayWin::newIns(int width, int height, QString dir, const QJsonObject &aprog, QWidget *parent) {
+ if(! gPlayPos.isNull() && QGuiApplication::screenAt(QPoint(gPlayPos.x()+width/2, gPlayPos.y()+height/2))==0) gPlayPos = QPoint();
+ return new PlayWin(gPlayPos.x(), gPlayPos.y(), width, height, dir, aprog, parent);
+}
+
+PlayWin::PlayWin(int x, int y, int width, int height, QString dir, const QJsonObject &aprog, QWidget *parent) : QWidget(parent) {
setAttribute(Qt::WA_DeleteOnClose);
setAttribute(Qt::WA_QuitOnClose, false);
setWindowFlag(Qt::FramelessWindowHint);
@@ -127,11 +134,13 @@ PlayWin::PlayWin(QString dir, int x, int y, int width, int height, const QJsonOb
if(page->timeSpan>0) pages.append(page);
}
setVisible(true);
- Page* page0 = pages[0];
- EleBase* eleptr;
- for(int ee=0; eeeles.size(); ee++) if((eleptr = &page0->eles[ee])->startTime > 0 || eleptr->endTime < page0->timeSpan) {
- if(eleptr->startTime > 0) timerMap.insert(startTimer(eleptr->startTime), TimerValue(eleptr->wgt, true));
- timerMap.insert(startTimer(eleptr->endTime), TimerValue(eleptr->wgt, false));
+ if(! pages.isEmpty()) {
+ Page* page0 = pages[0];
+ EleBase* eleptr;
+ for(int ee=0; eeeles.size(); ee++) if((eleptr = &page0->eles[ee])->startTime > 0 || eleptr->endTime < page0->timeSpan) {
+ if(eleptr->startTime > 0) timerMap.insert(startTimer(eleptr->startTime), TimerValue(eleptr->wgt, true));
+ timerMap.insert(startTimer(eleptr->endTime), TimerValue(eleptr->wgt, false));
+ }
}
menu = new QMenu(this);
@@ -179,7 +188,7 @@ void PlayWin::timerEvent(QTimerEvent *e){
}
}
void PlayWin::paintEvent(QPaintEvent *e){
- if(timer==nullptr && isVisible()) {
+ if(timer==nullptr && isVisible() && ! pages.isEmpty()) {
if(cur!=0) {
pages[cur]->setVisible(false);
cur = 0;
@@ -215,4 +224,5 @@ void PlayWin::contextMenuEvent(QContextMenuEvent *event){
}
void PlayWin::closeEvent(QCloseEvent *) {
if(self==this) self = nullptr;
+ gPlayPos = pos();
}
diff --git a/LedOK/player/playwin.h b/LedOK/player/playwin.h
index bbff8ee..9caa8f1 100644
--- a/LedOK/player/playwin.h
+++ b/LedOK/player/playwin.h
@@ -20,10 +20,14 @@ public:
QWidget* ele;
bool visible;
};
-class PlayWin : public QWidget{
+
+class PlayWin : public QWidget {
Q_OBJECT
public:
- static PlayWin* self;
+ static PlayWin *self;
+ static PlayWin *newIns(int width, int height, QString dir, const QJsonObject &prog, QWidget *parent = nullptr);
+ PlayWin(int x, int y, int width, int height, QString dir, const QJsonObject &prog, QWidget *parent = nullptr);
+
SyncTimer* timer = nullptr;
int cur = 0;
QVector pages;
@@ -31,7 +35,6 @@ public:
QPoint mPressRel;
QMenu *menu;
- PlayWin(QString dir, int x, int y, int width, int height, const QJsonObject &prog, QWidget *parent = nullptr);
public slots:
void sltNext();
void sltSetVisible(QWidget *wgt, bool visible){
diff --git a/LedOK/progpanel.cpp b/LedOK/progpanel.cpp
index b934283..57286bc 100644
--- a/LedOK/progpanel.cpp
+++ b/LedOK/progpanel.cpp
@@ -81,7 +81,7 @@ ProgPanel::ProgPanel(QWidget *parent) : QWidget(parent) {
QJsonObject prog = QJsonDocument::fromJson(value.toUtf8(), &jsErr).object();
if(jsErr.error) return;
if(PlayWin::self!=nullptr) PlayWin::self->close();
- PlayWin::self = new PlayWin(dir, 0, 0, item->width(), item->height(), prog);
+ PlayWin::self = PlayWin::newIns(item->width(), item->height(), dir, prog);
break;
}
}
diff --git a/LedOK/tools.h b/LedOK/tools.h
index 18c7085..2b82f00 100644
--- a/LedOK/tools.h
+++ b/LedOK/tools.h
@@ -46,7 +46,7 @@ public:
static int color2Int(const QColor& color);
static QBrush getBrush(const QColor& color);
static QString selectStr(bool f, const QString &s0, const QString &s1 = "");
- static QString convertFileSize(const qlonglong & bytes) ;
+ static QString convertFileSize(const qlonglong & bytes);
static QString styleSheet();
~Tools() {
killTimer(timer_id);
diff --git a/LedOK/translations/app_en.ts b/LedOK/translations/app_en.ts
index 7397840..7b4c9d4 100644
--- a/LedOK/translations/app_en.ts
+++ b/LedOK/translations/app_en.ts
@@ -491,669 +491,673 @@
ControlNetConfigWidget
-
Form
- Form
+ Form
-
+
Wire Enther(RJ45) Configuration
Wire Enther(RJ45) Configuration
-
-
+
+
DHCP
-
-
+
+
Specify IP
Specify IP
-
-
+
+
IP Address
IP Address
-
+
Mask Address
Subnet mask
-
-
+
+
Gateway
Gateway
-
-
+
+
DNS Address
DNS Address
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
Set
-
-
-
-
-
-
-
+
+
+
+
+
+
Readback
Readback
-
-
+
+
WIFI Configuration
WiFi Configuration
-
-
+
+
WiFi On/Off
WiFi On/Off
-
+
Input Ap name
Input ap name
-
-
+
+
4G/5G Configuration
Cellular Configuration
-
-
+
+
Open 4G/5G
Enable cellular data
-
+
APN:
-
-
+
+
Get cellular network status information
Get cellular network status information
-
-
+
+
Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.
Through the chcek status button, you can automatically match the country code MCC, and then select "operator" to get the response APN information. If you can't find the operator, you can select the "custom" check box, and then enter the APN information manually.
-
-
+
+
Readback APN Info
Readback APN Info
-
-
+
+
Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param
Set the APN information
-
-
+
+
CUSTOM
CUSTOM
-
-
+
+
Check SIM
chcek SIM Info
-
-
-
+
+
+
->
-
-
+
+
Country ID(mcc):
Country ID(mcc):
-
-
+
+
Carrier Name
Carrier Name
-
-
+
+
APN:
Carrier APN:
-
-
+
+
APN(Required)
APN(Required)
-
-
+
+
User:
User Name:
-
-
-
-
+
+
+
+
Not required
Not required
-
-
+
+
Password:
Password:
-
+
Set Apn:iot.cargo
-
-
+
+
Flight Mode
Flight Mode
-
-
+
+
WiFi name
WiFi name
-
-
-
-
+
+
+
+
Password
Password
-
-
-
-
+
+
+
+
Input password
Input password
-
-
+
+
Scan
Scan
-
-
+
+
Ap Mode
AP
-
+
Ap name
AP name
-
+
OFF
OFF
-
+
ON
ON
-
+
AP name
AP name
-
+
Subnet mask
Subnet mask
-
+
Input ap name
Input AP name
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
Success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
failed
-
-
-
-
+
+
+
+
Tip
Tip
-
-
+
+
NoSelectedController
Please select screen first
-
-
+
+
SetEthernet
Set wire nether
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Attention
Attention
-
+
Please input IP address!
Please input IP address!
-
+
Your IP Address is Invalid!
IP Address is invalid!
-
+
Please input Mask address!
Please input Mask address!
-
+
Your Mask Address is Invalid!
Mask Address is Invalid!
-
+
Please input Gateway address!
Please input Gateway address!
-
+
Your Gateway Address is Invalid!
Gateway Address is Invalid!
-
+
Please input DNS address!
Please input DNS address!
-
+
Your DNS Address is Invalid!
DNS Address is Invalid!
-
+
+
GetEthernet
Get wire ethernet
-
+
+ DHCP IP
+ DHCP IP
+
+
+
+ STATIC IP
+ STATIC IP
+
+
+
+ Error
+ Error
+
+
+
SetSwitchWiFi
Set WiFi on/off
-
-
-
-
-
-
+
+
+
+
+
+
SignalPower
Signal strength
-
-
+
+
ConfigurationWiFi
Configuration WiFi
-
+
IsPortableHotSpot
Get AP or WiFi
-
+
GetWifiList
Scan WiFi list
-
+
ConfigurationHotSpot
Configuration AP HotSpot
-
+
GetCurrentAPN
Get Current Apn
-
-
+
+
GetSIMStatus
Get SIM Status
-
-
+
SetAPN
Set APN
-
-
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
-
+
状态:
Status:
-
+
未知
unknown
-
+
锁定状态,需要用户的PIN码解锁
Lock status, need user's pin code to unlock
-
+
锁定状态,需要用户的PUK码解锁
In the locked state, the PUK code of the user is required to be unlocked
-
+
锁定状态,需要网络的PIN码解锁
In the locked state, the PIN code of the user is required to be unlocked
-
+
就绪
be ready
-
+
no checked sim card
no checked sim card
-
+
国家码:
MCC:
-
+
号码:
number:
-
+
用户:
User name:
-
+
信号:
Signal:
-
+
信号正常
Signal OK
-
+
不在服务区
Not in service area
-
+
仅限紧急呼叫
Emergency call only
-
+
射频已经关闭
RF off
-
+
网络:
Network type:
-
+
网络类型未知
unKnown
-
+
GPRS网络
GPRS
-
+
EDGE网络
EDGE
-
+
UMTS网络
UMTS
-
+
CDMA网络,IS95A 或 IS95B.
CDM
-
+
EVDO网络, revision 0.
EVDO,revision 0.
-
+
EVDO网络, revision A.
EVDO,revision A.
-
+
1xRTT网络
1xRTT
-
+
HSDPA网络
HSDPA
-
+
HSUPA网络
HSUPA
-
+
HSPA网络
HSPA
-
+
漫游:
roam:
-
+
Yes
Yes
-
+
No
No
-
+
数据连接状态:
Data connection status:
-
+
断开
OFF
-
+
正在连接
connecting
-
+
已连接
Connected
-
+
暂停
suspend
-
+
数据活动休眠状态:
Data active sleep state:
-
+
活动,但无数据发送和接收
Active, but no data sent and received
-
+
活动,正在接收数据
Activity, receiving data
-
+
活动,正在发送数据
Activity, sending data
-
+
活动,正在接收和发送数据
Activity, receiving and sending data
-
+
休眠状态
Sleep state
-
+
信号强度:
Signal strength:
-
+
SetSwitchSimData
SetSwitchSimData
-
+
ContrFlightMode
Set flight mode
-
+
GetFlightModeState
Readback flight mode state
@@ -2336,673 +2340,691 @@
CtrlAdvancedPanel
-
+
Advanced parameters
Advanced parameters
-
+
Screen Width(pixel)
Screen Width(pixel)
-
+
Width
Width
-
-
+
+
Height
Height
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
Set
-
+
Alias
Alias
-
+
Web Server Address:
Web Server Address:
-
+
www.m2mled.net
-
+
www.ledaips.com
-
+
https://www.taxihub.cn:2340
-
+
https://www.ledaips.com:2340
-
+
https://www.36taxi.com:2340
-
+
www.tlzxled.com
-
+
Realtimer Server Address:
Realtimer Server Address:
-
+
Clear
Clear
-
+
Apk upgrade
Apk upgrade
-
+
Check Apk
Check Apk
-
+
Uninstall
Uninstall
-
+
Running check
Running check
-
+
FPGA version check
FPGA version check
-
+
Sync FPGA version
Sync FPGA version
-
+
Restart led controller system
Restart led controller system
-
+
Check Log
Check Log
-
+
Start LedSet4
Start LedSet4.0 (Apk Display2.0 and higher)
-
+
Open ADB
Open ADB debugging function
-
+
Post Custom JSON
Post Custom JSON
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Clear Program
Clear Program
-
+
www.ledokcloud.com/realtime
-
+
M80 configuration
M80 configuration
-
+
Refresh
Refresh
-
+
Restore to default
Restore to default
-
+
Taxi top screen configuration
Taxi top screen configuration
-
+
Service:High Out of service:Low
Service:High Out of service:Low
-
+
Service:Low Out of service:High
Service:Low Out of service:High
-
+
Start LedSet3.0 configure LED module
Start LedSet3.0 configure LED module (used by manufacturer's professionals)
-
+
Binding *.ic account indentity voucher
Binding *.ic account indentity voucher
-
+
Rotate
Rotate
-
+
0 degrees
0 degrees
-
+
90 degrees
90 degrees
-
+
180 degrees
180 degrees
-
+
270 degrees
270 degrees
-
+
Min brightness
Min brightness
-
+
(min:1)
(min:1)
-
-
-
+
+
+
Readback
Readback
-
-
-
+
+
+
Send
Send
-
+
Max brightness
Max brightness
-
+
(max:255)
(max:255)
-
-
+
+
SetScreenSize
Set Screen Size
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
Success
-
+
Compant ID:
Company ID
-
+
FPGA Upgrade
FPGA Upgrade
-
+
Compant ID
Company ID
-
+
InputWebServerAddressTip
Please enter web server address
-
+
InputCompanyIdTip
Please enter company ID
-
+
Do you want to modify webserveraddress and companyId?
Are you sure you want to configure the server address and company ID?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
failed
-
-
+
+
SetOnlineAddr
Set Web server address
-
+
ClearRealtimeServer
Clear
-
+
InputRealTimeAddressTip
Please enter the realtimer address
-
+
SetRealtimeServer
Set realtimer address
-
-
-
-
+
+
+
+
Tip Info
Tip Info
-
-
-
+
+
+
Can not find LedSet3.0.exe,down you need download and install it
Can not find LedSet3.0.exe,down you need download and install it
-
+
RestartAndroid
Restart
-
+
FPGA Version
FPGA Version
-
+
+
running
running
-
+
+
no running
no running
-
+
Check Apk Version
Check Apk Version
-
+
+
UninstallSoftware
Uninstall
-
+
+
IsSoftwareRunning
Check apk running status
-
+
apk package (*.rpd)
-
+
CheckHardwareVersions
Check FPGA version
-
-
-
+
+
+
SynchronousHardwareVersion
Sync FPGA version
-
+
Check Screen untile fpga update finished
Watch the progress of screen upgrade until the upgrade is finished
-
+
OpenAdb
Open ADB debugging function
-
+
indentity voucher (*.ic)
indentity voucher (*.ic)
-
-
+
+
+
+
+
InvokeTaxiAppFunction
Binding certificate
-
+
Json format is error!
-
-
+
+
AliIotSetting
-
+
apk package (*.apk *.zip)
-
+
Software Version Info
-
+
Package
-
+
Version
-
-
+
+
UpgradeSoftware
Upgrade firmware
-
+
This screen is encrypted,Please decrypt and upgrade APK!
This screen is encrypted,Please decrypt and upgrade APK!
-
+
+
+ Package name is null
+
+
+
+
Clearing Program
-
-
+
+
Timeout
Timeout
-
-
+
+
Failed
-
+
Getting Log
-
-
+
+
+
+
+
+
+
+
Error
Error
-
+
+ Open file Failed
+
+
+
+
Setting Wallpaper
-
-
+
+
Set Wallpaper
-
+
System Updating
-
-
+
+
System Update
-
+
Setting Baud Rate
-
+
Set Baud Rate
-
+
Getting Baud Rate
-
+
Get Baud Rate
-
+
Hidden Settings
-
+
Click right button to hide
-
+
Baud Config
-
+
Model
-
+
Uart
-
+
Baud
-
+
Get
-
-
-
-
+
+
+
+
SetScreenRotation
Set screen rotation
-
+
SetMinBrightness
Set min brightness value
-
+
SetMaxBrightness
Set maximum brightness value
-
+
GetMinBrightness
Get min brightness
-
+
GetMaxBrightness
Get maximum brightness
-
+
SetSpecialResolution
Set Special Resolution
-
+
GetSpecialResolution
Get Special Resolution
-
+
CleanDisplayScreenSize
Restore to default relolution
-
+
SetHighForBusy
Set level for busy
-
+
GetStateForBusy
Get level of busy
-
+
install start...
Start installation...
-
+
InputAliasTip
Please input alias
-
-
+
+
SetCardAlias
Set alias
@@ -3019,76 +3041,85 @@
Clear program timeout!
-
+
Uploadding
Uploading
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
Tip
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NoSelectedController
Please select screen first
-
+
InputWidthTip
Please enter the correct width pixel value
-
+
InputHeightTip
Please enter the correct height pixel value
-
+
Password is error
Password is error
-
-
-
+
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
DeviceItem OnProHttpResponse json error!
@@ -3098,34 +3129,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
Tip
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
NoSelectedController
Please select screen first
@@ -3141,19 +3172,19 @@
-
+
GetBrightnessSensitivity
Get brightness sensitivity
-
-
+
+
SetMinBrightness
Set min brightness value
-
-
+
+
GetMinBrightness
Get min brightness
@@ -3162,221 +3193,221 @@
brightnenss
-
-
+
+
NeedSelectSensorTypeTip
Please select sensor type first
-
-
+
+
SensorBrightnessTable
Set sensor brightness table
-
+
GetSensorBrightnessTable
Get sensor bright table
-
+
no sensorBrightnessTable
no sensor brightnessTable in controller
-
+
Save file
Save file
-
-
+
+
GetCurrentSensorBrightness
Get Current Brightness
-
-
+
+
SetBrightness
Set brightness
-
+
GetBrightness
Get brightness
-
+
Brightness
Screen Brightness
-
-
+
+
BrightnessSchedule (*.bjs)
-
+
Import File
-
+
Save File
Save file
-
+
BrightnessValue
Brightness Value
-
+
Start Time
Start Time
-
+
End Time
End Time
-
-
+
+
SetAutoBrightnessTask
Send brightness schedule table
-
+
GetAutoBrightnessTask
Get brightness schedule
-
-
-
-
+
+
+
+
Error
Error
-
+
Brightness Configuration
Brightness configuration
-
+
Auto
Auto
-
+
Manual
Manual
-
+
Schedule
Schedule
-
+
BrightTip1
If the maximum brightness is 64, the minimum brightness can be configured as 1% or appropriate value; if the maximum brightness is 255, the minimum brightness must be configured as 36% or above, otherwise the brightness will be low.
-
+
BrightTip2
When uploading the file, please confirm to select the correct sensor type, otherwise it will be invalid!
-
+
Sensitivity
Sensitivity
-
+
Minbrightness
Minimum Brightness
-
-
+
+
Set
Set
-
+
Upload
Upload file
-
-
-
+
+
+
Readback
Readback
-
+
ReadbackTable
Readback
-
+
Refresh
Refresh
-
+
Cur Brigntness
Cur Brigntness
-
+
Brightness value
Brightness value
-
+
Default brightness
Default brightness
-
+
Add
Add
-
+
Clear
Clear
-
+
Delete
Delete
-
+
Import
Import
-
+
Export
Export
-
+
Apply
Apply
-
+
Default brightness tip
Tip: within the setting time is the setting brightness, and outside the setting time is the default brightness. For example, set the default brightness to 80, set the brightness to 180, and the time range to 8:00-17:00, then the brightness in the time range is 180, and the default brightness in other times is 80!
@@ -3384,14 +3415,15 @@
Def
-
-
+
+
Connection Timeout
+
Success
Success
@@ -3408,7 +3440,7 @@
Tip Info
-
+
Fail
Fail
@@ -3515,12 +3547,12 @@
Screenshot
-
+
Input password
Input password
-
+
GetScreenshotFull
readback screenshot
@@ -3570,241 +3602,239 @@
Detail Info
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
receive
Receive
-
+
SetScreenOn
Set power
-
+
AliIotSetting
-
-
+
+
GetScreenStatus
GetScreenStatus
-
-
+
+
Status
Status
-
DHCP IP
- DHCP IP
+ DHCP IP
-
STATIC IP
- STATIC IP
+ STATIC IP
-
+
Tip Info
Tip Info
-
+
password is wrong
password is wrong
-
+
GetBrightness
Get brightness
-
-
-
+
+
+
brightness
brightnenss
-
+
MasterSlaveSwitch
Configure master slave identity
-
+
SetBrightness
Set brightness
-
-
+
+
SetMinBrightness
Set min brightness value
-
+
GetBrightnessSensitivity
Get brightness sensitivity
-
+
sensitivity
sensitivity
-
+
GetMinBrightness
Get min brightness
-
+
SetSensorBrightnessTable
SetSensorBrightnessTable
-
+
SetSwitchWiFi
Set WiFi on/off
-
+
ConfigurationWiFi
Configuration WiFi
-
+
ConfigurationHotSpot
Configuration AP HotSpot
-
+
GetSwitchWiFi
GetSwitchWiFi
-
+
SetAutoBrightnessTask
Send brightness schedule table
-
+
SetAutoVolumeTask
Set volume schedule
-
+
SetVolume
Set Volume
-
+
GetVolume
Get Volume
-
+
SetTimingScreenTask
Set schedule task of screen power
-
+
GetControllerDate
Get date time
-
+
SetHighForBusy
Set level for busy
-
-
+
+
GetStateForBusy
Get level of busy
-
+
Service:Low Out of service:High
Service:Low Out of service:High
-
+
Service:High Out of service:Low
Service:High Out of service:Low
-
-
-
+
+
+
IsPortableHotSpot
Get AP or WiFi
-
+
WifiName
WifiName
-
+
ApName
Ap Name
@@ -3813,284 +3843,284 @@
Set Screen Size
-
+
TestScreen
Test screen
-
+
SetOnlineAddr
Set Web server address
-
+
SetRealtimeServer
Set realtimer address
-
+
GetOnlineAddr
Get web server address
-
+
GetRealtimeServer
Get realtime server address
-
+
SetNtpServer
SetNtpServer
-
+
GetNtpServer
GetNtpServer
-
+
SyncTime
SyncTime
-
+
DelPrograms
Clear program
-
+
SetingSyncMethod
Set sync method
-
+
GetCurrentSensorBrightness
Get Current Brightness
-
+
Cur brightness
Cur brightness
-
+
SetSpecialResolution
Set Special Resolution
-
+
GetSpecialResolution
Get Special Resolution
-
+
totalResolution
FPGA total resoltuion
-
+
strCurDisplayResolution
Cur display resolution
-
+
CleanDisplayScreenSize
Restore to default relolution
-
+
SetMaxBrightness
Set maximum brightness value
-
+
GetMaxBrightness
Get maximum brightness
-
+
screenSwitch
Switch Screen
-
-
-
+
+
+
YES
On
-
-
-
+
+
+
NO
Close
-
+
LAN
LAN
-
+
Connect
Connect
-
+
timeout
timeout
-
+
Anycast
Anycast
-
-
+
+
volume
Volume
-
-
-
-
-
-
+
+
+
+
+
+
GetingSyncMethod
Geting Sync Method
-
-
+
+
identificationCode
Identification Code
-
-
+
+
delaySync
Time offset
-
-
+
+
msec
msec
-
-
-
-
+
+
+
+
OtherSyncItem
Other sync items
-
-
-
-
+
+
+
+
lastSynchronousTime
Last Synchronous Time
-
+
checkNtpTime
Synchronization interval
-
+
Uploadding
Uploadding
-
+
Success
Success
-
+
failed
failed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
success
success
-
-
+
+
Lora identity
Lora identity
-
+
Master
Master
-
+
Slave
Slave
-
+
SetBrightnessSensitivity
Set brightness sensitivity
-
-
-
+
+
+
on
ON
-
-
-
+
+
+
off
OFF
@@ -4098,89 +4128,89 @@
DevicePanel
-
-
+
+
All
ALL
ALL
-
+
Online
Online
Online
-
-
+
+
Refresh
Refresh
Refresh
-
-
+
+
Specify IP
Specify IP
Specify IP
-
+
Current Screen
Current screen
-
+
none
none
-
+
Screen ID
Screen ID
-
+
Screen IP
Screen IP
-
+
Screen Size
Screen Size
-
+
Remark Name
Alias
-
+
readback pic
Screenshot
-
+
send
send
-
+
More Info
More Info
-
+
Cur Brightness
Screen Current Brightness
-
+
Power Status
Power Status
-
+
Security
encryption
@@ -5142,53 +5172,54 @@
EVideo
-
+
Basic Properties
Basic properties
-
+
File
File
-
+
Play Properties
-
+
Play Duration
Play Duration
-
+
Select File
Select File
-
+
s
s
-
+
Play Times
Play Times
-
+
Video Transcoding
-
-
+
+
Video Transcoding Progress
-
+
+
Error
Error
@@ -5290,83 +5321,83 @@
MainWindow
-
+
Language
Language
-
+
Help
Help
-
-
+
+
Check for updates
Check for updates
-
-
+
+
firmware manager
Firmware management
-
-
+
+
Software Configuration
Software Configuration
-
-
+
+
Info
-
-
+
+
About
About
-
-
+
+
Setting
Setting
-
+
Device
Termianls
-
+
Program
Solutions
-
+
Control
Terminal Control
-
+
GuangYinPin
Lora screen
-
+
Check card
Detect
-
+
Tip Info
Tip Info
-
+
RestoreLedCardIpByUdpTip
This operation will fix all the control cards in the LAN that are not in the same network segment as the computer IP. Please be careful!
@@ -6031,7 +6062,7 @@
This screen is encrypted
-
+
All
ALL
@@ -6386,7 +6417,7 @@
UpgradeApkDialog
-
+
Upgrade apk
Upgrade apk
@@ -6402,154 +6433,154 @@
-
+
Select apk
Select apk
-
-
+
+
Upgrade
Upgrade
-
+
APK:
-
+
Uninstall
Uninstall
-
+
check running state
check running state
-
+
Select Fpga
Select Fpga
-
+
success info
-
+
Refresh
Refresh
-
+
Cancel
Cancel
-
+
Screen ID
Screen ID
-
+
Remark Name
Alias
-
+
Online
Online
-
+
Screen IP
Screen IP
-
+
Security
encryption
-
+
Progress
Progress
-
+
xixunplayer
-
+
cardsystem
-
+
taxiapp
-
+
starter
-
+
connection
-
+
displayer
-
+
FPGA
FPGA
-
+
update
-
+
State
State
-
-
-
+
+
+
All
ALL
-
+
The encrypted control card can be upgraded directly
The encrypted control card can be upgraded directly
-
+
apk package (*.rpd)
-
+
apk package (*.apk *.zip)
@@ -7564,7 +7595,7 @@
-
+
IsSoftwareRunning
Check apk running status
@@ -7593,50 +7624,50 @@
-
+
SynchronousHardwareVersion
Sync FPGA
-
+
Tip Info
Tip Info
-
+
password is wrong
password is wrong
-
-
+
+
UninstallSoftware
Uninstall
-
-
+
+
Success
Success
-
+
Running
Running
-
+
NoRunning
Not running
-
+
install success
Install success
-
-
+
+
Fail
Fail
diff --git a/LedOK/translations/app_ja.ts b/LedOK/translations/app_ja.ts
index 1f6ae64..2d723f4 100644
--- a/LedOK/translations/app_ja.ts
+++ b/LedOK/translations/app_ja.ts
@@ -491,669 +491,673 @@
ControlNetConfigWidget
-
Form
- リフレッシュ
+ リフレッシュ
-
+
Wire Enther(RJ45) Configuration
有線ネットワークの設定
-
-
+
+
DHCP
-
-
+
+
Specify IP
指定IP
-
-
+
+
IP Address
IPアドレス
-
+
Mask Address
サブネットマスク
-
-
+
+
Gateway
ゲートウェイ
-
-
+
+
DNS Address
DNSアドレス
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
セット
-
-
-
-
-
-
-
+
+
+
+
+
+
Readback
読み戻し
-
-
+
+
WIFI Configuration
WiFiの設定
-
-
+
+
WiFi On/Off
WiFi機能
-
+
Input Ap name
入力AP名
-
-
+
+
4G/5G Configuration
セルラーデータ構成
-
-
+
+
Open 4G/5G
セルラーデータを有効にする
-
+
APN:
-
-
+
+
Get cellular network status information
セルラーネットワーク状態情報を取得する
-
-
+
+
Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.
チェックシムは自動的にMCCに一致することができますし、キャリアー取得APNパームを選択し、キャリアが見つからない場合は、カスタムチェックボックスをチェックし、カスタムパームを入力します。
-
-
+
+
Readback APN Info
APN情報を読み返す
-
-
+
+
Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param
APN情報を設定する
-
-
+
+
CUSTOM
カスタム
-
-
+
+
Check SIM
SIM情報の照会
-
-
-
+
+
+
->
-
-
+
+
Country ID(mcc):
国号(mcc):
-
-
+
+
Carrier Name
運営者
-
-
+
+
APN:
キャリアAPN:
-
-
+
+
APN(Required)
APN(必ず記入)
-
-
+
+
User:
ユーザ名:
-
-
-
-
+
+
+
+
Not required
必要でない
-
-
+
+
Password:
パスワード:
-
+
Set Apn:iot.cargo
-
-
+
+
Flight Mode
飛行モード
-
-
+
+
WiFi name
WiFiの名前
-
-
-
-
+
+
+
+
Password
パスワード
-
-
-
-
+
+
+
+
Input password
パスワードを入力
-
-
+
+
Scan
スキャン
-
-
+
+
Ap Mode
APエネルギー
-
+
Ap name
APの名前
-
+
OFF
オフ
-
+
ON
オン
-
+
AP name
AP名
-
+
Subnet mask
サブネットマスク
-
+
Input ap name
APの名前を入力
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失敗
-
-
-
-
+
+
+
+
Tip
提示
-
-
+
+
NoSelectedController
先に大きいスクリーンを選んでください
-
-
+
+
SetEthernet
有線網を設置する
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Attention
注意
-
+
Please input IP address!
IPアドレスを入力してください!
-
+
Your IP Address is Invalid!
IPアドレスが無効です!
-
+
Please input Mask address!
サブネットマスクの住所を入力してください!
-
+
Your Mask Address is Invalid!
マスクアドレスが無効です!
-
+
Please input Gateway address!
ゲートウェイのアドレスを入力してください!
-
+
Your Gateway Address is Invalid!
ゲートウェイアドレスが無効です!
-
+
Please input DNS address!
DNSアドレスを入力してください!
-
+
Your DNS Address is Invalid!
DNSアドレスを入力してください!
-
+
+
GetEthernet
有線ネットワークの設定を取得
-
+
+ DHCP IP
+ DHCP IP
+
+
+
+ STATIC IP
+ 静的IP
+
+
+
+ Error
+ エラー
+
+
+
SetSwitchWiFi
WiFiスイッチの設定
-
-
-
-
-
-
+
+
+
+
+
+
SignalPower
信号強度
-
-
+
+
ConfigurationWiFi
WiFiの設定
-
+
IsPortableHotSpot
ホットスポットとWiFiモードの取得
-
+
GetWifiList
スキャンWiFi
-
+
ConfigurationHotSpot
ホットスポットの設定
-
+
GetCurrentAPN
APN情報の取得
-
-
+
+
GetSIMStatus
SIM状態を取得
-
-
+
SetAPN
APNの設定
-
-
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
-
+
状态:
状態:
-
+
未知
不明
-
+
锁定状态,需要用户的PIN码解锁
ロック状態は、ユーザのPINコードのロック解除が必要です
-
+
锁定状态,需要用户的PUK码解锁
ロック状態は、ユーザのPUKコードのアンロックが必要です
-
+
锁定状态,需要网络的PIN码解锁
ロック状態は、ユーザのPINコードのアンロックが必要です
-
+
就绪
準備完了
-
+
no checked sim card
simカードが検出されませんでした
-
+
国家码:
国号:
-
+
号码:
番号:
-
+
用户:
ユーザ:
-
+
信号:
信号:
-
+
信号正常
信号が正常である
-
+
不在服务区
サービスエリアにはいません
-
+
仅限紧急呼叫
緊急呼び出しのみ
-
+
射频已经关闭
無線周波数はすでに閉鎖されました
-
+
网络:
ネットワークタイプ:
-
+
网络类型未知
不明
-
+
GPRS网络
GPRS
-
+
EDGE网络
EDGE
-
+
UMTS网络
UMTS
-
+
CDMA网络,IS95A 或 IS95B.
CDM
-
+
EVDO网络, revision 0.
EVDO,revision 0.
-
+
EVDO网络, revision A.
EVDO,revision A.
-
+
1xRTT网络
1xRTT
-
+
HSDPA网络
HSDPA
-
+
HSUPA网络
HSUPA
-
+
HSPA网络
HSPA
-
+
漫游:
ローミング:
-
+
Yes
は
-
+
No
いいえ
-
+
数据连接状态:
データ接続状態:
-
+
断开
切断
-
+
正在连接
接続中
-
+
已连接
接続済み
-
+
暂停
一時停止
-
+
数据活动休眠状态:
データアクティビティの休止状態:
-
+
活动,但无数据发送和接收
アクティブですが、データ送信と受信はありません
-
+
活动,正在接收数据
アクティブ、データ受信中
-
+
活动,正在发送数据
イベント、データ送信中
-
+
活动,正在接收和发送数据
イベント、データ受信と送信中
-
+
休眠状态
スリープ状態
-
+
信号强度:
信号の強度:
-
+
SetSwitchSimData
4G/5Gスイッチの設定
-
+
ContrFlightMode
飛行モードの設定
-
+
GetFlightModeState
飛行モード状態を取得
@@ -2336,673 +2340,691 @@
CtrlAdvancedPanel
-
+
Advanced parameters
上級パラメータ
-
+
Screen Width(pixel)
画面幅(ピクセル)
-
+
Width
幅
-
-
+
+
Height
高さ
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
セット
-
+
Alias
別名
-
+
Web Server Address:
Webサーバのアドレス:
-
+
www.m2mled.net
-
+
www.ledaips.com
-
+
https://www.taxihub.cn:2340
-
+
https://www.ledaips.com:2340
-
+
https://www.36taxi.com:2340
-
+
www.tlzxled.com
-
+
Realtimer Server Address:
Realtimerアドレス:
-
+
Clear
クリア
-
+
Apk upgrade
APKアップグレード
-
+
Check Apk
APKを検出
-
+
Uninstall
アンマウント
-
+
Running check
運転状態モニタ
-
+
FPGA version check
FPGAバージョンクエリ
-
+
Sync FPGA version
同期FPGAバージョン
-
+
Restart led controller system
再起動
-
+
Check Log
ログを見る
-
+
Start LedSet4
-
+
Open ADB
ADBデバッグ機能を開く
-
+
Post Custom JSON
Post Custom JSON
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Clear Program
番組をクリア
-
+
www.ledokcloud.com/realtime
-
+
M80 configuration
M 80の設定
-
+
Refresh
更新
-
+
Restore to default
標準の値を復元
-
+
Taxi top screen configuration
タクシートップ画面の設定
-
+
Service:High Out of service:Low
客がいます:高 客がいません:低
-
+
Service:Low Out of service:High
客がいます:低 客がいません:高
-
+
Start LedSet3.0 configure LED module
LedSet 3.0を使ってLEDモジュールを配置する(メーカーの専門家が使用する)
-
+
Binding *.ic account indentity voucher
テーピングtaxihubプラットフォームのユーザーID証明書
-
+
Rotate
回転
-
+
0 degrees
0度
-
+
90 degrees
90度
-
+
180 degrees
180度
-
+
270 degrees
270度
-
+
Min brightness
最低輝度
-
+
(min:1)
(最小:1)
-
-
-
+
+
+
Readback
読み戻し
-
-
-
+
+
+
Send
送信
-
+
Max brightness
最高輝度
-
+
(max:255)
(マックス:255)
-
-
+
+
SetScreenSize
スクリーンのピクセルサイズを設定
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
+
Compant ID:
会社ID:
-
+
FPGA Upgrade
FPGAアップグレード
-
+
Compant ID
会社ID
-
+
InputWebServerAddressTip
Webサーバのアドレスを入力してください
-
+
InputCompanyIdTip
会社IDを入力してください
-
+
Do you want to modify webserveraddress and companyId?
設定サーバアドレスと会社IDを確認しますか?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失敗
-
-
+
+
SetOnlineAddr
ウェブサーバのアドレスを設定
-
+
ClearRealtimeServer
クリア
-
+
InputRealTimeAddressTip
RealTimerアドレスを入力してください
-
+
SetRealtimeServer
RealTimerアドレスを設定
-
-
-
-
+
+
+
+
Tip Info
ヒント
-
-
-
+
+
+
Can not find LedSet3.0.exe,down you need download and install it
LEDSET 3.0 . exeを見つけることができません。ダウンロードしてインストールする必要があります
-
+
RestartAndroid
再起動
-
+
FPGA Version
FPGAバージョン
-
+
+
running
実行中
-
+
+
no running
実行されていません
-
+
Check Apk Version
チェック APK バージョン
-
+
+
UninstallSoftware
アンマウント
-
+
+
IsSoftwareRunning
APK運転状態監視
-
+
apk package (*.rpd)
-
+
CheckHardwareVersions
お問い合わせFPGAバージョン
-
-
-
+
+
+
SynchronousHardwareVersion
ハードウェアバージョンの同期
-
+
Check Screen untile fpga update finished
画面のアップグレードの進捗を確認します
-
+
OpenAdb
ADBデバッグ機能を開く
-
+
indentity voucher (*.ic)
身分証明書(*.ic)
-
-
+
+
+
+
+
InvokeTaxiAppFunction
証明書をバインド
-
+
Json format is error!
-
-
+
+
AliIotSetting
-
+
apk package (*.apk *.zip)
-
+
Software Version Info
-
+
Package
-
+
Version
バージョン
-
-
+
+
UpgradeSoftware
ファームウェアをアップグレードする
-
+
This screen is encrypted,Please decrypt and upgrade APK!
この画面は、暗号化され、復号化し、アップグレードAPK!
-
+
+
+ Package name is null
+ パッケージ名は空です
+
+
+
Clearing Program
プログラムクリア
-
-
+
+
Timeout
タイムアウト
-
-
+
+
Failed
失敗
-
+
Getting Log
-
-
+
+
+
+
+
+
+
+
Error
エラー
-
+
+ Open file Failed
+ ファイルのオープンに失敗しました
+
+
+
Setting Wallpaper
-
-
+
+
Set Wallpaper
-
+
System Updating
-
-
+
+
System Update
-
+
Setting Baud Rate
-
+
Set Baud Rate
-
+
Getting Baud Rate
-
+
Get Baud Rate
-
+
Hidden Settings
-
+
Click right button to hide
-
+
Baud Config
-
+
Model
-
+
Uart
-
+
Baud
-
+
Get
-
-
-
-
+
+
+
+
SetScreenRotation
画面の回転を設定する
-
+
SetMinBrightness
最小輝度値を設定します
-
+
SetMaxBrightness
輝度最大値を設定
-
+
GetMinBrightness
輝度最小値を取得
-
+
GetMaxBrightness
輝度最大値を取得
-
+
SetSpecialResolution
解像度を設定
-
+
GetSpecialResolution
読み込み解像度
-
+
CleanDisplayScreenSize
デフォルトの解像度を復元
-
+
SetHighForBusy
客レベルの設定
-
+
GetStateForBusy
ゲストレベルを取得
-
+
install start...
インストールを開始します...
-
+
InputAliasTip
エイリアスを入力してください
-
-
+
+
SetCardAlias
エイリアスの設定
@@ -3019,76 +3041,85 @@
番組クリアタイムアウト
-
+
Uploadding
アップロード
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NoSelectedController
先に大きいスクリーンを選んでください
-
+
InputWidthTip
正しい幅のピクセル値を入力してください
-
+
InputHeightTip
正しい高さのピクセル値を入力してください
-
+
Password is error
パスワード
-
-
-
+
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
jsonファイルの解析エラー!
@@ -3098,34 +3129,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
NoSelectedController
先に大きいスクリーンを選んでください
@@ -3137,238 +3168,238 @@
-
+
GetBrightnessSensitivity
明るさ感を得る
-
-
+
+
SetMinBrightness
最小輝度値を設定します
-
-
+
+
GetMinBrightness
輝度最小値を取得
-
-
+
+
NeedSelectSensorTypeTip
センサータイプを選択してください
-
-
+
+
SensorBrightnessTable
輝度センサ設定テーブルの設定
-
+
GetSensorBrightnessTable
センサーブライトテーブル
-
+
no sensorBrightnessTable
コントロールカードに輝度設定表が見つかりませんでした
-
+
Save file
保存
-
-
+
+
GetCurrentSensorBrightness
現在の明るさを取得する
-
-
+
+
SetBrightness
輝度を設定する
-
+
GetBrightness
輝度値を取得
-
+
Brightness
スクリーン輝度
-
+
Import File
インポートファイル
-
-
+
+
BrightnessSchedule (*.bjs)
-
+
Save File
保存
-
+
BrightnessValue
輝度値
-
+
Start Time
開始時間
-
+
End Time
終了時間
-
-
+
+
SetAutoBrightnessTask
送信タイミング輝度表
-
+
GetAutoBrightnessTask
取得タイミング輝度表
-
-
-
-
+
+
+
+
Error
エラー
-
+
Brightness Configuration
輝度の設定
-
+
Auto
自動
-
+
Manual
手動
-
+
Schedule
スケジュール
-
+
BrightTip1
最大輝度が64であるならば、最小の明るさは1%または適切な値として構成されることができます;最大の明るさが255であるならば、最小の明るさは36%かそれ以上として構成されなければなりません、さもなければ、明るさは低くなります。
-
+
BrightTip2
ファイルをアップロードする時、正しいセンサータイプを選択してください。でないと、無効です。
-
+
Sensitivity
感度
-
+
Minbrightness
最小輝度
-
-
+
+
Set
セット
-
+
Upload
ファイルのアップロード
-
-
-
+
+
+
Readback
読み戻し
-
+
ReadbackTable
読み戻し
-
+
Refresh
更新
-
+
Cur Brigntness
カールの明るさ
-
+
Brightness value
輝度値
-
+
Default brightness
標準の明るさ
-
+
Add
追加
-
+
Clear
クリア
-
+
Delete
削除
-
+
Import
インポート
-
+
Export
出力
-
+
Apply
適用
-
+
Default brightness tip
ヒント:この設定時間内は明るさを設定し、設定時間外はデフォルトの明るさとなります。例えば、デフォルトの輝度を80とし、設定輝度は180とし、時間範囲は8:00〜17:00とすると、時間範囲は180となり、他の時間はデフォルトの輝度80となる。
@@ -3376,14 +3407,15 @@
Def
-
-
+
+
Connection Timeout
接続タイムアウト
+
Success
成功
@@ -3400,7 +3432,7 @@
ヒント
-
+
Fail
失敗
@@ -3507,12 +3539,12 @@
回読画面
-
+
Input password
パスワードを入力
-
+
GetScreenshotFull
回読画面
@@ -3562,523 +3594,521 @@
詳細
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
receive
受信
-
+
SetScreenOn
電源の設定
-
+
AliIotSetting
-
-
+
+
GetScreenStatus
スクリーン状態を取得
-
-
+
+
Status
状態
-
DHCP IP
- DHCP IP
+ DHCP IP
-
STATIC IP
- 静的IP
+ 静的IP
-
+
Tip Info
ヒント
-
+
password is wrong
パスワードが間違っている
-
+
GetBrightness
輝度値を取得
-
-
-
+
+
+
brightness
明るさ
-
+
MasterSlaveSwitch
メインの個人情報を設定
-
+
SetBrightness
輝度を設定する
-
-
+
+
SetMinBrightness
最小輝度値を設定します
-
+
GetBrightnessSensitivity
明るさ感を得る
-
+
sensitivity
感度
-
+
GetMinBrightness
輝度最小値を取得
-
+
SetSensorBrightnessTable
センサーパラメータの設定表
-
+
SetSwitchWiFi
WiFiスイッチの設定
-
+
ConfigurationWiFi
WiFiの設定
-
+
ConfigurationHotSpot
ホットスポットの設定
-
+
GetSwitchWiFi
WiFi状態を取得
-
+
SetAutoBrightnessTask
送信タイミング輝度表
-
+
SetAutoVolumeTask
設定タイミング音量表
-
+
SetVolume
音量調節
-
+
GetVolume
現在の音量を取得
-
+
SetTimingScreenTask
画面タイミングスイッチタスクの設定
-
+
GetControllerDate
日付時間の取得
-
+
SetHighForBusy
客レベルの設定
-
-
+
+
GetStateForBusy
ゲストレベルを取得
-
+
Service:Low Out of service:High
客がいます:低 客がいません:高
-
+
Service:High Out of service:Low
客がいます:高 客がいません:低
-
-
-
+
+
+
IsPortableHotSpot
ホットスポットとWiFiモードの取得
-
+
WifiName
Wifiの名前
-
+
ApName
AP名前
-
+
TestScreen
テスト画面
-
+
SetOnlineAddr
ウェブサーバのアドレスを設定
-
+
SetRealtimeServer
RealTimerアドレスを設定
-
+
GetOnlineAddr
ウェブサーバのアドレスを取得
-
+
GetRealtimeServer
realtimeサーバのアドレスを取得します
-
+
SetNtpServer
NTPサービスの設定
-
+
GetNtpServer
NTPサービス情報を取得する
-
+
SyncTime
キャリブレーション時間
-
+
DelPrograms
番組をクリア
-
+
SetingSyncMethod
set syncメソッド
-
+
GetCurrentSensorBrightness
現在の明るさを取得する
-
+
Cur brightness
カールの明るさ
-
+
SetSpecialResolution
解像度を設定
-
+
GetSpecialResolution
読み込み解像度
-
+
totalResolution
FPGAトータル解像度
-
+
strCurDisplayResolution
表示解像度
-
+
CleanDisplayScreenSize
デフォルトの解像度を復元
-
+
SetMaxBrightness
輝度最大値を設定
-
+
GetMaxBrightness
輝度最大値を取得
-
+
screenSwitch
スクリーンの切り替え
-
-
-
+
+
+
YES
開く
-
-
-
+
+
+
NO
オフ
-
+
LAN
LAN
-
+
Connect
接続
-
+
timeout
タイムアウト
-
+
Anycast
リクエスト
-
-
+
+
volume
音量
-
-
-
-
-
-
+
+
+
+
+
+
GetingSyncMethod
同期方式を取得
-
-
+
+
identificationCode
識別コード
-
-
+
+
delaySync
時間オフセット
-
-
+
+
msec
ミリ秒
-
-
-
-
+
+
+
+
OtherSyncItem
その他の同期項目
-
-
-
-
+
+
+
+
lastSynchronousTime
最終同期時間
-
+
checkNtpTime
同期間隔
-
+
Uploadding
アップロード
-
+
Success
成功
-
+
failed
失敗
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
success
成功
-
-
+
+
Lora identity
ロラの身分
-
+
Master
主
-
+
Slave
から
-
+
SetBrightnessSensitivity
輝度センサ感度を設定する
-
-
-
+
+
+
on
オン
-
-
-
+
+
+
off
オフ
@@ -4086,88 +4116,88 @@
DevicePanel
-
-
+
+
All
トータル
トータル
-
+
Online
オンライン中
-
-
+
+
Refresh
更新
更新
-
-
+
+
Specify IP
指定IP
指定IP
-
+
Current Screen
現在のスクリーン
-
+
none
なし
-
+
Screen ID
ターミナルID
-
+
Screen IP
ターミナルIP
-
+
Screen Size
スクリーンサイズ
-
+
Remark Name
別名
-
+
readback pic
読み戻し
-
+
send
送信
-
+
More Info
詳細
-
+
Cur Brightness
現在の画面の明るさ
-
+
Power Status
画面切り替えステータス
-
+
Security
暗号化
@@ -5129,53 +5159,54 @@
EVideo
-
+
Basic Properties
基本的な属性
-
+
File
ファイル
-
+
Play Properties
再生方法
-
+
Play Duration
再生時間
-
+
Select File
ファイルを選択
-
+
s
秒
-
+
Play Times
再生回数
-
+
Video Transcoding
-
-
+
+
Video Transcoding Progress
ビデオ変換の進歩
-
+
+
Error
エラー
@@ -5277,83 +5308,83 @@
MainWindow
-
+
Language
言語
-
+
Help
ヘルプ
-
-
+
+
Check for updates
アップデートをチェック
-
-
+
+
firmware manager
ファームウェア管理
-
-
+
+
Software Configuration
ソフトウェアの設定
-
-
+
+
Info
情報
-
-
+
+
About
当ソフトウェアについて
-
-
+
+
Setting
設置
-
+
Device
端末管理
-
+
Program
コンテンツ管理
-
+
Control
ターミナルコントロール
-
+
GuangYinPin
スクリーン
-
+
Check card
ワンタッチ修復
-
+
Tip Info
ヒント
-
+
RestoreLedCardIpByUdpTip
この操作はLAN内のすべてのコンピュータIPと同じセグメントにないコントロールカードを固定IPに修正します。慎重に操作してください。
@@ -6018,7 +6049,7 @@
スクリーンは暗号化されています
-
+
All
トータル
@@ -6365,7 +6396,7 @@
UpgradeApkDialog
-
+
Upgrade apk
アップグレード
@@ -6381,154 +6412,154 @@
-
+
Select apk
Appパッケージを選択
-
-
+
+
Upgrade
アップグレード
-
+
APK:
-
+
Uninstall
アンマウント
-
+
check running state
運転状態を検出
-
+
Select Fpga
FPGAファイルを選択
-
+
success info
-
+
Refresh
更新
-
+
Cancel
キャンセル
-
+
Screen ID
ターミナルID
-
+
Remark Name
別名
-
+
Online
オンライン中
-
+
Screen IP
ターミナルIP
-
+
Security
暗号化
-
+
Progress
程度
-
+
xixunplayer
-
+
cardsystem
-
+
taxiapp
-
+
starter
-
+
connection
-
+
displayer
-
+
FPGA
FPGA
-
+
update
-
+
State
状態
-
-
-
+
+
+
All
トータル
-
+
The encrypted control card can be upgraded directly
暗号化されたコントロールカードを直接アップグレードすることができます
-
+
apk package (*.rpd)
-
+
apk package (*.apk *.zip)
@@ -7543,7 +7574,7 @@
-
+
IsSoftwareRunning
APK運転状態監視
@@ -7572,50 +7603,50 @@
-
+
SynchronousHardwareVersion
同期FPGA
-
+
Tip Info
ヒント
-
+
password is wrong
-
-
+
+
UninstallSoftware
アンマウント
-
-
+
+
Success
成功
-
+
Running
実行中
-
+
NoRunning
実行されていません
-
+
install success
インストール成功
-
-
+
+
Fail
失敗
diff --git a/LedOK/translations/app_zh_CN.ts b/LedOK/translations/app_zh_CN.ts
index 7d7649b..14150c6 100644
--- a/LedOK/translations/app_zh_CN.ts
+++ b/LedOK/translations/app_zh_CN.ts
@@ -491,669 +491,673 @@
ControlNetConfigWidget
-
Form
- Form
+ Form
-
+
Wire Enther(RJ45) Configuration
有线网配置
-
-
+
+
DHCP
-
-
+
+
Specify IP
指定IP
-
-
+
+
IP Address
IP地址
-
+
Mask Address
子网掩码
-
-
+
+
Gateway
网关
-
-
+
+
DNS Address
DNS地址
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
设置
-
-
-
-
-
-
-
+
+
+
+
+
+
Readback
回读
-
-
+
+
WIFI Configuration
WiFi配置
-
-
+
+
WiFi On/Off
WiFi使能
-
+
Input Ap name
输入热点名称
-
-
+
+
4G/5G Configuration
蜂窝数据配置
-
-
+
+
Open 4G/5G
启用蜂窝数据
-
+
APN:
-
-
+
+
Get cellular network status information
获取蜂窝网络状态信息
-
-
+
+
Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.
通过获取状态按钮可以自动匹配国家码MCC,然后选择“运营商”可获取到响应的APN信息,如果找不到运营商,可以选中“自定义”复选框,然后手动输入APN信息。
-
-
+
+
Readback APN Info
回读APN信息
-
-
+
+
Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param
设置Apn信息
-
-
+
+
CUSTOM
自定义
-
-
+
+
Check SIM
查询SIM信息
-
-
-
+
+
+
->
-
-
+
+
Country ID(mcc):
国家码(mcc):
-
-
+
+
Carrier Name
运营商
-
-
+
+
APN:
运营商APN:
-
-
+
+
APN(Required)
APN(必填)
-
-
+
+
User:
用户名:
-
-
-
-
+
+
+
+
Not required
非必填
-
-
+
+
Password:
密码:
-
+
Set Apn:iot.cargo
-
-
+
+
Flight Mode
飞行模式
-
-
+
+
WiFi name
WiFi名称
-
-
-
-
+
+
+
+
Password
密码
-
-
-
-
+
+
+
+
Input password
输入密码
-
-
+
+
Scan
扫描
-
-
+
+
Ap Mode
AP使能
-
+
Ap name
热点名称
-
+
OFF
关
-
+
ON
开
-
+
AP name
热点名称
-
+
Subnet mask
子网掩码
-
+
Input ap name
输入AP名称
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失败
-
-
-
-
+
+
+
+
Tip
提示
-
-
+
+
NoSelectedController
请先选择大屏幕
-
-
+
+
SetEthernet
设置有线网
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Attention
注意
-
+
Please input IP address!
请输入IP地址!
-
+
Your IP Address is Invalid!
IP地址无效!
-
+
Please input Mask address!
请输入子网掩码地址!
-
+
Your Mask Address is Invalid!
掩码地址无效!
-
+
Please input Gateway address!
请输入网关地址!
-
+
Your Gateway Address is Invalid!
网关地址无效!
-
+
Please input DNS address!
请输入DNS地址!
-
+
Your DNS Address is Invalid!
DNS地址无效!
-
+
+
GetEthernet
获取有线网配置
-
+
+ DHCP IP
+ 动态DHCP IP
+
+
+
+ STATIC IP
+ 静态IP
+
+
+
+ Error
+ 错误
+
+
+
SetSwitchWiFi
设置WiFi开关
-
-
-
-
-
-
+
+
+
+
+
+
SignalPower
信号强度
-
-
+
+
ConfigurationWiFi
配置WiFi
-
+
IsPortableHotSpot
获取热点和WiFi模式
-
+
GetWifiList
扫描WiFi
-
+
ConfigurationHotSpot
配置热点
-
+
GetCurrentAPN
获取APN信息
-
-
+
+
GetSIMStatus
获取SIM状态
-
-
+
SetAPN
设置APN
-
-
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
-
+
状态:
状态:
-
+
未知
未知
-
+
锁定状态,需要用户的PIN码解锁
锁定状态,需要用户的PIN码解锁
-
+
锁定状态,需要用户的PUK码解锁
锁定状态,需要用户的PUK码解锁
-
+
锁定状态,需要网络的PIN码解锁
锁定状态,需要网络的PIN码解锁
-
+
就绪
就绪
-
+
no checked sim card
检测不到sim卡
-
+
国家码:
国家码:
-
+
号码:
号码:
-
+
用户:
用户:
-
+
信号:
信号:
-
+
信号正常
信号正常
-
+
不在服务区
不在服务区
-
+
仅限紧急呼叫
仅限紧急呼叫
-
+
射频已经关闭
射频已经关闭
-
+
网络:
网络:
-
+
网络类型未知
未知
-
+
GPRS网络
GPRS
-
+
EDGE网络
EDGE
-
+
UMTS网络
UMTS
-
+
CDMA网络,IS95A 或 IS95B.
CDM
-
+
EVDO网络, revision 0.
EVDO,revision 0.
-
+
EVDO网络, revision A.
EVDO,revision A.
-
+
1xRTT网络
1xRTT
-
+
HSDPA网络
HSDPA
-
+
HSUPA网络
HSUPA
-
+
HSPA网络
HSPA
-
+
漫游:
漫游:
-
+
Yes
是
-
+
No
否
-
+
数据连接状态:
数据连接状态:
-
+
断开
断开
-
+
正在连接
正在连接
-
+
已连接
已连接
-
+
暂停
暂停
-
+
数据活动休眠状态:
数据活动休眠状态:
-
+
活动,但无数据发送和接收
活动,但无数据发送和接收
-
+
活动,正在接收数据
活动,正在接收数据
-
+
活动,正在发送数据
活动,正在发送数据
-
+
活动,正在接收和发送数据
活动,正在接收和发送数据
-
+
休眠状态
休眠状态
-
+
信号强度:
-
+
SetSwitchSimData
设置4G/5G开关
-
+
ContrFlightMode
配置飞行模式
-
+
GetFlightModeState
获取飞行模式状态
@@ -2336,747 +2340,774 @@
CtrlAdvancedPanel
-
+
Advanced parameters
高级参数
-
+
Screen Width(pixel)
屏幕宽(像素)
-
+
Width
宽
-
-
+
+
Height
高
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
设置
-
+
Alias
别名
-
+
Web Server Address:
Web服务器地址:
-
+
www.m2mled.net
-
+
www.ledaips.com
-
+
https://www.taxihub.cn:2340
-
+
https://www.ledaips.com:2340
-
+
https://www.36taxi.com:2340
-
+
www.tlzxled.com
-
+
Realtimer Server Address:
Realtimer地址:
-
+
Clear
清除
-
+
Apk upgrade
Apk升级
-
+
Check Apk
检查Apk
-
+
Uninstall
卸载
-
+
Running check
运行状态监测
-
+
FPGA version check
FPGA版本查询
-
+
Sync FPGA version
同步FPGA版本
-
+
Restart led controller system
重启
-
+
Check Log
查看日志
-
+
Start LedSet4
使用 LedSet4.0 配置LED模组(Apk Display2.0以上版本)
-
+
Open ADB
打开ADB调试功能
-
+
Post Custom JSON
Post Custom JSON
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Clear Program
清除节目
-
+
www.ledokcloud.com/realtime
-
+
M80 configuration
M80配置
-
+
Refresh
刷新
-
+
Restore to default
恢复默认值
-
+
Taxi top screen configuration
车顶有无客电平配置
-
+
Service:High Out of service:Low
有客:高电平 无客:低电平
-
+
Service:Low Out of service:High
有客:低电平 无客:高电平
-
+
Start LedSet3.0 configure LED module
使用LedSet3.0配置LED模组(厂家专业人员使用)
-
+
Binding *.ic account indentity voucher
绑定taxihub平台用户身份凭证
-
+
Rotate
旋转
-
+
0 degrees
0度
-
+
90 degrees
90度
-
+
180 degrees
180度
-
+
270 degrees
270度
-
+
Min brightness
最低亮度
-
+
(min:1)
(最小:1)
-
-
-
+
+
+
Readback
回读
-
-
-
+
+
+
Send
发送
-
+
Max brightness
最高亮度
-
+
(max:255)
(最高:255)
-
-
+
+
SetScreenSize
设置屏幕像素尺寸
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
+
Compant ID:
公司ID:
-
+
FPGA Upgrade
FPGA升级
-
+
Compant ID
公司ID
-
+
InputWebServerAddressTip
请输入Web服务器地址
-
+
InputCompanyIdTip
请输入公司ID
-
+
Do you want to modify webserveraddress and companyId?
是否确认配置服务器地址和公司ID?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失败
-
-
+
+
SetOnlineAddr
设置web服务器地址
-
+
ClearRealtimeServer
清除
-
+
InputRealTimeAddressTip
请输入RealTimer地址
-
+
SetRealtimeServer
设置RealTimer地址
-
-
-
-
+
+
+
+
Tip Info
提示
-
-
-
+
+
+
Can not find LedSet3.0.exe,down you need download and install it
找不到LedSet3.0.exe,确认下载并安装
-
+
RestartAndroid
重启
-
+
FPGA Version
FPGA版本
-
+
+
running
正在运行
-
+
+
no running
没有运行
-
+
Check Apk Version
查询已安装apk版本
-
+
+
UninstallSoftware
卸载
-
+
+
IsSoftwareRunning
监测APK运行状态
-
+
apk package (*.rpd)
-
+
CheckHardwareVersions
查询FPGA版本
-
-
-
+
+
+
SynchronousHardwareVersion
同步FPGA硬件版本
-
+
Check Screen untile fpga update finished
观察屏幕升级进度直到升级成功
-
+
OpenAdb
打开ADB调试功能
-
+
indentity voucher (*.ic)
身份凭证(*.ic)
-
-
+
+
+
+
+
InvokeTaxiAppFunction
绑定证书
-
+
Json format is error!
-
-
+
+
AliIotSetting
-
+
apk package (*.apk *.zip)
-
+
Software Version Info
软件版本信息
-
+
Package
包名
-
+
Version
版本
-
-
+
+
UpgradeSoftware
升级固件
-
+
This screen is encrypted,Please decrypt and upgrade APK!
此屏幕已加密,请解密并升级APK!
-
+
+
+ Package name is null
+ 包名为空
+
+
+
Clearing Program
正在清除节目
-
-
+
+
Timeout
超时
-
-
+
+
Failed
失败
-
+
Getting Log
正在获取日志
-
-
+
+
+
+
+
+
+
+
Error
错误
-
+
+ Open file Failed
+ 文件打开失败
+
+
+
Setting Wallpaper
正在设置系统桌面背景
-
-
+
+
Set Wallpaper
设置系统桌面背景
-
+
System Updating
系统升级中
-
-
+
+
System Update
系统升级
-
+
Setting Baud Rate
正在设置波特率
-
+
Set Baud Rate
设置波特率
-
+
Getting Baud Rate
正在获取波特率
-
+
Get Baud Rate
获取波特率
-
+
Hidden Settings
隐藏的设置
-
+
Click right button to hide
点击右键隐藏
-
+
Baud Config
波特率配置
-
+
Model
设备型号
-
+
Uart
串口节点
-
+
Baud
波特率
-
+
Get
获取
-
-
-
-
+
+
+
+
SetScreenRotation
设置屏幕旋转
-
+
SetMinBrightness
设置最小的亮度值
-
+
SetMaxBrightness
设置亮度最大值
-
+
GetMinBrightness
获取亮度最小值
-
+
GetMaxBrightness
获取亮度最大值
-
+
SetSpecialResolution
设置分辨率
-
+
GetSpecialResolution
读取分辨率
-
+
CleanDisplayScreenSize
恢复默认分辨率
-
+
SetHighForBusy
设置有无客电平
-
+
GetStateForBusy
获取有无客电平
-
+
install start...
开始安装...
-
+
InputAliasTip
请输入别名
-
-
+
+
SetCardAlias
设置别名
-
+
Uploadding
上传
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NoSelectedController
请先选择大屏幕
-
+
InputWidthTip
请输入正确的宽度像素值
-
+
InputHeightTip
请输入正确的高度像素值
-
+
Password is error
密码错误
-
-
-
+
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
解析json文件错误!
@@ -3086,34 +3117,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
NoSelectedController
请先选择大屏幕
@@ -3125,238 +3156,238 @@
-
+
GetBrightnessSensitivity
获取亮度传感器灵敏度
-
-
+
+
SetMinBrightness
设置最小的亮度值
-
-
+
+
GetMinBrightness
获取亮度最小值
-
-
+
+
NeedSelectSensorTypeTip
请先选择传感器类型
-
-
+
+
SensorBrightnessTable
设置亮度传感器配置表
-
+
GetSensorBrightnessTable
获取传感器亮度配置表
-
+
no sensorBrightnessTable
控制卡没有发现亮度配置表
-
+
Save file
保存
-
-
+
+
GetCurrentSensorBrightness
获取当前亮度
-
-
+
+
SetBrightness
设置亮度
-
+
GetBrightness
获取亮度值
-
+
Brightness
屏体亮度
-
+
Import File
导入文件
-
-
+
+
BrightnessSchedule (*.bjs)
-
+
Save File
保存文件
-
+
BrightnessValue
亮度值
-
+
Start Time
开始时间
-
+
End Time
结束时间
-
-
+
+
SetAutoBrightnessTask
发送定时亮度表
-
+
GetAutoBrightnessTask
获取定时亮度表
-
-
-
-
+
+
+
+
Error
错误
-
+
Brightness Configuration
亮度配置
-
+
Auto
自动
-
+
Manual
手动
-
+
Schedule
定时
-
+
BrightTip1
如果最大亮度为64,则最小亮度可以配置为1%或适当的值;如果最大亮度为255,则最小亮度必须配置为36%或更高,否则亮度将很低。
-
+
BrightTip2
上传文件时,请确认选择正确的传感器类型,否则无效!
-
+
Sensitivity
灵敏度
-
+
Minbrightness
最小亮度值
-
-
+
+
Set
设置
-
+
Upload
上传配置文件
-
-
-
+
+
+
Readback
回读
-
+
ReadbackTable
回读
-
+
Refresh
刷新
-
+
Cur Brigntness
当前亮度
-
+
Brightness value
亮度值
-
+
Default brightness
默认亮度
-
+
Add
添加
-
+
Clear
清空
-
+
Delete
删除
-
+
Import
导入
-
+
Export
导出
-
+
Apply
应用
-
+
Default brightness tip
提示:该设定时间内为设定亮度,设定时间外为默认亮度。例如设定默认亮度为80,设定亮度为180,时间范围是8:00-17:00,则时间范围内亮度为180,其他时间内为默认亮度80!
@@ -3364,14 +3395,15 @@
Def
-
-
+
+
Connection Timeout
连接超时
+
Success
成功
@@ -3388,7 +3420,7 @@
提示
-
+
Fail
失败
@@ -3495,12 +3527,12 @@
回读画面
-
+
Input password
输入密码
-
+
GetScreenshotFull
回读画面
@@ -3550,523 +3582,521 @@
详细信息
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
receive
接收
-
+
SetScreenOn
设置电源
-
+
AliIotSetting
-
-
+
+
GetScreenStatus
获取屏幕状态
-
-
+
+
Status
状态
-
DHCP IP
- 动态DHCP IP
+ 动态DHCP IP
-
STATIC IP
- 静态IP
+ 静态IP
-
+
Tip Info
提示
-
+
password is wrong
密码错误
-
+
GetBrightness
获取亮度值
-
-
-
+
+
+
brightness
亮度
-
+
MasterSlaveSwitch
配置主从身份
-
+
SetBrightness
设置亮度
-
-
+
+
SetMinBrightness
设置最小的亮度值
-
+
GetBrightnessSensitivity
获取亮度传感器灵敏度
-
+
sensitivity
灵敏度
-
+
GetMinBrightness
获取亮度最小值
-
+
SetSensorBrightnessTable
配置传感器参数表
-
+
SetSwitchWiFi
设置WiFi开关
-
+
ConfigurationWiFi
配置WiFi
-
+
ConfigurationHotSpot
配置热点
-
+
GetSwitchWiFi
获取WiFi状态
-
+
SetAutoBrightnessTask
发送定时亮度表
-
+
SetAutoVolumeTask
配置定时音量表
-
+
SetVolume
音量调节
-
+
GetVolume
获取当前音量
-
+
SetTimingScreenTask
设置屏幕定时开关任务
-
+
GetControllerDate
获取日期时间
-
+
SetHighForBusy
设置有无客电平
-
-
+
+
GetStateForBusy
获取有无客电平
-
+
Service:Low Out of service:High
有客:低电平 无客:高电平
-
+
Service:High Out of service:Low
有客:高电平 无客:低电平
-
-
-
+
+
+
IsPortableHotSpot
获取热点和WiFi模式
-
+
WifiName
Wifi名称
-
+
ApName
热点名称
-
+
TestScreen
测试屏幕
-
+
SetOnlineAddr
设置web服务器地址
-
+
SetRealtimeServer
设置RealTimer地址
-
+
GetOnlineAddr
获取web服务器地址
-
+
GetRealtimeServer
获取realtime服务器地址
-
+
SetNtpServer
设置NTP服务
-
+
GetNtpServer
获取NTP服务信息
-
+
SyncTime
校准时间
-
+
DelPrograms
清除节目
-
+
SetingSyncMethod
设置同步方法
-
+
GetCurrentSensorBrightness
获取当前亮度
-
+
Cur brightness
当前亮度
-
+
SetSpecialResolution
设置分辨率
-
+
GetSpecialResolution
读取分辨率
-
+
totalResolution
包括行场数的分辨率
-
+
strCurDisplayResolution
当前显示屏分辨率
-
+
CleanDisplayScreenSize
恢复默认分辨率
-
+
SetMaxBrightness
设置亮度最大值
-
+
GetMaxBrightness
获取亮度最大值
-
+
screenSwitch
开关屏
-
-
-
+
+
+
YES
开
-
-
-
+
+
+
NO
关
-
+
LAN
局域网
-
+
Connect
连接
-
+
timeout
超时
-
+
Anycast
点播
-
-
+
+
volume
音量
-
-
-
-
-
-
+
+
+
+
+
+
GetingSyncMethod
获取同步方式
-
-
+
+
identificationCode
识别码
-
-
+
+
delaySync
时间偏移
-
-
+
+
msec
毫秒
-
-
-
-
+
+
+
+
OtherSyncItem
其他同步项
-
-
-
-
+
+
+
+
lastSynchronousTime
上次同步时间
-
+
checkNtpTime
同步间隔
-
+
Uploadding
上传
-
+
Success
成功
-
+
failed
失败
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
success
成功
-
-
+
+
Lora identity
Lora身份
-
+
Master
主
-
+
Slave
从
-
+
SetBrightnessSensitivity
设置亮度传感器灵敏度
-
-
-
+
+
+
on
开
-
-
-
+
+
+
off
关
@@ -4074,89 +4104,89 @@
DevicePanel
-
-
+
+
All
总数
总数
-
+
Online
在线
在线
-
-
+
+
Refresh
刷新
刷新
-
+
Current Screen
当前屏幕
-
+
none
无
-
-
+
+
Specify IP
指定IP
指定IP
-
+
Screen ID
屏幕ID
-
+
Screen IP
屏幕IP
-
+
Screen Size
屏幕像素
-
+
Remark Name
別名
-
+
readback pic
回读画面
-
+
send
发送
-
+
More Info
详细信息
-
+
Cur Brightness
屏幕当前亮度
-
+
Power Status
屏幕开关状态
-
+
Security
加密
@@ -5118,53 +5148,54 @@
EVideo
-
+
Basic Properties
基本属性
-
+
File
文件
-
+
Play Properties
播放方式
-
+
Play Duration
播放时长
-
+
Select File
选择文件
-
+
s
秒
-
+
Play Times
播放次数
-
+
Video Transcoding
视频转码
-
-
+
+
Video Transcoding Progress
视频转码进度
-
+
+
Error
错误
@@ -5266,83 +5297,83 @@
MainWindow
-
+
Language
语言
-
+
Help
帮助
-
-
+
+
Check for updates
检查更新
-
-
+
+
firmware manager
固件管理
-
-
+
+
Software Configuration
软件配置
-
-
+
+
Info
信息
-
-
+
+
About
关于
-
-
+
+
Setting
设置
-
+
Device
设备管理
-
+
Program
节目管理
-
+
Control
终端控制
-
+
GuangYinPin
光影屏
-
+
Check card
一键找卡
-
+
Tip Info
提示
-
+
RestoreLedCardIpByUdpTip
该操作会把局域网内的所有与计算机IP不在同一网段的控制卡修复成固定IP,请谨慎操作!
@@ -6007,7 +6038,7 @@
屏幕已加密
-
+
All
总数
@@ -6354,7 +6385,7 @@
UpgradeApkDialog
-
+
Upgrade apk
升级apk
@@ -6370,154 +6401,154 @@
-
+
Select apk
选择Apk包
-
-
+
+
Upgrade
升级
-
+
APK:
-
+
Uninstall
卸载
-
+
check running state
检测运行状态
-
+
Select Fpga
选择FPGA文件
-
+
success info
-
+
Refresh
刷新
-
+
Cancel
取消
-
+
Screen ID
屏幕ID
-
+
Remark Name
別名
-
+
Online
在线
-
+
Screen IP
屏幕IP
-
+
Security
加密
-
+
Progress
进度
-
+
xixunplayer
-
+
cardsystem
-
+
taxiapp
-
+
starter
-
+
connection
-
+
displayer
-
+
FPGA
FPGA
-
+
update
-
+
State
状态
-
-
-
+
+
+
All
总数
-
+
The encrypted control card can be upgraded directly
加密控制卡可以直接升级
-
+
apk package (*.rpd)
-
+
apk package (*.apk *.zip)
@@ -7532,7 +7563,7 @@
-
+
IsSoftwareRunning
监测APK运行状态
@@ -7561,50 +7592,50 @@
-
+
SynchronousHardwareVersion
同步FPGA
-
+
Tip Info
提示
-
+
password is wrong
密码错误
-
-
+
+
UninstallSoftware
卸载
-
-
+
+
Success
成功
-
+
Running
正在运行
-
+
NoRunning
没有运行
-
+
install success
安装成功
-
-
+
+
Fail
失败
diff --git a/LedOK/translations/app_zh_TW.ts b/LedOK/translations/app_zh_TW.ts
index 1baf05e..b04bc2b 100644
--- a/LedOK/translations/app_zh_TW.ts
+++ b/LedOK/translations/app_zh_TW.ts
@@ -491,669 +491,673 @@
ControlNetConfigWidget
-
Form
- Form
+ Form
-
+
Wire Enther(RJ45) Configuration
有線網配寘
-
-
+
+
DHCP
-
-
+
+
Specify IP
指定IP
-
-
+
+
IP Address
IP地址
-
+
Mask Address
子網路遮罩
-
-
+
+
Gateway
閘道
-
-
+
+
DNS Address
DNS地址
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
設定
-
-
-
-
-
-
-
+
+
+
+
+
+
Readback
回讀
-
-
+
+
WIFI Configuration
WiFi配寘
-
-
+
+
WiFi On/Off
WiFi使能
-
+
Input Ap name
輸入熱點名稱
-
-
+
+
4G/5G Configuration
蜂窩數據G配寘
-
-
+
+
Open 4G/5G
啟用蜂窩數據
-
+
APN:
-
-
+
+
Get cellular network status information
獲取蜂窩網絡狀態資訊
-
-
+
+
Check SIM can automatically match to MCC, and then select carrier get apn param,if not found carrier,you can check the CUSTOM checkbox,then enter custom param.
通過獲取狀態按鈕可以自動匹配國家碼MCC,然後選擇“運營商”可獲取到響應的APN資訊,如果找不到運營商,可以選中“自定義”核取方塊,然後手動輸入APN資訊。
-
-
+
+
Readback APN Info
回讀APN資訊
-
-
+
+
Set Apn Info,Check SIM can automatically match to MCC, and then select carrier get apn param
設定Apn資訊
-
-
+
+
CUSTOM
自定義
-
-
+
+
Check SIM
査詢SIM資訊
-
-
-
+
+
+
->
-
-
+
+
Country ID(mcc):
国家码(mcc):國家碼(mcc):
-
-
+
+
Carrier Name
運營商
-
-
+
+
APN:
運營商APN:
-
-
+
+
APN(Required)
APN(必填)
-
-
+
+
User:
用戶名:
-
-
-
-
+
+
+
+
Not required
非必填
-
-
+
+
Password:
密碼:
-
+
Set Apn:iot.cargo
-
-
+
+
Flight Mode
飛行模式
-
-
+
+
WiFi name
WiFi名稱
-
-
-
-
+
+
+
+
Password
密碼
-
-
-
-
+
+
+
+
Input password
輸入密碼
-
-
+
+
Scan
掃描
-
-
+
+
Ap Mode
AP使能
-
+
Ap name
熱點名稱
-
+
OFF
關
-
+
ON
開
-
+
AP name
熱點名稱
-
+
Subnet mask
子網路遮罩
-
+
Input ap name
輸入AP名稱
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失敗
-
-
-
-
+
+
+
+
Tip
提示
-
-
+
+
NoSelectedController
請先選擇大螢幕
-
-
+
+
SetEthernet
設定有線網
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Attention
注意
-
+
Please input IP address!
請輸入IP地址!
-
+
Your IP Address is Invalid!
IP地址無效!
-
+
Please input Mask address!
請輸入子網路遮罩地址!
-
+
Your Mask Address is Invalid!
遮罩地址無效!
-
+
Please input Gateway address!
請輸入閘道地址!
-
+
Your Gateway Address is Invalid!
閘道地址無效!
-
+
Please input DNS address!
請輸入DNS地址!
-
+
Your DNS Address is Invalid!
DNS地址無效!
-
+
+
GetEthernet
獲取有線網配寘
-
+
+ DHCP IP
+ 動態DHCP IP
+
+
+
+ STATIC IP
+ 靜態IP
+
+
+
+ Error
+ 錯誤
+
+
+
SetSwitchWiFi
設定WiFi開關
-
-
-
-
-
-
+
+
+
+
+
+
SignalPower
信號強度
-
-
+
+
ConfigurationWiFi
配寘WiFi
-
+
IsPortableHotSpot
獲取熱點和WiFi模式
-
+
GetWifiList
掃描WiFi
-
+
ConfigurationHotSpot
配寘熱點
-
+
GetCurrentAPN
獲取APN資訊
-
-
+
+
GetSIMStatus
獲取SIM狀態
-
-
+
SetAPN
設定APN
-
-
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
DeviceItem OnProHttpResponse 解析json檔案錯誤!
-
+
状态:
狀態:
-
+
未知
未知
-
+
锁定状态,需要用户的PIN码解锁
鎖定狀態,需要用戶的PIN碼解鎖
-
+
锁定状态,需要用户的PUK码解锁
鎖定狀態,需要用戶的PUK碼解鎖
-
+
锁定状态,需要网络的PIN码解锁
鎖定狀態,需要網絡的PIN碼解鎖
-
+
就绪
就緒
-
+
no checked sim card
檢測不到sim卡
-
+
国家码:
國家碼:
-
+
号码:
號碼:
-
+
用户:
用戶:
-
+
信号:
信号:
-
+
信号正常
訊號正常
-
+
不在服务区
不在服務區
-
+
仅限紧急呼叫
僅限緊急呼叫
-
+
射频已经关闭
射頻已經關閉
-
+
网络:
網絡:
-
+
网络类型未知
未知
-
+
GPRS网络
GPRS
-
+
EDGE网络
EDGE
-
+
UMTS网络
UMTS
-
+
CDMA网络,IS95A 或 IS95B.
CDM
-
+
EVDO网络, revision 0.
EVDO,revision 0.
-
+
EVDO网络, revision A.
EVDO,revision A.
-
+
1xRTT网络
1xRTT
-
+
HSDPA网络
HSDPA
-
+
HSUPA网络
HSUPA
-
+
HSPA网络
HSPA
-
+
漫游:
漫遊:
-
+
Yes
是
-
+
No
否
-
+
数据连接状态:
數據連接狀態:
-
+
断开
斷開
-
+
正在连接
正在連接
-
+
已连接
已連接
-
+
暂停
暫停
-
+
数据活动休眠状态:
數據活動休眠狀態:
-
+
活动,但无数据发送和接收
活動,但無數據發送和接收
-
+
活动,正在接收数据
活動,正在接收數據
-
+
活动,正在发送数据
活動,正在發送數據
-
+
活动,正在接收和发送数据
活動,正在接收和發送數據
-
+
休眠状态
休眠狀態
-
+
信号强度:
信號強度:
-
+
SetSwitchSimData
設定4G/5G開關
-
+
ContrFlightMode
配寘飛行模式
-
+
GetFlightModeState
獲取飛行模式狀態
@@ -2341,747 +2345,774 @@
CtrlAdvancedPanel
-
+
Advanced parameters
高級參數
-
+
Screen Width(pixel)
荧幕寬(點數)
-
+
Width
寬
-
-
+
+
Height
高
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Set
設定
-
+
Alias
別名
-
+
Web Server Address:
Web伺服器地址:
-
+
www.m2mled.net
-
+
www.ledaips.com
-
+
https://www.taxihub.cn:2340
-
+
https://www.ledaips.com:2340
-
+
https://www.36taxi.com:2340
-
+
www.tlzxled.com
-
+
Realtimer Server Address:
Realtimer地址:
-
+
Clear
清除
-
+
Apk upgrade
Apk陞級
-
+
Check Apk
檢查Apk
-
+
Uninstall
卸載
-
+
Running check
運行狀態監測
-
+
FPGA version check
FPGA版本査詢
-
+
Sync FPGA version
同步FPGA版本
-
+
Restart led controller system
重啓
-
+
Check Log
查看日誌
-
+
Start LedSet4
-
+
Open ADB
打開ADB調試功能
-
+
Post Custom JSON
Post Custom JSON
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Clear Program
清除節目
-
+
www.ledokcloud.com/realtime
-
+
M80 configuration
M80配寘
-
+
Refresh
檢測
-
+
Restore to default
恢復預設值
-
+
Taxi top screen configuration
車頂有無客電平配寘
-
+
Service:High Out of service:Low
有客:高電平無客:低電平
-
+
Service:Low Out of service:High
有客:低電平 無客:高電平
-
+
Start LedSet3.0 configure LED module
使用LedSet3.0配寘LED模組(廠家專業人員使用)
-
+
Binding *.ic account indentity voucher
綁定taxihub平臺用戶身份憑證
-
+
Rotate
旋轉
-
+
0 degrees
0度
-
+
90 degrees
90度
-
+
180 degrees
10度
-
+
270 degrees
270度
-
+
Min brightness
最低亮度
-
+
(min:1)
(最小:1)
-
-
-
+
+
+
Readback
回讀
-
-
-
+
+
+
Send
發送
-
+
Max brightness
最高亮度
-
+
(max:255)
(最高:255)
-
-
+
+
SetScreenSize
設定荧幕點數尺寸
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Success
成功
-
+
Compant ID:
公司ID:
-
+
FPGA Upgrade
FPGA陞級
-
+
Compant ID
公司ID
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NoSelectedController
請先選擇大螢幕
-
+
InputWebServerAddressTip
請輸入Web伺服器地址
-
+
InputCompanyIdTip
請輸入公司ID
-
+
Do you want to modify webserveraddress and companyId?
是否確認配寘伺服器地址和公司ID?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
failed
失敗
-
-
+
+
SetOnlineAddr
設定web伺服器地址
-
+
ClearRealtimeServer
清除
-
+
InputRealTimeAddressTip
請輸入RealTimer地址
-
+
SetRealtimeServer
設定RealTimer地址
-
-
-
-
+
+
+
+
Tip Info
提示
-
-
-
+
+
+
Can not find LedSet3.0.exe,down you need download and install it
找不到LedSet3.0.exe,確認下載並安裝
-
+
RestartAndroid
重啓
-
+
FPGA Version
FPGA版本
-
+
+
running
正在運行
-
+
+
no running
沒有運行
-
+
Check Apk Version
査詢已安裝apk版本
-
+
+
UninstallSoftware
卸載
-
+
+
IsSoftwareRunning
監測APK運行狀態
-
+
apk package (*.rpd)
-
+
CheckHardwareVersions
査詢FPGA版本
-
-
-
+
+
+
SynchronousHardwareVersion
同步FPGA硬體版本
-
+
Check Screen untile fpga update finished
觀察荧幕陞級進度直到陞級成功
-
+
OpenAdb
打開ADB調試功能
-
+
indentity voucher (*.ic)
身份憑證(*.ic)
-
-
+
+
+
+
+
InvokeTaxiAppFunction
綁定證書
-
+
Json format is error!
-
-
+
+
AliIotSetting
-
+
apk package (*.apk *.zip)
-
+
Software Version Info
軟體版本資訊
-
+
Package
包名
-
+
Version
版本
-
-
+
+
UpgradeSoftware
陞級固件
-
+
This screen is encrypted,Please decrypt and upgrade APK!
此荧幕已加密,請解密並陞級APK!
-
+
+
+ Package name is null
+ 包名為空
+
+
+
Clearing Program
正在清除節目
-
-
+
+
Timeout
超時
-
-
+
+
Failed
失敗
-
+
Getting Log
讀取日誌
-
-
+
+
+
+
+
+
+
+
Error
錯誤
-
+
+ Open file Failed
+ 檔案打開失敗
+
+
+
Setting Wallpaper
正在設定系統桌面背景
-
-
+
+
Set Wallpaper
設定系統桌面背景
-
+
System Updating
系統升級中
-
-
+
+
System Update
系統升級
-
+
Setting Baud Rate
正在設定串列傳輸速率
-
+
Set Baud Rate
設定串列傳輸速率
-
+
Getting Baud Rate
正在讀取串列傳輸速率
-
+
Get Baud Rate
讀取串列傳輸速率
-
+
Hidden Settings
隱藏的設定
-
+
Click right button to hide
點擊右鍵隱藏
-
+
Baud Config
串列傳輸速率配寘
-
+
Model
設備型號
-
+
Uart
串口節點
-
+
Baud
串列傳輸速率
-
+
Get
讀取
-
-
-
+
+
+
DeviceItem OnProHttpResponse 解析json文件错误!
DeviceItem OnProHttpResponse 解析json檔案錯誤!
-
-
-
-
+
+
+
+
SetScreenRotation
設定荧幕旋轉
-
+
SetMinBrightness
設定最小的亮度值
-
+
SetMaxBrightness
設定亮度最大值
-
+
GetMinBrightness
獲取亮度最小值
-
+
GetMaxBrightness
獲取亮度最大值
-
+
SetSpecialResolution
設定分辯率
-
+
GetSpecialResolution
讀取分辯率
-
+
CleanDisplayScreenSize
恢復默認分辯率
-
+
SetHighForBusy
設定有無客電平
-
+
GetStateForBusy
獲取有無客電平
-
+
install start...
開始安裝…
-
+
InputAliasTip
請輸入別名
-
-
+
+
SetCardAlias
設定別名
-
+
Uploadding
上傳
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
+
InputWidthTip
請輸入正確的寬度點數值
-
+
InputHeightTip
請輸入正確的高度點數值
-
+
Password is error
密碼錯誤
@@ -3091,34 +3122,34 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Tip
提示
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
NoSelectedController
請先選擇大螢幕
@@ -3130,89 +3161,89 @@
-
+
GetBrightnessSensitivity
獲取亮度感測器靈敏度
-
-
+
+
SetMinBrightness
設定最小的亮度值
-
-
+
+
GetMinBrightness
獲取亮度最小值
-
-
+
+
NeedSelectSensorTypeTip
請先選擇感測器類型
-
-
+
+
SensorBrightnessTable
設定亮度感測器配寘錶
-
+
GetSensorBrightnessTable
獲取感測器亮度配寘錶
-
+
no sensorBrightnessTable
控制卡沒有發現亮度配寘錶
-
+
Save file
保存
-
-
+
+
GetCurrentSensorBrightness
獲取當前亮度
-
-
+
+
SetBrightness
設定亮度
-
+
GetBrightness
獲取亮度值
-
+
Brightness
屏体亮度
-
+
Import File
導入檔案
-
-
+
+
BrightnessSchedule (*.bjs)
-
+
Save File
保存
-
+
BrightnessValue
亮度值
@@ -3222,151 +3253,151 @@
開始時間
-
+
Start Time
開始時間
-
+
End Time
結束時間
-
-
+
+
SetAutoBrightnessTask
發送定時亮度錶
-
+
GetAutoBrightnessTask
獲取定時亮度錶
-
-
-
-
+
+
+
+
Error
錯誤
-
+
Brightness Configuration
亮度配寘
-
+
Auto
自動
-
+
Manual
手動
-
+
Schedule
定時
-
+
BrightTip1
如果最大亮度為64,則最小亮度可以配寘為1%或適當的值;如果最大亮度為255,則最小亮度必須配寘為36%或更高,否則亮度將很低。
-
+
BrightTip2
上傳文件時,請確認選擇正確的感測器類型,否則無效!
-
+
Sensitivity
靈敏度
-
+
Minbrightness
最小亮度值
-
-
+
+
Set
設定
-
+
Upload
上傳設定檔
-
-
-
+
+
+
Readback
回讀
-
+
ReadbackTable
回讀
-
+
Refresh
檢測
-
+
Cur Brigntness
當前亮度
-
+
Brightness value
亮度值
-
+
Default brightness
默認亮度
-
+
Add
添加
-
+
Clear
清空
-
+
Delete
删除
-
+
Import
導入
-
+
Export
匯出
-
+
Apply
應用
-
+
Default brightness tip
提示:該設定時間內為設定亮度,設定時間外為默認亮度。例如設定默認亮度為80,設定亮度為180,時間範圍是8:00-17:00,則時間範圍內亮度為180,其他時間內為默認亮度80!
@@ -3374,14 +3405,15 @@
Def
-
-
+
+
Connection Timeout
連接超時
+
Success
成功
@@ -3398,7 +3430,7 @@
提示
-
+
Fail
失敗
@@ -3505,12 +3537,12 @@
回讀畫面
-
+
Input password
輸入密碼
-
+
GetScreenshotFull
回讀畫面
@@ -3560,523 +3592,521 @@
詳細資訊
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
receive
接收
-
+
SetScreenOn
設定電源
-
+
AliIotSetting
-
-
+
+
GetScreenStatus
獲取荧幕狀態
-
-
+
+
Status
狀態
-
DHCP IP
- 動態DHCP IP
+ 動態DHCP IP
-
STATIC IP
- 靜態IP
+ 靜態IP
-
+
Tip Info
提示
-
+
password is wrong
密碼錯誤
-
+
GetBrightness
獲取亮度值
-
-
-
+
+
+
brightness
亮度
-
+
MasterSlaveSwitch
配寘主從身份
-
+
SetBrightness
設定亮度
-
-
+
+
SetMinBrightness
設定最小的亮度值
-
+
GetBrightnessSensitivity
獲取亮度感測器靈敏度
-
+
sensitivity
靈敏度
-
+
GetMinBrightness
獲取亮度最小值
-
+
SetSensorBrightnessTable
配寘感測器參數表
-
+
SetSwitchWiFi
設定WiFi開關
-
+
ConfigurationWiFi
配寘WiFi
-
+
ConfigurationHotSpot
配寘熱點
-
+
GetSwitchWiFi
獲取WiFi狀態
-
+
SetAutoBrightnessTask
發送定時亮度錶
-
+
SetAutoVolumeTask
配寘定時音量表
-
+
SetVolume
音量調節
-
+
GetVolume
獲取當前音量
-
+
SetTimingScreenTask
設定荧幕定時開關任務
-
+
GetControllerDate
獲取日期時間
-
+
SetHighForBusy
設定有無客電平
-
-
+
+
GetStateForBusy
獲取有無客電平
-
+
Service:Low Out of service:High
有客:低電平 無客:高電平
-
+
Service:High Out of service:Low
有客:高電平無客:低電平
-
-
-
+
+
+
IsPortableHotSpot
獲取熱點和WiFi模式
-
+
WifiName
Wifi名稱
-
+
ApName
熱點名稱
-
+
TestScreen
測試荧幕
-
+
SetOnlineAddr
設定web伺服器地址
-
+
SetRealtimeServer
設定RealTimer地址
-
+
GetOnlineAddr
取得web伺服器地址
-
+
GetRealtimeServer
獲取realtime伺服器地址
-
+
SetNtpServer
設定NTP服務
-
+
GetNtpServer
獲取NTP服務資訊
-
+
SyncTime
校準時間
-
+
DelPrograms
清除節目
-
+
SetingSyncMethod
設定同步方法
-
+
GetCurrentSensorBrightness
獲取當前亮度
-
+
Cur brightness
當前亮度
-
+
SetSpecialResolution
設定分辯率
-
+
GetSpecialResolution
讀取分辯率
-
+
totalResolution
行数を含む解像度
-
+
strCurDisplayResolution
當前顯示分辯率
-
+
CleanDisplayScreenSize
恢復默認分辯率
-
+
SetMaxBrightness
設定亮度最大值
-
+
GetMaxBrightness
獲取亮度最大值
-
+
screenSwitch
開關屏
-
-
-
+
+
+
YES
開
-
-
-
+
+
+
NO
關
-
+
LAN
局域網
-
+
Connect
連接
-
+
timeout
超時
-
+
Anycast
點播
-
-
+
+
volume
音量
-
-
-
-
-
-
+
+
+
+
+
+
GetingSyncMethod
獲取同步管道
-
-
+
+
identificationCode
識別碼
-
-
+
+
delaySync
時間偏移
-
-
+
+
msec
毫秒
-
-
-
-
+
+
+
+
OtherSyncItem
其他同步項
-
-
-
-
+
+
+
+
lastSynchronousTime
上次同步時間
-
+
checkNtpTime
同步間隔
-
+
Uploadding
上傳
-
+
Success
成功
-
+
failed
失敗
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
success
成功
-
-
+
+
Lora identity
Lora身份
-
+
Master
主
-
+
Slave
從
-
+
SetBrightnessSensitivity
設定亮度感測器靈敏度
-
-
-
+
+
+
on
開
-
-
-
+
+
+
off
關
@@ -4084,87 +4114,87 @@
DevicePanel
-
-
+
+
All
總數
-
+
Online
在线
線上
-
-
+
+
Refresh
檢測
-
-
+
+
Specify IP
指定IP
指定IP
-
+
Current Screen
当前屏幕
-
+
none
无
-
+
Screen ID
荧幕ID
-
+
Screen IP
荧幕IP
-
+
Screen Size
荧幕點數
-
+
Remark Name
別名
-
+
readback pic
回讀畫面
-
+
send
發送
-
+
More Info
詳細資訊
-
+
Cur Brightness
荧幕當前亮度
-
+
Power Status
荧幕開關狀態
-
+
Security
加密
@@ -5126,53 +5156,54 @@
EVideo
-
+
Basic Properties
基本屬性
-
+
File
檔案
-
+
Play Properties
播放管道
-
+
Play Duration
播放時長
-
+
Select File
選擇檔案
-
+
s
秒
-
+
Play Times
播放次數
-
+
Video Transcoding
-
-
+
+
Video Transcoding Progress
視頻轉碼進度
-
+
+
Error
錯誤
@@ -5274,83 +5305,83 @@
MainWindow
-
+
Language
語言
-
+
Help
幫助
-
-
+
+
Check for updates
檢查更新
-
-
+
+
firmware manager
固件管理
-
-
+
+
Software Configuration
軟件配寘
-
-
+
+
Info
資訊
-
-
+
+
About
關於
-
-
+
+
Setting
設定
-
+
Device
設備管理
-
+
Program
節目管理
-
+
Control
終端控制
-
+
GuangYinPin
光影屏
-
+
Check card
一键找卡
-
+
Tip Info
提示
-
+
RestoreLedCardIpByUdpTip
該操作會把局域網內的所有與電腦IP不在同一網段的控制卡修復成固定IP,請謹慎操作!
@@ -6015,7 +6046,7 @@
荧幕已加密
-
+
All
總數
@@ -6362,7 +6393,7 @@
UpgradeApkDialog
-
+
Upgrade apk
陞級apk
@@ -6378,154 +6409,154 @@
-
+
Select apk
選擇Apk包
-
-
+
+
Upgrade
陞級
-
+
APK:
-
+
Uninstall
卸載
-
+
check running state
檢測運行狀態
-
+
Select Fpga
選擇FPGA檔案
-
+
success info
-
+
Refresh
檢測
-
+
Cancel
取消
-
+
Screen ID
荧幕ID
-
+
Remark Name
別名
-
+
Online
線上
-
+
Screen IP
荧幕IP
-
+
Security
加密
-
+
Progress
進度
-
+
xixunplayer
-
+
cardsystem
-
+
taxiapp
-
+
starter
-
+
connection
-
+
displayer
-
+
FPGA
FPGA
-
+
update
-
+
State
陳述
-
-
-
+
+
+
All
總數
-
+
The encrypted control card can be upgraded directly
加密控制卡可以直接陞級
-
+
apk package (*.rpd)
-
+
apk package (*.apk *.zip)
@@ -7540,7 +7571,7 @@
-
+
IsSoftwareRunning
監測APK運行狀態
@@ -7569,50 +7600,50 @@
-
+
SynchronousHardwareVersion
同步FPGA
-
+
Tip Info
提示
-
+
password is wrong
密碼錯誤
-
-
+
+
UninstallSoftware
卸載
-
-
+
+
Success
成功
-
+
Running
正在運行
-
+
NoRunning
沒有運行
-
+
install success
安裝成功
-
-
+
+
Fail
失敗
diff --git a/LedOK/wDevicesManager/controlnetconfigwidget.cpp b/LedOK/wDevicesManager/controlnetconfigwidget.cpp
index 986c745..5067992 100644
--- a/LedOK/wDevicesManager/controlnetconfigwidget.cpp
+++ b/LedOK/wDevicesManager/controlnetconfigwidget.cpp
@@ -39,7 +39,7 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
labelIpAddress = new QLabel;
hhh->addWidget(labelIpAddress);
- fdIP = new QIPLineEdit(gBoxSpecifyIp);
+ fdIP = new QIPLineEdit;
fdIP->setFixedWidth(160);
fdIP->setStyleSheet("background-color: #fff;");
hhh->addWidget(fdIP);
@@ -47,21 +47,10 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
vvv->addLayout(hhh);
hhh = new QHBoxLayout();
- labelMaskAddress = new QLabel(gBoxSpecifyIp);
+ labelMaskAddress = new QLabel;
hhh->addWidget(labelMaskAddress);
- fdGateWay = new QIPLineEdit(gBoxSpecifyIp);
- fdGateWay->setFixedWidth(160);
- fdGateWay->setStyleSheet("background-color: #fff;");
- hhh->addWidget(fdGateWay);
-
- vvv->addLayout(hhh);
- hhh = new QHBoxLayout();
-
- labelGateway = new QLabel(gBoxSpecifyIp);
- hhh->addWidget(labelGateway);
-
- fdMask = new QIPLineEdit(gBoxSpecifyIp);
+ fdMask = new QIPLineEdit;
fdMask->setFixedWidth(160);
fdMask->setStyleSheet("background-color: #FFF;");
hhh->addWidget(fdMask);
@@ -69,10 +58,21 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
vvv->addLayout(hhh);
hhh = new QHBoxLayout();
- labelDnsAddress = new QLabel(gBoxSpecifyIp);
+ labelGateway = new QLabel;
+ hhh->addWidget(labelGateway);
+
+ fdGateWay = new QIPLineEdit;
+ fdGateWay->setFixedWidth(160);
+ fdGateWay->setStyleSheet("background-color: #fff;");
+ hhh->addWidget(fdGateWay);
+
+ vvv->addLayout(hhh);
+ hhh = new QHBoxLayout();
+
+ labelDnsAddress = new QLabel;
hhh->addWidget(labelDnsAddress);
- fdDns = new QIPLineEdit(gBoxSpecifyIp);
+ fdDns = new QIPLineEdit;
fdDns->setFixedWidth(160);
fdDns->setStyleSheet("background-color: #FFF;");
hhh->addWidget(fdDns);
@@ -173,6 +173,48 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
btnLanGet = new QPushButton;
btnLanGet->setMinimumSize(QSize(60, 30));
+ connect(btnLanGet, &QPushButton::clicked, this, [this] {
+ if(gSelCards->isEmpty()) {
+ QMessageBox::information(gMainWin, tr("Tip"), tr("NoSelectedController"));
+ return;
+ }
+ QJsonObject json;
+ json.insert("_id", "GetEthernet");
+ json.insert("_type", "GetEthernet");
+ if(gSelCards->count() == 1) {
+ auto waitingDlg = new WaitingDlg(this, tr("GetEthernet"));
+ Def_CtrlReqPre
+ connect(reply, &QNetworkReply::finished, this, [this, reply, waitingDlg] {
+ Def_CtrlSingleGetReply
+ waitingDlg->success();
+ if(json["dhcp"].toBool()) {
+ fdDhcp->setChecked(true);
+ emit sigGetDhcpOrSpecifyIp(0);
+ } else {
+ fdSpecifyIp->setChecked(true);
+ emit sigGetDhcpOrSpecifyIp(1);
+ }
+ fdIP->setText(json["ipAddr"].toString());
+ fdMask->setText(json["netMask"].toString());
+ fdGateWay->setText(json["gateWay"].toString());
+ fdDns->setText(json["dnsAddr"].toString());
+ });
+ } else {
+ foreach(auto card, *gSelCards) {
+ auto reply = Tools::netManager().post(reqForJson("http://"+card->m_strCardIp+":2016/settings"), QJsonDocument{json}.toJson(QJsonDocument::Compact));
+ connect(reply, &QNetworkReply::finished, this, [reply, card] {
+ QJsonDocument json;
+ QString err = checkReplyForJson(reply, &json);
+ if(err.isEmpty()) err = json["dhcp"].toBool() ? tr("DHCP IP") : tr("STATIC IP");
+ gFdResInfo->append(card->m_strCardId+" "+tr("GetEthernet")+" "+err);
+ gFdResInfo->append(" IP: "+json["ipAddr"].toString());
+ gFdResInfo->append(" Mask: "+json["netMask"].toString());
+ gFdResInfo->append(" GateWay: "+json["gateWay"].toString());
+ gFdResInfo->append(" Dns: "+json["dnsAddr"].toString());
+ });
+ }
+ }
+ });
hBox->addWidget(btnLanGet);
hBox->addStretch();
@@ -562,7 +604,6 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
labelMaskAddress->setText(QCoreApplication::translate("ControlNetConfigWidget", "Mask Address", nullptr));
labelGateway->setText(QCoreApplication::translate("ControlNetConfigWidget", "Gateway", nullptr));
labelDnsAddress->setText(QCoreApplication::translate("ControlNetConfigWidget", "DNS Address", nullptr));
- btnLanGet->setText(QCoreApplication::translate("ControlNetConfigWidget", "Readback", nullptr));
label_5->setText(QCoreApplication::translate("ControlNetConfigWidget", "WIFI Configuration", nullptr));
groupBox_3->setTitle(QCoreApplication::translate("ControlNetConfigWidget", "WiFi On/Off", nullptr));
labelWifiName->setText(QCoreApplication::translate("ControlNetConfigWidget", "WiFi name", nullptr));
@@ -637,7 +678,6 @@ ControlNetConfigWidget::ControlNetConfigWidget(QWidget *parent,QList
connect(this,SIGNAL(sigGetDhcpOrSpecifyIp(int)),this,SLOT(OnDhcpOrSpecifyIp(int)));
connect(m_buttonGroup,SIGNAL(buttonClicked(int)),this,SLOT(OnDhcpOrSpecifyIp(int)));
- connect(btnLanGet, SIGNAL(clicked()), this, SLOT(onReadbackWireNetwork()));
connect(pushButtonWiFiModel, SIGNAL(clicked()), this, SLOT(onSetWiFiModel()));
connect(pushButtonReadbackWiFiModel, SIGNAL(clicked()), this, SLOT(onReadbackWiFiModel()));
connect(pushButtonApSet, SIGNAL(clicked()), this, SLOT(onSetAp()));
@@ -790,14 +830,34 @@ void ControlNetConfigWidget::onReadbackAllThisPage()
return;
if(m_pLedlist->count()!=1)
return;
+
QJsonObject json;
- json.insert("_id", getRandomString(10));
+ json.insert("_id", "GetEthernet");
json.insert("_type", "GetEthernet");
- HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json);
- fdIP->MyClear();
- fdMask->MyClear();
- fdGateWay->MyClear();
- fdDns->MyClear();
+ if(gSelCards->count() == 1) {
+ auto card = gSelCards->at(0);
+ auto reply = Tools::netManager().post(reqForJson("http://"+card->m_strCardIp+":2016/settings"), QJsonDocument{json}.toJson(QJsonDocument::Compact));
+ connect(reply, &QNetworkReply::finished, this, [this, reply] {
+ QJsonDocument json;
+ QString err = checkReplyForJson(reply, &json);
+ if(! err.isEmpty()) {
+ QMessageBox::critical(gMainWin, tr("Error"), err);
+ return;
+ }
+ if(json["dhcp"].toBool()) {
+ fdDhcp->setChecked(true);
+ emit sigGetDhcpOrSpecifyIp(0);
+ } else {
+ fdSpecifyIp->setChecked(true);
+ emit sigGetDhcpOrSpecifyIp(1);
+ }
+ fdIP->setText(json["ipAddr"].toString());
+ fdGateWay->setText(json["gateWay"].toString());
+ fdMask->setText(json["netMask"].toString());
+ fdDns->setText(json["dnsAddr"].toString());
+ });
+ }
+
QJsonObject json1;
json1.insert("_id", getRandomString(10));
json1.insert("_type", "GetWifiList");
@@ -834,31 +894,7 @@ void ControlNetConfigWidget::onReadbackAllThisPage()
json6.insert("_id", getRandomString(10));
json6.insert("_type", "GetFlightModeState");
HttpPostByTypeJsonObject(pHpptClientAll,m_strUrl,json6);
-
MACRO_DEFINE_TIPDLG_ALL_FUCN(tr("Readback"),tr("Success"),tr("failed"))
-
-}
-
-void ControlNetConfigWidget::onReadbackWireNetwork()
-{
- if(m_pLedlist==nullptr)
- return;
- if(m_pLedlist->count()<=1)
- {
- if(m_pLedCard==nullptr||m_pLedlist->count()==0)
- {
- QMessageBox::information(gMainWin, tr("Tip"),tr("NoSelectedController"));
- return;
- }
- }
- QJsonObject json;
- json.insert("_id", getRandomString(10));
- json.insert("_type", "GetEthernet");
- fdIP->MyClear();
- fdMask->MyClear();
- fdGateWay->MyClear();
- fdDns->MyClear();
- MACRO_DEFINE_TIPDLG_FUCN(tr("GetEthernet"),tr("Success"),tr("failed"))
}
void ControlNetConfigWidget::OnWiFiOpenChanged(bool b)
@@ -1060,43 +1096,9 @@ void ControlNetConfigWidget::OnProHttpResponse(QString url, QString postMD5, QBy
}
QJsonObject jsonObject = document.object();
QString strType=jsonObject["_type"].toString();
- if(jsonObject["success"].toBool()==true)
+ if(jsonObject["success"].toBool())
{
- //qDebug()<m_strCardId +"---------"+ strType;
- if(strType == "GetEthernet")
- {
- if(jsonObject["dhcp"].toBool())
- {
- fdDhcp->setChecked(true);
- emit sigGetDhcpOrSpecifyIp(0);
-
- }
- else
- {
- fdSpecifyIp->setChecked(true);
- emit sigGetDhcpOrSpecifyIp(1);
-
- }
- if(jsonObject["ipAddr"].toString()!="")
- fdIP->setText(jsonObject["ipAddr"].toString());
- if(jsonObject["gateWay"].toString()!="")
- fdMask->setText(jsonObject["gateWay"].toString());
- if(jsonObject["netMask"].toString()!="")
- fdGateWay->setText(jsonObject["netMask"].toString());
- if(jsonObject["dnsAddr"].toString()!="")
- fdDns->setText(jsonObject["dnsAddr"].toString());
- }
- else if(strType == "ConfigurationWiFi"||strType == "ConfigurationHotSpot")
- {
-
-
- }
- else if(strType == "SetSwitchWiFi")
- {
-
-
- }
- else if(strType == "GetSwitchWiFi")
+ if(strType == "GetSwitchWiFi")
{
groupBox_3->setChecked(jsonObject["enable"].toBool());
}
@@ -1314,37 +1316,9 @@ void ControlNetConfigWidget::OnProHttpResponseAll(QString url, QString postMD5,
}
QJsonObject jsonObject = document.object();
QString strType=jsonObject["_type"].toString();
- if(jsonObject["success"].toBool()==true)
- {
- qDebug()<m_strCardId +"---------"+ strType;
- if(strType == "GetEthernet")
- {
- if(jsonObject["dhcp"].toBool())
- {
- fdDhcp->setChecked(true);
- emit sigGetDhcpOrSpecifyIp(0);
- }
- else {
- fdSpecifyIp->setChecked(true);
- emit sigGetDhcpOrSpecifyIp(1);
-
- }
- if(jsonObject["ipAddr"].toString()!="")
- fdIP->setText(jsonObject["ipAddr"].toString());
- if(jsonObject["gateWay"].toString()!="")
- fdMask->setText(jsonObject["gateWay"].toString());
- if(jsonObject["netMask"].toString()!="")
- fdGateWay->setText(jsonObject["netMask"].toString());
- if(jsonObject["dnsAddr"].toString()!="")
- fdDns->setText(jsonObject["dnsAddr"].toString());
- }
- else if(strType == "GetSwitchWiFi")
- {
- groupBox_3->setChecked(jsonObject["enable"].toBool());
- }
- else if(strType == "GetWifiList")
- {
- //QVariant iTemp=jsonObject["wifiList"].toVariant();
+ if(jsonObject["success"].toBool()) {
+ if(strType == "GetSwitchWiFi") groupBox_3->setChecked(jsonObject["enable"].toBool());
+ else if(strType == "GetWifiList") {
QJsonValue value = jsonObject.take("wifiList");
QJsonArray array= value.toArray();
int iSize=array.size();
diff --git a/LedOK/wDevicesManager/controlnetconfigwidget.h b/LedOK/wDevicesManager/controlnetconfigwidget.h
index 2ed8813..d835f2a 100644
--- a/LedOK/wDevicesManager/controlnetconfigwidget.h
+++ b/LedOK/wDevicesManager/controlnetconfigwidget.h
@@ -42,7 +42,6 @@ protected slots:
void changeEvent(QEvent *) override;
void transUi();
- void onReadbackWireNetwork();
void onSetWiFiModel();
void onReadbackWiFiModel();
void onSetAp();
diff --git a/LedOK/wDevicesManager/ctrladvancedpanel.cpp b/LedOK/wDevicesManager/ctrladvancedpanel.cpp
index 9d64dd5..d3c26de 100644
--- a/LedOK/wDevicesManager/ctrladvancedpanel.cpp
+++ b/LedOK/wDevicesManager/ctrladvancedpanel.cpp
@@ -236,7 +236,7 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
connect(reply, &QNetworkReply::finished, this, [this, reply, waitingDlg] {
Def_CtrlSingleGetReply
waitingDlg->close();
- comboBox->clear();
+ fdPkg->clear();
auto apps = json["apps"].toArray();
auto infoDlg = new QDialog(this);
infoDlg->setWindowFlag(Qt::WindowContextHelpButtonHint, false);
@@ -256,10 +256,10 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
for(int i=0; iaddItem(packageName);
table->setItem(i, "apk", new QTableWidgetItem{app["appName"].toString()});
table->setItem(i, "ver", new QTableWidgetItem{app["versionName"].toString()});
table->setItem(i, "pkg", new QTableWidgetItem{packageName});
+ if(! (packageName.endsWith(".cardsystem") || packageName.endsWith(".systemcore") || packageName.endsWith(".update"))) fdPkg->addItem(packageName);
}
infoDlg->show();
});
@@ -289,15 +289,75 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
});
hBox->addWidget(btnApkUpgrade);
- comboBox = new QComboBox;
- comboBox->setMinimumWidth(200);
- hBox->addWidget(comboBox);
+ fdPkg = new QComboBox;
+ fdPkg->setEditable(true);
+ fdPkg->setMinimumWidth(200);
+ hBox->addWidget(fdPkg);
- pushButton_unistall = new QPushButton;
- hBox->addWidget(pushButton_unistall);
+ fdUnload = new QPushButton;
+ connect(fdUnload, &QPushButton::clicked, this, [this] {
+ if(gSelCards->isEmpty()) {
+ QMessageBox::information(gMainWin, tr("Tip"), tr("NoSelectedController"));
+ return;
+ }
+ auto pkg = fdPkg->currentText();
+ if(pkg.isEmpty()) {
+ QMessageBox::information(gMainWin, tr("Tip"), tr("Package name is null"));
+ return;
+ }
+ QJsonObject json;
+ json.insert("_id", "UninstallSoftware");
+ json.insert("_type", "UninstallSoftware");
+ json.insert("packageName", pkg);
+ if(gSelCards->count() == 1) {
+ auto waitingDlg = new WaitingDlg(this, tr("UninstallSoftware"));
+ Def_CtrlReqPre
+ connect(reply, &QNetworkReply::finished, this, [reply, waitingDlg] {
+ Def_CtrlSetReqAfter
+ });
+ } else {
+ foreach(auto card, *gSelCards) {
+ Def_CtrlSetMulti(tr("UninstallSoftware"))
+ }
+ }
+ });
+ hBox->addWidget(fdUnload);
- pushButtonRunningCheck = new QPushButton;
- hBox->addWidget(pushButtonRunningCheck);
+ btnRunningCheck = new QPushButton;
+ connect(btnRunningCheck, &QPushButton::clicked, this, [this] {
+ if(gSelCards->isEmpty()) {
+ QMessageBox::information(gMainWin, tr("Tip"), tr("NoSelectedController"));
+ return;
+ }
+ auto pkg = fdPkg->currentText();
+ if(pkg.isEmpty()) {
+ QMessageBox::information(gMainWin, tr("Tip"), tr("Package name is null"));
+ return;
+ }
+ QJsonObject json;
+ json.insert("_id", "IsSoftwareRunning");
+ json.insert("_type", "IsSoftwareRunning");
+ json.insert("packageName", pkg);
+ if(gSelCards->count() == 1) {
+ auto waitingDlg = new WaitingDlg(this, tr("IsSoftwareRunning"));
+ Def_CtrlReqPre
+ connect(reply, &QNetworkReply::finished, this, [reply, waitingDlg] {
+ Def_CtrlSingleGetReply
+ waitingDlg->close();
+ QMessageBox::information(gMainWin, tr("Tip"), json["running"].toBool() ? tr("running") : tr("no running"));
+ });
+ } else {
+ foreach(auto card, *gSelCards) {
+ auto reply = Tools::netManager().post(reqForJson("http://"+card->m_strCardIp+":2016/settings"), QJsonDocument{json}.toJson(QJsonDocument::Compact));
+ connect(reply, &QNetworkReply::finished, this, [reply, card] {
+ QJsonDocument json;
+ QString err = checkReplyForJson(reply, &json);
+ gFdResInfo->append(card->m_strCardId+" "+tr("IsSoftwareRunning")+" "+(err.isEmpty() ? (json["running"].toBool() ? tr("running") : tr("no running")) : err));
+ });
+ }
+ }
+ });
+ hBox->addWidget(btnRunningCheck);
hBox->addStretch();
@@ -885,8 +945,8 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
pushButtonSetREaltimeServer->setProperty("ssType", "progManageTool");
pushButtonClearRealtimerAddress->setProperty("ssType", "progManageTool");
pushButtonRestart->setProperty("ssType", "progManageTool");
- pushButton_unistall->setProperty("ssType", "progManageTool");
- pushButtonRunningCheck->setProperty("ssType", "progManageTool");
+ fdUnload->setProperty("ssType", "progManageTool");
+ btnRunningCheck->setProperty("ssType", "progManageTool");
pushButtonFpgaUpgrade->setProperty("ssType", "progManageTool");
pushButtonFpgaVerCheck->setProperty("ssType", "progManageTool");
pushButtonSyncFpgaVer->setProperty("ssType", "progManageTool");
@@ -911,9 +971,6 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
connect(pushButtonRestart, SIGNAL(clicked()),this,SLOT(OnRestart()));
-
- connect(pushButton_unistall,SIGNAL(clicked()),this,SLOT(OnUnistall()));
- connect(pushButtonRunningCheck,SIGNAL(clicked()),this,SLOT(OnRunningCheck()));
connect(pushButtonFpgaUpgrade,SIGNAL(clicked()),this,SLOT(OnFpgaUpgrade()));
connect(pushButtonFpgaVerCheck,SIGNAL(clicked()),this,SLOT(OnFpgaVerCheck()));
connect(pushButtonSyncFpgaVer,SIGNAL(clicked()),this,SLOT(OnSyncFpgaVer()));
@@ -937,7 +994,6 @@ CtrlAdvancedPanel::CtrlAdvancedPanel(QWidget *parent,QList *list) : Q
m_pGetAskTimer = new QTimer(this);
connect(this, SIGNAL(sigSend(QJsonObject &,QString)), parent->parent(), SLOT(OnControlSendJson(QJsonObject &,QString)));
-
connect(pHpptClient,SIGNAL(httpGetRspReady(QString , QByteArray )),this,SLOT(OnProHttpGetResponse(QString , QByteArray)));
connect(btnM80Set,SIGNAL(clicked()),this,SLOT(OnM80Set()));
@@ -988,8 +1044,6 @@ void CtrlAdvancedPanel::init() {
bool isSingle = gSelCards->count()==1;
btnApkUpgrade->setEnabled(isSingle);
btnApkCheck->setEnabled(isSingle);
- pushButton_unistall->setEnabled(isSingle);
- pushButtonRunningCheck->setEnabled(isSingle);
pushButtonFpgaUpgrade->setEnabled(isSingle);
pushButtonFpgaVerCheck->setEnabled(isSingle);
pushButtonSyncFpgaVer->setEnabled(isSingle);
@@ -1087,13 +1141,13 @@ void CtrlAdvancedPanel::transUi() {
btnMinBrightGet->setText(tr("Readback"));
pushButtonReadbackMaxBrightess->setText(tr("Readback"));
pushButtonRestart->setText(tr("Restart led controller system"));
- pushButtonRunningCheck->setText(tr("Running check"));
+ btnRunningCheck->setText(tr("Running check"));
pushButtonSendMaxBrightness->setText(tr("Send"));
btnMinBrightSet->setText(tr("Send"));
pushButtonSetREaltimeServer->setText(tr("Set"));
btnWebServerSet->setText(tr("Set"));
pushButtonSyncFpgaVer->setText(tr("Sync FPGA version"));
- pushButton_unistall->setText(tr("Uninstall"));
+ fdUnload->setText(tr("Uninstall"));
radioButton0degrees->setText(tr("0 degrees"));
radioButton180degrees->setText(tr("180 degrees"));
radioButton270degrees->setText(tr("270 degrees"));
@@ -1245,12 +1299,6 @@ void CtrlAdvancedPanel::OnProHttpResponse(QString url, QString, QByteArray data)
MACRO_POSTING_DLG_UNLOCK
QMessageBox::information(gMainWin, tr("Tip"),tr("UpgradeSoftware")+tr("Success"));
}
- else if(strType == "UninstallSoftware"){
-
- MACRO_ASKTIME_STOP
- MACRO_POSTING_DLG_UNLOCK
-
- }
else if(strType == "SynchronousHardwareVersion"){
MACRO_ASKTIME_STOP
@@ -1314,17 +1362,6 @@ void CtrlAdvancedPanel::OnProHttpResponse(QString url, QString, QByteArray data)
}
QMessageBox::information(gMainWin, tr("FPGA Version"),strtempVer);
}
- else if(strType == "IsSoftwareRunning"){
- MACRO_ASKTIME_STOP
- MACRO_POSTING_DLG_UNLOCK
- if(jsonObject["running"].toBool())
- {
- QMessageBox::information(gMainWin, tr("Tip"),tr("running"));
- }
- else {
- QMessageBox::information(gMainWin, tr("Tip"),tr("no running"));
- }
- }
else if (strType == "SetHighForBusy") {
MACRO_ASKTIME_STOP
MACRO_POSTING_DLG_UNLOCK
@@ -1441,29 +1478,6 @@ void CtrlAdvancedPanel::OnProHttpResponseAll(QString url, QString postMD5, QByte
}
}
-
-void CtrlAdvancedPanel::OnUnistall()
-{
- if(comboBox->currentText().isEmpty())
- return;
- CHECK_CARD_SELECTED
- QJsonObject json;
- json.insert("_id", getRandomString(10));
- json.insert("_type", "UninstallSoftware");
- json.insert("packageName", comboBox->currentText());
- MACRO_DEFINE_TIPDLG_FUCN(tr("UninstallSoftware"),tr("Success"),tr("failed"))
-}
-void CtrlAdvancedPanel::OnRunningCheck()
-{
- if(comboBox->currentText().isEmpty())
- return;
- CHECK_CARD_SELECTED
- QJsonObject json;
- json.insert("_id", getRandomString(10));
- json.insert("_type", "IsSoftwareRunning");
- json.insert("packageName", comboBox->currentText());//包名需要填写?
- MACRO_DEFINE_TIPDLG_FUCN(tr("IsSoftwareRunning"),tr("Success"),tr("failed"))
-}
void CtrlAdvancedPanel::OnFpgaUpgrade()
{
QString url="http://"+m_pLedCard->m_strCardIp+":2016/upload?type=hardware";
diff --git a/LedOK/wDevicesManager/ctrladvancedpanel.h b/LedOK/wDevicesManager/ctrladvancedpanel.h
index 7a68075..f00d178 100644
--- a/LedOK/wDevicesManager/ctrladvancedpanel.h
+++ b/LedOK/wDevicesManager/ctrladvancedpanel.h
@@ -53,8 +53,6 @@ protected slots:
void OnClearRealtimeServer();
void OnStartConfigLedScreenSoft();
void OnRestart();
- void OnUnistall();
- void OnRunningCheck();
void OnFpgaUpgrade();
void OnFpgaVerCheck();
void OnSyncFpgaVer();
@@ -104,9 +102,9 @@ private:
QPushButton *pushButtonClearRealtimerAddress;
QPushButton *btnApkCheck;
QPushButton *btnApkUpgrade;
- QComboBox *comboBox;
- QPushButton *pushButton_unistall;
- QPushButton *pushButtonRunningCheck;
+ QComboBox *fdPkg;
+ QPushButton *fdUnload;
+ QPushButton *btnRunningCheck;
QPushButton *pushButtonFpgaUpgrade;
QPushButton *pushButtonFpgaVerCheck;
QPushButton *pushButtonSyncFpgaVer;
diff --git a/LedOK/wDevicesManager/ctrlbrightpanel.cpp b/LedOK/wDevicesManager/ctrlbrightpanel.cpp
index 73b6125..506d6de 100644
--- a/LedOK/wDevicesManager/ctrlbrightpanel.cpp
+++ b/LedOK/wDevicesManager/ctrlbrightpanel.cpp
@@ -126,7 +126,8 @@ CtrlBrightPanel::CtrlBrightPanel(QWidget *parent) : QWidget(parent) {
connect(reply, &QNetworkReply::finished, this, [reply, card] {
QJsonDocument json;
QString err = checkReplyForJson(reply, &json);
- gFdResInfo->append(card->m_strCardId+" "+tr("GetBrightnessSensitivity")+" "+(err.isEmpty()?QString::number(json["sensitivity"].toInt()):err));
+ if(err.isEmpty()) err = QString::number(json["sensitivity"].toInt());
+ gFdResInfo->append(card->m_strCardId+" "+tr("GetBrightnessSensitivity")+" "+err);
});
}
}
diff --git a/LedOK/wProgramManager/evideo.cpp b/LedOK/wProgramManager/evideo.cpp
index 2dd9aff..86f6edf 100644
--- a/LedOK/wProgramManager/evideo.cpp
+++ b/LedOK/wProgramManager/evideo.cpp
@@ -15,12 +15,14 @@ EVideo *EVideo::create(const QString &file, PageListItem *pageItem, EBase *multi
QString err = Tools::videoInfo(file.toUtf8(), img, &dur, &codecId);
if(! err.isEmpty()) {
QMessageBox::critical(gMainWin, "Video Error", err+"\n"+file);
- return nullptr;
+ return 0;
}
QFileInfo rawInfo(file);
QString rawName = rawInfo.fileName();
QString outFile = transcoding(file, rawName, pageItem->mPageDir, img.width(), img.height(), codecId);
+ if(outFile.isEmpty()) return 0;
QFileInfo outInfo(outFile);
+ if(! outInfo.isFile() || outInfo.size()==0) return 0;
return new EVideo(outInfo.absolutePath(), outInfo.fileName(), rawInfo.absolutePath(), rawName, img, dur/1000000, pageItem, multiWin);
}
EVideo *EVideo::create(const QJsonObject &json, PageListItem *pageItem, EBase *multiWin) {
@@ -182,9 +184,9 @@ QWidget* EVideo::attrWgt() {
playDuration = dur/1000000;
fdDuration->setValue(playDuration);
QString outFile = transcoding(rawFile, mRawName, mPageItem->mPageDir, mCoverImg.width(), mCoverImg.height(), codecId);
+ if(outFile.isEmpty()) return;
QFile oldfile(mDir+"/"+mName);
if(oldfile.exists()) oldfile.remove();
-
QFileInfo outInfo(outFile);
mDir = outInfo.absolutePath();
mName = outInfo.fileName();
@@ -270,16 +272,20 @@ QString EVideo::transcoding(QString rawFile, QString rawName, QString dir, int w
});
connect(&process, &QProcess::errorOccurred, &msgBox, [&msgBox](QProcess::ProcessError error) {
msgBox.accept();
- QMessageBox::critical(gMainWin, tr("Error"), QString::number(error)+" "+QMetaEnum::fromType().valueToKey(error));
+ QMessageBox::critical(gMainWin, tr("Error"), QString(QMetaEnum::fromType().valueToKey(error))+" ("+QString::number(error)+")");
});
connect(&process, &QProcess::readyReadStandardOutput, &msgBox, [&process] {
- auto txt = QString::fromUtf8(process.readAllStandardOutput());
- qInfo()<<"StandardOutput";
- qInfo()< -1) dur = QTime::fromString(txt.mid(idx+10, 11)+"0", "HH:mm:ss.zzz").msecsSinceStartOfDay();
@@ -288,10 +294,14 @@ QString EVideo::transcoding(QString rawFile, QString rawName, QString dir, int w
if(idx > -1) {
auto cur = QTime::fromString(txt.mid(idx+5, 11)+"0", "HH:mm:ss.zzz").msecsSinceStartOfDay();
if(dur > 0) msgBox.setText(tr("Video Transcoding Progress")+": "+QString::number(cur*100/dur)+"% ");
- }
+ } else err.append(txt).append("\n");
}
});
process.start("ffmpeg", {"-y", "-i", rawFile, "-vcodec", "h264", "-s", QString::number(w)+"x"+QString::number(h), outFile});
msgBox.exec();
+ if(err.right(32).contains("Conversion failed!")) {
+ QMessageBox::critical(gMainWin, tr("Error"), err);
+ return "";
+ }
return outFile;
}
diff --git a/LedOK/wProgramManager/progeditorwin.cpp b/LedOK/wProgramManager/progeditorwin.cpp
index 2994bc3..86b4e4f 100644
--- a/LedOK/wProgramManager/progeditorwin.cpp
+++ b/LedOK/wProgramManager/progeditorwin.cpp
@@ -198,7 +198,7 @@ ProgEditorWin::ProgEditorWin(QString &name, int &w, int &h, QString &remarks, co
QJsonParseError jsErr;
QJsonObject prog = QJsonDocument::fromJson(value.toUtf8(), &jsErr).object();
if(jsErr.error) return;
- PlayWin::self = new PlayWin(gProgDir+"_tmp", 0, 0, gProgWidth, gProgHeight, prog);
+ PlayWin::self = PlayWin::newIns(gProgWidth, gProgHeight, gProgDir+"_tmp", prog);
}
});
toolBar->addAction(action);
diff --git a/ledset/expertscreenconnwin.cpp b/ledset/expertscreenconnwin.cpp
index 86edc99..ebd2c36 100644
--- a/ledset/expertscreenconnwin.cpp
+++ b/ledset/expertscreenconnwin.cpp
@@ -2,13 +2,13 @@
#include "gqt.h"
#include
#include
-#include
#include
#include
-#include
#include
#include
#include
+#include
+#include
QColor cardColors[] {QColor(0xff2222), QColor(0xffaa00), QColor(0x00bb00), QColor(0x00bbcc), QColor(0x0044ff), QColor(0xffffff), QColor(0xffff00)};
@@ -56,8 +56,6 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
auto fdCardColNum = new QSpinBox;
auto fdCardRowNum = new QSpinBox;
- auto fdCardWidth = new QSpinBox;
- auto fdCardHeight = new QSpinBox;
{
auto vBox = new QVBoxLayout(gBox);
auto hhh = new QHBoxLayout;
@@ -86,6 +84,7 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
lb = new QLabel("卡宽度: ");
hhh->addWidget(lb);
+ fdCardWidth = new QSpinBox;
fdCardWidth->setRange(0, 9999);
fdCardWidth->setValue(128);
hhh->addWidget(fdCardWidth);
@@ -93,6 +92,7 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
lb = new QLabel("卡高度: ");
hhh->addWidget(lb);
+ fdCardHeight = new QSpinBox;
fdCardHeight->setRange(0, 9999);
fdCardHeight->setValue(128);
hhh->addWidget(fdCardHeight);
@@ -103,7 +103,7 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
auto hhh = new QHBoxLayout(gBox);
auto pal = palette();
- auto fdNet = new QButtonGroup(gBox);
+ fdNet = new QButtonGroup(gBox);
for(int i=0; isetCheckable(true);
@@ -177,15 +177,7 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
hhh->addWidget(bnRefresh);
auto bnBack = new QPushButton("后退");
- connect(bnBack, &QPushButton::clicked, this, [this, fdNet] {
- auto netIdx = fdNet->checkedId();
- if(netss[netIdx].isEmpty()) return;
- auto sels = table->selectedItems();
- if(! sels.isEmpty()) sels[0]->setSelected(false);
- auto point = netss[netIdx].takeLast();
- table->setItem(point.y(), point.x(), 0);
- table->update();
- });
+ connect(bnBack, &QPushButton::clicked, this, &ExpertScreenConnWin::connBack);
hhh->addWidget(bnBack);
hhh->addStretch();
@@ -200,30 +192,35 @@ ExpertScreenConnWin::ExpertScreenConnWin(QWidget *parent) : QWidget{parent} {
table->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);
table->verticalHeader()->setDefaultSectionSize(90);
table->verticalHeader()->setMinimumWidth(30);
- table->setSelectionMode(QTableWidget::SingleSelection);
- connect(table, &QTableWidget::currentCellChanged, this, [this, fdNet, fdCardWidth, fdCardHeight](int row, int column) {
- auto item = table->item(row, column);
- if(item) {
- auto netIdx = item->data(Qt::UserRole).toInt();
- table->setStyleSheet("QTableView{selection-color:"+cardColors[netIdx % (sizeof(cardColors)/sizeof(cardColors[0]))].name()+";}");
- //fdNet->button(netIdx)->setChecked(true);
- return;
- }
- auto netIdx = fdNet->checkedId();
- netss[netIdx].append(QPoint(column, row));
- item = new QTableWidgetItem("网口: "+QString::number(netIdx+1)+"\n接收卡: "+QString::number(netss[netIdx].size())+"\n宽度: "+QString::number(fdCardWidth->value())+"\n高度: "+QString::number(fdCardHeight->value()));
- auto color = cardColors[netIdx % (sizeof(cardColors)/sizeof(cardColors[0]))];
- item->setForeground(color);
- table->setStyleSheet("QTableView{selection-color:"+color.name()+";}");
- item->setData(Qt::UserRole, netIdx);
- table->setItem(row, column, item);
- table->update();
- });
+ table->setSelectionMode(QTableWidget::NoSelection);
+ connect(table, &QTableWidget::currentCellChanged, this, &ExpertScreenConnWin::conn);
connect(fdCardColNum, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, table, &QTableWidget::setColumnCount);
connect(fdCardRowNum, (void(QSpinBox::*)(int))&QSpinBox::valueChanged, table, &QTableWidget::setRowCount);
hh->addWidget(table);
}
+void ExpertScreenConnWin::conn(int row, int column) {
+ if(row < 0) return;
+ auto item = table->item(row, column);
+ if(item) return;
+ auto netIdx = fdNet->checkedId();
+ netss[netIdx].append(QPoint(column, row));
+ item = new QTableWidgetItem("网口: "+QString::number(netIdx+1)+"\n接收卡: "+QString::number(netss[netIdx].size())+"\n宽度: "+QString::number(fdCardWidth->value())+"\n高度: "+QString::number(fdCardHeight->value()));
+ auto color = cardColors[netIdx % (sizeof(cardColors)/sizeof(cardColors[0]))];
+ item->setForeground(color);
+ item->setData(Qt::UserRole, netIdx);
+ table->setItem(row, column, item);
+ table->update();
+}
+void ExpertScreenConnWin::connBack() {
+ auto netIdx = fdNet->checkedId();
+ if(netss[netIdx].isEmpty()) return;
+ table->selectionModel()->clearCurrentIndex();
+ auto point = netss[netIdx].takeLast();
+ table->setItem(point.y(), point.x(), 0);
+ table->update();
+}
+
void CardTable::paintEvent(QPaintEvent *event) {
QTableWidget::paintEvent(event);
QPainter painter(viewport());
@@ -239,3 +236,10 @@ void CardTable::paintEvent(QPaintEvent *event) {
}
}
}
+void CardTable::mousePressEvent(QMouseEvent *event) {
+ if(event->button() != Qt::RightButton) QTableWidget::mousePressEvent(event);
+}
+void CardTable::mouseReleaseEvent(QMouseEvent *event) {
+ QTableWidget::mouseReleaseEvent(event);
+ if(event->button() == Qt::RightButton) win->connBack();
+}
diff --git a/ledset/expertscreenconnwin.h b/ledset/expertscreenconnwin.h
index 2c15238..c56072d 100644
--- a/ledset/expertscreenconnwin.h
+++ b/ledset/expertscreenconnwin.h
@@ -2,12 +2,19 @@
#define EXPERTSCREENCONNWIN_H
#include
+#include
+#include
class CardTable;
class ExpertScreenConnWin : public QWidget {
Q_OBJECT
public:
explicit ExpertScreenConnWin(QWidget *parent = nullptr);
+ void conn(int row, int column);
+ void connBack();
+ QButtonGroup *fdNet;
+ QSpinBox *fdCardWidth;
+ QSpinBox *fdCardHeight;
CardTable *table;
QList> netss{QList{}, QList{}, QList{}, QList{}};
};
@@ -18,7 +25,9 @@ public:
CardTable(int rows, int columns, QWidget *parent = nullptr) : QTableWidget{rows, columns, parent} {}
ExpertScreenConnWin *win;
protected:
- void paintEvent(QPaintEvent *event);
+ void paintEvent(QPaintEvent *event) override;
+ void mousePressEvent(QMouseEvent *event) override;
+ void mouseReleaseEvent(QMouseEvent *event) override;
};
#endif // EXPERTSCREENCONNWIN_H
diff --git a/ledset/expertsmartpointsetwin.cpp b/ledset/expertsmartpointsetwin.cpp
index 1aca82a..7c7e4b8 100644
--- a/ledset/expertsmartpointsetwin.cpp
+++ b/ledset/expertsmartpointsetwin.cpp
@@ -312,14 +312,27 @@ ExpertSmartPointSetWin::ExpertSmartPointSetWin(QWidget *parent) : BaseWin{parent
auto hhh = new QHBoxLayout;
- auto bnReset = new QPushButton("重新走点");
- bnReset->setMinimumSize(90, 30);
- connect(bnReset, &QPushButton::clicked, this, [this] {
+ auto btnReset = new QPushButton("重新走点");
+ btnReset->setMinimumSize(90, 30);
+ connect(btnReset, &QPushButton::clicked, this, [this] {
table->clearContents();
- curPoint = 0;
+ points.clear();
});
+ hhh->addWidget(btnReset);
- hhh->addWidget(bnReset);
+ auto btnUndo = new QPushButton("回撤");
+ btnUndo->setMinimumSize(90, 30);
+ connect(btnUndo, &QPushButton::clicked, this, [this] {
+ if(points.isEmpty()) return;
+ auto last = points.takeLast();
+ table->setItem(last.y(), last.x(), 0);
+ if(points.isEmpty()) table->selectionModel()->clearCurrentIndex();
+ else {
+ last = points.last();
+ table->setCurrentCell(last.y(), last.x());
+ }
+ });
+ hhh->addWidget(btnUndo);
hhh->addStretch();
vBox->addLayout(hhh);
@@ -331,9 +344,12 @@ ExpertSmartPointSetWin::ExpertSmartPointSetWin(QWidget *parent) : BaseWin{parent
table->verticalHeader()->setMinimumWidth(40);
table->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);
table->setSelectionMode(QTableWidget::SingleSelection);
- connect(table, &QTableWidget::currentCellChanged, this, [this](int currentRow, int currentColumn) {
- auto item = table->item(currentRow, currentColumn);
- if(! item) table->setItem(currentRow, currentColumn, new QTableWidgetItem(QString::number(++curPoint)));
+ connect(table, &QTableWidget::currentCellChanged, this, [this](int row, int col) {
+ if(row < 0) return;
+ auto item = table->item(row, col);
+ if(item) return;
+ points.append({col, row});
+ table->setItem(row, col, new QTableWidgetItem(QString::number(points.size())));
});
vBox->addWidget(table);
}
diff --git a/ledset/expertsmartpointsetwin.h b/ledset/expertsmartpointsetwin.h
index 81e9341..083b678 100644
--- a/ledset/expertsmartpointsetwin.h
+++ b/ledset/expertsmartpointsetwin.h
@@ -21,8 +21,8 @@ public:
QSpinBox *fdModuleWidth, *fdModuleHeight;
PointTable *table;
+ QList points;
int moduleWidth{0}, moduleHeight{0};
- int curPoint{0};
};
#endif // EXPERTSMARTPOINTSETWIN_H
diff --git a/ledset/main.cpp b/ledset/main.cpp
index 9d08ddf..44c580e 100644
--- a/ledset/main.cpp
+++ b/ledset/main.cpp
@@ -79,7 +79,7 @@ QRadioButton::indicator:checked {border-image: url(:/imgs/radio-check.png);}
QAbstractScrollArea QScrollBar {background: #555;}
-QTableView {gridline-color:#888; selection-background-color: #226; selection-color: #fff;}
+QTableView {gridline-color:#888;}
QHeaderView::section, QTableCornerButton:section {background: #555;}
QSlider::horizontal {height: 16px;}
diff --git a/ledset/mainwin.cpp b/ledset/mainwin.cpp
index dd0c34b..12c6d9b 100644
--- a/ledset/mainwin.cpp
+++ b/ledset/mainwin.cpp
@@ -15,16 +15,23 @@
class ImgBtn : public QToolButton {
public:
- ImgBtn(QIcon icon) {
- setIcon(icon);
- setStyleSheet("QToolButton{border: none;}");
+ ImgBtn() {
+ setStyleSheet("QToolButton{border: none; padding-top: 4px;}");
}
+ bool isEnter{false};
protected:
- void enterEvent(QEvent *) override {
+ void resizeEvent(QResizeEvent *event) override {
+ QToolButton::resizeEvent(event);
+ if(isEnter) setIconSize(QSize(width(), width()));
+ else setIconSize(QSize(width()-8, width()-8));
+ }
+ void enterEvent(QEvent *event) override {
+ QToolButton::enterEvent(event);
setStyleSheet("QToolButton{border: none;}");
setIconSize(QSize(width(), width()));
}
- void leaveEvent(QEvent *) override {
+ void leaveEvent(QEvent *event) override {
+ QToolButton::leaveEvent(event);
setIconSize(QSize(width()-8, width()-8));
setStyleSheet("QToolButton{border: none; padding-top: 4px;}");
}
@@ -40,12 +47,14 @@ inline QLabel *newSubLabel(QString txt){
lb->setAlignment(Qt::AlignCenter);
return lb;
}
-void addImg(QHBoxLayout *parent, ImgBtn* imgBtn, QString txt) {
- imgBtn->setText(txt);
+ImgBtn *addImg(QHBoxLayout *parent, const QIcon &icon, const QString &text) {
+ auto imgBtn = new ImgBtn();
+ imgBtn->setIcon(icon);
+ imgBtn->setText(text);
imgBtn->setFixedSize(76, 100);
imgBtn->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
- imgBtn->setIconSize(QSize(76, 76));
parent->addWidget(imgBtn);
+ return imgBtn;
}
MainWin::MainWin() {
@@ -58,8 +67,7 @@ MainWin::MainWin() {
vBox->addLayout(addBtns(new QHBoxLayout()));
QHBoxLayout *imgsBar = new QHBoxLayout();
- ImgBtn *btnImg;
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/fast.png").scaledToWidth(128, Qt::SmoothTransformation)), "快速调屏");
+ auto btnImg = addImg(imgsBar, QPixmap(":/imgs/fast.png").scaledToWidth(128, Qt::SmoothTransformation), "快速调屏");
connect(btnImg, &ImgBtn::clicked, this, [=](){
(new Fast(this))->show();
// if(win==0) {
@@ -71,32 +79,32 @@ MainWin::MainWin() {
// win->move(win->x()-100, win->y());
// }
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/expert.png").scaledToWidth(128, Qt::SmoothTransformation)), "专家调屏");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/expert.png").scaledToWidth(128, Qt::SmoothTransformation), "专家调屏");
connect(btnImg, &ImgBtn::clicked, this, [=](){
(new ExpertWin(this))->show();
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/bright.png").scaledToWidth(128, Qt::SmoothTransformation)), "亮度控制");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/bright.png").scaledToWidth(128, Qt::SmoothTransformation), "亮度控制");
connect(btnImg, &ImgBtn::clicked, this, [=](){
(new BrightWin(this))->show();
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/correct.png").scaledToWidth(128, Qt::SmoothTransformation)), "相机矫正");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/correct.png").scaledToWidth(128, Qt::SmoothTransformation), "相机矫正");
connect(btnImg, &ImgBtn::clicked, this, [=](){
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/monitor.png").scaledToWidth(128, Qt::SmoothTransformation)), "屏体监控");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/monitor.png").scaledToWidth(128, Qt::SmoothTransformation), "屏体监控");
connect(btnImg, &ImgBtn::clicked, this, [=](){
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/multi.png").scaledToWidth(128, Qt::SmoothTransformation)), "多功能卡");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/multi.png").scaledToWidth(128, Qt::SmoothTransformation), "多功能卡");
connect(btnImg, &ImgBtn::clicked, this, [=](){
//win->move(win->x()-1, win->y());
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/video.png").scaledToWidth(128, Qt::SmoothTransformation)), "网口通信");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/video.png").scaledToWidth(128, Qt::SmoothTransformation), "网口通信");
connect(btnImg, &ImgBtn::clicked, this, [=](){
auto ins = PcapWin::newIns(this);
if(ins) ins->show();
});
- addImg(imgsBar, btnImg = new ImgBtn(QPixmap(":/imgs/idea.png").scaledToWidth(128, Qt::SmoothTransformation)), "创意显示");
+ btnImg = addImg(imgsBar, QPixmap(":/imgs/idea.png").scaledToWidth(128, Qt::SmoothTransformation), "创意显示");
connect(btnImg, &ImgBtn::clicked, this, [=](){
//qDebug()<<"geometry"<geometry()<<"screen"<screen();
});