From ac8d913b55c51a89eeb531bd6420bd51124ef129 Mon Sep 17 00:00:00 2001 From: Krad Date: Wed, 20 Oct 2021 15:55:15 +0800 Subject: [PATCH] GUI standby v1.0 --- CMakeLists.txt | 71 ++++++++++++++++++++++++++++++++- database/USCTDB.data | Bin 0 -> 303104 bytes scripts/GUI.sh | 5 ++- scripts/pack.sh | 9 ----- src/InputObject.cpp | 5 +++ src/ShimLib/ShimLib.h | 6 +-- src/device/DeviceManager.cpp | 22 +++++----- src/device/DeviceManager.h | 2 +- src/editpatientform.cpp | 1 + src/main.cpp | 5 ++- src/patientinformationform.cpp | 8 ++-- src/tabformwidget.cpp | 4 +- 12 files changed, 105 insertions(+), 33 deletions(-) create mode 100644 database/USCTDB.data delete mode 100644 scripts/pack.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 922da11..1db0814 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,11 @@ file(GLOB_RECURSE project_headers ./src/*.h) file(GLOB_RECURSE project_cpps ./src/*.cpp) file(GLOB_RECURSE project_cxx ./src/*.cxx) 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) +endif(UNIX) include_directories(./src/) 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}) file(GLOB project_res ./src/*.qrc) 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) +endif(UNIX) -if(MSVC) +if(MSVC) set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${Qt5_DIR}/../../../bin/") 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) diff --git a/database/USCTDB.data b/database/USCTDB.data new file mode 100644 index 0000000000000000000000000000000000000000..bbc5e6041da32fe4f99c23481b2f21fcdbae5fd0 GIT binary patch literal 303104 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 zzobjectName() == QString("qt_scrollarea_viewport")) { QTextEdit *_text= qobject_cast(obj->parent()); + if (!_text) return false; if (_text == ui->textEdit) return true; // if (_text->isEnabled()) { diff --git a/src/ShimLib/ShimLib.h b/src/ShimLib/ShimLib.h index 917ab56..c392d34 100644 --- a/src/ShimLib/ShimLib.h +++ b/src/ShimLib/ShimLib.h @@ -10,7 +10,7 @@ extern "C"{ typedef enum { BUSY,// device is preparing 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 } DeviceStatus; @@ -38,11 +38,11 @@ extern int ScanControl(ScanAction actionType); extern StatusInfo GetStatus(); -extern int SetScanInf(const char *jsonString); +extern int SetScanInfo(const char *jsonString,int empty); extern const char *GetPreviewData(); -extern const char *GetDeviceInf(DeviceInfo infoType); +extern const char *GetDeviceInfo(DeviceInfo infoType); #ifdef __cplusplus }; diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 2dc1f13..1378592 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -33,7 +33,7 @@ void DeviceManager::initDevice() { connect(EventCenter::Default(),&EventCenter::RequestEmptyScan,[=](QObject* sender, QObject* detail){ std::string json= getJsonFromPatInf(detail); printf("%s\r\n",json.c_str()); - processScan(json.c_str()); + processScan(json.c_str(), true); }); // Patient scan connect(EventCenter::Default(),&EventCenter::RequestPatientScan,[=](QObject* sender, QObject* detail){ @@ -48,7 +48,7 @@ void DeviceManager::initDevice() { connect(EventCenter::Default(),&EventCenter::RequestStop,[=]() { TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, nullptr); StatusInfo inf = GetStatus(); - if (inf.status == SCANING) { + if (inf.status == SCANNING) { //ScanControl fail if (ScanControl(STOP)) { QString msg("Stop operation fail!"); @@ -72,7 +72,7 @@ void DeviceManager::initDevice() { //ScanControl if(!ScanControl(PREVIEW_SCAN)) { - lastStatus = SCANING; + lastStatus = SCANNING; previewing = true; timerID = startTimer(500); TRIGGER_EVENT(GUIEvents::ResponsePreview, nullptr, nullptr); @@ -89,9 +89,9 @@ void DeviceManager::timerEvent(QTimerEvent *event) { if (event->timerId() !=deviceInfTimerID) { StatusInfo inf = GetStatus(); - if (inf.status==SCANING) + if (inf.status==SCANNING) { - lastStatus = SCANING; + lastStatus = SCANNING; //normal scan if(!previewing) { @@ -107,7 +107,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) { } } else{ - if (lastStatus == SCANING && !errorOccured) + if (lastStatus == SCANNING && !errorOccured) { QVariant var(true); TRIGGER_EVENT(GUIEvents::InvokeOperationEnd, nullptr, (QObject*)&var); @@ -115,7 +115,7 @@ void DeviceManager::timerEvent(QTimerEvent *event) { previewing = false; } //内部错误,导致Scan停止 - else if (lastStatus == SCANING && errorOccured) + else if (lastStatus == SCANNING && errorOccured) { //正常情况下,设备应该已经调用的错误callback,然后会回归Ready状态,清理lastStatus即可 lastStatus = -1; @@ -124,15 +124,15 @@ void DeviceManager::timerEvent(QTimerEvent *event) { killTimer(timerID); } } else{ - QString temp = QString(GetDeviceInf(MEAN_TEMPERATURE)); + QString temp = QString(GetDeviceInfo(MEAN_TEMPERATURE)); 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..."; TRIGGER_EVENT(GUIEvents::InvokeOperationStart, nullptr, (QObject*)&msg); - int ret = SetScanInf(json); + int ret = SetScanInfo(json,empty?1:0); if (ret){ QString errmsg("Transfer patient information fail!"); THROW_ERROR(errmsg); @@ -143,7 +143,7 @@ void DeviceManager::processScan(const char *json) { { //ScanControl fail if(!ScanControl(SCAN)) { - lastStatus = SCANING; + lastStatus = SCANNING; timerID = startTimer(300); return; } diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index 686b58b..0ddd74e 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -20,7 +20,7 @@ protected: void timerEvent(QTimerEvent* event) override ; private: - void processScan(const char * json); + void processScan(const char * json,bool empty = false); int timerID = -1; int deviceInfTimerID = -1; int lastStatus=-1; diff --git a/src/editpatientform.cpp b/src/editpatientform.cpp index bd3836a..55e178e 100644 --- a/src/editpatientform.cpp +++ b/src/editpatientform.cpp @@ -55,6 +55,7 @@ EditPatientForm::EditPatientForm(QWidget *parent) : this->setEditEnable(false); emit editAccept(getPatientInformation()); }); + ui->tbx_Dob->setDisplayFormat("yyyy/MM/dd"); } EditPatientForm::~EditPatientForm() diff --git a/src/main.cpp b/src/main.cpp index 2bfa650..024cacf 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -8,9 +8,12 @@ int main(int argc, char *argv[]) qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard")); qputenv("QT_VIRTUALKEYBOARD_STYLE", QByteArray("retro")); //qputenv("QT_LOGGING_RULES", QByteArray("qt.virtualkeyboard=true")); - qputenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH", "..\\src\\layouts"); + 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); InputObject *obj = new InputObject(); diff --git a/src/patientinformationform.cpp b/src/patientinformationform.cpp index 812ba12..6d8c455 100644 --- a/src/patientinformationform.cpp +++ b/src/patientinformationform.cpp @@ -39,11 +39,11 @@ void PatientInformationForm::setProtocol(int type) { const char *PatientInformationForm::getCurrentPatientJsonString(bool empty) { cJSON* root=cJSON_CreateObject(); - cJSON_AddItemToObject(root, "PatientName",cJSON_CreateString(ui->lbl_Name->text().toStdString().data())); - cJSON_AddItemToObject(root, "PatientID",cJSON_CreateString(ui->lbl_ID->text().toStdString().data())); - cJSON_AddItemToObject(root, "PatientSex",cJSON_CreateString(ui->lbl_Sex->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().replace(' ','.').toStdString().data())); + cJSON_AddItemToObject(root, "PatientSex",cJSON_CreateString(ui->lbl_Sex->text().replace(' ','.').toStdString().data())); 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, "EmptyDataFlag",cJSON_CreateNumber(empty?1:0)); cJSON_AddItemToObject(root, "OperatorName",cJSON_CreateString("Bob")); diff --git a/src/tabformwidget.cpp b/src/tabformwidget.cpp index c967f58..442ac84 100644 --- a/src/tabformwidget.cpp +++ b/src/tabformwidget.cpp @@ -10,12 +10,12 @@ TabFormWidget::TabFormWidget(QWidget *parent) : QPixmap img(":/icons/logo.png"); ui->logo->setPixmap(img.scaledToHeight(33,Qt::SmoothTransformation)); - ui->company->setText(QString::fromLocal8Bit("㽭ҽƿƼ")); +// ui->company->setText(QString::fromLocal8Bit("㽭ҽƿƼ")); 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->spacer_2->setVisible(false); QLabel* hosp = new QLabel(this); - hosp->setText(QString::fromLocal8Bit("㽭ѧҽѧԺڶҽԺ ")); +// hosp->setText(QString::fromLocal8Bit("㽭ѧҽѧԺڶҽԺ ")); QLabel* nowDate = new QLabel(this); nowDate->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")); QLabel* linkIcon = new QLabel(this);