GUI standby v1.0
This commit is contained in:
@@ -8,7 +8,11 @@ file(GLOB_RECURSE project_headers ./src/*.h)
|
|||||||
file(GLOB_RECURSE project_cpps ./src/*.cpp)
|
file(GLOB_RECURSE project_cpps ./src/*.cpp)
|
||||||
file(GLOB_RECURSE project_cxx ./src/*.cxx)
|
file(GLOB_RECURSE project_cxx ./src/*.cxx)
|
||||||
file(GLOB_RECURSE project_cc ./src/*.cc)
|
file(GLOB_RECURSE project_cc ./src/*.cc)
|
||||||
|
if(UNIX)
|
||||||
|
file(GLOB_RECURSE project_c ./src/json/*.c)
|
||||||
|
else(UNIX)
|
||||||
file(GLOB_RECURSE project_c ./src/*.c)
|
file(GLOB_RECURSE project_c ./src/*.c)
|
||||||
|
endif(UNIX)
|
||||||
include_directories(./src/)
|
include_directories(./src/)
|
||||||
|
|
||||||
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL Sql VirtualKeyboard REQUIRED)
|
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL Sql VirtualKeyboard REQUIRED)
|
||||||
@@ -18,8 +22,73 @@ file(GLOB project_uis ./src/*.ui)
|
|||||||
qt5_wrap_ui(ui_FILES ${project_uis})
|
qt5_wrap_ui(ui_FILES ${project_uis})
|
||||||
file(GLOB project_res ./src/*.qrc)
|
file(GLOB project_res ./src/*.qrc)
|
||||||
add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES})
|
add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${project_c} ${ui_FILES})
|
||||||
|
if(UNIX)
|
||||||
|
link_directories(/usr/local/lib64)
|
||||||
|
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql Qt5::VirtualKeyboard usct_shim dmapi log4c cunit ctomat hdf5 matio m)
|
||||||
|
else(UNIX)
|
||||||
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql Qt5::VirtualKeyboard)
|
target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL Qt5::Sql Qt5::VirtualKeyboard)
|
||||||
|
endif(UNIX)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${Qt5_DIR}/../../../bin/")
|
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${Qt5_DIR}/../../../bin/")
|
||||||
endif(MSVC)
|
endif(MSVC)
|
||||||
|
|
||||||
|
if(UNIX)
|
||||||
|
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
install(TARGETS GUI RUNTIME DESTINATION bin)
|
||||||
|
set(qt_LIB_DIR ${Qt5_DIR}/../../)
|
||||||
|
set(CMAKE_INSTALL_BINDIR ${CMAKE_INSTALL_PREFIX}/bin)
|
||||||
|
# copy project reference file
|
||||||
|
install(CODE "file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/testdata/img1_v2.bin DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/testdata/img2_v2.bin DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/scripts/GUI.sh DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/layouts DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
# copy reference libs
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libicuuc.so.56.1 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libicuuc.so.56.1 ${CMAKE_INSTALL_BINDIR}/libicuuc.so.56)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libicudata.so.56.1 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libicudata.so.56.1 ${CMAKE_INSTALL_BINDIR}/libicudata.so.56)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libicui18n.so.56.1 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libicui18n.so.56.1 ${CMAKE_INSTALL_BINDIR}/libicui18n.so.56)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Core.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Core.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Core.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Quick.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Quick.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Quick.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5DBus.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5DBus.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5DBus.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Sql.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Sql.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Sql.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Gui.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Gui.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Gui.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Svg.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Svg.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Svg.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Network.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Network.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Network.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5VirtualKeyboard.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5VirtualKeyboard.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5VirtualKeyboard.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5OpenGL.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5OpenGL.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5OpenGL.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Widgets.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Widgets.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Widgets.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5Qml.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5Qml.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5Qml.so.5)")
|
||||||
|
install(CODE "file(COPY ${qt_LIB_DIR}/libQt5XcbQpa.so.5.12.0 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(RENAME ${CMAKE_INSTALL_BINDIR}/libQt5XcbQpa.so.5.12.0 ${CMAKE_INSTALL_BINDIR}/libQt5XcbQpa.so.5)")
|
||||||
|
# copy qt plugins
|
||||||
|
set(qt_Plugins_DIR ${Qt5_DIR}/../../../plugins)
|
||||||
|
install(CODE "file(COPY ${qt_Plugins_DIR}/platforms DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_Plugins_DIR}/imageformats DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_Plugins_DIR}/virtualkeyboard DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_Plugins_DIR}/sqldrivers DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
# copy qt qml libs
|
||||||
|
set(qt_QML_DIR ${Qt5_DIR}/../../../qml)
|
||||||
|
install(CODE "file(COPY ${qt_QML_DIR}/Qt DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_QML_DIR}/QtQml DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_QML_DIR}/QtQuick DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
install(CODE "file(COPY ${qt_QML_DIR}/QtQuick.2 DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
# copy data
|
||||||
|
# install(CODE "file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/db DESTINATION ${CMAKE_INSTALL_BINDIR})")
|
||||||
|
# add execute permission to sh and program
|
||||||
|
install(CODE "execute_process(COMMAND chmod +x ./GUI.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)")
|
||||||
|
install(CODE "execute_process(COMMAND chmod +x ./GUI WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)")
|
||||||
|
endif(UNIX)
|
||||||
|
|||||||
BIN
database/USCTDB.data
Normal file
BIN
database/USCTDB.data
Normal file
Binary file not shown.
@@ -1,4 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
# debug标志,可用于试运行的debug
|
||||||
|
# export QT_DEBUG_PLUGINS=1
|
||||||
# 获取应用名称(如应用名称为app,那么脚本为app.sh
|
# 获取应用名称(如应用名称为app,那么脚本为app.sh
|
||||||
appname=`basename $0 | sed s,\.sh$,,`
|
appname=`basename $0 | sed s,\.sh$,,`
|
||||||
# 获取应用当前目录
|
# 获取应用当前目录
|
||||||
@@ -12,4 +14,5 @@ fi
|
|||||||
# 将当前目录(库所在目录)加入环境变量
|
# 将当前目录(库所在目录)加入环境变量
|
||||||
LD_LIBRARY_PATH=$dirname
|
LD_LIBRARY_PATH=$dirname
|
||||||
export LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH
|
||||||
# 运行
|
# 运行
|
||||||
|
$dirname/$appname "$@"
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# 发布程序的名称(参数1,执行脚本时输入)
|
|
||||||
exe=$1
|
|
||||||
# 修改输出可执行文件路径(当前路径)
|
|
||||||
destDir=`pwd`
|
|
||||||
# ldd将所有依赖库生成字符串组(#注意if后的空格只有一个)
|
|
||||||
dependenLibsList=$(ldd $exe | awk '{if (match($3,"/")){ printf("%s "),$3 } }')
|
|
||||||
# 将字符串组里面的库拷贝到目标文件夹
|
|
||||||
cp $dependenLibsList $destDir
|
|
||||||
@@ -42,6 +42,10 @@ void InputObject::initUi()
|
|||||||
min-height:100px;max-height:100px; min-width:500px;max-width:500px;\
|
min-height:100px;max-height:100px; min-width:500px;max-width:500px;\
|
||||||
border: 2px solid #ef9cba; border-radius:20px;\
|
border: 2px solid #ef9cba; border-radius:20px;\
|
||||||
font-family:Arial; color:white;margin:0;font-size:36px;}"
|
font-family:Arial; color:white;margin:0;font-size:36px;}"
|
||||||
|
"QTextEdit{background-color: rgba(0,0,0,0.5);\
|
||||||
|
min-height:300px;max-height:300px; min-width:700px;max-width:700px;\
|
||||||
|
border: 2px solid #ef9cba; border-radius:20px;\
|
||||||
|
font-family:Arial; color:white;margin:0;font-size:36px;}"
|
||||||
"QDateEdit::up-button{image: url(:/up.png);height:15px;}"
|
"QDateEdit::up-button{image: url(:/up.png);height:15px;}"
|
||||||
"QDateEdit::down-button{image:url(:/down.png);height:15px;}"
|
"QDateEdit::down-button{image:url(:/down.png);height:15px;}"
|
||||||
;
|
;
|
||||||
@@ -84,6 +88,7 @@ bool InputObject::eventFilter(QObject *obj, QEvent *event)
|
|||||||
if (obj->objectName() == QString("qt_scrollarea_viewport"))
|
if (obj->objectName() == QString("qt_scrollarea_viewport"))
|
||||||
{
|
{
|
||||||
QTextEdit *_text= qobject_cast<QTextEdit*>(obj->parent());
|
QTextEdit *_text= qobject_cast<QTextEdit*>(obj->parent());
|
||||||
|
if (!_text) return false;
|
||||||
if (_text == ui->textEdit) return true; //
|
if (_text == ui->textEdit) return true; //
|
||||||
if (_text->isEnabled())
|
if (_text->isEnabled())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ extern "C"{
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
BUSY,// device is preparing for scan
|
BUSY,// device is preparing for scan
|
||||||
READY,// device is ready for scan
|
READY,// device is ready for scan
|
||||||
SCANING,// device is doing scan
|
SCANNING,// device is doing scan
|
||||||
ERROR// some device inner error are occured
|
ERROR// some device inner error are occured
|
||||||
} DeviceStatus;
|
} DeviceStatus;
|
||||||
|
|
||||||
@@ -38,11 +38,11 @@ extern int ScanControl(ScanAction actionType);
|
|||||||
|
|
||||||
extern StatusInfo GetStatus();
|
extern StatusInfo GetStatus();
|
||||||
|
|
||||||
extern int SetScanInf(const char *jsonString);
|
extern int SetScanInfo(const char *jsonString,int empty);
|
||||||
|
|
||||||
extern const char *GetPreviewData();
|
extern const char *GetPreviewData();
|
||||||
|
|
||||||
extern const char *GetDeviceInf(DeviceInfo infoType);
|
extern const char *GetDeviceInfo(DeviceInfo infoType);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ void DeviceManager::initDevice() {
|
|||||||
connect(EventCenter::Default(),&EventCenter::RequestEmptyScan,[=](QObject* sender, QObject* detail){
|
connect(EventCenter::Default(),&EventCenter::RequestEmptyScan,[=](QObject* sender, QObject* detail){
|
||||||
std::string json= getJsonFromPatInf(detail);
|
std::string json= getJsonFromPatInf(detail);
|
||||||
printf("%s\r\n",json.c_str());
|
printf("%s\r\n",json.c_str());
|
||||||
processScan(json.c_str());
|
processScan(json.c_str(), true);
|
||||||
});
|
});
|
||||||
// Patient scan
|
// Patient scan
|
||||||
connect(EventCenter::Default(),&EventCenter::RequestPatientScan,[=](QObject* sender, QObject* detail){
|
connect(EventCenter::Default(),&EventCenter::RequestPatientScan,[=](QObject* sender, QObject* detail){
|
||||||
@@ -48,7 +48,7 @@ void DeviceManager::initDevice() {
|
|||||||
connect(EventCenter::Default(),&EventCenter::RequestStop,[=]() {
|
connect(EventCenter::Default(),&EventCenter::RequestStop,[=]() {
|
||||||
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, nullptr);
|
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, nullptr);
|
||||||
StatusInfo inf = GetStatus();
|
StatusInfo inf = GetStatus();
|
||||||
if (inf.status == SCANING) {
|
if (inf.status == SCANNING) {
|
||||||
//ScanControl fail
|
//ScanControl fail
|
||||||
if (ScanControl(STOP)) {
|
if (ScanControl(STOP)) {
|
||||||
QString msg("Stop operation fail!");
|
QString msg("Stop operation fail!");
|
||||||
@@ -72,7 +72,7 @@ void DeviceManager::initDevice() {
|
|||||||
//ScanControl
|
//ScanControl
|
||||||
if(!ScanControl(PREVIEW_SCAN))
|
if(!ScanControl(PREVIEW_SCAN))
|
||||||
{
|
{
|
||||||
lastStatus = SCANING;
|
lastStatus = SCANNING;
|
||||||
previewing = true;
|
previewing = true;
|
||||||
timerID = startTimer(500);
|
timerID = startTimer(500);
|
||||||
TRIGGER_EVENT(GUIEvents::ResponsePreview, nullptr, nullptr);
|
TRIGGER_EVENT(GUIEvents::ResponsePreview, nullptr, nullptr);
|
||||||
@@ -89,9 +89,9 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
|
|||||||
if (event->timerId() !=deviceInfTimerID)
|
if (event->timerId() !=deviceInfTimerID)
|
||||||
{
|
{
|
||||||
StatusInfo inf = GetStatus();
|
StatusInfo inf = GetStatus();
|
||||||
if (inf.status==SCANING)
|
if (inf.status==SCANNING)
|
||||||
{
|
{
|
||||||
lastStatus = SCANING;
|
lastStatus = SCANNING;
|
||||||
//normal scan
|
//normal scan
|
||||||
if(!previewing)
|
if(!previewing)
|
||||||
{
|
{
|
||||||
@@ -107,7 +107,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else{
|
} else{
|
||||||
if (lastStatus == SCANING && !errorOccured)
|
if (lastStatus == SCANNING && !errorOccured)
|
||||||
{
|
{
|
||||||
QVariant var(true);
|
QVariant var(true);
|
||||||
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, (QObject*)&var);
|
TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, (QObject*)&var);
|
||||||
@@ -115,7 +115,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
|
|||||||
previewing = false;
|
previewing = false;
|
||||||
}
|
}
|
||||||
//内部错误,导致Scan停止
|
//内部错误,导致Scan停止
|
||||||
else if (lastStatus == SCANING && errorOccured)
|
else if (lastStatus == SCANNING && errorOccured)
|
||||||
{
|
{
|
||||||
//正常情况下,设备应该已经调用的错误callback,然后会回归Ready状态,清理lastStatus即可
|
//正常情况下,设备应该已经调用的错误callback,然后会回归Ready状态,清理lastStatus即可
|
||||||
lastStatus = -1;
|
lastStatus = -1;
|
||||||
@@ -124,15 +124,15 @@ void DeviceManager::timerEvent(QTimerEvent *event) {
|
|||||||
killTimer(timerID);
|
killTimer(timerID);
|
||||||
}
|
}
|
||||||
} else{
|
} else{
|
||||||
QString temp = QString(GetDeviceInf(MEAN_TEMPERATURE));
|
QString temp = QString(GetDeviceInfo(MEAN_TEMPERATURE));
|
||||||
TRIGGER_EVENT(GUIEvents::ResponseDeviceTemperature, nullptr, (QObject*)&temp);
|
TRIGGER_EVENT(GUIEvents::ResponseDeviceTemperature, nullptr, (QObject*)&temp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeviceManager::processScan(const char *json) {
|
void DeviceManager::processScan(const char *json, bool empty) {
|
||||||
static QString msg = "Start scan...";
|
static QString msg = "Start scan...";
|
||||||
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, (QObject*)&msg);
|
TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, (QObject*)&msg);
|
||||||
int ret = SetScanInf(json);
|
int ret = SetScanInfo(json,empty?1:0);
|
||||||
if (ret){
|
if (ret){
|
||||||
QString errmsg("Transfer patient information fail!");
|
QString errmsg("Transfer patient information fail!");
|
||||||
THROW_ERROR(errmsg);
|
THROW_ERROR(errmsg);
|
||||||
@@ -143,7 +143,7 @@ void DeviceManager::processScan(const char *json) {
|
|||||||
{
|
{
|
||||||
//ScanControl fail
|
//ScanControl fail
|
||||||
if(!ScanControl(SCAN)) {
|
if(!ScanControl(SCAN)) {
|
||||||
lastStatus = SCANING;
|
lastStatus = SCANNING;
|
||||||
timerID = startTimer(300);
|
timerID = startTimer(300);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ protected:
|
|||||||
void timerEvent(QTimerEvent* event) override ;
|
void timerEvent(QTimerEvent* event) override ;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void processScan(const char * json);
|
void processScan(const char * json,bool empty = false);
|
||||||
int timerID = -1;
|
int timerID = -1;
|
||||||
int deviceInfTimerID = -1;
|
int deviceInfTimerID = -1;
|
||||||
int lastStatus=-1;
|
int lastStatus=-1;
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ EditPatientForm::EditPatientForm(QWidget *parent) :
|
|||||||
this->setEditEnable(false);
|
this->setEditEnable(false);
|
||||||
emit editAccept(getPatientInformation());
|
emit editAccept(getPatientInformation());
|
||||||
});
|
});
|
||||||
|
ui->tbx_Dob->setDisplayFormat("yyyy/MM/dd");
|
||||||
}
|
}
|
||||||
|
|
||||||
EditPatientForm::~EditPatientForm()
|
EditPatientForm::~EditPatientForm()
|
||||||
|
|||||||
@@ -8,9 +8,12 @@ int main(int argc, char *argv[])
|
|||||||
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
|
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
|
||||||
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro"));
|
qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro"));
|
||||||
//qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true"));
|
//qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true"));
|
||||||
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", "..\\src\\layouts");
|
|
||||||
|
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
|
QString layouts_path = QString(QCoreApplication::applicationDirPath()).append("/layouts");
|
||||||
|
qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", QByteArray(layouts_path.toStdString().c_str()));
|
||||||
|
|
||||||
//a.installEventFilter(obj);
|
//a.installEventFilter(obj);
|
||||||
InputObject *obj = new InputObject();
|
InputObject *obj = new InputObject();
|
||||||
|
|
||||||
|
|||||||
@@ -39,11 +39,11 @@ void PatientInformationForm::setProtocol(int type) {
|
|||||||
|
|
||||||
const char *PatientInformationForm::getCurrentPatientJsonString(bool empty) {
|
const char *PatientInformationForm::getCurrentPatientJsonString(bool empty) {
|
||||||
cJSON* root=cJSON_CreateObject();
|
cJSON* root=cJSON_CreateObject();
|
||||||
cJSON_AddItemToObject(root, "PatientName",cJSON_CreateString(ui->lbl_Name->text().toStdString().data()));
|
cJSON_AddItemToObject(root, "PatientName",cJSON_CreateString(ui->lbl_Name->text().replace(' ','.').toStdString().data()));
|
||||||
cJSON_AddItemToObject(root, "PatientID",cJSON_CreateString(ui->lbl_ID->text().toStdString().data()));
|
cJSON_AddItemToObject(root, "PatientID",cJSON_CreateString(ui->lbl_ID->text().replace(' ','.').toStdString().data()));
|
||||||
cJSON_AddItemToObject(root, "PatientSex",cJSON_CreateString(ui->lbl_Sex->text().toStdString().data()));
|
cJSON_AddItemToObject(root, "PatientSex",cJSON_CreateString(ui->lbl_Sex->text().replace(' ','.').toStdString().data()));
|
||||||
cJSON_AddItemToObject(root, "PatientBirthDate",
|
cJSON_AddItemToObject(root, "PatientBirthDate",
|
||||||
cJSON_CreateString(ui->lbl_Date->text().replace("/","").replace("-","").toStdString().data()));
|
cJSON_CreateString(ui->lbl_Date->text().replace("/","").replace("-","").replace(' ','.').toStdString().data()));
|
||||||
cJSON_AddItemToObject(root, "Laterality",cJSON_CreateString(currentProtocol?"R":"L"));
|
cJSON_AddItemToObject(root, "Laterality",cJSON_CreateString(currentProtocol?"R":"L"));
|
||||||
cJSON_AddItemToObject(root, "EmptyDataFlag",cJSON_CreateNumber(empty?1:0));
|
cJSON_AddItemToObject(root, "EmptyDataFlag",cJSON_CreateNumber(empty?1:0));
|
||||||
cJSON_AddItemToObject(root, "OperatorName",cJSON_CreateString("Bob"));
|
cJSON_AddItemToObject(root, "OperatorName",cJSON_CreateString("Bob"));
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ TabFormWidget::TabFormWidget(QWidget *parent) :
|
|||||||
QPixmap img(":/icons/logo.png");
|
QPixmap img(":/icons/logo.png");
|
||||||
|
|
||||||
ui->logo->setPixmap(img.scaledToHeight(33,Qt::SmoothTransformation));
|
ui->logo->setPixmap(img.scaledToHeight(33,Qt::SmoothTransformation));
|
||||||
ui->company->setText(QString::fromLocal8Bit("<EFBFBD>㽭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD>ƿƼ<EFBFBD>"));
|
// ui->company->setText(QString::fromLocal8Bit("<EFBFBD>㽭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD>ƿƼ<EFBFBD>"));
|
||||||
ui->lbl_msglogo->setPixmap(QPixmap(":/icons/msg.png").scaledToHeight(26,Qt::SmoothTransformation));
|
ui->lbl_msglogo->setPixmap(QPixmap(":/icons/msg.png").scaledToHeight(26,Qt::SmoothTransformation));
|
||||||
// ui->lbl_patlogo->setPixmap(QPixmap(":/icons/patient.png").scaledToHeight(26,Qt::SmoothTransformation));
|
// ui->lbl_patlogo->setPixmap(QPixmap(":/icons/patient.png").scaledToHeight(26,Qt::SmoothTransformation));
|
||||||
ui->spacer_2->setVisible(false);
|
ui->spacer_2->setVisible(false);
|
||||||
QLabel* hosp = new QLabel(this);
|
QLabel* hosp = new QLabel(this);
|
||||||
hosp->setText(QString::fromLocal8Bit("<EFBFBD>㽭<EFBFBD><EFBFBD>ѧҽѧԺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ҽԺ "));
|
// hosp->setText(QString::fromLocal8Bit("<EFBFBD>㽭<EFBFBD><EFBFBD>ѧҽѧԺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD>ҽԺ "));
|
||||||
QLabel* nowDate = new QLabel(this);
|
QLabel* nowDate = new QLabel(this);
|
||||||
nowDate->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
nowDate->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));
|
||||||
QLabel* linkIcon = new QLabel(this);
|
QLabel* linkIcon = new QLabel(this);
|
||||||
|
|||||||
Reference in New Issue
Block a user