From 10df295a7ec642d33260c9c745b56dd226be1084 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Mon, 4 Aug 2025 16:47:29 +0800 Subject: [PATCH 01/36] =?UTF-8?q?feat():=20=E6=9B=B4=E6=96=B0=E4=BD=BF?= =?UTF-8?q?=E7=94=A8pixwmV0.1.2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 64 +++++++++++++++++++ Application/deskTop/src/deskScreen.cpp | 10 +-- .../src/toolWindow/appTaskManageWindow.cpp | 45 ++++--------- 3 files changed, 80 insertions(+), 39 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9995dbb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,64 @@ +{ + "files.associations": { + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "chrono": "cpp", + "compare": "cpp", + "complex": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "cstdint": "cpp", + "deque": "cpp", + "list": "cpp", + "map": "cpp", + "set": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "netfwd": "cpp", + "numeric": "cpp", + "random": "cpp", + "ratio": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "numbers": "cpp", + "ostream": "cpp", + "semaphore": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp" + } +} \ No newline at end of file diff --git a/Application/deskTop/src/deskScreen.cpp b/Application/deskTop/src/deskScreen.cpp index f439854..45ff8c0 100644 --- a/Application/deskTop/src/deskScreen.cpp +++ b/Application/deskTop/src/deskScreen.cpp @@ -211,8 +211,8 @@ bool tpDeskScreen::onMousePressEvent(tpMouseEvent *event) // 记录鼠标点击坐标 uint32_t pressY = event->globalPos().y; - std::cout << "pressY " << pressY << std::endl; - std::cout << "TOP_BAR_HEIGHT " << TOP_BAR_HEIGHT << std::endl; + // std::cout << "pressY " << pressY << std::endl; + // std::cout << "TOP_BAR_HEIGHT " << TOP_BAR_HEIGHT << std::endl; if (pressY < TOP_BAR_HEIGHT) { @@ -918,15 +918,15 @@ void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argL // 根据pid查询winid PiShmBytes *appIdList = nullptr; int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, 1); + tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); int32_t winId = 0; for (int i = 0; i < appSize; ++i) { PiShmBytes appIdInfo = appIdList[i]; - if (appIdInfo.pid == pid) + if (appIdInfo.p_id == pid) { - winId = appIdInfo.id; + winId = appIdInfo.s_id; break; } } diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index 90c1331..e203f38 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -55,7 +55,7 @@ void appTaskManageWindow::setVisible(bool visible) // 获取所有应用列表 PiShmBytes *appIdList = nullptr; int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, 1); + tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); // 清空上一次的任务列表 taskScrollPanel_->clearObject(); @@ -70,20 +70,13 @@ void appTaskManageWindow::setVisible(bool visible) PiShmBytes appIdInfo = appIdList[i]; std::cout << "App Index " << i << std::endl; - std::cout << "App Id " << appIdInfo.id << " Pid " << appIdInfo.pid << std::endl; - - // 应用抓图,grabWindow - // char dispDir[1024]; - // const char *readDispDir = tinyPiX_sys_get_disp_dir(globalAgent); - // sprintf(dispDir, "%s/%d-%d", readDispDir, appIdInfo.pid, appIdInfo.id); - // std::cout << "dispDir " << dispDir << std::endl; - // IPiSharedEx *sharedEx = cache_ex_map_surface_read(dispDir); + std::cout << "App Id " << appIdInfo.s_id << " Pid " << appIdInfo.p_id << std::endl; // 根据pid查询应用的信息 - if (!globalRunAppMap_.contains(appIdInfo.pid)) + if (!globalRunAppMap_.contains(appIdInfo.p_id)) continue; - const auto &curAppInfo = globalRunAppMap_[appIdInfo.pid]; + const auto &curAppInfo = globalRunAppMap_[appIdInfo.p_id]; std::cout << "运行应用信息: " << curAppInfo.appName << std::endl; appPreviewWidget *previewWidget = new appPreviewWidget(this); @@ -91,36 +84,20 @@ void appTaskManageWindow::setVisible(bool visible) previewWidget->setIcon(curAppInfo.appIconPath); // 应用抓图,grabWindow - // char dispDir[1024]; - // const char *readDispDir1 = tinyPiX_sys_get_disp_dir(globalAgent); - // std::cout << "readDispDir " << readDispDir1 << std::endl; - // const char *readDispDir = "/System/run/.tinyPiX/display"; - - // sprintf(dispDir, "%s/%d-%d", readDispDir, appIdInfo.pid, appIdInfo.id); - // std::cout << "dispDir " << dispDir << std::endl; - - tpString readDispDir = tinyPiX_sys_get_disp_dir(globalAgent); - tpString dispDir = /*readDispDir + */ "/System/run/.tinyPiX/display/" + tpString::number(appIdInfo.pid) + "-" + tpString::number(appIdInfo.id); - - // std::cout << "dispDir " << dispDir << std::endl; + IPiWFSurface* surfacePtr = tinyPiX_sys_get_obj_surface(globalAgent, appIdInfo.s_id, appIdInfo.p_id); - IPiSharedEx *sharedEx = cache_ex_map_surface_read(dispDir.c_str()); + tpShared appDisplayImage = tpMakeShared(surfacePtr); - tpShared previewImg = nullptr; - // std::cout << "sharedEx " << sharedEx << std::endl; - if (sharedEx) - { - previewImg = tpMakeShared(cache_ex_map_surface(sharedEx)); - } + tinyPiX_surface_free(surfacePtr); - previewWidget->setPreviewImg(previewImg); + previewWidget->setPreviewImg(appDisplayImage); // previewWidget->setPreviewImg("/home/hawk/Public/tinyPiXOS/tinyPiXApp/deskTop/res/测试.png"); - previewWidget->setId(appIdInfo.pid, appIdInfo.id); + previewWidget->setId(appIdInfo.p_id, appIdInfo.s_id); connect(previewWidget, signalKillApp, this, &appTaskManageWindow::slotKillApp); connect(previewWidget, signalOpenApp, this, &appTaskManageWindow::slotOpenApp); - allTaskWidgetMap_[appIdInfo.pid] = previewWidget; + allTaskWidgetMap_[appIdInfo.p_id] = previewWidget; uint32_t taskBtnXPos = taskHInterval + (i / 2) * (taskWidth_ + taskHInterval); uint32_t taskBtnYPos = taskVInterval + (i % 2) * (taskHeight_ + taskVInterval); @@ -229,7 +206,7 @@ void appTaskManageWindow::slotClearAllApp(bool) { PiShmBytes appIdInfo = appIdList[i]; - tinyPiX_sys_kill_process(globalAgent, appIdInfo.pid); + tinyPiX_sys_kill_process(globalAgent, appIdInfo.p_id); } // 清理缓存的应用运行信息 -- Gitee From 8771591c07ab96544af88bbb4a312d0fd7ff822f Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Sat, 9 Aug 2025 17:52:48 +0800 Subject: [PATCH 02/36] =?UTF-8?q?fix():=20=E8=A7=A3=E5=86=B3=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E9=BC=A0=E6=A0=87=E7=A7=BB=E9=99=A4=E6=97=B6=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 79 +++++++++++++++++++ .../deskTop/src/mainAppScrollPanel.cpp | 9 +++ Application/deskTop/src/mainAppScrollPanel.h | 1 + CMakePresets.json | 12 ++- 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 .vscode/tasks.json diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..0234e84 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,79 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc 生成活动文件", + "command": "/usr/bin/g++", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}/${fileBasenameNoExtension}", + "-I/usr/include", + "-I/usr/include/PiXWM", + "-I/usr/include/SDL2", + "-I/usr/include/tinyPiX", + "-I/usr/include/tinyPiX/Utils", + "-I/usr/include/tinyPiX/ExternUtils", + "-I/usr/include/tinyPiX/SingleGUI", + "-I/usr/include/tinyPiX/SingleGUI/core", + "-I/usr/include/tinyPiX/SingleGUI/screen", + "-I/usr/include/tinyPiX/SingleGUI/widgets", + "-I/usr/include/tinyPiX/SingleGUI/core", + "-I.", + "-I/usr/include/freetype2", + "-I/usr/include/cairo", + "-I/usr/include/pango-1.0", + "-I/usr/include/harfbuzz", + "-I/usr/include/glib-2.0", + "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include", + "-I/usr/include/SDL2", + "-I../tinyPiXCore/src/include/Utils/base", + "-I../tinyPiXCore/src/include/Utils", + "-I../tinyPiXCore/src/include_p/Api", + "-I../tinyPiXCore/src/include_p/Api/base", + "-I./engine", + "-I./", + "-L/usr/lib", + "-lSDL2", + "-lpthread", + "-DTP_USE_SDL2", + "-DENABLE_LOGO", + "-L/usr/lib/tinyPiX", + "-ldl", + "-lpthread", + "-lSDL2", + "-lSDL2_image", + "-lSDL2_gfx", + "-lcairo", + "-lpango-1.0", + "-lgobject-2.0", + "-lglib-2.0", + "-lpangocairo-1.0", + "-lfontconfig", + "-lfreetype", + "-lgbm", + "-lGLESv2", + "-lEGL", + "-lPiXUtils", + "-lrime", + "-lPiXSingleGUI", + "-lPiXApi", + "-lPiXExternUtils" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "调试器生成的任务。" + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/deskTop/src/mainAppScrollPanel.cpp index f3cb8f3..ba4f03f 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/deskTop/src/mainAppScrollPanel.cpp @@ -211,3 +211,12 @@ bool mainAppScrollPanel::onMouseMoveEvent(tpMouseEvent *event) return true; } + +bool mainAppScrollPanel::onLeaveEvent(tpObjectLeaveEvent *event) +{ + if (!event->leave()) + { + } + + return true; +} diff --git a/Application/deskTop/src/mainAppScrollPanel.h b/Application/deskTop/src/mainAppScrollPanel.h index fdd9703..5dcfaae 100644 --- a/Application/deskTop/src/mainAppScrollPanel.h +++ b/Application/deskTop/src/mainAppScrollPanel.h @@ -36,6 +36,7 @@ protected: virtual bool onWheelEvent(tpWheelEvent *event) override; virtual bool onMouseMoveEvent(tpMouseEvent *event) override; + virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; private: bool mouseLeftPress_; diff --git a/CMakePresets.json b/CMakePresets.json index a0f235c..5fbd0c8 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -7,7 +7,13 @@ "binaryDir": ".", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/out/debug/install/${presetName}", - "CMAKE_BUILD_TYPE": "Debug" + "CMAKE_BUILD_TYPE": "Debug", + "CMAKE_C_FLAGS": "-g -O0 -fno-omit-frame-pointer -fno-inline -fno-optimize-sibling-calls", + "CMAKE_CXX_FLAGS": "-g -O0 -fno-omit-frame-pointer -fno-inline -fno-optimize-sibling-calls", + "CMAKE_EXE_LINKER_FLAGS": "-g", + "CMAKE_SHARED_LINKER_FLAGS": "-g", + "CMAKE_MODULE_LINKER_FLAGS": "-g", + "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "OFF" } }, { @@ -30,7 +36,9 @@ "cacheVariables": { "TARGET_ARCH": "x86_64", "CMAKE_C_COMPILER": "/usr/bin/gcc", - "CMAKE_CXX_COMPILER": "/usr/bin/g++" + "CMAKE_CXX_COMPILER": "/usr/bin/g++", + "CMAKE_C_FLAGS_DEBUG": "-D_DEBUG -DDEBUG=1", + "CMAKE_CXX_FLAGS_DEBUG": "-D_DEBUG -DDEBUG=1" } }, { -- Gitee From 798c3e736c0d3257f129fec1eadf9e01209db2cb Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Sat, 9 Aug 2025 18:22:41 +0800 Subject: [PATCH 03/36] =?UTF-8?q?fix():=20=E8=A7=A3=E5=86=B3=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E5=B7=A6=E4=B8=8A=E8=A7=92=E6=98=BE=E7=A4=BA=E5=B0=8F?= =?UTF-8?q?=E7=99=BD=E5=9D=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/deskScreen.cpp | 1682 +++++++++-------- .../src/toolWindow/appOperateMaskWindow.cpp | 1 + 2 files changed, 843 insertions(+), 840 deletions(-) diff --git a/Application/deskTop/src/deskScreen.cpp b/Application/deskTop/src/deskScreen.cpp index 45ff8c0..33c27de 100644 --- a/Application/deskTop/src/deskScreen.cpp +++ b/Application/deskTop/src/deskScreen.cpp @@ -38,219 +38,219 @@ uint32_t globalAppHInterval = 0; static inline void BAR_SET_ATTRIB(tpChildWidget *vars, int32_t pop, int32_t x, int32_t y, int32_t width, int32_t height) { - if (pop) - { - height = 1; - } - - vars->setRect(x, y, width, height); - vars->setVisible(true); - vars->update(); + if (pop) + { + height = 1; + } + + vars->setRect(x, y, width, height); + vars->setVisible(true); + vars->update(); } void tpDeskScreen::construct() { - globalMainScreen_ = this; + globalMainScreen_ = this; - // 订阅数据 - initializeGateway(); - subscribeGatewayData(RunAppTopic, this); + // 订阅数据 + initializeGateway(); + subscribeGatewayData(RunAppTopic, this); - setEnableBackGroundColor(false); - setEnabledBorderColor(false); + setEnableBackGroundColor(false); + setEnabledBorderColor(false); - std::cout << "tpDeskScreen::construct()" << std::endl; + std::cout << "tpDeskScreen::construct()" << std::endl; - initData(); + initData(); - // 绑定桌面长按事件 - // connect(mainAppPanel_, onLongPress, [=]() - // { slotOperateApp(nullptr); }); + // 绑定桌面长按事件 + // connect(mainAppPanel_, onLongPress, [=]() + // { slotOperateApp(nullptr); }); - // 此处应该读取配置文件中的设置文件,可以保留上次设置的背景图片 + // 此处应该读取配置文件中的设置文件,可以保留上次设置的背景图片 - tpShared surface = tpMakeShared(); + tpShared surface = tpMakeShared(); - surface->fromFile(applicationDirPath() + "/../res/默认桌面背景1x.png"); + surface->fromFile(applicationDirPath() + "/../res/默认桌面背景1x.png"); - this->setBackGroundImage(surface, true); + this->setBackGroundImage(surface, true); - // 此处应该读取配置文件中的设置文件,加载配置参数 + // 此处应该读取配置文件中的设置文件,加载配置参数 - // 刷新工具栏位置坐标 - refreshBar(); + // 刷新工具栏位置坐标 + refreshBar(); - // 刷新APP显示主窗体尺寸和坐标 - refreshMainAppPanel(); + // 刷新APP显示主窗体尺寸和坐标 + refreshMainAppPanel(); - // 计算可显示APP的行列数 - // APP显示区域的宽度 - // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; - uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; + // 计算可显示APP的行列数 + // APP显示区域的宽度 + // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 + uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; + uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; - desktopAppButton *testBtn = new desktopAppButton(); - testBtn->font()->setFontSize(APP_FONT_SIZE); - testBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); + desktopAppButton *testBtn = new desktopAppButton(); + testBtn->font()->setFontSize(APP_FONT_SIZE); + testBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); - int32_t btnWidth = testBtn->rect().w; - int32_t btnHeight = testBtn->rect().h; + int32_t btnWidth = testBtn->rect().w; + int32_t btnHeight = testBtn->rect().h; - globalAppHInterval = globalMainScreen_->screenWidth() * 0.06666; + globalAppHInterval = globalMainScreen_->screenWidth() * 0.06666; - globalAppMaxRow = 1.0 * (mainAppPanelHeight + APP_V_INTERVAL) / (APP_V_INTERVAL + btnHeight); - globalAppMaxColumn = 1.0 * (BOTTOM_BAR_WIDTH + globalAppHInterval) / (globalAppHInterval + btnWidth); + globalAppMaxRow = 1.0 * (mainAppPanelHeight + APP_V_INTERVAL) / (APP_V_INTERVAL + btnHeight); + globalAppMaxColumn = 1.0 * (BOTTOM_BAR_WIDTH + globalAppHInterval) / (globalAppHInterval + btnWidth); - testBtn->deleteLater(); + testBtn->deleteLater(); - // 根据示例列数,精准计算一下 APP的 水平间隔 - globalAppHInterval = (BOTTOM_BAR_WIDTH - globalAppMaxColumn * btnWidth) / (globalAppMaxColumn - 1); - // globalAppMaxRow = 4; - // globalAppMaxColumn = 6; + // 根据示例列数,精准计算一下 APP的 水平间隔 + globalAppHInterval = (BOTTOM_BAR_WIDTH - globalAppMaxColumn * btnWidth) / (globalAppMaxColumn - 1); + // globalAppMaxRow = 4; + // globalAppMaxColumn = 6; - intDeskAppConfig(); + intDeskAppConfig(); } void tpDeskScreen::destruction() { - if (topFloatBar_) - { - delete topFloatBar_; - topFloatBar_ = nullptr; - } - if (bottomFloatBar_) - { - delete bottomFloatBar_; - bottomFloatBar_ = nullptr; - } - if (navigationFloatBar_) - { - delete navigationFloatBar_; - navigationFloatBar_ = nullptr; - } + if (topFloatBar_) + { + delete topFloatBar_; + topFloatBar_ = nullptr; + } + if (bottomFloatBar_) + { + delete bottomFloatBar_; + bottomFloatBar_ = nullptr; + } + if (navigationFloatBar_) + { + delete navigationFloatBar_; + navigationFloatBar_ = nullptr; + } } void tpDeskScreen::recvData(const char *topic, const void *data, const uint32_t &size) { - tpString topicString(topic); - if (topicString.compare(RunAppTopic) == 0) - { - RunApp recvRunData; - recvRunData.StructDeserialize(data, size); - - std::cout << "RecvStartApp UUID : " << recvRunData.appUuid << std::endl; - - // 启动指定应用 - tpVector argList; - for (const auto &recvArg : recvRunData.argList) - { - std::cout << " recvArg : " << recvArg << std::endl; - argList.emplace_back(recvArg); - } - startApp(recvRunData.appUuid, argList); - } + tpString topicString(topic); + if (topicString.compare(RunAppTopic) == 0) + { + RunApp recvRunData; + recvRunData.StructDeserialize(data, size); + + std::cout << "RecvStartApp UUID : " << recvRunData.appUuid << std::endl; + + // 启动指定应用 + tpVector argList; + for (const auto &recvArg : recvRunData.argList) + { + std::cout << " recvArg : " << recvArg << std::endl; + argList.emplace_back(recvArg); + } + startApp(recvRunData.appUuid, argList); + } } bool tpDeskScreen::appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) { - int32_t sysid = this->objectSysID(); + int32_t sysid = this->objectSysID(); - // std::cout << "tpDeskScreen::appChange " << std::endl; - std::cout << "id " << id << std::endl; - std::cout << "sysid " << sysid << std::endl; + // std::cout << "tpDeskScreen::appChange " << std::endl; + std::cout << "id " << id << std::endl; + std::cout << "sysid " << sysid << std::endl; - // std::cout << "Desktop visible" << visible << std::endl; - // std::cout << "Desktop active" << active << std::endl; + // std::cout << "Desktop visible" << visible << std::endl; + // std::cout << "Desktop active" << active << std::endl; - if (sysid == id) - { - if (bottomFloatBar_) - bottomFloatBar_->setVisible(true); - if (topFloatBar_) - topFloatBar_->setVisible(true); - return false; - } + if (sysid == id) + { + if (bottomFloatBar_) + bottomFloatBar_->setVisible(true); + if (topFloatBar_) + topFloatBar_->setVisible(true); + return false; + } - // 应用启动,不显示上下工具栏 - // bottomFloatBar_->setVisible(false); - topFloatBar_->setVisible(false); + // 应用启动,不显示上下工具栏 + // bottomFloatBar_->setVisible(false); + topFloatBar_->setVisible(false); - if (active == false) - { - // 桌面即将隐藏 - return false; - } + if (active == false) + { + // 桌面即将隐藏 + return false; + } - printf("id = %d \n", id); + printf("id = %d \n", id); - int32_t width = 0, height = 0; + int32_t width = 0, height = 0; - return true; + return true; } bool tpDeskScreen::onActiveEvent(tpObjectActiveEvent *event) { - std::cout << "tpDeskScreen::onActiveEvent " << std::endl; - - if (event->isActived()) - { - refreshBar(); - } - else - { - if (bottomFloatBar_) - bottomFloatBar_->setVisible(false); - } - - return true; + std::cout << "tpDeskScreen::onActiveEvent " << std::endl; + + if (event->isActived()) + { + refreshBar(); + } + else + { + if (bottomFloatBar_) + bottomFloatBar_->setVisible(false); + } + + return true; } bool tpDeskScreen::onMousePressEvent(tpMouseEvent *event) { - // 记录鼠标点击坐标 - uint32_t pressY = event->globalPos().y; + // 记录鼠标点击坐标 + uint32_t pressY = event->globalPos().y; - // std::cout << "pressY " << pressY << std::endl; - // std::cout << "TOP_BAR_HEIGHT " << TOP_BAR_HEIGHT << std::endl; - - if (pressY < TOP_BAR_HEIGHT) - { - pressTopBar_ = true; - pressTopBarPoint_ = event->globalPos(); - } + // std::cout << "pressY " << pressY << std::endl; + // std::cout << "TOP_BAR_HEIGHT " << TOP_BAR_HEIGHT << std::endl; - return false; + if (pressY < TOP_BAR_HEIGHT) + { + pressTopBar_ = true; + pressTopBarPoint_ = event->globalPos(); + } + + return false; } bool tpDeskScreen::onMouseRleaseEvent(tpMouseEvent *event) { - pressTopBar_ = false; - pressAppBtn_ = nullptr; - isMoveMode_ = false; + pressTopBar_ = false; + pressAppBtn_ = nullptr; + isMoveMode_ = false; - return false; + return false; } bool tpDeskScreen::onMouseMoveEvent(tpMouseEvent *event) { - if (pressTopBar_) - { - ItpPoint curMousePos = event->globalPos(); - - if ((curMousePos.y - pressTopBarPoint_.y) >= 2) - { - // 触发一次下拉事件后,不再重复触发 - pressTopBar_ = false; - - if (globalTopSettingBar_) - { - std::cout << "topSettingBar_ Show " << std::endl; - globalTopSettingBar_->setVisible(true); - globalTopSettingBar_->update(); - } - } - } + if (pressTopBar_) + { + ItpPoint curMousePos = event->globalPos(); + + if ((curMousePos.y - pressTopBarPoint_.y) >= 2) + { + // 触发一次下拉事件后,不再重复触发 + pressTopBar_ = false; + + if (globalTopSettingBar_) + { + std::cout << "topSettingBar_ Show " << std::endl; + globalTopSettingBar_->setVisible(true); + globalTopSettingBar_->update(); + } + } + } #if 0 // 暂时屏蔽长按移动图标功能 if (isMoveMode_ && pressAppBtn_) @@ -274,270 +274,272 @@ bool tpDeskScreen::onMouseMoveEvent(tpMouseEvent *event) } #endif - return false; + return false; } bool tpDeskScreen::onLeaveEvent(tpObjectLeaveEvent *event) { - // if (event->eventType() == tpEvent::EVENT_OBJECT_LEAVE_TYPE) - // { - // if (event->leave()) - // { - // pressTopBar_ = false; - // // update(); - // } - // } - - return true; + // if (event->eventType() == tpEvent::EVENT_OBJECT_LEAVE_TYPE) + // { + // if (event->leave()) + // { + // pressTopBar_ = false; + // // update(); + // } + // } + + return true; } bool tpDeskScreen::eventFilter(tpObject *watched, tpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) - { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); - if (!mouseKeyEvent) - return false; - - // std::cout << "eventFilter MouseKey States : " << mouseKeyEvent->state() << std::endl; - onMousePressEvent(mouseKeyEvent); - - if (isMoveMode_ && watched == mainAppPanel_) - { - std::cout << "Filter mainAppPanel_ " << std::endl; - return true; - } - } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) - { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); - if (!mouseKeyEvent) - return false; - - // std::cout << "eventFilter MouseKey States : " << mouseKeyEvent->state() << std::endl; - onMouseRleaseEvent(mouseKeyEvent); - - if (isMoveMode_ && watched == mainAppPanel_) - { - std::cout << "Filter mainAppPanel_ " << std::endl; - return true; - } - } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) - { - tpMouseEvent *mouseMotionEvent = dynamic_cast(event); - if (!mouseMotionEvent) - return false; - - onMouseMoveEvent(mouseMotionEvent); - - if (isMoveMode_ && watched == mainAppPanel_) - { - return true; - } - } - else - { - } - - return false; + if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + { + tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + if (!mouseKeyEvent) + return false; + + // std::cout << "eventFilter MouseKey States : " << mouseKeyEvent->state() << std::endl; + onMousePressEvent(mouseKeyEvent); + + if (isMoveMode_ && watched == mainAppPanel_) + { + std::cout << "Filter mainAppPanel_ " << std::endl; + return true; + } + } + else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + { + tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + if (!mouseKeyEvent) + return false; + + // std::cout << "eventFilter MouseKey States : " << mouseKeyEvent->state() << std::endl; + onMouseRleaseEvent(mouseKeyEvent); + + if (isMoveMode_ && watched == mainAppPanel_) + { + std::cout << "Filter mainAppPanel_ " << std::endl; + return true; + } + } + else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + { + tpMouseEvent *mouseMotionEvent = dynamic_cast(event); + if (!mouseMotionEvent) + return false; + + onMouseMoveEvent(mouseMotionEvent); + + if (isMoveMode_ && watched == mainAppPanel_) + { + return true; + } + } + else + { + } + + return false; } void tpDeskScreen::slotOperateApp(desktopAppButton *operateBtn) { - if (operateBtn) - { - ItpRect btnRect = operateBtn->toScreen(); - btnRect.w = operateBtn->iconSize().w; - btnRect.h = operateBtn->iconSize().h; - - // 绘制全局遮罩层,只留长按的按钮显示 - maskWindow_->setAppRect(btnRect, operateBtn->roundCorners()); - maskWindow_->showMaximum(); - - // uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); - - operateMenu_->exec(btnRect.x, btnRect.y - tpDisplay::dp2Px(11) - operateMenu_->height()); - } - else - { - // APP抖动 - tpList appList = mainAppPanel_->objectList(); - for (const auto &appButton : appList) - { - desktopAppButton *iconButton = dynamic_cast(appButton); - if (!iconButton) - continue; - - // iconButton->setRotate(); - } - } - - std::cout << " isMoveMode_ True " << std::endl; - isMoveMode_ = true; + if (operateBtn) + { + ItpRect btnRect = operateBtn->toScreen(); + btnRect.w = operateBtn->iconSize().w; + btnRect.h = operateBtn->iconSize().h; + + // 绘制全局遮罩层,只留长按的按钮显示 + maskWindow_->setAppRect(btnRect, operateBtn->roundCorners()); + maskWindow_->showMaximum(); + + // uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); + + operateMenu_->exec(btnRect.x, btnRect.y - tpDisplay::dp2Px(11) - operateMenu_->height()); + } + else + { + // APP抖动 + tpList appList = mainAppPanel_->objectList(); + for (const auto &appButton : appList) + { + desktopAppButton *iconButton = dynamic_cast(appButton); + if (!iconButton) + continue; + + // iconButton->setRotate(); + } + } + + std::cout << " isMoveMode_ True " << std::endl; + isMoveMode_ = true; } void tpDeskScreen::slotDeleteApp(desktopAppButton *operateBtn) { - if (!operateBtn) - { - std::cout << "卸载应用对象获取失败!" << std::endl; - return; - } - - tpString removeUuid = operateBtn->property("UUID").toString(); - - if (removeUuid.empty()) - { - std::cout << "应用UUID获取失败!" << std::endl; - return; - } - - // 如果应用正在运行,先杀掉进程 - if (globalUuidPidMap_.contains(removeUuid)) - { - int32_t pid = globalUuidPidMap_.value(removeUuid); - - std::lock_guard lock_g(readRunAppMutex_); - globalUuidPidMap_.erase(removeUuid); - globalRunAppMap_.erase(pid); - - std::cout << "结束应用 pid: " << pid << std::endl; - tinyPiX_sys_kill_process(globalAgent, pid); - } - - // 重置缓存操作按钮 - pressAppBtn_ = nullptr; - - // UI移除应用图标 - // 判断是不是底部工具栏的应用 - if (bottomFloatBar_->bottomAppBtnList().contains(operateBtn)) - { - bottomFloatBar_->removeApp(operateBtn); - - for (const auto &bottomAppInfo : bottomBarAppList_) - { - if (bottomAppInfo->appUuid.compare(removeUuid) == 0) - { - bottomBarAppList_.remove(bottomAppInfo); - } - } - } - else - { - // 桌面移除卸载APP - for (auto &allAppInfoIter : allAppInfoMap_) - { - for (auto &appInfo : allAppInfoIter.second) - { - if (appInfo->appUuid.compare(removeUuid) == 0) - { - allAppInfoIter.second.remove(appInfo); - break; - } - } - } - - // 滚动窗移除APP - mainAppPanel_->delObject(operateBtn); - - // 内存泄漏 - // operateBtn->deleteLater(); - } - - // 卸载应用 - appInstallPtr_->remove(removeUuid); - - update(); + if (!operateBtn) + { + std::cout << "卸载应用对象获取失败!" << std::endl; + return; + } + + tpString removeUuid = operateBtn->property("UUID").toString(); + + if (removeUuid.empty()) + { + std::cout << "应用UUID获取失败!" << std::endl; + return; + } + + // 如果应用正在运行,先杀掉进程 + if (globalUuidPidMap_.contains(removeUuid)) + { + int32_t pid = globalUuidPidMap_.value(removeUuid); + + std::lock_guard lock_g(readRunAppMutex_); + globalUuidPidMap_.erase(removeUuid); + globalRunAppMap_.erase(pid); + + std::cout << "结束应用 pid: " << pid << std::endl; + tinyPiX_sys_kill_process(globalAgent, pid); + } + + // 重置缓存操作按钮 + pressAppBtn_ = nullptr; + + // UI移除应用图标 + // 判断是不是底部工具栏的应用 + if (bottomFloatBar_->bottomAppBtnList().contains(operateBtn)) + { + bottomFloatBar_->removeApp(operateBtn); + + for (const auto &bottomAppInfo : bottomBarAppList_) + { + if (bottomAppInfo->appUuid.compare(removeUuid) == 0) + { + bottomBarAppList_.remove(bottomAppInfo); + } + } + } + else + { + // 桌面移除卸载APP + for (auto &allAppInfoIter : allAppInfoMap_) + { + for (auto &appInfo : allAppInfoIter.second) + { + if (appInfo->appUuid.compare(removeUuid) == 0) + { + allAppInfoIter.second.remove(appInfo); + break; + } + } + } + + // 滚动窗移除APP + mainAppPanel_->delObject(operateBtn); + + // 内存泄漏 + // operateBtn->deleteLater(); + } + + // 卸载应用 + appInstallPtr_->remove(removeUuid); + + update(); } void tpDeskScreen::slotTimeoutInstallApp() { - std::cout << "安装应用UUID" << appInstallPtr_->getAppUUID() << std::endl; - - int installSchedule = appInstallPtr_->getInstallSchedule(); - std::cout << "安装进度: " << installSchedule << std::endl; - - // 更新安装进度UI - installingApp_->setInstallProgress(installSchedule); - if (installSchedule == 100) - { - // 安装完成 - appInstallTimer_->stop(); - } + std::cout << "安装应用UUID" << appInstallPtr_->getAppUUID() << std::endl; + + int installSchedule = appInstallPtr_->getInstallSchedule(); + std::cout << "安装进度: " << installSchedule << std::endl; + + // 更新安装进度UI + installingApp_->setInstallProgress(installSchedule); + if (installSchedule == 100) + { + // 安装完成 + appInstallTimer_->stop(); + } } void tpDeskScreen::initData() { - globalTopSettingBar_ = new appSettingBar(); - if (globalTopSettingBar_ == nullptr) - { - std::cout << "topSettingBar init error!" << std::endl; - std::exit(0); - } - globalTopSettingBar_->setVisible(false); - - topFloatBar_ = new topBar(this); - if (topFloatBar_ == nullptr) - { - std::cout << "topbar init error!" << std::endl; - std::exit(0); - } - topFloatBar_->installEventFilter(this); - - bottomFloatBar_ = new bottomBar(this); - if (bottomFloatBar_ == nullptr) - { - std::cout << "bottomBar init error!" << std::endl; - std::exit(0); - } - bottomFloatBar_->installEventFilter(this); - - navigationFloatBar_ = new navigationBar(); - if (navigationFloatBar_ == nullptr) - { - std::cout << "navigationFloatBar_ init error!" << std::endl; - std::exit(0); - } - navigationFloatBar_->installEventFilter(this); - - // globalSysLockWindow = new sysLockWindow(); - // if (globalSysLockWindow == nullptr) - // { - // std::cout << "sysLockWindow init error!" << std::endl; - // std::exit(0); - // } - // globalSysLockWindow->setVisible(false); - - globalAppTaskWindow = new appTaskManageWindow(); - if (globalAppTaskWindow == nullptr) - { - std::cout << "globalAppTaskWindow init error!" << std::endl; - std::exit(0); - } - - globalAgent = tinyPiX_sys_create(); - - mainAppPanel_ = new mainAppScrollPanel(this); - if (mainAppPanel_ == nullptr) - { - std::cout << "mainAppPanel_ init error!" << std::endl; - std::exit(0); - } - mainAppPanel_->installEventFilter(this); - - carouselButton_ = new tpCarouselButton(this); - - connect(mainAppPanel_, onPageChanged, [=](uint32_t curPage_) - { carouselButton_->setCurrentIndex(curPage_); }); - - maskWindow_ = new appOperateMaskWindow(); - maskWindow_->installEventFilter(this); - - operateMenu_ = new tpMenu(); - uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); - connect(operateMenu_, onClicked, [=](uint32_t index) - { + globalTopSettingBar_ = new appSettingBar(); + if (globalTopSettingBar_ == nullptr) + { + std::cout << "topSettingBar init error!" << std::endl; + std::exit(0); + } + globalTopSettingBar_->setVisible(false); + + topFloatBar_ = new topBar(this); + if (topFloatBar_ == nullptr) + { + std::cout << "topbar init error!" << std::endl; + std::exit(0); + } + topFloatBar_->installEventFilter(this); + + bottomFloatBar_ = new bottomBar(this); + if (bottomFloatBar_ == nullptr) + { + std::cout << "bottomBar init error!" << std::endl; + std::exit(0); + } + bottomFloatBar_->installEventFilter(this); + + navigationFloatBar_ = new navigationBar(); + if (navigationFloatBar_ == nullptr) + { + std::cout << "navigationFloatBar_ init error!" << std::endl; + std::exit(0); + } + navigationFloatBar_->installEventFilter(this); + + // globalSysLockWindow = new sysLockWindow(); + // if (globalSysLockWindow == nullptr) + // { + // std::cout << "sysLockWindow init error!" << std::endl; + // std::exit(0); + // } + // globalSysLockWindow->setVisible(false); + + globalAppTaskWindow = new appTaskManageWindow(); + if (globalAppTaskWindow == nullptr) + { + std::cout << "globalAppTaskWindow init error!" << std::endl; + std::exit(0); + } + // globalAppTaskWindow->setVisible(false); + + globalAgent = tinyPiX_sys_create(); + + mainAppPanel_ = new mainAppScrollPanel(this); + if (mainAppPanel_ == nullptr) + { + std::cout << "mainAppPanel_ init error!" << std::endl; + std::exit(0); + } + mainAppPanel_->installEventFilter(this); + + carouselButton_ = new tpCarouselButton(this); + + connect(mainAppPanel_, onPageChanged, [=](uint32_t curPage_) + { carouselButton_->setCurrentIndex(curPage_); }); + + maskWindow_ = new appOperateMaskWindow(); + maskWindow_->installEventFilter(this); + // maskWindow_->setVisible(false); + + operateMenu_ = new tpMenu(); + uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); + connect(operateMenu_, onClicked, [=](uint32_t index) + { std::cout << " index " << index << std::endl; std::cout << " delIndex " << delIndex << std::endl; @@ -549,260 +551,260 @@ void tpDeskScreen::initData() maskWindow_->close(); } }); - appInstallPtr_ = new tpAppInstall(""); - appInstallTimer_ = new tpTimer(800); - connect(appInstallTimer_, timeout, this, &tpDeskScreen::slotTimeoutInstallApp); + appInstallPtr_ = new tpAppInstall(""); + appInstallTimer_ = new tpTimer(800); + connect(appInstallTimer_, timeout, this, &tpDeskScreen::slotTimeoutInstallApp); } void tpDeskScreen::intDeskAppConfig() { - // 获取所有已安装的APP的UUID列表 - tpVector installAppUuidList = tpAppConfigIO::installAppUuidList(); - - // 应用数量为0;后边就不用处理了 - uint32_t appCount = installAppUuidList.size(); - if (appCount == 0) - return; - - // 解析APP所在页和行列信息 - tpJsonObject appPageInfoJsonObj; - - tpFile appPageInfoFile(applicationDirPath() + "/../conf/appIndexConfig.json"); - appPageInfoFile.open(tpFile::ReadOnly); - if (appPageInfoFile.isOpen()) - { - tpString appPageInfoStr = appPageInfoFile.readAll(); - appPageInfoFile.close(); - - // 转换json对象 - appPageInfoJsonObj = tpJsonDocument::fromJson(appPageInfoStr).object(); - } - - // 解析在BottomBar中的App - tpVector bottomBarAppUuidList; - - tpFile bottomBarAppInfoFile(applicationDirPath() + "/../conf/bottomBarAppConfig.json"); - bottomBarAppInfoFile.open(tpFile::ReadOnly); - if (bottomBarAppInfoFile.isOpen()) - { - tpString botomBarAppInfoJsonStr = bottomBarAppInfoFile.readAll(); - - tpJsonObject bottomBarAppJson = tpJsonDocument::fromJson(botomBarAppInfoJsonStr).object(); - - tpJsonArray bottomAppIdList = bottomBarAppJson.value("appList").toArray(); - for (int i = 0; i < bottomAppIdList.count(); ++i) - { - tpString bottomUuid = bottomAppIdList.at(i).toString(); - bottomBarAppUuidList.emplace_back(bottomUuid); - } - - bottomBarAppInfoFile.close(); - } - - curPage_ = 0; - - uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; - - // 上一页放不下的APP - tpList cachePageAppList; - - for (int32_t i = 0; i < installAppUuidList.size(); ++i) - { - tpString curAppUuid = installAppUuidList.at(i); - - // 查询该应用是否有配置页数和行列信息 - if (appPageInfoJsonObj.contains(curAppUuid)) - { - tpJsonObject curAppPageInfoObj = appPageInfoJsonObj.value(curAppUuid).toObject(); - uint32_t appPage = curAppPageInfoObj.value("page").toUint(); - uint32_t appIndex = curAppPageInfoObj.value("index").toUint(); - - std::cout << "appUuid: " << curAppUuid << " page: " << appPage << " index : " << appIndex << std::endl; - - ApplicationInfoSPtr appInfoSPtr = std::make_shared(); - appInfoSPtr->appUuid = curAppUuid; - appInfoSPtr->page = appPage; - appInfoSPtr->index = appIndex; - - auto &curPageAppList = allAppInfoMap_[appPage]; - - if (curPageAppList.size() >= pageMaxAppCount) - { - cachePageAppList.emplace_back(appInfoSPtr); - } - else - { - allAppInfoMap_[appPage].insertData(appIndex, appInfoSPtr); - } - } - else if (bottomBarAppUuidList.contains(curAppUuid)) - { - // 查询该APP是否是放置在bottomBar的 - ApplicationInfoSPtr appInfoSPtr = std::make_shared(); - appInfoSPtr->appUuid = curAppUuid; - appInfoSPtr->page = 0; - appInfoSPtr->index = 0; - - bottomBarAppList_.emplace_back(appInfoSPtr); - // bottomFloatBar_->addBottomApp(appInfoSPtr); - } - else - { - // 当前应用,配置文件中没有记录页数和行列信息;放入缓存容器 - ApplicationInfoSPtr appInfoSPtr = std::make_shared(); - appInfoSPtr->appUuid = curAppUuid; - appInfoSPtr->page = 0; - appInfoSPtr->index = 0; - cachePageAppList.emplace_back(appInfoSPtr); - } - } - - // 放置冗余的APP - for (auto &cacheAppPtr : cachePageAppList) - { - uint32_t currentPage = cacheAppPtr->page; - - // 寻找足够空间的页 - while (allAppInfoMap_[currentPage].size() >= pageMaxAppCount) - { - ++currentPage; - } - - auto &newPageApps = allAppInfoMap_[currentPage]; - - uint32_t findIndex = findAppIndex(newPageApps); - - // 将APP移动到新页 - cacheAppPtr->page = currentPage; - cacheAppPtr->index = findIndex; - newPageApps.emplace_back(cacheAppPtr); - } - - // 计算当前APP共有多少页 - uint32_t pageMaxNum = 0; - for (const auto &appIter : allAppInfoMap_) - { - if (appIter.first > pageMaxNum) - pageMaxNum = appIter.first; - } - - mainAppPanel_->setMaxPage(pageMaxNum + 1); - carouselButton_->setCount(pageMaxNum + 1); - - createAppBtn(); - - // 指定页码刷新 - refreshAppPage(curPage_); + // 获取所有已安装的APP的UUID列表 + tpVector installAppUuidList = tpAppConfigIO::installAppUuidList(); + + // 应用数量为0;后边就不用处理了 + uint32_t appCount = installAppUuidList.size(); + if (appCount == 0) + return; + + // 解析APP所在页和行列信息 + tpJsonObject appPageInfoJsonObj; + + tpFile appPageInfoFile(applicationDirPath() + "/../conf/appIndexConfig.json"); + appPageInfoFile.open(tpFile::ReadOnly); + if (appPageInfoFile.isOpen()) + { + tpString appPageInfoStr = appPageInfoFile.readAll(); + appPageInfoFile.close(); + + // 转换json对象 + appPageInfoJsonObj = tpJsonDocument::fromJson(appPageInfoStr).object(); + } + + // 解析在BottomBar中的App + tpVector bottomBarAppUuidList; + + tpFile bottomBarAppInfoFile(applicationDirPath() + "/../conf/bottomBarAppConfig.json"); + bottomBarAppInfoFile.open(tpFile::ReadOnly); + if (bottomBarAppInfoFile.isOpen()) + { + tpString botomBarAppInfoJsonStr = bottomBarAppInfoFile.readAll(); + + tpJsonObject bottomBarAppJson = tpJsonDocument::fromJson(botomBarAppInfoJsonStr).object(); + + tpJsonArray bottomAppIdList = bottomBarAppJson.value("appList").toArray(); + for (int i = 0; i < bottomAppIdList.count(); ++i) + { + tpString bottomUuid = bottomAppIdList.at(i).toString(); + bottomBarAppUuidList.emplace_back(bottomUuid); + } + + bottomBarAppInfoFile.close(); + } + + curPage_ = 0; + + uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; + + // 上一页放不下的APP + tpList cachePageAppList; + + for (int32_t i = 0; i < installAppUuidList.size(); ++i) + { + tpString curAppUuid = installAppUuidList.at(i); + + // 查询该应用是否有配置页数和行列信息 + if (appPageInfoJsonObj.contains(curAppUuid)) + { + tpJsonObject curAppPageInfoObj = appPageInfoJsonObj.value(curAppUuid).toObject(); + uint32_t appPage = curAppPageInfoObj.value("page").toUint(); + uint32_t appIndex = curAppPageInfoObj.value("index").toUint(); + + std::cout << "appUuid: " << curAppUuid << " page: " << appPage << " index : " << appIndex << std::endl; + + ApplicationInfoSPtr appInfoSPtr = std::make_shared(); + appInfoSPtr->appUuid = curAppUuid; + appInfoSPtr->page = appPage; + appInfoSPtr->index = appIndex; + + auto &curPageAppList = allAppInfoMap_[appPage]; + + if (curPageAppList.size() >= pageMaxAppCount) + { + cachePageAppList.emplace_back(appInfoSPtr); + } + else + { + allAppInfoMap_[appPage].insertData(appIndex, appInfoSPtr); + } + } + else if (bottomBarAppUuidList.contains(curAppUuid)) + { + // 查询该APP是否是放置在bottomBar的 + ApplicationInfoSPtr appInfoSPtr = std::make_shared(); + appInfoSPtr->appUuid = curAppUuid; + appInfoSPtr->page = 0; + appInfoSPtr->index = 0; + + bottomBarAppList_.emplace_back(appInfoSPtr); + // bottomFloatBar_->addBottomApp(appInfoSPtr); + } + else + { + // 当前应用,配置文件中没有记录页数和行列信息;放入缓存容器 + ApplicationInfoSPtr appInfoSPtr = std::make_shared(); + appInfoSPtr->appUuid = curAppUuid; + appInfoSPtr->page = 0; + appInfoSPtr->index = 0; + cachePageAppList.emplace_back(appInfoSPtr); + } + } + + // 放置冗余的APP + for (auto &cacheAppPtr : cachePageAppList) + { + uint32_t currentPage = cacheAppPtr->page; + + // 寻找足够空间的页 + while (allAppInfoMap_[currentPage].size() >= pageMaxAppCount) + { + ++currentPage; + } + + auto &newPageApps = allAppInfoMap_[currentPage]; + + uint32_t findIndex = findAppIndex(newPageApps); + + // 将APP移动到新页 + cacheAppPtr->page = currentPage; + cacheAppPtr->index = findIndex; + newPageApps.emplace_back(cacheAppPtr); + } + + // 计算当前APP共有多少页 + uint32_t pageMaxNum = 0; + for (const auto &appIter : allAppInfoMap_) + { + if (appIter.first > pageMaxNum) + pageMaxNum = appIter.first; + } + + mainAppPanel_->setMaxPage(pageMaxNum + 1); + carouselButton_->setCount(pageMaxNum + 1); + + createAppBtn(); + + // 指定页码刷新 + refreshAppPage(curPage_); } void tpDeskScreen::createAppBtn() { - uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; - - tpString appConfigDirPath = appConfigPathStr_ + APP_CONFIG_SON_PATH; - tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH; - - // APP显示区域的宽度 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; - - // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 - uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; - - // 最后一个按钮的指针,用于获取按钮的宽高 - desktopAppButton *finalBtn = nullptr; - - // 将每一页的APP都添加到滚动窗口,按页码计算X偏移量 - for (const auto &pageAppInfoIter : allAppInfoMap_) - { - uint32_t appPage = pageAppInfoIter.first; - tpList curPageAppList = pageAppInfoIter.second; - - for (const auto &appInfoSptrIter : curPageAppList) - { - // 解析应用图标、名称信息 - tpAppConfigIO configIO(appInfoSptrIter->appUuid); - - desktopAppButton *appBtn = createDeskAppBtn(appInfoSptrIter, configIO.iconPath(), configIO.appName()); - if (!appBtn) - continue; - // appBtn->setInstallProgress(40); - finalBtn = appBtn; - } - } - - // 计算一页里面,所有行列的XY坐标 - if (finalBtn) - { - tpVector rowYList; - tpVector columnXList; - - for (int row = 0; row < globalAppMaxRow; ++row) - { - uint32_t appY = row * (APP_V_INTERVAL + finalBtn->rect().h); - rowYList.emplace_back(appY); - - if (row == 0) - { - for (int column = 0; column < globalAppMaxColumn; ++column) - { - // pageNum * mainAppPanelWidth + appX - uint32_t appX = panelHMargin + (column % globalAppMaxColumn) * (globalAppHInterval + finalBtn->rect().w); - columnXList.emplace_back(appX); - } - } - } - - caculateAppPosPtr_.setRowY(rowYList); - caculateAppPosPtr_.setColumnX(columnXList); - } - - // 创建工具栏的图标 - tpList bottomAppList; - for (const auto &bottomAppInfo : bottomBarAppList_) - { - // 解析应用图标、名称信息 - tpAppConfigIO configIO(bottomAppInfo->appUuid); - - desktopAppButton *appBtn = configAppBtn(bottomAppInfo->appUuid, configIO.iconPath(), configIO.appName()); - bottomAppList.emplace_back(appBtn); - } - bottomFloatBar_->setBottomAppBtn(bottomAppList); - - mainAppPanel_->recal(true); + uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; + + tpString appConfigDirPath = appConfigPathStr_ + APP_CONFIG_SON_PATH; + tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH; + + // APP显示区域的宽度 + uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; + uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + + // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 + uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; + + // 最后一个按钮的指针,用于获取按钮的宽高 + desktopAppButton *finalBtn = nullptr; + + // 将每一页的APP都添加到滚动窗口,按页码计算X偏移量 + for (const auto &pageAppInfoIter : allAppInfoMap_) + { + uint32_t appPage = pageAppInfoIter.first; + tpList curPageAppList = pageAppInfoIter.second; + + for (const auto &appInfoSptrIter : curPageAppList) + { + // 解析应用图标、名称信息 + tpAppConfigIO configIO(appInfoSptrIter->appUuid); + + desktopAppButton *appBtn = createDeskAppBtn(appInfoSptrIter, configIO.iconPath(), configIO.appName()); + if (!appBtn) + continue; + // appBtn->setInstallProgress(40); + finalBtn = appBtn; + } + } + + // 计算一页里面,所有行列的XY坐标 + if (finalBtn) + { + tpVector rowYList; + tpVector columnXList; + + for (int row = 0; row < globalAppMaxRow; ++row) + { + uint32_t appY = row * (APP_V_INTERVAL + finalBtn->rect().h); + rowYList.emplace_back(appY); + + if (row == 0) + { + for (int column = 0; column < globalAppMaxColumn; ++column) + { + // pageNum * mainAppPanelWidth + appX + uint32_t appX = panelHMargin + (column % globalAppMaxColumn) * (globalAppHInterval + finalBtn->rect().w); + columnXList.emplace_back(appX); + } + } + } + + caculateAppPosPtr_.setRowY(rowYList); + caculateAppPosPtr_.setColumnX(columnXList); + } + + // 创建工具栏的图标 + tpList bottomAppList; + for (const auto &bottomAppInfo : bottomBarAppList_) + { + // 解析应用图标、名称信息 + tpAppConfigIO configIO(bottomAppInfo->appUuid); + + desktopAppButton *appBtn = configAppBtn(bottomAppInfo->appUuid, configIO.iconPath(), configIO.appName()); + bottomAppList.emplace_back(appBtn); + } + bottomFloatBar_->setBottomAppBtn(bottomAppList); + + mainAppPanel_->recal(true); } void tpDeskScreen::refreshMainAppPanel() { - uint32_t tHeight = topFloatBar_->height(); - uint32_t bottomBarHeight = bottomFloatBar_->height(); + uint32_t tHeight = topFloatBar_->height(); + uint32_t bottomBarHeight = bottomFloatBar_->height(); - // 计算APP显示区域大小位置 - uint32_t appDisplayHeight = height() - tHeight - bottomBarHeight; + // 计算APP显示区域大小位置 + uint32_t appDisplayHeight = height() - tHeight - bottomBarHeight; - // uint32_t appIntervalPx = appDisplayHeight * 0.0279; + // uint32_t appIntervalPx = appDisplayHeight * 0.0279; - // 减去距离上部Bar和下部bar的距离,在减去bottomBar距离边界距离 - uint32_t mainAppPanelHeight = height() - tHeight - bottomBarHeight - tpDisplay::dp2Px(20) * 2 - tpDisplay::dp2Px(19); + // 减去距离上部Bar和下部bar的距离,在减去bottomBar距离边界距离 + uint32_t mainAppPanelHeight = height() - tHeight - bottomBarHeight - tpDisplay::dp2Px(20) * 2 - tpDisplay::dp2Px(19); - mainAppPanel_->setWidth(rect().w); - mainAppPanel_->setHeight(mainAppPanelHeight); - mainAppPanel_->move(0, MAIN_PANEL_TOP_DISTANCE + tHeight); + mainAppPanel_->setWidth(rect().w); + mainAppPanel_->setHeight(mainAppPanelHeight); + mainAppPanel_->move(0, MAIN_PANEL_TOP_DISTANCE + tHeight); - mainAppPanel_->setScrollMode(!isLandscapeScreen_); - mainAppPanel_->setHorizontalScrollBarVisible(false); - mainAppPanel_->setVerticalScrollBarVisible(false); + mainAppPanel_->setScrollMode(!isLandscapeScreen_); + mainAppPanel_->setHorizontalScrollBarVisible(false); + mainAppPanel_->setVerticalScrollBarVisible(false); - mainAppPanel_->recal(true); - mainAppPanel_->update(); + mainAppPanel_->recal(true); + mainAppPanel_->update(); - uint32_t carouselButtonX = (width() - carouselButton_->width()) / 2.0; - uint32_t carouselButtonY = mainAppPanel_->pos().y + mainAppPanel_->height() - carouselButton_->height(); + uint32_t carouselButtonX = (width() - carouselButton_->width()) / 2.0; + uint32_t carouselButtonY = mainAppPanel_->pos().y + mainAppPanel_->height() - carouselButton_->height(); - // std::cout << "carouselButtonX " << carouselButtonX << " carouselButtonY" << carouselButtonY << std::endl; - // std::cout << "carouselButtonW " << carouselButton_->width() << " carouselButtonH" << carouselButton_->height() << std::endl; + // std::cout << "carouselButtonX " << carouselButtonX << " carouselButtonY" << carouselButtonY << std::endl; + // std::cout << "carouselButtonW " << carouselButton_->width() << " carouselButtonH" << carouselButton_->height() << std::endl; - carouselButton_->move(carouselButtonX, carouselButtonY); + carouselButton_->move(carouselButtonX, carouselButtonY); } void tpDeskScreen::refreshAppPage(const uint32_t &pageNum) @@ -811,261 +813,261 @@ void tpDeskScreen::refreshAppPage(const uint32_t &pageNum) void tpDeskScreen::refreshBar() { - if (!topFloatBar_ || !bottomFloatBar_) - return; + if (!topFloatBar_ || !bottomFloatBar_) + return; - // 计算底部bar的X坐标 - uint32_t bottomX = (width() - BOTTOM_BAR_WIDTH) / 2.0; - uint32_t bottomY = height() - BOTTOM_BAR_HEIGHT - tpDisplay::dp2Px(19); + // 计算底部bar的X坐标 + uint32_t bottomX = (width() - BOTTOM_BAR_WIDTH) / 2.0; + uint32_t bottomY = height() - BOTTOM_BAR_HEIGHT - tpDisplay::dp2Px(19); - bottomFloatBar_->setRoundCorners(13); + bottomFloatBar_->setRoundCorners(13); - BAR_SET_ATTRIB(topFloatBar_, tpFixScreen::ITP_FULL_STYLE, 0, 0, width(), TOP_BAR_HEIGHT); - BAR_SET_ATTRIB(bottomFloatBar_, tpFixScreen::ITP_FULL_STYLE, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); + BAR_SET_ATTRIB(topFloatBar_, tpFixScreen::ITP_FULL_STYLE, 0, 0, width(), TOP_BAR_HEIGHT); + BAR_SET_ATTRIB(bottomFloatBar_, tpFixScreen::ITP_FULL_STYLE, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); - uint32_t navigationX = (width() - navigationFloatBar_->width()) / 2.0; - BAR_SET_ATTRIB(navigationFloatBar_, tpFixScreen::ITP_FULL_STYLE, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); + uint32_t navigationX = (width() - navigationFloatBar_->width()) / 2.0; + BAR_SET_ATTRIB(navigationFloatBar_, tpFixScreen::ITP_FULL_STYLE, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); } desktopAppButton *tpDeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const tpString &iconPath, const tpString &appName) { - desktopAppButton *appBtn = configAppBtn(appInfo->appUuid, iconPath, appName); - if (!appBtn) - return nullptr; + desktopAppButton *appBtn = configAppBtn(appInfo->appUuid, iconPath, appName); + if (!appBtn) + return nullptr; - // APP显示区域的宽度 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + // APP显示区域的宽度 + uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; + uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; - // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 - uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; + // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 + uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; - uint32_t appIndex = appInfo->index; - uint32_t appPage = appInfo->page; + uint32_t appIndex = appInfo->index; + uint32_t appPage = appInfo->page; - ItpRect iconButtonRect = appBtn->rect(); + ItpRect iconButtonRect = appBtn->rect(); - uint32_t curAppRow = (appIndex / globalAppMaxColumn); + uint32_t curAppRow = (appIndex / globalAppMaxColumn); - uint32_t appX = appPage * mainAppPanelWidth + panelHMargin + (appIndex % globalAppMaxColumn) * (globalAppHInterval + iconButtonRect.w); - uint32_t appY = curAppRow * (APP_V_INTERVAL + iconButtonRect.h); + uint32_t appX = appPage * mainAppPanelWidth + panelHMargin + (appIndex % globalAppMaxColumn) * (globalAppHInterval + iconButtonRect.w); + uint32_t appY = curAppRow * (APP_V_INTERVAL + iconButtonRect.h); - appBtn->move(appX, appY); + appBtn->move(appX, appY); - appBtn->installEventFilter(mainAppPanel_); - mainAppPanel_->addObject(appBtn); + appBtn->installEventFilter(mainAppPanel_); + mainAppPanel_->addObject(appBtn); - return appBtn; + return appBtn; } desktopAppButton *tpDeskScreen::configAppBtn(const tpString &appUuid, const tpString &iconPath, const tpString &appName) { - // 根据APP uuid去查询App配置文件 - desktopAppButton *appBtn = new desktopAppButton(iconPath, appName, nullptr); - appBtn->setProperty("UUID", appUuid); + // 根据APP uuid去查询App配置文件 + desktopAppButton *appBtn = new desktopAppButton(iconPath, appName, nullptr); + appBtn->setProperty("UUID", appUuid); - connect(appBtn, onClicked, [=](bool) - { startApp(appUuid); }); + connect(appBtn, onClicked, [=](bool) + { startApp(appUuid); }); - connect(appBtn, onLongPress, [=]() - { slotOperateApp(appBtn); }); + connect(appBtn, onLongPress, [=]() + { slotOperateApp(appBtn); }); - connect(appBtn, onPressed, [=]() - { pressAppBtn_ = appBtn; pressBtnRect_ = appBtn->rect(); }); + connect(appBtn, onPressed, [=]() + { pressAppBtn_ = appBtn; pressBtnRect_ = appBtn->rect(); }); - appBtn->setEnableBackGroundColor(false); - appBtn->setEnabledBorderColor(false); - appBtn->setVisible(true); - appBtn->setRoundCorners(13); + appBtn->setEnableBackGroundColor(false); + appBtn->setEnabledBorderColor(false); + appBtn->setVisible(true); + appBtn->setRoundCorners(13); - appBtn->font()->setFontColor(_RGB(255, 255, 255), _RGB(255, 255, 255)); - appBtn->font()->setFontSize(APP_FONT_SIZE); + appBtn->font()->setFontColor(_RGB(255, 255, 255), _RGB(255, 255, 255)); + appBtn->font()->setFontSize(APP_FONT_SIZE); - appBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); + appBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); - return appBtn; + return appBtn; } void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argList) { - // 是否是系统安装包 - if (uuid.compare("SytemAppInstallUuid") == 0) - { - if (argList.size() == 0) - { - std::cout << "未收到安装文件路径 " << std::endl; - return; - } - - installApp(argList.front()); - return; - } - - tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH + uuid; - - tpDir appFileDir(appFileDirPath); - if (!appFileDir.exists()) - { - std::cout << "UUid: " << uuid << " 应用文件夹不存在" << std::endl; - return; - } - - // 启动对应应用 - if (globalUuidPidMap_.contains(uuid)) - { - int32_t pid = globalUuidPidMap_.value(uuid); - - // 根据pid查询winid - PiShmBytes *appIdList = nullptr; - int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); - - int32_t winId = 0; - for (int i = 0; i < appSize; ++i) - { - PiShmBytes appIdInfo = appIdList[i]; - if (appIdInfo.p_id == pid) - { - winId = appIdInfo.s_id; - break; - } - } - - std::cout << "恢复应用 pid: " << pid << std::endl; - tinyPiX_sys_set_visible(globalAgent, winId, true); - tinyPiX_sys_set_active(globalAgent, winId, true); - } - else - { - // 解析应用图标、名称信息 - tpAppConfigIO configIO(uuid); - - tpString runnerPath = configIO.runnerPath(); - tpFileInfo runnerFileInfo(runnerPath); - if (!runnerFileInfo.exists()) - { - std::cout << "应用 " << configIO.appName() << " 可执行程序不存在!" << std::endl; - return; - } - - tpProcess exeProcess; - exeProcess.start(runnerPath, argList); - // exeProcess.start(exePathStr); - int32_t processPID = exeProcess.launchProcessID(); - - RunAppInfo runAppInfo; - runAppInfo.appName = configIO.appName(); - runAppInfo.appUuid = uuid; - runAppInfo.appIconPath = configIO.iconPath(); - runAppInfo.pid = processPID; - - std::cout << "processPID " << processPID << std::endl; - std::lock_guard lock_g(readRunAppMutex_); - globalRunAppMap_[processPID] = runAppInfo; - globalUuidPidMap_[uuid] = processPID; - } + // 是否是系统安装包 + if (uuid.compare("SytemAppInstallUuid") == 0) + { + if (argList.size() == 0) + { + std::cout << "未收到安装文件路径 " << std::endl; + return; + } + + installApp(argList.front()); + return; + } + + tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH + uuid; + + tpDir appFileDir(appFileDirPath); + if (!appFileDir.exists()) + { + std::cout << "UUid: " << uuid << " 应用文件夹不存在" << std::endl; + return; + } + + // 启动对应应用 + if (globalUuidPidMap_.contains(uuid)) + { + int32_t pid = globalUuidPidMap_.value(uuid); + + // 根据pid查询winid + PiShmBytes *appIdList = nullptr; + int appSize = 0; + tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); + + int32_t winId = 0; + for (int i = 0; i < appSize; ++i) + { + PiShmBytes appIdInfo = appIdList[i]; + if (appIdInfo.p_id == pid) + { + winId = appIdInfo.s_id; + break; + } + } + + std::cout << "恢复应用 pid: " << pid << std::endl; + tinyPiX_sys_set_visible(globalAgent, winId, true); + tinyPiX_sys_set_active(globalAgent, winId, true); + } + else + { + // 解析应用图标、名称信息 + tpAppConfigIO configIO(uuid); + + tpString runnerPath = configIO.runnerPath(); + tpFileInfo runnerFileInfo(runnerPath); + if (!runnerFileInfo.exists()) + { + std::cout << "应用 " << configIO.appName() << " 可执行程序不存在!" << std::endl; + return; + } + + tpProcess exeProcess; + exeProcess.start(runnerPath, argList); + // exeProcess.start(exePathStr); + int32_t processPID = exeProcess.launchProcessID(); + + RunAppInfo runAppInfo; + runAppInfo.appName = configIO.appName(); + runAppInfo.appUuid = uuid; + runAppInfo.appIconPath = configIO.iconPath(); + runAppInfo.pid = processPID; + + std::cout << "processPID " << processPID << std::endl; + std::lock_guard lock_g(readRunAppMutex_); + globalRunAppMap_[processPID] = runAppInfo; + globalUuidPidMap_[uuid] = processPID; + } } void tpDeskScreen::installApp(const tpString &pkgPath) { - // 应用安装 - appInstallPtr_->setPath(pkgPath); - tpString installAppUuid = appInstallPtr_->getAppUUID(); - - // 判断应用是否已安装 - tpVector instasllAppIDList = tpAppConfigIO::installAppUuidList(); - if (instasllAppIDList.contains(installAppUuid)) - { - tpMessageBox::information("应用已安装!"); - return; - } - - // 查找应用安装的桌面索引 - int32_t installPageNum = -1; - uint32_t installIndex = 0; - - uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; - for (const auto &pageAppInfoIter : allAppInfoMap_) - { - // 当前页应用已放置满 - if (pageAppInfoIter.second.size() >= pageMaxAppCount) - continue; - - installPageNum = pageAppInfoIter.first; - installIndex = findAppIndex(pageAppInfoIter.second); - break; - } - - // 所有页都被装满了,开辟新页 - if (installPageNum == -1) - { - installPageNum = 0; - - ReFindPageNum: - for (const auto &pageAppInfoIter : allAppInfoMap_) - { - if (pageAppInfoIter.first == installPageNum) - { - installPageNum++; - goto ReFindPageNum; - } - } - } - - appInstallPtr_->install(); - - std::cout << "开始安装应用: " << installAppUuid << std::endl; - - ApplicationInfoSPtr installAppInfp = tpMakeShared(); - installAppInfp->appUuid = installAppUuid; - installAppInfp->index = installIndex; - installAppInfp->page = installPageNum; - - allAppInfoMap_[installPageNum].emplace_back(installAppInfp); - - // 桌面添加应用图标以及遮罩层 - tpString iconPath = appInstallPtr_->getIcon(); - tpString appName = appInstallPtr_->getAppName(); - - std::cout << "Install iconPath" << iconPath << std::endl; - std::cout << "Install appName" << appName << std::endl; - - installingApp_ = createDeskAppBtn(installAppInfp, iconPath, appName); - installingApp_->setInstallProgress(0); - - // 启动定时器更新安装进度 - appInstallTimer_->start(); + // 应用安装 + appInstallPtr_->setPath(pkgPath); + tpString installAppUuid = appInstallPtr_->getAppUUID(); + + // 判断应用是否已安装 + tpVector instasllAppIDList = tpAppConfigIO::installAppUuidList(); + if (instasllAppIDList.contains(installAppUuid)) + { + tpMessageBox::information("应用已安装!"); + return; + } + + // 查找应用安装的桌面索引 + int32_t installPageNum = -1; + uint32_t installIndex = 0; + + uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; + for (const auto &pageAppInfoIter : allAppInfoMap_) + { + // 当前页应用已放置满 + if (pageAppInfoIter.second.size() >= pageMaxAppCount) + continue; + + installPageNum = pageAppInfoIter.first; + installIndex = findAppIndex(pageAppInfoIter.second); + break; + } + + // 所有页都被装满了,开辟新页 + if (installPageNum == -1) + { + installPageNum = 0; + + ReFindPageNum: + for (const auto &pageAppInfoIter : allAppInfoMap_) + { + if (pageAppInfoIter.first == installPageNum) + { + installPageNum++; + goto ReFindPageNum; + } + } + } + + appInstallPtr_->install(); + + std::cout << "开始安装应用: " << installAppUuid << std::endl; + + ApplicationInfoSPtr installAppInfp = tpMakeShared(); + installAppInfp->appUuid = installAppUuid; + installAppInfp->index = installIndex; + installAppInfp->page = installPageNum; + + allAppInfoMap_[installPageNum].emplace_back(installAppInfp); + + // 桌面添加应用图标以及遮罩层 + tpString iconPath = appInstallPtr_->getIcon(); + tpString appName = appInstallPtr_->getAppName(); + + std::cout << "Install iconPath" << iconPath << std::endl; + std::cout << "Install appName" << appName << std::endl; + + installingApp_ = createDeskAppBtn(installAppInfp, iconPath, appName); + installingApp_->setInstallProgress(0); + + // 启动定时器更新安装进度 + appInstallTimer_->start(); } uint32_t tpDeskScreen::findAppIndex(const tpList &pageAppList) { - uint32_t findIndex = 0; - if (pageAppList.size() == 0) - return findIndex; - - // 收集所有已使用的索引值 - std::set usedIndices; - for (const auto &appInfo : pageAppList) - { - usedIndices.insert(appInfo->index); - } - - // 查找最小未使用索引 - while (true) - { - // 如果当前候选值不在已使用索引中,即找到最小值 - if (usedIndices.find(findIndex) == usedIndices.end()) - { - return findIndex; - } - findIndex++; - - // 防止整数溢出(虽然实际场景中几乎不可能) - if (findIndex == std::numeric_limits::max()) - { - break; - } - } - - return findIndex; + uint32_t findIndex = 0; + if (pageAppList.size() == 0) + return findIndex; + + // 收集所有已使用的索引值 + std::set usedIndices; + for (const auto &appInfo : pageAppList) + { + usedIndices.insert(appInfo->index); + } + + // 查找最小未使用索引 + while (true) + { + // 如果当前候选值不在已使用索引中,即找到最小值 + if (usedIndices.find(findIndex) == usedIndices.end()) + { + return findIndex; + } + findIndex++; + + // 防止整数溢出(虽然实际场景中几乎不可能) + if (findIndex == std::numeric_limits::max()) + { + break; + } + } + + return findIndex; } diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index e0884f0..b817242 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -5,6 +5,7 @@ appOperateMaskWindow::appOperateMaskWindow() : tpDialog() { setAlpha(204); + setVisible(false); } appOperateMaskWindow::~appOperateMaskWindow() -- Gitee From 5eeafa69df477900541c51e2760cfcea34476128 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 19 Aug 2025 17:25:12 +0800 Subject: [PATCH 04/36] =?UTF-8?q?feat():=20=E8=A7=A3=E5=86=B3=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/deskScreen.h | 2 +- Application/deskTop/src/toolBar/navigationBar.cpp | 3 ++- .../fileManagement/src/browserToolWindow/fileListWindow.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Application/deskTop/src/deskScreen.h b/Application/deskTop/src/deskScreen.h index 1b72199..a2bf139 100644 --- a/Application/deskTop/src/deskScreen.h +++ b/Application/deskTop/src/deskScreen.h @@ -11,7 +11,7 @@ #include "tpMenu.h" #include "tpCarouselButton.h" #include "deskTopGlobal.hpp" -#include "tpDesktopGlobal.h" +#include "tpNetDataGlobal.h" #include "tpGateway.h" #include "tpAppInstall.h" #include "tpTimer.h" diff --git a/Application/deskTop/src/toolBar/navigationBar.cpp b/Application/deskTop/src/toolBar/navigationBar.cpp index 103c8e0..ffdb905 100644 --- a/Application/deskTop/src/toolBar/navigationBar.cpp +++ b/Application/deskTop/src/toolBar/navigationBar.cpp @@ -53,6 +53,7 @@ bool navigationBar::onMousePressEvent(tpMouseEvent *event) bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) { + std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; ItpPoint curPos = event->globalPos(); if (std::abs(curPos.x - mousePressPoint_.x) < 5 && std::abs(curPos.y - mousePressPoint_.y) < 5) { @@ -128,7 +129,7 @@ bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) bool navigationBar::onMouseMoveEvent(tpMouseEvent *event) { static int aaa = 0; - // std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; + std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; // if (event->state()) // { diff --git a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp index 023e0e1..44992cb 100644 --- a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp @@ -10,7 +10,7 @@ #include "tpJsonDocument.h" #include "tpJsonObject.h" #include "tpFile.h" -#include "tpDesktopGlobal.h" +#include "tpNetDataGlobal.h" #include "tpGateway.h" #include "tpSystemApi.h" -- Gitee From a4fb16d88b221d168bfef512ffcad42caedf4849 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Sat, 23 Aug 2025 18:32:54 +0800 Subject: [PATCH 05/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/deskScreen.cpp | 8 ++------ .../deskTop/src/toolBar/navigationBar.cpp | 2 +- Application/deskTop/src/toolBar/topBar.cpp | 6 +++--- .../deskTop/src/toolModule/desktopAppButton.cpp | 6 +++--- .../src/toolWindow/appOperateMaskWindow.cpp | 4 ++-- .../deskTop/src/toolWindow/appPreviewWidget.cpp | 13 ++++--------- .../deskTop/src/toolWindow/appPreviewWidget.h | 2 +- .../src/toolWindow/appTaskManageWindow.cpp | 6 +++--- .../deskTop/src/toolWindow/sysLockWindow.cpp | 16 ++++------------ .../src/browserToolWindow/listFileItem.cpp | 6 ++---- .../src/sonWindow/browseWindow.cpp | 4 ++-- .../src/toolWindow/diskDeviceCheckBox.cpp | 15 +++++---------- .../src/toolWindow/diskDeviceCheckBox.h | 6 +++--- .../src/toolWindow/usbPopButton.cpp | 6 ++---- .../mediaPlayer/src/mainWindowService.cpp | 16 +++++++--------- .../labelDemo/src/mainWindowService.cpp | 6 ++---- 16 files changed, 46 insertions(+), 76 deletions(-) diff --git a/Application/deskTop/src/deskScreen.cpp b/Application/deskTop/src/deskScreen.cpp index 33c27de..bc0ddf0 100644 --- a/Application/deskTop/src/deskScreen.cpp +++ b/Application/deskTop/src/deskScreen.cpp @@ -1,5 +1,5 @@ #include "deskScreen.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpEvent.h" #include "deskTopGlobal.hpp" #include "tpJsonDocument.h" @@ -69,11 +69,7 @@ void tpDeskScreen::construct() // 此处应该读取配置文件中的设置文件,可以保留上次设置的背景图片 - tpShared surface = tpMakeShared(); - - surface->fromFile(applicationDirPath() + "/../res/默认桌面背景1x.png"); - - this->setBackGroundImage(surface, true); + this->setBackGroundImage(TpImage(applicationDirPath() + "/../res/默认桌面背景1x.png"), true); // 此处应该读取配置文件中的设置文件,加载配置参数 diff --git a/Application/deskTop/src/toolBar/navigationBar.cpp b/Application/deskTop/src/toolBar/navigationBar.cpp index ffdb905..3611695 100644 --- a/Application/deskTop/src/toolBar/navigationBar.cpp +++ b/Application/deskTop/src/toolBar/navigationBar.cpp @@ -1,5 +1,5 @@ #include "navigationBar.h" -#include "tpCanvas.h" +#include "TpCanvas.h" #include "tpDisplay.h" #include "tpAnimation.h" #include "deskTopGlobal.hpp" diff --git a/Application/deskTop/src/toolBar/topBar.cpp b/Application/deskTop/src/toolBar/topBar.cpp index 3b7fd59..d503636 100644 --- a/Application/deskTop/src/toolBar/topBar.cpp +++ b/Application/deskTop/src/toolBar/topBar.cpp @@ -6,7 +6,7 @@ #include "tpTime.h" #include "tpDate.h" #include "tpEvent.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpBluetoothLocal.h" #include "tpNetworkInterface.h" @@ -52,12 +52,12 @@ void topBar::construct() wifiLabel_ = new tpLabel(this); wifiLabel_->setSize(tpDisplay::dp2Px(17), tpDisplay::dp2Px(17)); - wifiLabel_->setBackGroundImage(tpMakeShared(applicationDirPath() + "/../res/topBar/WIFI.png")); + wifiLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/WIFI.png")); wifiLabel_->setVisible(false); blueToothLabel_ = new tpLabel(this); blueToothLabel_->setSize(tpDisplay::dp2Px(17), tpDisplay::dp2Px(17)); - blueToothLabel_->setBackGroundImage(tpMakeShared(applicationDirPath() + "/../res/topBar/蓝牙.png")); + blueToothLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/蓝牙.png")); blueToothLabel_->setVisible(false); elecBattery_ = new tpBattery(this); diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index deb3a2f..4a301a1 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -1,5 +1,5 @@ #include "desktopAppButton.h" -#include "tpCanvas.h" +#include "TpCanvas.h" desktopAppButton::desktopAppButton(tpChildWidget *parent) : tpIconTopButton(parent) @@ -64,10 +64,10 @@ bool hollowWidget::onPaintEvent(tpObjectPaintEvent *event) tpChildWidget::onPaintEvent(event); // 应用正在安装中;根据安装进度绘制遮罩层 - tpCanvas *painter = event->canvas(); + TpCanvas *painter = event->canvas(); HollowMask hollowMaskData; - HollowMask::pieHollow pieHollowData; + HollowMask::PieHollow pieHollowData; pieHollowData.x = width() / 2.0; pieHollowData.y = height() / 2.0; pieHollowData.start = 0; diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index b817242..1d8e360 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -1,5 +1,5 @@ #include "appOperateMaskWindow.h" -#include "tpCanvas.h" +#include "TpCanvas.h" appOperateMaskWindow::appOperateMaskWindow() : tpDialog() @@ -27,7 +27,7 @@ bool appOperateMaskWindow::onMouseRleaseEvent(tpMouseEvent *event) bool appOperateMaskWindow::onPaintEvent(tpObjectPaintEvent *event) { - tpCanvas *painter = event->canvas(); + TpCanvas *painter = event->canvas(); HollowMask hollowData; hollowData.addRoundRectHollow(appRect_, roundCorners_); diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index 3c3a22f..cce85bb 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -3,7 +3,7 @@ #include "tpFont.h" #include "tpHBoxLayout.h" #include "tpVBoxLayout.h" -#include "tpSurface.h" +#include "TpImage.h" #include "deskTopGlobal.hpp" appPreviewWidget::appPreviewWidget(tpChildWidget *parent) @@ -34,8 +34,7 @@ appPreviewWidget::~appPreviewWidget() void appPreviewWidget::setIcon(const tpString &iconPath) { - tpShared bgImage = tpMakeShared(iconPath); - iconLabel_->setBackGroundImage(bgImage); + iconLabel_->setBackGroundImage(TpImage(iconPath)); } void appPreviewWidget::setName(const tpString &name) @@ -45,15 +44,11 @@ void appPreviewWidget::setName(const tpString &name) void appPreviewWidget::setPreviewImg(const tpString &path) { - tpShared bgImage = tpMakeShared(path); - previewImgLabel_->setBackGroundImage(bgImage); + previewImgLabel_->setBackGroundImage(TpImage(path)); } -void appPreviewWidget::setPreviewImg(tpShared image) +void appPreviewWidget::setPreviewImg(TpImage image) { - if (!image) - return; - previewImgLabel_->setBackGroundImage(image); } diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index 0ed9ec2..d33374b 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -25,7 +25,7 @@ public: // 设置预览图 void setPreviewImg(const tpString &path); - void setPreviewImg(tpShared image); + void setPreviewImg(TpImage image); // 设置应用的pid和Id void setId(const int32_t &pid, const int32_t &winId); diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index e203f38..6b6f373 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -1,5 +1,5 @@ #include "appTaskManageWindow.h" -#include "tpSurface.h" +#include "TpImage.h" #include "deskTopGlobal.hpp" #include "base/cacheex.h" @@ -86,11 +86,11 @@ void appTaskManageWindow::setVisible(bool visible) // 应用抓图,grabWindow IPiWFSurface* surfacePtr = tinyPiX_sys_get_obj_surface(globalAgent, appIdInfo.s_id, appIdInfo.p_id); - tpShared appDisplayImage = tpMakeShared(surfacePtr); + // tpShared appDisplayImage = tpMakeShared(surfacePtr); tinyPiX_surface_free(surfacePtr); - previewWidget->setPreviewImg(appDisplayImage); + // previewWidget->setPreviewImg(appDisplayImage); // previewWidget->setPreviewImg("/home/hawk/Public/tinyPiXOS/tinyPiXApp/deskTop/res/测试.png"); previewWidget->setId(appIdInfo.p_id, appIdInfo.s_id); diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/deskTop/src/toolWindow/sysLockWindow.cpp index 704c58d..be77705 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/deskTop/src/toolWindow/sysLockWindow.cpp @@ -1,5 +1,5 @@ #include "sysLockWindow.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpString.h" #include "tpFont.h" #include "deskTopGlobal.hpp" @@ -22,13 +22,10 @@ void sysLockWindow::setVisible(bool visible) { // TODO 显示时,刷新一下锁屏壁纸 tpString lockBgImgPath = applicationDirPath() + "/../res/controlPanel/lock_background.png"; - tpShared surface = tpMakeShared(); - - surface->fromFile(lockBgImgPath); // TODO,显示时,刷新用户logo - this->setBackGroundImage(surface, true); + this->setBackGroundImage(TpImage(lockBgImgPath), true); refreshLockWindow(true); slotUpdateSystemTime(); @@ -134,10 +131,7 @@ void sysLockWindow::initUi() systemDateTimeLabel_->setText("15 : 30"); unlockDirectLabel_ = new tpLabel(this); - tpShared surface = tpMakeShared(); - - surface->fromFile(applicationDirPath() + "/../res/双上箭头白.png"); - unlockDirectLabel_->setBackGroundImage(surface, true); + unlockDirectLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/双上箭头白.png")); unlockPromptLabel_ = new tpLabel(this); unlockPromptLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); @@ -164,9 +158,7 @@ void sysLockWindow::initUi() welcomeLabel_->setText("欢迎使用"); userIconLabel_ = new tpLabel(this); - tpShared userIconSurface = tpMakeShared(); - userIconSurface->fromFile(applicationDirPath() + "/../res/用户.png"); - userIconLabel_->setBackGroundImage(userIconSurface, true); + userIconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/用户.png")); pwdEdit_ = new tpLineEdit(this); diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp index f35aa9d..edee37b 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp @@ -1,6 +1,6 @@ #include "listFileItem.h" #include "tpFileInfo.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpVBoxLayout.h" #include "tpHBoxLayout.h" #include "tpDir.h" @@ -144,9 +144,7 @@ void listFileItem::setPath(const tpString &filePath) // typeLabel_->setText(typeStr); - tpShared iconSurface = tpMakeShared(); - iconSurface->fromFile(iconPath); - iconLabel_->setBackGroundImage(iconSurface); + iconLabel_->setBackGroundImage(TpImage(iconPath)); update(); } diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index 3e4d6e8..bdc6945 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -2,7 +2,7 @@ #include "tpHBoxLayout.h" #include "tpVBoxLayout.h" #include "tpDisplay.h" -#include "tpCanvas.h" +#include "TpCanvas.h" #include "fileManagementGlobal.h" static const tpString ITEM_PATH_TYPE = "FastPath"; @@ -113,7 +113,7 @@ bool browseWindow::onPaintEvent(tpObjectPaintEvent *event) tpChildWidget::onPaintEvent(event); // 绘制左侧菜单滚动区域的底色 - tpCanvas *paintCanvas = event->canvas(); + TpCanvas *paintCanvas = event->canvas(); // paintCanvas->box(mainScrollPanel_->width(), 0, mainScrollPanel_->width(), height(), _RGB(255, 255, 255)); paintCanvas->box(0, 0, fileListWindow_->pos().x, height(), _RGB(248, 248, 248)); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index e58b1f6..369980f 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -2,7 +2,7 @@ #include "tpHBoxLayout.h" #include "tpDisplay.h" #include "tpFont.h" -#include "tpCanvas.h" +#include "TpCanvas.h" #include "tpLine.h" #include "tpEvent.h" @@ -21,10 +21,10 @@ diskDeviceCheckBox::~diskDeviceCheckBox() void diskDeviceCheckBox::setIcon(const tpString &normalIcon, const tpString &checkedIcon) { if (!normalIcon.empty()) - normalIcon_->fromFile(normalIcon); + normalIcon_.load(normalIcon); if (!checkedIcon.empty()) - checkedIcon_->fromFile(checkedIcon); + checkedIcon_.load(checkedIcon); } void diskDeviceCheckBox::setName(const tpString &name) @@ -66,7 +66,7 @@ bool diskDeviceCheckBox::onPaintEvent(tpObjectPaintEvent *event) iconLabel_->setBackGroundImage(normalIcon_); } - // tpCanvas *paintCanvas = event->canvas(); + // TpCanvas *paintCanvas = event->canvas(); // 在name和space中间画一个竖线 // std::cout << "spaceLabel_->pos().x " << spaceLabel_->pos().x << std::endl; @@ -125,12 +125,7 @@ void diskDeviceCheckBox::init() expandLabel_ = new tpLabel(this); expandLabel_->setFixedSize(tpDisplay::dp2Px(23), tpDisplay::dp2Px(23)); - tpShared expandIcon = tpMakeShared(); - expandIcon->fromFile(applicationDirPath() + "/../res/箭头-未展开.png"); - expandLabel_->setBackGroundImage(expandIcon); - - normalIcon_ = tpMakeShared(); - checkedIcon_ = tpMakeShared(); + expandLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/箭头-未展开.png")); tpShared curCssData = currentStatusCss(); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h index 6c053c9..7354fa9 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h @@ -8,7 +8,7 @@ #include "tpChildWidget.h" #include "tpLabel.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpEvent.h" #include "tpSignalSlot.h" @@ -51,8 +51,8 @@ private: tpLabel *spaceLabel_; tpLabel *expandLabel_; - tpShared normalIcon_; - tpShared checkedIcon_; + TpImage normalIcon_; + TpImage checkedIcon_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/toolWindow/usbPopButton.cpp b/Application/fileManagement/src/toolWindow/usbPopButton.cpp index eaeffe8..fcd817c 100644 --- a/Application/fileManagement/src/toolWindow/usbPopButton.cpp +++ b/Application/fileManagement/src/toolWindow/usbPopButton.cpp @@ -3,7 +3,7 @@ #include "tpHBoxLayout.h" #include "tpFont.h" #include "tpDisplay.h" -#include "tpSurface.h" +#include "TpImage.h" usbPopButton::usbPopButton(tpChildWidget *parent) : tpButton(parent) @@ -27,9 +27,7 @@ void usbPopButton::init() iconLabel_->setFixedSize(tpDisplay::dp2Px(23), tpDisplay::dp2Px(23)); iconLabel_->installEventFilter(this); - tpShared expandIcon = tpMakeShared(); - expandIcon->fromFile(applicationDirPath() + "/../res/箭头-未展开.png"); - iconLabel_->setBackGroundImage(expandIcon); + iconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/箭头-未展开.png")); tpHBoxLayout* mainLayout = new tpHBoxLayout(); mainLayout->addWidget(nameLabel_); diff --git a/Application/mediaPlayer/src/mainWindowService.cpp b/Application/mediaPlayer/src/mainWindowService.cpp index 28247dc..1d105eb 100644 --- a/Application/mediaPlayer/src/mainWindowService.cpp +++ b/Application/mediaPlayer/src/mainWindowService.cpp @@ -5,8 +5,9 @@ #include "tpLabel.h" #include "tpLine.h" #include "tpFont.h" -#include "tpSurface.h" +#include "TpImage.h" #include "tpFileInfo.h" +#include "TpSurface.h" mainWindowService::mainWindowService() : tpFixScreen(), topBar_(new topBar()), bottomBar_(new bottomBar()), fileType_(UnknowFile), videoPlayer_(nullptr) @@ -82,8 +83,7 @@ void mainWindowService::setPlayFile(const tpString &filePath) isMusicIconLabel_->setVisible(false); // 设置视频第一帧图片 - tpShared testBgImage = tpMakeShared(applicationDirPath() + "/../res/测试视频封面.jpg"); - setBackGroundImage(testBgImage); + setBackGroundImage(TpImage(applicationDirPath() + "/../res/测试视频封面.jpg")); // 启动视频设备 videoPlayer_->setWindowSize(width(), height()); @@ -148,8 +148,7 @@ void mainWindowService::initUi() isMusicIconLabel_->setFixedSize(tpDisplay::dp2Px(100), tpDisplay::dp2Px(100)); isMusicIconLabel_->setVisible(false); isMusicIconLabel_->setRoundCorners(tpDisplay::dp2Px(50)); - tpShared musicIconImage = tpMakeShared(applicationDirPath() + "/../res/音频.png"); - isMusicIconLabel_->setBackGroundImage(musicIconImage); + isMusicIconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/音频.png")); connect(bottomBar_, medioOperate, this, &mainWindowService::slotOperateMedia); connect(bottomBar_, alterPostion, this, &mainWindowService::slotSwitchPos); @@ -347,7 +346,7 @@ int mainWindowService::videoRbgDataCallback(uint8_t **data, int *linesize, uint3 uint32_t height = this->height(); // 2. 创建临时tpSurface对象 - auto surface = tpMakeShared(); + auto surface = tpMakeShared(); // 3. 创建与视频帧尺寸匹配的Surface(ARGB32格式) if (!surface->create( @@ -362,8 +361,7 @@ int mainWindowService::videoRbgDataCallback(uint8_t **data, int *linesize, uint3 0xFF000000, // A掩码 0xFF, // alpha值 false, // 不启用colorKey - 0, // colorKey值 - nullptr // 无裁剪区域 + 0 // colorKey值 )) { // 创建失败处理 @@ -393,7 +391,7 @@ int mainWindowService::videoRbgDataCallback(uint8_t **data, int *linesize, uint3 } // 6. 将surface传递到渲染线程 - setBackGroundImage(surface); + // setBackGroundImage(surface); update(); return 0; diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.cpp b/ComDemoApplication/labelDemo/src/mainWindowService.cpp index a661c7b..1c591e8 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/labelDemo/src/mainWindowService.cpp @@ -1,7 +1,7 @@ #include "mainWindowService.h" #include "tpLabel.h" #include "tpFont.h" -#include "tpSurface.h" +#include "TpImage.h" mainWindowService::mainWindowService() : tpFixScreen() @@ -78,9 +78,7 @@ mainWindowService::mainWindowService() } tpLabel *label6 = new tpLabel(this); - tpShared bgSurface = tpMakeShared(); - bgSurface->fromFile(applicationDirPath() + "/../res/test.svg"); - label6->setBackGroundImage(bgSurface); + label6->setBackGroundImage(TpImage(applicationDirPath() + "/../res/test.svg")); // label6->setBackGroundColor(_RGB(255, 0, 0)); // label6->setBlurRadius(20); label6->setRect(300, 300, 300, 300); -- Gitee From df3ef6a9ebd6c4cb0916ae9d9efe59bef3a226fe Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 26 Aug 2025 15:36:36 +0800 Subject: [PATCH 06/36] =?UTF-8?q?feat():=20=E4=BD=BF=E7=94=A8=E6=96=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/calendar/src/main.cpp | 4 +- .../calendar/src/mainWindowService.cpp | 6 +- Application/calendar/src/mainWindowService.h | 8 +- Application/deskTop/CMakeLists.txt | 12 +- .../src/{deskScreen.cpp => DeskScreen.cpp} | 196 +++++++++--------- .../src/{deskScreen.h => DeskScreen.h} | 76 +++---- .../{toolBar => ToolBar}/appSettingBar.cpp | 60 +++--- .../src/{toolBar => ToolBar}/appSettingBar.h | 46 ++-- .../src/{toolBar => ToolBar}/bottomBar.cpp | 22 +- .../src/{toolBar => ToolBar}/bottomBar.h | 26 +-- .../{toolBar => ToolBar}/navigationBar.cpp | 52 ++--- .../src/{toolBar => ToolBar}/navigationBar.h | 30 +-- .../src/{toolBar => ToolBar}/powerManage.cpp | 18 +- .../src/{toolBar => ToolBar}/powerManage.h | 20 +- .../src/{toolBar => ToolBar}/topBar.cpp | 88 ++++---- .../deskTop/src/{toolBar => ToolBar}/topBar.h | 40 ++-- Application/deskTop/src/deskEntry.cpp | 16 +- Application/deskTop/src/deskTopGlobal.hpp | 24 +-- .../deskTop/src/mainAppScrollPanel.cpp | 40 ++-- Application/deskTop/src/mainAppScrollPanel.h | 22 +- .../deskTop/src/toolModule/caculateAppPos.cpp | 6 +- .../deskTop/src/toolModule/caculateAppPos.h | 14 +- .../src/toolModule/desktopAppButton.cpp | 22 +- .../deskTop/src/toolModule/desktopAppButton.h | 18 +- .../src/toolWindow/appOperateMaskWindow.cpp | 6 +- .../src/toolWindow/appOperateMaskWindow.h | 12 +- .../src/toolWindow/appPreviewWidget.cpp | 60 +++--- .../deskTop/src/toolWindow/appPreviewWidget.h | 38 ++-- .../src/toolWindow/appTaskManageWindow.cpp | 48 ++--- .../src/toolWindow/appTaskManageWindow.h | 32 +-- .../deskTop/src/toolWindow/sysLockWindow.cpp | 50 ++--- .../deskTop/src/toolWindow/sysLockWindow.h | 40 ++-- .../src/browserToolWindow/fileListWindow.cpp | 132 ++++++------ .../src/browserToolWindow/fileListWindow.h | 48 ++--- .../src/browserToolWindow/listFileItem.cpp | 70 +++---- .../src/browserToolWindow/listFileItem.h | 34 +-- .../src/browserToolWindow/settingWindow.cpp | 66 +++--- .../src/browserToolWindow/settingWindow.h | 32 +-- Application/fileManagement/src/main.cpp | 6 +- .../fileManagement/src/mainWindowService.cpp | 24 +-- .../fileManagement/src/mainWindowService.h | 14 +- .../recentlyToolWindow/clearSpaceWindow.cpp | 74 +++---- .../src/recentlyToolWindow/clearSpaceWindow.h | 18 +- .../src/recentlyToolWindow/pressPopWindow.cpp | 36 ++-- .../src/recentlyToolWindow/pressPopWindow.h | 26 +-- .../src/sonWindow/browseWindow.cpp | 84 ++++---- .../src/sonWindow/browseWindow.h | 50 ++--- .../src/sonWindow/recentlyWindow.cpp | 72 +++---- .../src/sonWindow/recentlyWindow.h | 40 ++-- .../src/toolWindow/diskDeviceCheckBox.cpp | 66 +++--- .../src/toolWindow/diskDeviceCheckBox.h | 34 +-- .../src/toolWindow/usbPopButton.cpp | 20 +- .../src/toolWindow/usbPopButton.h | 16 +- Application/mediaPlayer/CMakeLists.txt | 4 +- .../src/{toolBar => ToolBar}/bottomBar.cpp | 44 ++-- .../src/{toolBar => ToolBar}/bottomBar.h | 34 +-- .../src/{toolBar => ToolBar}/topBar.cpp | 34 +-- .../src/{toolBar => ToolBar}/topBar.h | 18 +- Application/mediaPlayer/src/main.cpp | 6 +- .../mediaPlayer/src/mainWindowService.cpp | 46 ++-- .../mediaPlayer/src/mainWindowService.h | 34 +-- Application/photoAlbum/src/main.cpp | 4 +- .../photoAlbum/src/mainWindowService.cpp | 6 +- .../photoAlbum/src/mainWindowService.h | 8 +- Application/systemSettings/src/main.cpp | 4 +- .../systemSettings/src/mainWindowService.cpp | 104 +++++----- .../systemSettings/src/mainWindowService.h | 46 ++-- .../settingWindow/InternetSettingWindow.cpp | 128 ++++++------ .../src/settingWindow/InternetSettingWindow.h | 40 ++-- .../settingWindow/bluetoothSettingWindow.cpp | 26 +-- .../settingWindow/bluetoothSettingWindow.h | 18 +- .../src/settingWindow/settingBase.cpp | 10 +- .../src/settingWindow/settingBase.h | 22 +- .../systemSettings/src/systemSettingsGlobal.h | 8 +- ComDemoApplication/animationDemo/src/main.cpp | 4 +- .../animationDemo/src/mainWindowService.cpp | 62 +++--- .../animationDemo/src/mainWindowService.h | 8 +- ComDemoApplication/batteryDemo/src/main.cpp | 4 +- .../batteryDemo/src/mainWindowService.cpp | 20 +- .../batteryDemo/src/mainWindowService.h | 8 +- ComDemoApplication/buttonDemo/src/main.cpp | 4 +- .../buttonDemo/src/mainWindowService.cpp | 20 +- .../buttonDemo/src/mainWindowService.h | 8 +- ComDemoApplication/checkBoxDemo/src/main.cpp | 4 +- .../checkBoxDemo/src/mainWindowService.cpp | 14 +- .../checkBoxDemo/src/mainWindowService.h | 8 +- ComDemoApplication/comboxDemo/src/main.cpp | 4 +- .../comboxDemo/src/mainWindowService.cpp | 10 +- .../comboxDemo/src/mainWindowService.h | 8 +- .../flexLayoutDemo/src/main.cpp | 4 +- .../flexLayoutDemo/src/mainWindowService.cpp | 54 ++--- .../flexLayoutDemo/src/mainWindowService.h | 8 +- ComDemoApplication/labelDemo/src/main.cpp | 4 +- .../labelDemo/src/mainWindowService.cpp | 56 ++--- .../labelDemo/src/mainWindowService.h | 8 +- .../progressBarDemo/src/main.cpp | 4 +- .../progressBarDemo/src/mainWindowService.cpp | 10 +- .../progressBarDemo/src/mainWindowService.h | 8 +- ComDemoApplication/sliderDemo/src/main.cpp | 4 +- .../sliderDemo/src/mainWindowService.cpp | 28 +-- .../sliderDemo/src/mainWindowService.h | 8 +- 101 files changed, 1570 insertions(+), 1570 deletions(-) rename Application/deskTop/src/{deskScreen.cpp => DeskScreen.cpp} (83%) rename Application/deskTop/src/{deskScreen.h => DeskScreen.h} (72%) rename Application/deskTop/src/{toolBar => ToolBar}/appSettingBar.cpp (81%) rename Application/deskTop/src/{toolBar => ToolBar}/appSettingBar.h (54%) rename Application/deskTop/src/{toolBar => ToolBar}/bottomBar.cpp (77%) rename Application/deskTop/src/{toolBar => ToolBar}/bottomBar.h (48%) rename Application/deskTop/src/{toolBar => ToolBar}/navigationBar.cpp (74%) rename Application/deskTop/src/{toolBar => ToolBar}/navigationBar.h (45%) rename Application/deskTop/src/{toolBar => ToolBar}/powerManage.cpp (79%) rename Application/deskTop/src/{toolBar => ToolBar}/powerManage.h (38%) rename Application/deskTop/src/{toolBar => ToolBar}/topBar.cpp (66%) rename Application/deskTop/src/{toolBar => ToolBar}/topBar.h (54%) rename Application/mediaPlayer/src/{toolBar => ToolBar}/bottomBar.cpp (81%) rename Application/mediaPlayer/src/{toolBar => ToolBar}/bottomBar.h (70%) rename Application/mediaPlayer/src/{toolBar => ToolBar}/topBar.cpp (73%) rename Application/mediaPlayer/src/{toolBar => ToolBar}/topBar.h (66%) diff --git a/Application/calendar/src/main.cpp b/Application/calendar/src/main.cpp index 874bd14..1d532fb 100644 --- a/Application/calendar/src/main.cpp +++ b/Application/calendar/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/Application/calendar/src/mainWindowService.cpp b/Application/calendar/src/mainWindowService.cpp index fc00976..8d4f59d 100644 --- a/Application/calendar/src/mainWindowService.cpp +++ b/Application/calendar/src/mainWindowService.cpp @@ -2,7 +2,7 @@ #include "calendarGlobal.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -21,14 +21,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/Application/calendar/src/mainWindowService.h b/Application/calendar/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/Application/calendar/src/mainWindowService.h +++ b/Application/calendar/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index bc51bd6..1869354 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -19,13 +19,13 @@ set(SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src") # 定义源码路径宏 set(SOURCE_FILES ${SOURCE_PATH}/deskEntry.cpp - ${SOURCE_PATH}/deskScreen.cpp + ${SOURCE_PATH}/DeskScreen.cpp ${SOURCE_PATH}/mainAppScrollPanel.cpp - ${SOURCE_PATH}/toolBar/topBar.cpp - ${SOURCE_PATH}/toolBar/bottomBar.cpp - ${SOURCE_PATH}/toolBar/appSettingBar.cpp - ${SOURCE_PATH}/toolBar/powerManage.cpp - ${SOURCE_PATH}/toolBar/navigationBar.cpp + ${SOURCE_PATH}/ToolBar/topBar.cpp + ${SOURCE_PATH}/ToolBar/bottomBar.cpp + ${SOURCE_PATH}/ToolBar/appSettingBar.cpp + ${SOURCE_PATH}/ToolBar/powerManage.cpp + ${SOURCE_PATH}/ToolBar/navigationBar.cpp ${SOURCE_PATH}/toolWindow/sysLockWindow.cpp ${SOURCE_PATH}/toolWindow/appTaskManageWindow.cpp ${SOURCE_PATH}/toolWindow/appOperateMaskWindow.cpp diff --git a/Application/deskTop/src/deskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp similarity index 83% rename from Application/deskTop/src/deskScreen.cpp rename to Application/deskTop/src/DeskScreen.cpp index bc0ddf0..a650dd6 100644 --- a/Application/deskTop/src/deskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -1,14 +1,14 @@ -#include "deskScreen.h" +#include "DeskScreen.h" #include "TpImage.h" -#include "tpEvent.h" +#include "TpEvent.h" #include "deskTopGlobal.hpp" -#include "tpJsonDocument.h" -#include "tpFile.h" -#include "tpDir.h" -#include "tpFont.h" -#include "tpProcess.h" -#include "tpMessageBox.h" -#include "tpAppConfigIO.h" +#include "TpJsonDocument.h" +#include "TpFile.h" +#include "TpDir.h" +#include "TpFont.h" +#include "TpProcess.h" +#include "TpMessageBox.h" +#include "TpAppConfigIO.h" #include @@ -24,19 +24,19 @@ sysLockWindow *globalSysLockWindow = nullptr; appTaskManageWindow *globalAppTaskWindow = nullptr; appSettingBar *globalTopSettingBar_ = nullptr; -tpScreen *globalMainScreen_ = nullptr; +TpScreen *globalMainScreen_ = nullptr; IPiSysApiAgent *globalAgent = nullptr; // -tpHash globalRunAppMap_ = tpHash(); +TpHash globalRunAppMap_ = TpHash(); std::mutex readRunAppMutex_; -tpHash globalUuidPidMap_ = tpHash(); +TpHash globalUuidPidMap_ = TpHash(); uint32_t globalAppMaxRow = 4; uint32_t globalAppMaxColumn = 6; uint32_t globalAppHInterval = 0; -static inline void BAR_SET_ATTRIB(tpChildWidget *vars, int32_t pop, int32_t x, int32_t y, int32_t width, int32_t height) +static inline void BAR_SET_ATTRIB(TpChildWidget *vars, int32_t pop, int32_t x, int32_t y, int32_t width, int32_t height) { if (pop) { @@ -48,7 +48,7 @@ static inline void BAR_SET_ATTRIB(tpChildWidget *vars, int32_t pop, int32_t x, i vars->update(); } -void tpDeskScreen::construct() +void DeskScreen::construct() { globalMainScreen_ = this; @@ -59,7 +59,7 @@ void tpDeskScreen::construct() setEnableBackGroundColor(false); setEnabledBorderColor(false); - std::cout << "tpDeskScreen::construct()" << std::endl; + std::cout << "DeskScreen::construct()" << std::endl; initData(); @@ -108,7 +108,7 @@ void tpDeskScreen::construct() intDeskAppConfig(); } -void tpDeskScreen::destruction() +void DeskScreen::destruction() { if (topFloatBar_) { @@ -127,9 +127,9 @@ void tpDeskScreen::destruction() } } -void tpDeskScreen::recvData(const char *topic, const void *data, const uint32_t &size) +void DeskScreen::recvData(const char *topic, const void *data, const uint32_t &size) { - tpString topicString(topic); + TpString topicString(topic); if (topicString.compare(RunAppTopic) == 0) { RunApp recvRunData; @@ -138,7 +138,7 @@ void tpDeskScreen::recvData(const char *topic, const void *data, const uint32_t std::cout << "RecvStartApp UUID : " << recvRunData.appUuid << std::endl; // 启动指定应用 - tpVector argList; + TpVector argList; for (const auto &recvArg : recvRunData.argList) { std::cout << " recvArg : " << recvArg << std::endl; @@ -148,11 +148,11 @@ void tpDeskScreen::recvData(const char *topic, const void *data, const uint32_t } } -bool tpDeskScreen::appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) +bool DeskScreen::appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) { int32_t sysid = this->objectSysID(); - // std::cout << "tpDeskScreen::appChange " << std::endl; + // std::cout << "DeskScreen::appChange " << std::endl; std::cout << "id " << id << std::endl; std::cout << "sysid " << sysid << std::endl; @@ -185,9 +185,9 @@ bool tpDeskScreen::appChange(int32_t id, int32_t pid, int32_t visible, int32_t a return true; } -bool tpDeskScreen::onActiveEvent(tpObjectActiveEvent *event) +bool DeskScreen::onActiveEvent(TpObjectActiveEvent *event) { - std::cout << "tpDeskScreen::onActiveEvent " << std::endl; + std::cout << "DeskScreen::onActiveEvent " << std::endl; if (event->isActived()) { @@ -202,7 +202,7 @@ bool tpDeskScreen::onActiveEvent(tpObjectActiveEvent *event) return true; } -bool tpDeskScreen::onMousePressEvent(tpMouseEvent *event) +bool DeskScreen::onMousePressEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 uint32_t pressY = event->globalPos().y; @@ -219,7 +219,7 @@ bool tpDeskScreen::onMousePressEvent(tpMouseEvent *event) return false; } -bool tpDeskScreen::onMouseRleaseEvent(tpMouseEvent *event) +bool DeskScreen::onMouseRleaseEvent(TpMouseEvent *event) { pressTopBar_ = false; pressAppBtn_ = nullptr; @@ -228,7 +228,7 @@ bool tpDeskScreen::onMouseRleaseEvent(tpMouseEvent *event) return false; } -bool tpDeskScreen::onMouseMoveEvent(tpMouseEvent *event) +bool DeskScreen::onMouseMoveEvent(TpMouseEvent *event) { if (pressTopBar_) { @@ -273,9 +273,9 @@ bool tpDeskScreen::onMouseMoveEvent(tpMouseEvent *event) return false; } -bool tpDeskScreen::onLeaveEvent(tpObjectLeaveEvent *event) +bool DeskScreen::onLeaveEvent(TpObjectLeaveEvent *event) { - // if (event->eventType() == tpEvent::EVENT_OBJECT_LEAVE_TYPE) + // if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) // { // if (event->leave()) // { @@ -287,11 +287,11 @@ bool tpDeskScreen::onLeaveEvent(tpObjectLeaveEvent *event) return true; } -bool tpDeskScreen::eventFilter(tpObject *watched, tpEvent *event) +bool DeskScreen::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; @@ -304,9 +304,9 @@ bool tpDeskScreen::eventFilter(tpObject *watched, tpEvent *event) return true; } } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; @@ -319,9 +319,9 @@ bool tpDeskScreen::eventFilter(tpObject *watched, tpEvent *event) return true; } } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_MOVE_TYPE) { - tpMouseEvent *mouseMotionEvent = dynamic_cast(event); + TpMouseEvent *mouseMotionEvent = dynamic_cast(event); if (!mouseMotionEvent) return false; @@ -339,7 +339,7 @@ bool tpDeskScreen::eventFilter(tpObject *watched, tpEvent *event) return false; } -void tpDeskScreen::slotOperateApp(desktopAppButton *operateBtn) +void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) { if (operateBtn) { @@ -353,12 +353,12 @@ void tpDeskScreen::slotOperateApp(desktopAppButton *operateBtn) // uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); - operateMenu_->exec(btnRect.x, btnRect.y - tpDisplay::dp2Px(11) - operateMenu_->height()); + operateMenu_->exec(btnRect.x, btnRect.y - TpDisplay::dp2Px(11) - operateMenu_->height()); } else { // APP抖动 - tpList appList = mainAppPanel_->objectList(); + TpList appList = mainAppPanel_->objectList(); for (const auto &appButton : appList) { desktopAppButton *iconButton = dynamic_cast(appButton); @@ -373,7 +373,7 @@ void tpDeskScreen::slotOperateApp(desktopAppButton *operateBtn) isMoveMode_ = true; } -void tpDeskScreen::slotDeleteApp(desktopAppButton *operateBtn) +void DeskScreen::slotDeleteApp(desktopAppButton *operateBtn) { if (!operateBtn) { @@ -381,7 +381,7 @@ void tpDeskScreen::slotDeleteApp(desktopAppButton *operateBtn) return; } - tpString removeUuid = operateBtn->property("UUID").toString(); + TpString removeUuid = operateBtn->property("UUID").toString(); if (removeUuid.empty()) { @@ -447,7 +447,7 @@ void tpDeskScreen::slotDeleteApp(desktopAppButton *operateBtn) update(); } -void tpDeskScreen::slotTimeoutInstallApp() +void DeskScreen::slotTimeoutInstallApp() { std::cout << "安装应用UUID" << appInstallPtr_->getAppUUID() << std::endl; @@ -463,7 +463,7 @@ void tpDeskScreen::slotTimeoutInstallApp() } } -void tpDeskScreen::initData() +void DeskScreen::initData() { globalTopSettingBar_ = new appSettingBar(); if (globalTopSettingBar_ == nullptr) @@ -523,7 +523,7 @@ void tpDeskScreen::initData() } mainAppPanel_->installEventFilter(this); - carouselButton_ = new tpCarouselButton(this); + carouselButton_ = new TpCarouselButton(this); connect(mainAppPanel_, onPageChanged, [=](uint32_t curPage_) { carouselButton_->setCurrentIndex(curPage_); }); @@ -532,7 +532,7 @@ void tpDeskScreen::initData() maskWindow_->installEventFilter(this); // maskWindow_->setVisible(false); - operateMenu_ = new tpMenu(); + operateMenu_ = new TpMenu(); uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); connect(operateMenu_, onClicked, [=](uint32_t index) { @@ -542,20 +542,20 @@ void tpDeskScreen::initData() if (index == delIndex) { slotDeleteApp(pressAppBtn_); - // tpMessageBox::information("卸载成功"); + // TpMessageBox::information("卸载成功"); operateMenu_->close(); maskWindow_->close(); } }); - appInstallPtr_ = new tpAppInstall(""); - appInstallTimer_ = new tpTimer(800); - connect(appInstallTimer_, timeout, this, &tpDeskScreen::slotTimeoutInstallApp); + appInstallPtr_ = new TpAppInstall(""); + appInstallTimer_ = new TpTimer(800); + connect(appInstallTimer_, timeout, this, &DeskScreen::slotTimeoutInstallApp); } -void tpDeskScreen::intDeskAppConfig() +void DeskScreen::intDeskAppConfig() { // 获取所有已安装的APP的UUID列表 - tpVector installAppUuidList = tpAppConfigIO::installAppUuidList(); + TpVector installAppUuidList = TpAppConfigIO::installAppUuidList(); // 应用数量为0;后边就不用处理了 uint32_t appCount = installAppUuidList.size(); @@ -563,34 +563,34 @@ void tpDeskScreen::intDeskAppConfig() return; // 解析APP所在页和行列信息 - tpJsonObject appPageInfoJsonObj; + TpJsonObject appPageInfoJsonObj; - tpFile appPageInfoFile(applicationDirPath() + "/../conf/appIndexConfig.json"); - appPageInfoFile.open(tpFile::ReadOnly); + TpFile appPageInfoFile(applicationDirPath() + "/../conf/appIndexConfig.json"); + appPageInfoFile.open(TpFile::ReadOnly); if (appPageInfoFile.isOpen()) { - tpString appPageInfoStr = appPageInfoFile.readAll(); + TpString appPageInfoStr = appPageInfoFile.readAll(); appPageInfoFile.close(); // 转换json对象 - appPageInfoJsonObj = tpJsonDocument::fromJson(appPageInfoStr).object(); + appPageInfoJsonObj = TpJsonDocument::fromJson(appPageInfoStr).object(); } // 解析在BottomBar中的App - tpVector bottomBarAppUuidList; + TpVector bottomBarAppUuidList; - tpFile bottomBarAppInfoFile(applicationDirPath() + "/../conf/bottomBarAppConfig.json"); - bottomBarAppInfoFile.open(tpFile::ReadOnly); + TpFile bottomBarAppInfoFile(applicationDirPath() + "/../conf/bottomBarAppConfig.json"); + bottomBarAppInfoFile.open(TpFile::ReadOnly); if (bottomBarAppInfoFile.isOpen()) { - tpString botomBarAppInfoJsonStr = bottomBarAppInfoFile.readAll(); + TpString botomBarAppInfoJsonStr = bottomBarAppInfoFile.readAll(); - tpJsonObject bottomBarAppJson = tpJsonDocument::fromJson(botomBarAppInfoJsonStr).object(); + TpJsonObject bottomBarAppJson = TpJsonDocument::fromJson(botomBarAppInfoJsonStr).object(); - tpJsonArray bottomAppIdList = bottomBarAppJson.value("appList").toArray(); + TpJsonArray bottomAppIdList = bottomBarAppJson.value("appList").toArray(); for (int i = 0; i < bottomAppIdList.count(); ++i) { - tpString bottomUuid = bottomAppIdList.at(i).toString(); + TpString bottomUuid = bottomAppIdList.at(i).toString(); bottomBarAppUuidList.emplace_back(bottomUuid); } @@ -602,16 +602,16 @@ void tpDeskScreen::intDeskAppConfig() uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; // 上一页放不下的APP - tpList cachePageAppList; + TpList cachePageAppList; for (int32_t i = 0; i < installAppUuidList.size(); ++i) { - tpString curAppUuid = installAppUuidList.at(i); + TpString curAppUuid = installAppUuidList.at(i); // 查询该应用是否有配置页数和行列信息 if (appPageInfoJsonObj.contains(curAppUuid)) { - tpJsonObject curAppPageInfoObj = appPageInfoJsonObj.value(curAppUuid).toObject(); + TpJsonObject curAppPageInfoObj = appPageInfoJsonObj.value(curAppUuid).toObject(); uint32_t appPage = curAppPageInfoObj.value("page").toUint(); uint32_t appIndex = curAppPageInfoObj.value("index").toUint(); @@ -693,12 +693,12 @@ void tpDeskScreen::intDeskAppConfig() refreshAppPage(curPage_); } -void tpDeskScreen::createAppBtn() +void DeskScreen::createAppBtn() { uint32_t pageMaxAppCount = globalAppMaxRow * globalAppMaxColumn; - tpString appConfigDirPath = appConfigPathStr_ + APP_CONFIG_SON_PATH; - tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH; + TpString appConfigDirPath = appConfigPathStr_ + APP_CONFIG_SON_PATH; + TpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH; // APP显示区域的宽度 uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; @@ -714,12 +714,12 @@ void tpDeskScreen::createAppBtn() for (const auto &pageAppInfoIter : allAppInfoMap_) { uint32_t appPage = pageAppInfoIter.first; - tpList curPageAppList = pageAppInfoIter.second; + TpList curPageAppList = pageAppInfoIter.second; for (const auto &appInfoSptrIter : curPageAppList) { // 解析应用图标、名称信息 - tpAppConfigIO configIO(appInfoSptrIter->appUuid); + TpAppConfigIO configIO(appInfoSptrIter->appUuid); desktopAppButton *appBtn = createDeskAppBtn(appInfoSptrIter, configIO.iconPath(), configIO.appName()); if (!appBtn) @@ -732,8 +732,8 @@ void tpDeskScreen::createAppBtn() // 计算一页里面,所有行列的XY坐标 if (finalBtn) { - tpVector rowYList; - tpVector columnXList; + TpVector rowYList; + TpVector columnXList; for (int row = 0; row < globalAppMaxRow; ++row) { @@ -756,11 +756,11 @@ void tpDeskScreen::createAppBtn() } // 创建工具栏的图标 - tpList bottomAppList; + TpList bottomAppList; for (const auto &bottomAppInfo : bottomBarAppList_) { // 解析应用图标、名称信息 - tpAppConfigIO configIO(bottomAppInfo->appUuid); + TpAppConfigIO configIO(bottomAppInfo->appUuid); desktopAppButton *appBtn = configAppBtn(bottomAppInfo->appUuid, configIO.iconPath(), configIO.appName()); bottomAppList.emplace_back(appBtn); @@ -770,7 +770,7 @@ void tpDeskScreen::createAppBtn() mainAppPanel_->recal(true); } -void tpDeskScreen::refreshMainAppPanel() +void DeskScreen::refreshMainAppPanel() { uint32_t tHeight = topFloatBar_->height(); uint32_t bottomBarHeight = bottomFloatBar_->height(); @@ -781,7 +781,7 @@ void tpDeskScreen::refreshMainAppPanel() // uint32_t appIntervalPx = appDisplayHeight * 0.0279; // 减去距离上部Bar和下部bar的距离,在减去bottomBar距离边界距离 - uint32_t mainAppPanelHeight = height() - tHeight - bottomBarHeight - tpDisplay::dp2Px(20) * 2 - tpDisplay::dp2Px(19); + uint32_t mainAppPanelHeight = height() - tHeight - bottomBarHeight - TpDisplay::dp2Px(20) * 2 - TpDisplay::dp2Px(19); mainAppPanel_->setWidth(rect().w); mainAppPanel_->setHeight(mainAppPanelHeight); @@ -803,29 +803,29 @@ void tpDeskScreen::refreshMainAppPanel() carouselButton_->move(carouselButtonX, carouselButtonY); } -void tpDeskScreen::refreshAppPage(const uint32_t &pageNum) +void DeskScreen::refreshAppPage(const uint32_t &pageNum) { } -void tpDeskScreen::refreshBar() +void DeskScreen::refreshBar() { if (!topFloatBar_ || !bottomFloatBar_) return; // 计算底部bar的X坐标 uint32_t bottomX = (width() - BOTTOM_BAR_WIDTH) / 2.0; - uint32_t bottomY = height() - BOTTOM_BAR_HEIGHT - tpDisplay::dp2Px(19); + uint32_t bottomY = height() - BOTTOM_BAR_HEIGHT - TpDisplay::dp2Px(19); bottomFloatBar_->setRoundCorners(13); - BAR_SET_ATTRIB(topFloatBar_, tpFixScreen::ITP_FULL_STYLE, 0, 0, width(), TOP_BAR_HEIGHT); - BAR_SET_ATTRIB(bottomFloatBar_, tpFixScreen::ITP_FULL_STYLE, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); + BAR_SET_ATTRIB(topFloatBar_, TpFixScreen::ITP_FULL_STYLE, 0, 0, width(), TOP_BAR_HEIGHT); + BAR_SET_ATTRIB(bottomFloatBar_, TpFixScreen::ITP_FULL_STYLE, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); uint32_t navigationX = (width() - navigationFloatBar_->width()) / 2.0; - BAR_SET_ATTRIB(navigationFloatBar_, tpFixScreen::ITP_FULL_STYLE, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); + BAR_SET_ATTRIB(navigationFloatBar_, TpFixScreen::ITP_FULL_STYLE, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); } -desktopAppButton *tpDeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const tpString &iconPath, const tpString &appName) +desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName) { desktopAppButton *appBtn = configAppBtn(appInfo->appUuid, iconPath, appName); if (!appBtn) @@ -856,7 +856,7 @@ desktopAppButton *tpDeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, co return appBtn; } -desktopAppButton *tpDeskScreen::configAppBtn(const tpString &appUuid, const tpString &iconPath, const tpString &appName) +desktopAppButton *DeskScreen::configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName) { // 根据APP uuid去查询App配置文件 desktopAppButton *appBtn = new desktopAppButton(iconPath, appName, nullptr); @@ -884,7 +884,7 @@ desktopAppButton *tpDeskScreen::configAppBtn(const tpString &appUuid, const tpSt return appBtn; } -void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argList) +void DeskScreen::startApp(const TpString &uuid, const TpVector &argList) { // 是否是系统安装包 if (uuid.compare("SytemAppInstallUuid") == 0) @@ -899,9 +899,9 @@ void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argL return; } - tpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH + uuid; + TpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH + uuid; - tpDir appFileDir(appFileDirPath); + TpDir appFileDir(appFileDirPath); if (!appFileDir.exists()) { std::cout << "UUid: " << uuid << " 应用文件夹不存在" << std::endl; @@ -936,17 +936,17 @@ void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argL else { // 解析应用图标、名称信息 - tpAppConfigIO configIO(uuid); + TpAppConfigIO configIO(uuid); - tpString runnerPath = configIO.runnerPath(); - tpFileInfo runnerFileInfo(runnerPath); + TpString runnerPath = configIO.runnerPath(); + TpFileInfo runnerFileInfo(runnerPath); if (!runnerFileInfo.exists()) { std::cout << "应用 " << configIO.appName() << " 可执行程序不存在!" << std::endl; return; } - tpProcess exeProcess; + TpProcess exeProcess; exeProcess.start(runnerPath, argList); // exeProcess.start(exePathStr); int32_t processPID = exeProcess.launchProcessID(); @@ -964,17 +964,17 @@ void tpDeskScreen::startApp(const tpString &uuid, const tpVector &argL } } -void tpDeskScreen::installApp(const tpString &pkgPath) +void DeskScreen::installApp(const TpString &pkgPath) { // 应用安装 appInstallPtr_->setPath(pkgPath); - tpString installAppUuid = appInstallPtr_->getAppUUID(); + TpString installAppUuid = appInstallPtr_->getAppUUID(); // 判断应用是否已安装 - tpVector instasllAppIDList = tpAppConfigIO::installAppUuidList(); + TpVector instasllAppIDList = TpAppConfigIO::installAppUuidList(); if (instasllAppIDList.contains(installAppUuid)) { - tpMessageBox::information("应用已安装!"); + TpMessageBox::information("应用已安装!"); return; } @@ -1022,8 +1022,8 @@ void tpDeskScreen::installApp(const tpString &pkgPath) allAppInfoMap_[installPageNum].emplace_back(installAppInfp); // 桌面添加应用图标以及遮罩层 - tpString iconPath = appInstallPtr_->getIcon(); - tpString appName = appInstallPtr_->getAppName(); + TpString iconPath = appInstallPtr_->getIcon(); + TpString appName = appInstallPtr_->getAppName(); std::cout << "Install iconPath" << iconPath << std::endl; std::cout << "Install appName" << appName << std::endl; @@ -1035,7 +1035,7 @@ void tpDeskScreen::installApp(const tpString &pkgPath) appInstallTimer_->start(); } -uint32_t tpDeskScreen::findAppIndex(const tpList &pageAppList) +uint32_t DeskScreen::findAppIndex(const TpList &pageAppList) { uint32_t findIndex = 0; if (pageAppList.size() == 0) diff --git a/Application/deskTop/src/deskScreen.h b/Application/deskTop/src/DeskScreen.h similarity index 72% rename from Application/deskTop/src/deskScreen.h rename to Application/deskTop/src/DeskScreen.h index a2bf139..d7e90f9 100644 --- a/Application/deskTop/src/deskScreen.h +++ b/Application/deskTop/src/DeskScreen.h @@ -1,26 +1,26 @@ #ifndef __TP_VDESK_SCREEN_H #define __TP_VDESK_SCREEN_H -#include "tpFixScreen.h" -#include "tpJsonObject.h" -#include "tpGateway.h" -#include "tpScrollPanel.h" -#include "tpDisplay.h" -#include "tpGridLayout.h" +#include "TpFixScreen.h" +#include "TpJsonObject.h" +#include "TpGateway.h" +#include "TpScrollPanel.h" +#include "TpDisplay.h" +#include "TpGridLayout.h" #include "mainAppScrollPanel.h" -#include "tpMenu.h" -#include "tpCarouselButton.h" +#include "TpMenu.h" +#include "TpCarouselButton.h" #include "deskTopGlobal.hpp" -#include "tpNetDataGlobal.h" -#include "tpGateway.h" -#include "tpAppInstall.h" -#include "tpTimer.h" +#include "TpNetDataGlobal.h" +#include "TpGateway.h" +#include "TpAppInstall.h" +#include "TpTimer.h" #include "toolWindow/sysLockWindow.h" #include "toolWindow/appOperateMaskWindow.h" -#include "toolBar/topBar.h" -#include "toolBar/bottomBar.h" -#include "toolBar/navigationBar.h" +#include "ToolBar/topBar.h" +#include "ToolBar/bottomBar.h" +#include "ToolBar/navigationBar.h" #include "toolModule/caculateAppPos.h" #include "toolModule/desktopAppButton.h" @@ -37,13 +37,13 @@ TP_DEF_VOID_TYPE_VAR(ItpScreenPrivData); -class tpDeskScreen - : public tpFixScreen, - public tpGateway +class DeskScreen + : public TpFixScreen, + public TpGateway { public: - tpDeskScreen(); - virtual ~tpDeskScreen(); + DeskScreen(); + virtual ~DeskScreen(); public: virtual void construct(); // 这个函数直接会被构造函数调用,不需要去修改构造,初始化代码直接在这个函数中写就好 @@ -56,15 +56,15 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require); public: - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: /// @brief 长按桌面或图标,触发卸载/移动事件;长按桌面operateBtn为空 @@ -95,20 +95,20 @@ private: void refreshBar(); /// @brief 创建桌面图标;放置在桌面窗体内;内部会初始化按钮;并根据页码索引放置在对应位置 - desktopAppButton *createDeskAppBtn(ApplicationInfoSPtr appInfo, const tpString &iconPath, const tpString &appName); + desktopAppButton *createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName); // 给入APPuuid创建配置app按钮;配置按钮信息、绑定信号槽等;工具栏按钮和桌面按钮均通过此函数创建 // UUID、应用图标绝对路径、应用名称 - desktopAppButton *configAppBtn(const tpString &appUuid, const tpString &iconPath, const tpString &appName); + desktopAppButton *configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName); // 指定应用UUID启动应用;若已在后台则唤醒 - void startApp(const tpString &uuid, const tpVector &argList = tpVector()); + void startApp(const TpString &uuid, const TpVector &argList = TpVector()); // 指定文件路径安装应用 - void installApp(const tpString &pkgPath); + void installApp(const TpString &pkgPath); // 给入当前页所有APP信息,获取可用的APP索引,函数外部需要判断该页APP是否已经放满了 - uint32_t findAppIndex(const tpList &pageAppList); + uint32_t findAppIndex(const TpList &pageAppList); private: // 顶部和底部工具栏 @@ -116,36 +116,36 @@ private: bottomBar *bottomFloatBar_ = nullptr; navigationBar *navigationFloatBar_ = nullptr; - tpAppInstall *appInstallPtr_; - tpTimer *appInstallTimer_; + TpAppInstall *appInstallPtr_; + TpTimer *appInstallTimer_; // APP显示主区域 mainAppScrollPanel *mainAppPanel_; // 菜单轮播按钮 - tpCarouselButton *carouselButton_; + TpCarouselButton *carouselButton_; // 是否是横屏,默认为横屏 bool isLandscapeScreen_ = true; // 后缀要带 / - tpString appConfigPathStr_ = "/System/"; + TpString appConfigPathStr_ = "/System/"; // 当前显示页码 uint32_t curPage_ = 0; // 页码,该页的APP信息 - tpMap> allAppInfoMap_; + TpMap> allAppInfoMap_; // 底部工具栏的应用信息 - tpList bottomBarAppList_; + TpList bottomBarAppList_; // 鼠标点击topBar坐标 ItpPoint pressTopBarPoint_; bool pressTopBar_ = false; // 应用长按操作菜单 - tpMenu *operateMenu_; + TpMenu *operateMenu_; // 应用长按遮罩层 appOperateMaskWindow *maskWindow_; // 鼠标按下时的APP对象,鼠标释放时置空 diff --git a/Application/deskTop/src/toolBar/appSettingBar.cpp b/Application/deskTop/src/ToolBar/appSettingBar.cpp similarity index 81% rename from Application/deskTop/src/toolBar/appSettingBar.cpp rename to Application/deskTop/src/ToolBar/appSettingBar.cpp index 9ea120b..4100d90 100644 --- a/Application/deskTop/src/toolBar/appSettingBar.cpp +++ b/Application/deskTop/src/ToolBar/appSettingBar.cpp @@ -2,32 +2,32 @@ #include "topBar.h" #include "deskTopGlobal.hpp" #include -#include "tpString.h" -#include "tpVariant.h" -#include "tpBluetoothLocal.h" -#include "tpMessageBox.h" -#include "tpSound.h" +#include "TpString.h" +#include "TpVariant.h" +#include "TpBluetoothLocal.h" +#include "TpMessageBox.h" +#include "TpSound.h" #ifndef SETTING_BAR_COLOR #define SETTING_BAR_COLOR _RGBA(93, 97, 208, 204) #endif appSettingBar::appSettingBar() - : tpDialog("tinyPiX_SYS_Float_0531acbf04") + : TpDialog("tinyPiX_SYS_Float_0531acbf04") { this->setEnabledBorderColor(false); this->setBackGroundColor(SETTING_BAR_COLOR); // this->setAlpha(51); // setVisible(false); - dateTimeLabel_ = new tpLabel(this); + dateTimeLabel_ = new TpLabel(this); dateTimeLabel_->setProperty("type", "controlPanelDateTimeLabel"); dateTimeLabel_->setText("2025年12月12日 周六"); dateTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); - dateTimeLabel_->font()->setFontSize(globalMainScreen_->screenWidth() * 0.016); // tpDisplay::sp2Px(16) + dateTimeLabel_->font()->setFontSize(globalMainScreen_->screenWidth() * 0.016); // TpDisplay::sp2Px(16) dateTimeLabel_->setSize(dateTimeLabel_->font()->pixelWidth(), dateTimeLabel_->font()->pixelHeight()); - powerOffBtn_ = new tpIconTopButton(applicationDirPath() + "/../res/controlPanel/控制面板-电源.png", "", this); + powerOffBtn_ = new TpIconTopButton(applicationDirPath() + "/../res/controlPanel/控制面板-电源.png", "", this); powerOffBtn_->setIconSize(globalMainScreen_->screenWidth() * 0.032, globalMainScreen_->screenWidth() * 0.032); powerOffBtn_->setTextVisible(false); powerOffBtn_->setEnableBackGroundColor(false); @@ -35,7 +35,7 @@ appSettingBar::appSettingBar() connect(powerOffBtn_, onClicked, this, &appSettingBar::slotPowerOff); // 声音进度条 - voiceProgessBar_ = new tpSlideProgressBar(this); + voiceProgessBar_ = new TpSlideProgressBar(this); voiceProgessBar_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-音量.png"); voiceProgessBar_->setRange(0, 100); voiceProgessBar_->setValue(50); @@ -43,7 +43,7 @@ appSettingBar::appSettingBar() connect(voiceProgessBar_, onValueChanged, this, &appSettingBar::slotChangeVoice); // // 亮度进度条 - lightProgessBar_ = new tpSlideProgressBar(this); + lightProgessBar_ = new TpSlideProgressBar(this); lightProgessBar_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-亮度.png"); lightProgessBar_->setRange(0, 100); lightProgessBar_->setValue(100); @@ -51,21 +51,21 @@ appSettingBar::appSettingBar() lightProgessBar_->setFixedSize(globalMainScreen_->screenWidth() * 0.2824, globalMainScreen_->screenHeight() * 0.0888); connect(lightProgessBar_, onValueChanged, this, &appSettingBar::slotChangelight); - wifiBtn_ = new tpPanelSwitchButton(this); + wifiBtn_ = new TpPanelSwitchButton(this); wifiBtn_->setCheckable(true); wifiBtn_->setText("WIFI"); wifiBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-WIFI.png"); wifiBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); connect(wifiBtn_, onClicked, this, &appSettingBar::slotSwitchWifi); - bluetoothBtn_ = new tpPanelSwitchButton(this); + bluetoothBtn_ = new TpPanelSwitchButton(this); bluetoothBtn_->setCheckable(true); bluetoothBtn_->setText("蓝牙"); bluetoothBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-蓝牙.png"); bluetoothBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); connect(bluetoothBtn_, onClicked, this, &appSettingBar::slotSwitchBluetooth); - sysLockBtn_ = new tpPanelSwitchButton(this); + sysLockBtn_ = new TpPanelSwitchButton(this); sysLockBtn_->setCheckable(true); sysLockBtn_->setText("锁定"); sysLockBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); @@ -84,15 +84,15 @@ appSettingBar::~appSettingBar() void appSettingBar::setVisible(bool visible) { - tpDialog::setVisible(visible); + TpDialog::setVisible(visible); // 刷新音量 - tpList soundList = tpSound::getDevices(); + TpList soundList = TpSound::getDevices(); if (soundList.size() > 0) { voiceProgessBar_->setEnabled(true); - tpSound sound(soundList.front()); + TpSound sound(soundList.front()); voiceProgessBar_->setValue(sound.getSystemVolume()); } else @@ -111,9 +111,9 @@ void appSettingBar::setVisible(bool visible) // sysLockBtn_->setVisible(visible); } -void appSettingBar::updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const tpString &weekDay) +void appSettingBar::updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const TpString &weekDay) { - dateTimeLabel_->setText(tpString::number(year) + "年" + tpString::number(month) + "月" + tpString::number(day) + "日" + weekDay); + dateTimeLabel_->setText(TpString::number(year) + "年" + TpString::number(month) + "月" + TpString::number(day) + "日" + weekDay); } void appSettingBar::setBluetoothStatus(const bool &status) @@ -121,7 +121,7 @@ void appSettingBar::setBluetoothStatus(const bool &status) bluetoothBtn_->setChecked(status); } -bool appSettingBar::onMousePressEvent(tpMouseEvent *event) +bool appSettingBar::onMousePressEvent(TpMouseEvent *event) { mouseLeftPress_ = event->state(); pressPoint_ = event->globalPos(); @@ -129,16 +129,16 @@ bool appSettingBar::onMousePressEvent(tpMouseEvent *event) return true; } -bool appSettingBar::onMouseRleaseEvent(tpMouseEvent *event) +bool appSettingBar::onMouseRleaseEvent(TpMouseEvent *event) { mouseLeftPress_ = event->state(); return true; } -bool appSettingBar::onMouseMoveEvent(tpMouseEvent *event) +bool appSettingBar::onMouseMoveEvent(TpMouseEvent *event) { - // tpDialog::onMouseMoveEvent(event); + // TpDialog::onMouseMoveEvent(event); if (mouseLeftPress_) { @@ -158,7 +158,7 @@ bool appSettingBar::onMouseMoveEvent(tpMouseEvent *event) return true; } -bool appSettingBar::onResizeEvent(tpObjectResizeEvent *event) +bool appSettingBar::onResizeEvent(TpObjectResizeEvent *event) { resizeOperatorBtn(); @@ -168,16 +168,16 @@ bool appSettingBar::onResizeEvent(tpObjectResizeEvent *event) void appSettingBar::slotSwitchBluetooth(bool checked) { bool blueIsOpen = false; - tpList blueToothDeviceList = tpBluetoothLocal::getAllDevice(); + TpList blueToothDeviceList = TpBluetoothLocal::getAllDevice(); if (blueToothDeviceList.size() == 0) { bluetoothBtn_->setChecked(false); - tpMessageBox msg("tinyPiX_SYS_Float_0531acbf04"); - msg.setMessageType(tpMessageBox::Information); + TpMessageBox msg("tinyPiX_SYS_Float_0531acbf04"); + msg.setMessageType(TpMessageBox::Information); msg.setText("未检测到蓝牙设备!"); - tpVector btnList; + TpVector btnList; btnList.emplace_back("确认"); msg.setButtonList(btnList); @@ -202,10 +202,10 @@ void appSettingBar::slotChangeVoice(int32_t value) return; // 刷新音量 - tpList soundList = tpSound::getDevices(); + TpList soundList = TpSound::getDevices(); if (soundList.size() > 0) { - tpSound sound(soundList.front()); + TpSound sound(soundList.front()); sound.setSystemVolume(value); } } diff --git a/Application/deskTop/src/toolBar/appSettingBar.h b/Application/deskTop/src/ToolBar/appSettingBar.h similarity index 54% rename from Application/deskTop/src/toolBar/appSettingBar.h rename to Application/deskTop/src/ToolBar/appSettingBar.h index fadad63..da5f25b 100644 --- a/Application/deskTop/src/toolBar/appSettingBar.h +++ b/Application/deskTop/src/ToolBar/appSettingBar.h @@ -1,18 +1,18 @@ #ifndef __APP_SETTING_BAR_H #define __APP_SETTING_BAR_H -#include "tpDialog.h" -#include "tpButton.h" -#include "tpEvent.h" -#include "tpIconTopButton.h" -#include "tpVector.h" -#include "tpSlideProgressBar.h" -#include "tpLabel.h" -#include "tpPanelSwitchButton.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpEvent.h" +#include "TpIconTopButton.h" +#include "TpVector.h" +#include "TpSlideProgressBar.h" +#include "TpLabel.h" +#include "TpPanelSwitchButton.h" #include "powerManage.h" class appSettingBar - : public tpDialog + : public TpDialog { public: appSettingBar(); @@ -21,21 +21,21 @@ public: virtual void setVisible(bool visible) override; // 更新系统时间 - void updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const tpString &weekDay); + void updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const TpString &weekDay); // 设置蓝牙开关状态 void setBluetoothStatus(const bool &status); // void set protected: - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - // virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + // virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: // 点击切换蓝牙状态按钮 @@ -61,24 +61,24 @@ private: ItpPoint pressPoint_; // 日期lable - tpLabel *dateTimeLabel_; + TpLabel *dateTimeLabel_; - tpIconTopButton *powerOffBtn_; + TpIconTopButton *powerOffBtn_; // // 声音进度条 - tpSlideProgressBar *voiceProgessBar_; + TpSlideProgressBar *voiceProgessBar_; // // 亮度进度条 - tpSlideProgressBar *lightProgessBar_; + TpSlideProgressBar *lightProgessBar_; - tpPanelSwitchButton *wifiBtn_; - tpPanelSwitchButton *bluetoothBtn_; + TpPanelSwitchButton *wifiBtn_; + TpPanelSwitchButton *bluetoothBtn_; // 锁定旋转 - tpPanelSwitchButton *sysLockBtn_; + TpPanelSwitchButton *sysLockBtn_; // 电源管理窗口 powerManage *powerManageWindow_; - // tpVector operatorBtnList_; + // TpVector operatorBtnList_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolBar/bottomBar.cpp b/Application/deskTop/src/ToolBar/bottomBar.cpp similarity index 77% rename from Application/deskTop/src/toolBar/bottomBar.cpp rename to Application/deskTop/src/ToolBar/bottomBar.cpp index 953033b..46cbac4 100644 --- a/Application/deskTop/src/toolBar/bottomBar.cpp +++ b/Application/deskTop/src/ToolBar/bottomBar.cpp @@ -1,8 +1,8 @@ #include "bottomBar.h" -#include "tpDisplay.h" +#include "TpDisplay.h" #ifndef BOTTOM_CONTENT_MARGIN -#define BOTTOM_CONTENT_MARGIN tpDisplay::dp2Px(24) +#define BOTTOM_CONTENT_MARGIN TpDisplay::dp2Px(24) #endif #ifndef BOTTOM_BAR_COLOR @@ -11,8 +11,8 @@ // #define BOTTOM_BAR_COLOR _RGBA(255, 255, 255, 128) #endif -bottomBar::bottomBar(tpScreen *topScreen) - : tpChildWidget(topScreen), topScreen_(topScreen) +bottomBar::bottomBar(TpScreen *topScreen) + : TpChildWidget(topScreen), topScreen_(topScreen) { setEnabledBorderColor(false); setBackGroundColor(BOTTOM_BAR_COLOR); @@ -25,10 +25,10 @@ bottomBar::~bottomBar() void bottomBar::setVisible(bool visible) { // std::cout << "bottomBar::setVisible " << visible << std::endl; - tpChildWidget::setVisible(visible); + TpChildWidget::setVisible(visible); } -void bottomBar::setBottomAppBtn(const tpList &appList) +void bottomBar::setBottomAppBtn(const TpList &appList) { systemAppBtnList_ = appList; @@ -42,7 +42,7 @@ void bottomBar::setBottomAppBtn(const tpList &appList) update(); } -tpList bottomBar::bottomAppBtnList() +TpList bottomBar::bottomAppBtnList() { // TODO: 在此处插入 return 语句 return systemAppBtnList_; @@ -63,24 +63,24 @@ void bottomBar::removeApp(desktopAppButton *removeBtn) } } -bool bottomBar::onResizeEvent(tpObjectResizeEvent *event) +bool bottomBar::onResizeEvent(TpObjectResizeEvent *event) { return true; } -bool bottomBar::onMoveEvent(tpObjectMoveEvent *event) +bool bottomBar::onMoveEvent(TpObjectMoveEvent *event) { caculateBottomAppPos(); return true; } -bool bottomBar::onMousePressEvent(tpMouseEvent *event) +bool bottomBar::onMousePressEvent(TpMouseEvent *event) { return true; } -bool bottomBar::onMouseRleaseEvent(tpMouseEvent *event) +bool bottomBar::onMouseRleaseEvent(TpMouseEvent *event) { return true; } diff --git a/Application/deskTop/src/toolBar/bottomBar.h b/Application/deskTop/src/ToolBar/bottomBar.h similarity index 48% rename from Application/deskTop/src/toolBar/bottomBar.h rename to Application/deskTop/src/ToolBar/bottomBar.h index cdb9c22..2bdcb01 100644 --- a/Application/deskTop/src/toolBar/bottomBar.h +++ b/Application/deskTop/src/ToolBar/bottomBar.h @@ -1,48 +1,48 @@ #ifndef __BOTTOM_BAR_H #define __BOTTOM_BAR_H -#include "tpDialog.h" -#include "tpList.h" +#include "TpDialog.h" +#include "TpList.h" #include "deskTopGlobal.hpp" #include "toolModule/desktopAppButton.h" class bottomBar - : public tpChildWidget + : public TpChildWidget { public: // 顶层窗口指针 - bottomBar(tpScreen* topScreen); + bottomBar(TpScreen* topScreen); virtual ~bottomBar(); virtual void setVisible(bool visible = true) override; // 设置工具栏按钮列表 - void setBottomAppBtn(const tpList& appList); + void setBottomAppBtn(const TpList& appList); /// @brief 获取底部工具栏APP按钮列表 /// @return - tpList bottomAppBtnList(); + TpList bottomAppBtnList(); // 卸载应用 void removeApp(desktopAppButton* removeBtn); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; - virtual bool onMoveEvent(tpObjectMoveEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onMoveEvent(TpObjectMoveEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; private: void caculateBottomAppPos(); private: - tpScreen* topScreen_; + TpScreen* topScreen_; // 系统底部应用图标信息 - tpList systemAppBtnList_; + TpList systemAppBtnList_; // 所有在底部的icon列表 - // tpList bottomAppInfoList_; + // TpList bottomAppInfoList_; }; #endif diff --git a/Application/deskTop/src/toolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp similarity index 74% rename from Application/deskTop/src/toolBar/navigationBar.cpp rename to Application/deskTop/src/ToolBar/navigationBar.cpp index 3611695..981f3bf 100644 --- a/Application/deskTop/src/toolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -1,17 +1,17 @@ #include "navigationBar.h" #include "TpCanvas.h" -#include "tpDisplay.h" -#include "tpAnimation.h" +#include "TpDisplay.h" +#include "TpAnimation.h" #include "deskTopGlobal.hpp" -#include "tpApp.h" +#include "TpApp.h" navigationBar::navigationBar() - : tpDialog("tinyPiX_SYS_Float_0531acbf04") + : TpDialog("tinyPiX_SYS_Float_0531acbf04") { const uint32_t navigationLineWidth = globalMainScreen_->screenWidth() * 0.3; - const uint32_t navigationLineHeight = tpDisplay::dp2Px(6); + const uint32_t navigationLineHeight = TpDisplay::dp2Px(6); - lineLabel_ = new tpLabel(this); + lineLabel_ = new TpLabel(this); lineLabel_->setFixedSize(navigationLineWidth, navigationLineHeight); lineLabel_->setEnabledBorderColor(false); lineLabel_->setEnableBackGroundColor(true); @@ -20,11 +20,11 @@ navigationBar::navigationBar() lineLabel_->installEventFilter(this); // 导航线上下各10像素 - setSize(navigationLineWidth, tpDisplay::dp2Px(20)); + setSize(navigationLineWidth, TpDisplay::dp2Px(20)); setBackGroundColor(_RGBA(255, 255, 255, 0)); // setAlpha(0); - lastAnimationTime_ = tpTime::currentTime(); + lastAnimationTime_ = TpTime::currentTime(); } navigationBar::~navigationBar() @@ -35,7 +35,7 @@ void navigationBar::setColor(const int32_t &appColor) { } -bool navigationBar::onResizeEvent(tpObjectResizeEvent *event) +bool navigationBar::onResizeEvent(TpObjectResizeEvent *event) { int32_t lienY = (height() - lineLabel_->height()) / 2.0; lineLabel_->move(0, lienY); @@ -43,21 +43,21 @@ bool navigationBar::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool navigationBar::onMousePressEvent(tpMouseEvent *event) +bool navigationBar::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); - mousePressTime_ = tpTime::currentTime(); + mousePressTime_ = TpTime::currentTime(); return true; } -bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) +bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) { std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; ItpPoint curPos = event->globalPos(); if (std::abs(curPos.x - mousePressPoint_.x) < 5 && std::abs(curPos.y - mousePressPoint_.y) < 5) { - tpTime curTime = tpTime::currentTime(); + TpTime curTime = TpTime::currentTime(); int64_t animationTimeInterval = lastAnimationTime_.msecsTo(curTime); lastAnimationTime_ = curTime; @@ -68,7 +68,7 @@ bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) int32_t lienY = (height() - lineLabel_->height()) / 2.0; lineLabel_->move(0, lienY); - tpAnimation *moveAnimation = new tpAnimation(lineLabel_, tpAnimation::Pos); + TpAnimation *moveAnimation = new TpAnimation(lineLabel_, TpAnimation::Pos); moveAnimation->setStartValue(lineLabel_->pos()); moveAnimation->setKeyValueAt(0.5, ItpPoint(0, 0)); moveAnimation->setEndValue(lineLabel_->pos()); @@ -78,7 +78,7 @@ bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) } else { - tpTime mouseReleaseTime = tpTime::currentTime(); + TpTime mouseReleaseTime = TpTime::currentTime(); int32_t msTime = mousePressTime_.msecsTo(mouseReleaseTime); int32_t offsetY = mousePressPoint_.y - curPos.y; @@ -126,7 +126,7 @@ bool navigationBar::onMouseRleaseEvent(tpMouseEvent *event) return true; } -bool navigationBar::onMouseMoveEvent(tpMouseEvent *event) +bool navigationBar::onMouseMoveEvent(TpMouseEvent *event) { static int aaa = 0; std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; @@ -139,32 +139,32 @@ bool navigationBar::onMouseMoveEvent(tpMouseEvent *event) return true; } -bool navigationBar::onLeaveEvent(tpObjectLeaveEvent *event) +bool navigationBar::onLeaveEvent(TpObjectLeaveEvent *event) { return true; } -bool navigationBar::onPaintEvent(tpObjectPaintEvent *event) +bool navigationBar::onPaintEvent(TpObjectPaintEvent *event) { - tpDialog::onPaintEvent(event); + TpDialog::onPaintEvent(event); return true; } -bool navigationBar::eventFilter(tpObject *watched, tpEvent *event) +bool navigationBar::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMousePressEvent(mouseEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseRleaseEvent(mouseEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_MOVE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseMoveEvent(mouseEvent); } else diff --git a/Application/deskTop/src/toolBar/navigationBar.h b/Application/deskTop/src/ToolBar/navigationBar.h similarity index 45% rename from Application/deskTop/src/toolBar/navigationBar.h rename to Application/deskTop/src/ToolBar/navigationBar.h index b82d2c4..de3bd15 100644 --- a/Application/deskTop/src/toolBar/navigationBar.h +++ b/Application/deskTop/src/ToolBar/navigationBar.h @@ -5,13 +5,13 @@ 导航条 */ -#include "tpDialog.h" -#include "tpLabel.h" -#include "tpEvent.h" -#include "tpTime.h" +#include "TpDialog.h" +#include "TpLabel.h" +#include "TpEvent.h" +#include "TpTime.h" class navigationBar - : public tpDialog + : public TpDialog { public: navigationBar(); @@ -22,24 +22,24 @@ public: void setColor(const int32_t &appColor); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: - tpLabel *lineLabel_; + TpLabel *lineLabel_; // 鼠标按下的相对坐标 ItpPoint mousePressPoint_; - tpTime mousePressTime_; + TpTime mousePressTime_; // 上一次动画执行时间,避免重复执行动画 - tpTime lastAnimationTime_; + TpTime lastAnimationTime_; }; #endif diff --git a/Application/deskTop/src/toolBar/powerManage.cpp b/Application/deskTop/src/ToolBar/powerManage.cpp similarity index 79% rename from Application/deskTop/src/toolBar/powerManage.cpp rename to Application/deskTop/src/ToolBar/powerManage.cpp index bec5fe3..aefb3cb 100644 --- a/Application/deskTop/src/toolBar/powerManage.cpp +++ b/Application/deskTop/src/ToolBar/powerManage.cpp @@ -1,25 +1,25 @@ #include "powerManage.h" -#include "tpVariant.h" +#include "TpVariant.h" #include "deskTopGlobal.hpp" #define POWER_MANAGE_BG_COLOR _RGBA(0, 0, 0, 153) powerManage::powerManage() - : tpDialog("tinyPiX_SYS_Float_0531acbf04") + : TpDialog("tinyPiX_SYS_Float_0531acbf04") { setBackGroundColor(POWER_MANAGE_BG_COLOR); // setAlpha(102); - powerRestartBtn_ = new tpButton("重新启动", this); + powerRestartBtn_ = new TpButton("重新启动", this); powerRestartBtn_->setProperty("type", "ControlPanelPowerButton"); powerRestartBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.2824, globalMainScreen_->screenHeight() * 0.0888); - powerOffBtn_ = new tpButton("关机", this); + powerOffBtn_ = new TpButton("关机", this); powerOffBtn_->setProperty("type", "ControlPanelPowerButton"); powerOffBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.2824, globalMainScreen_->screenHeight() * 0.0888); - closeBtn_ = new tpButton(this); - closeBtn_->setButtonStyle(tpButton::IconOnly); + closeBtn_ = new TpButton(this); + closeBtn_->setButtonStyle(TpButton::IconOnly); closeBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-关闭.png"); closeBtn_->setEnableBackGroundColor(false); closeBtn_->setSize(globalMainScreen_->screenWidth() * 0.055555, globalMainScreen_->screenWidth() * 0.055555); @@ -46,19 +46,19 @@ powerManage::~powerManage() { } -bool powerManage::onMousePressEvent(tpMouseEvent *event) +bool powerManage::onMousePressEvent(TpMouseEvent *event) { setVisible(false); return true; } -bool powerManage::onMouseRleaseEvent(tpMouseEvent *event) +bool powerManage::onMouseRleaseEvent(TpMouseEvent *event) { return true; } -bool powerManage::onResizeEvent(tpObjectResizeEvent *event) +bool powerManage::onResizeEvent(TpObjectResizeEvent *event) { return true; } diff --git a/Application/deskTop/src/toolBar/powerManage.h b/Application/deskTop/src/ToolBar/powerManage.h similarity index 38% rename from Application/deskTop/src/toolBar/powerManage.h rename to Application/deskTop/src/ToolBar/powerManage.h index 01c9965..42a82e8 100644 --- a/Application/deskTop/src/toolBar/powerManage.h +++ b/Application/deskTop/src/ToolBar/powerManage.h @@ -1,30 +1,30 @@ #ifndef __SYS_POWER_MANAGE_H #define __SYS_POWER_MANAGE_H -#include "tpDialog.h" -#include "tpButton.h" -#include "tpEvent.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpEvent.h" class powerManage - : public tpDialog + : public TpDialog { public: powerManage(); virtual ~powerManage(); protected: - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: // void slotPowerOff(bool checked); private: - tpButton *powerRestartBtn_; - tpButton *powerOffBtn_; - tpButton *closeBtn_; + TpButton *powerRestartBtn_; + TpButton *powerOffBtn_; + TpButton *closeBtn_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolBar/topBar.cpp b/Application/deskTop/src/ToolBar/topBar.cpp similarity index 66% rename from Application/deskTop/src/toolBar/topBar.cpp rename to Application/deskTop/src/ToolBar/topBar.cpp index d503636..83f4f2b 100644 --- a/Application/deskTop/src/toolBar/topBar.cpp +++ b/Application/deskTop/src/ToolBar/topBar.cpp @@ -1,14 +1,14 @@ #include "topBar.h" -#include "tpFont.h" -#include "tpString.h" +#include "TpFont.h" +#include "TpString.h" #include "deskTopGlobal.hpp" -#include "tpDisplay.h" -#include "tpTime.h" -#include "tpDate.h" -#include "tpEvent.h" +#include "TpDisplay.h" +#include "TpTime.h" +#include "TpDate.h" +#include "TpEvent.h" #include "TpImage.h" -#include "tpBluetoothLocal.h" -#include "tpNetworkInterface.h" +#include "TpBluetoothLocal.h" +#include "TpNetworkInterface.h" #include @@ -18,8 +18,8 @@ bool globalSystemLockStatus = false; #define TOP_BAR_COLOR _RGBA(255, 255, 255, 0) #endif -topBar::topBar(tpScreen *topScreen) - : tpDialog("tinyPiX_SYS_Float_0531acbf04"), topScreen_(topScreen) +topBar::topBar(TpScreen *topScreen) + : TpDialog("tinyPiX_SYS_Float_0531acbf04"), topScreen_(topScreen) { setEnabledBorderColor(false); setBackGroundColor(TOP_BAR_COLOR); @@ -36,36 +36,36 @@ topBar::~topBar() void topBar::construct() { - sysTimeLabel_ = new tpLabel(this); + sysTimeLabel_ = new TpLabel(this); sysTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); - sysTimeLabel_->font()->setFontSize(tpDisplay::sp2Px(11)); + sysTimeLabel_->font()->setFontSize(TpDisplay::sp2Px(11)); sysTimeLabel_->setText("09:43"); sysTimeLabel_->setWidth(sysTimeLabel_->font()->pixelWidth()); - sysTimeLabel_->setHeight(tpDisplay::dp2Px(17)); + sysTimeLabel_->setHeight(TpDisplay::dp2Px(17)); - sysDateLabel_ = new tpLabel(this); + sysDateLabel_ = new TpLabel(this); sysDateLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); - sysDateLabel_->font()->setFontSize(tpDisplay::sp2Px(11)); + sysDateLabel_->font()->setFontSize(TpDisplay::sp2Px(11)); sysDateLabel_->setText("2月22日 周二"); sysDateLabel_->setWidth(sysDateLabel_->font()->pixelWidth()); - sysDateLabel_->setHeight(tpDisplay::dp2Px(17)); + sysDateLabel_->setHeight(TpDisplay::dp2Px(17)); - wifiLabel_ = new tpLabel(this); - wifiLabel_->setSize(tpDisplay::dp2Px(17), tpDisplay::dp2Px(17)); + wifiLabel_ = new TpLabel(this); + wifiLabel_->setSize(TpDisplay::dp2Px(17), TpDisplay::dp2Px(17)); wifiLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/WIFI.png")); wifiLabel_->setVisible(false); - blueToothLabel_ = new tpLabel(this); - blueToothLabel_->setSize(tpDisplay::dp2Px(17), tpDisplay::dp2Px(17)); + blueToothLabel_ = new TpLabel(this); + blueToothLabel_->setSize(TpDisplay::dp2Px(17), TpDisplay::dp2Px(17)); blueToothLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/蓝牙.png")); blueToothLabel_->setVisible(false); - elecBattery_ = new tpBattery(this); - elecBattery_->setWidth(tpDisplay::dp2Px(25)); - elecBattery_->setHeight(tpDisplay::dp2Px(16)); + elecBattery_ = new TpBattery(this); + elecBattery_->setWidth(TpDisplay::dp2Px(25)); + elecBattery_->setHeight(TpDisplay::dp2Px(16)); elecBattery_->setValue(100); - updateTimetimer_ = new tpTimer(50000); + updateTimetimer_ = new TpTimer(50000); connect(updateTimetimer_, timeout, this, &topBar::slotUpdateSystemTime); updateTimetimer_->start(); @@ -90,7 +90,7 @@ void topBar::setVisible(bool visible) // 电量显示窗 elecBattery_->setVisible(visible); - // tpDialog::setVisible(visible); + // TpDialog::setVisible(visible); update(); } @@ -98,7 +98,7 @@ void topBar::setColor(const int32_t &appColor) { } -bool topBar::onResizeEvent(tpObjectResizeEvent *event) +bool topBar::onResizeEvent(TpObjectResizeEvent *event) { caculateTopAppPos(); @@ -109,26 +109,26 @@ bool topBar::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool topBar::onMousePressEvent(tpMouseEvent *event) +bool topBar::onMousePressEvent(TpMouseEvent *event) { std::cout << "TopBar Press Pos ()" << event->globalPos().x << " , " << event->globalPos().y << std::endl; return true; } -bool topBar::onMouseRleaseEvent(tpMouseEvent *event) +bool topBar::onMouseRleaseEvent(TpMouseEvent *event) { return true; } -bool topBar::onMouseMoveEvent(tpMouseEvent *event) +bool topBar::onMouseMoveEvent(TpMouseEvent *event) { return true; } -bool topBar::onLeaveEvent(tpObjectLeaveEvent *event) +bool topBar::onLeaveEvent(TpObjectLeaveEvent *event) { - if (event->eventType() == tpEvent::EVENT_OBJECT_LEAVE_TYPE) + if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) { if (event->leave()) { @@ -147,44 +147,44 @@ void topBar::caculateTopAppPos() // std::cout << " statusBtnWh :" << statusBtnWh << std::endl; // 添加系统时间和系统日期 - sysTimeLabel_->move(tpDisplay::dp2Px(16), (topBarRect.h - sysTimeLabel_->height()) / 2.0); + sysTimeLabel_->move(TpDisplay::dp2Px(16), (topBarRect.h - sysTimeLabel_->height()) / 2.0); - uint32_t sysDateXPos = sysTimeLabel_->rect().x + sysTimeLabel_->width() + tpDisplay::dp2Px(12); + uint32_t sysDateXPos = sysTimeLabel_->rect().x + sysTimeLabel_->width() + TpDisplay::dp2Px(12); sysDateLabel_->move(sysDateXPos, (topBarRect.h - sysDateLabel_->height()) / 2.0); - elecBattery_->move(width() - elecBattery_->width() - tpDisplay::dp2Px(16), (topBarRect.h - elecBattery_->height()) / 2.0); + elecBattery_->move(width() - elecBattery_->width() - TpDisplay::dp2Px(16), (topBarRect.h - elecBattery_->height()) / 2.0); - wifiLabel_->move(elecBattery_->pos().x - wifiLabel_->width() - tpDisplay::dp2Px(5), (topBarRect.h - wifiLabel_->height()) / 2.0); + wifiLabel_->move(elecBattery_->pos().x - wifiLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.h - wifiLabel_->height()) / 2.0); - blueToothLabel_->move(wifiLabel_->pos().x - blueToothLabel_->width() - tpDisplay::dp2Px(5), (topBarRect.h - blueToothLabel_->height()) / 2.0); + blueToothLabel_->move(wifiLabel_->pos().x - blueToothLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.h - blueToothLabel_->height()) / 2.0); } void topBar::slotUpdateSystemTime() { // 更新时间 - tpTime currentTime = tpTime::currentTime(); - tpString curTimeStr = currentTime.toString("HH:mm"); + TpTime currentTime = TpTime::currentTime(); + TpString curTimeStr = currentTime.toString("HH:mm"); sysTimeLabel_->setText(curTimeStr); // 更新日期 - tpDate currentDate = tpDate::currentDate(); - tpString curDateStr = tpString::number(currentDate.month()) + "月" + tpString::number(currentDate.day()) + "日 " + transWeekData(currentDate.dayOfWeek()); + TpDate currentDate = TpDate::currentDate(); + TpString curDateStr = TpString::number(currentDate.month()) + "月" + TpString::number(currentDate.day()) + "日 " + transWeekData(currentDate.dayOfWeek()); sysDateLabel_->setText(curDateStr); #if 0 // 获取蓝牙设备状态;取第一个蓝牙设备的状态 bool blueIsOpen = false; - tpList blueToothDeviceList = tpBluetoothLocal::getAllDevice(); + TpList blueToothDeviceList = TpBluetoothLocal::getAllDevice(); if (blueToothDeviceList.size() > 0) { - tpBluetoothLocal& firstBlueDevice = blueToothDeviceList.front(); + TpBluetoothLocal& firstBlueDevice = blueToothDeviceList.front(); blueIsOpen = firstBlueDevice.isPowerOn(); blueToothLabel_->setVisible(blueIsOpen); } // 设置网络状态;任意一网卡有网就显示连接状态 bool isOnline = false; - tpList networkList = tpNetworkInterface::getAllDevice(); + TpList networkList = TpNetworkInterface::getAllDevice(); for (auto &internetDevice : networkList) { // 网卡关闭不处理 @@ -204,7 +204,7 @@ void topBar::slotUpdateSystemTime() } } -tpString topBar::transWeekData(const int32_t &dayOfWeek) +TpString topBar::transWeekData(const int32_t &dayOfWeek) { switch (dayOfWeek) { diff --git a/Application/deskTop/src/toolBar/topBar.h b/Application/deskTop/src/ToolBar/topBar.h similarity index 54% rename from Application/deskTop/src/toolBar/topBar.h rename to Application/deskTop/src/ToolBar/topBar.h index 110d62a..af0a878 100644 --- a/Application/deskTop/src/toolBar/topBar.h +++ b/Application/deskTop/src/ToolBar/topBar.h @@ -1,16 +1,16 @@ #ifndef __TOP_BAR_H #define __TOP_BAR_H -#include "tpDialog.h" -#include "tpLabel.h" -#include "tpTimer.h" -#include "tpEvent.h" -#include "tpBattery.h" +#include "TpDialog.h" +#include "TpLabel.h" +#include "TpTimer.h" +#include "TpEvent.h" +#include "TpBattery.h" -class topBar : public tpDialog +class topBar : public TpDialog { public: - topBar(tpScreen *topScreen); + topBar(TpScreen *topScreen); virtual ~topBar(); virtual void setVisible(bool visible = true) override; @@ -25,14 +25,14 @@ public: // 其余函数和数据自定义 protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; private: void caculateTopAppPos(); @@ -40,22 +40,22 @@ private: void slotUpdateSystemTime(); // 将周几的数字转为汉字显示 - tpString transWeekData(const int32_t &dayOfWeek); + TpString transWeekData(const int32_t &dayOfWeek); private: - tpScreen *topScreen_; + TpScreen *topScreen_; - tpLabel *sysDateLabel_; - tpLabel *sysTimeLabel_; + TpLabel *sysDateLabel_; + TpLabel *sysTimeLabel_; // 蓝牙和网络连接状态 - tpLabel *wifiLabel_; - tpLabel *blueToothLabel_; + TpLabel *wifiLabel_; + TpLabel *blueToothLabel_; // 电量显示窗 - tpBattery *elecBattery_; + TpBattery *elecBattery_; - tpTimer *updateTimetimer_; + TpTimer *updateTimetimer_; }; #endif diff --git a/Application/deskTop/src/deskEntry.cpp b/Application/deskTop/src/deskEntry.cpp index c99a73f..762eacc 100644 --- a/Application/deskTop/src/deskEntry.cpp +++ b/Application/deskTop/src/deskEntry.cpp @@ -1,17 +1,17 @@ #include "deskEntry.h" -#include "tpApp.h" -#include "deskScreen.h" -#include "toolBar/topBar.h" -#include "toolBar/bottomBar.h" +#include "TpApp.h" +#include "DeskScreen.h" +#include "ToolBar/topBar.h" +#include "ToolBar/bottomBar.h" -tpDeskScreen::tpDeskScreen() : tpFixScreen("tinyPiX_DeskTop_0x43ef3dc14"), pressAppBtn_(nullptr) +DeskScreen::DeskScreen() : TpFixScreen("tinyPiX_DeskTop_0x43ef3dc14"), pressAppBtn_(nullptr) , isMoveMode_(false), installingApp_(nullptr) { this->construct(); this->setVisible(true); } -tpDeskScreen::~tpDeskScreen() +DeskScreen::~DeskScreen() { this->destruction(); } @@ -19,8 +19,8 @@ tpDeskScreen::~tpDeskScreen() // int deskEntry_Start(int argc, char *argv[]) int main(int argc, char *argv[]) { - tpApp app(argc, argv); - tpDeskScreen *deskTop = new tpDeskScreen(); + TpApp app(argc, argv); + DeskScreen *deskTop = new DeskScreen(); if (deskTop) { diff --git a/Application/deskTop/src/deskTopGlobal.hpp b/Application/deskTop/src/deskTopGlobal.hpp index 18bd8c4..b8a0898 100644 --- a/Application/deskTop/src/deskTopGlobal.hpp +++ b/Application/deskTop/src/deskTopGlobal.hpp @@ -4,8 +4,8 @@ #include #include "toolWindow/sysLockWindow.h" #include "toolWindow/appTaskManageWindow.h" -#include "toolBar/appSettingBar.h" -#include "tpDisplay.h" +#include "ToolBar/appSettingBar.h" +#include "TpDisplay.h" #include "tinyPiXUtils.h" #include "tinyPiXSys.h" @@ -25,16 +25,16 @@ extern sysLockWindow *globalSysLockWindow; extern appSettingBar *globalTopSettingBar_; // 主窗体 -extern tpScreen *globalMainScreen_; +extern TpScreen *globalMainScreen_; extern IPiSysApiAgent *globalAgent; // 正在运行的应用信息 struct RunAppInfo { - tpString appName; - tpString appUuid; - tpString appIconPath; + TpString appName; + TpString appUuid; + TpString appIconPath; int32_t pid; RunAppInfo() : appName(""), appUuid(""), appIconPath(""), pid(0) @@ -43,14 +43,14 @@ struct RunAppInfo }; extern std::mutex readRunAppMutex_; // -extern tpHash globalRunAppMap_; +extern TpHash globalRunAppMap_; // 应用uuid对应的pid -extern tpHash globalUuidPidMap_; +extern TpHash globalUuidPidMap_; // APP页码信息 struct ApplicationInfo { - tpString appUuid; + TpString appUuid; uint32_t page; uint32_t index; @@ -71,7 +71,7 @@ typedef std::shared_ptr ApplicationInfoSPtr; // 顶部工具栏高度 #ifndef TOP_BAR_HEIGHT -// #define TOP_BAR_HEIGHT tpScreen::screenHeight() * 0.04166 +// #define TOP_BAR_HEIGHT TpScreen::screenHeight() * 0.04166 #define TOP_BAR_HEIGHT globalMainScreen_->screenHeight() * 0.05 #endif @@ -82,7 +82,7 @@ typedef std::shared_ptr ApplicationInfoSPtr; // APP之间水平间隔 // #ifndef APP_H_INTERVAL -// #define APP_H_INTERVAL tpScreen::screenWidth() * 0.06666 +// #define APP_H_INTERVAL TpScreen::screenWidth() * 0.06666 // #endif extern uint32_t globalAppHInterval; @@ -105,7 +105,7 @@ extern uint32_t globalAppMaxColumn; // #endif #ifndef APP_FONT_SIZE -#define APP_FONT_SIZE tpDisplay::sp2Px(11) +#define APP_FONT_SIZE TpDisplay::sp2Px(11) #endif // APPIcon的宽高 diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/deskTop/src/mainAppScrollPanel.cpp index ba4f03f..29fcdc4 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/deskTop/src/mainAppScrollPanel.cpp @@ -2,8 +2,8 @@ #include "deskTopGlobal.hpp" #include "math.h" -mainAppScrollPanel::mainAppScrollPanel(tpChildWidget *parent) - : tpScrollPanel(parent), maxPageCount_(globalDesktopMaxPageNum), mouseLeftPress_(false), isSwitchPage_(false) +mainAppScrollPanel::mainAppScrollPanel(TpChildWidget *parent) + : TpScrollPanel(parent), maxPageCount_(globalDesktopMaxPageNum), mouseLeftPress_(false), isSwitchPage_(false) { this->setEnableBackGroundColor(false); // this->setBackGroundColor(tpColors::Gold); @@ -26,43 +26,43 @@ void mainAppScrollPanel::setMoveAppRect(const ItpRect &rect, const int32_t &roun { } -bool mainAppScrollPanel::eventFilter(tpObject *watched, tpEvent *event) +bool mainAppScrollPanel::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; onMousePressEvent(mouseKeyEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; onMouseRleaseEvent(mouseKeyEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_MOVE_TYPE) { - tpMouseEvent *mouseMotionEvent = dynamic_cast(event); + TpMouseEvent *mouseMotionEvent = dynamic_cast(event); if (!mouseMotionEvent) return false; onMouseMoveEvent(mouseMotionEvent); } - else if (event->eventType() == tpEvent::EVENT_WHEEL_EVENT) + else if (event->eventType() == TpEvent::EVENT_WHEEL_EVENT) { - tpWheelEvent *wheelEvent = dynamic_cast(event); + TpWheelEvent *wheelEvent = dynamic_cast(event); if (!wheelEvent) return false; onWheelEvent(wheelEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_LONG_PRESS_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_LONG_PRESS_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; @@ -75,7 +75,7 @@ bool mainAppScrollPanel::eventFilter(tpObject *watched, tpEvent *event) return false; } -bool mainAppScrollPanel::onMousePressEvent(tpMouseEvent *event) +bool mainAppScrollPanel::onMousePressEvent(TpMouseEvent *event) { // 鼠标左键点击,记录点击坐标 mouseLeftPress_ = true; @@ -87,7 +87,7 @@ bool mainAppScrollPanel::onMousePressEvent(tpMouseEvent *event) return true; } -bool mainAppScrollPanel::onMouseRleaseEvent(tpMouseEvent *event) +bool mainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) { mouseLeftPress_ = false; @@ -129,14 +129,14 @@ bool mainAppScrollPanel::onMouseRleaseEvent(tpMouseEvent *event) return true; } -bool mainAppScrollPanel::onMouseLongPressEvent(tpMouseEvent *event) +bool mainAppScrollPanel::onMouseLongPressEvent(TpMouseEvent *event) { onLongPress.emit(); return false; } -bool mainAppScrollPanel::onWheelEvent(tpWheelEvent *event) +bool mainAppScrollPanel::onWheelEvent(TpWheelEvent *event) { if (event->angleDelta() > 0) { @@ -169,7 +169,7 @@ bool mainAppScrollPanel::onWheelEvent(tpWheelEvent *event) return true; } -bool mainAppScrollPanel::onMouseMoveEvent(tpMouseEvent *event) +bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { @@ -206,13 +206,13 @@ bool mainAppScrollPanel::onMouseMoveEvent(tpMouseEvent *event) // std::cout << "Move event->globalPos().X: " << event->globalPos().x << " event->globalPos().y: " << event->globalPos().y << std::endl; - // return tpScrollPanel::onMouseMoveEvent(event); + // return TpScrollPanel::onMouseMoveEvent(event); } return true; } -bool mainAppScrollPanel::onLeaveEvent(tpObjectLeaveEvent *event) +bool mainAppScrollPanel::onLeaveEvent(TpObjectLeaveEvent *event) { if (!event->leave()) { diff --git a/Application/deskTop/src/mainAppScrollPanel.h b/Application/deskTop/src/mainAppScrollPanel.h index 5dcfaae..6026d90 100644 --- a/Application/deskTop/src/mainAppScrollPanel.h +++ b/Application/deskTop/src/mainAppScrollPanel.h @@ -1,15 +1,15 @@ #ifndef MAIN_APP_SCROLL_PANEL #define MAIN_APP_SCROLL_PANEL -#include "tpScrollPanel.h" -#include "tpEvent.h" +#include "TpScrollPanel.h" +#include "TpEvent.h" /// @brief class mainAppScrollPanel - : public tpScrollPanel + : public TpScrollPanel { public: - mainAppScrollPanel(tpChildWidget *parent = nullptr); + mainAppScrollPanel(TpChildWidget *parent = nullptr); ~mainAppScrollPanel(); void setMaxPage(const uint32_t &maxPage); @@ -28,15 +28,15 @@ signals: declare_signal(onLongPress); protected: - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool onMouseLongPressEvent(tpMouseEvent *event) override; - virtual bool onWheelEvent(tpWheelEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool onMouseLongPressEvent(TpMouseEvent *event) override; + virtual bool onWheelEvent(TpWheelEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; private: bool mouseLeftPress_; diff --git a/Application/deskTop/src/toolModule/caculateAppPos.cpp b/Application/deskTop/src/toolModule/caculateAppPos.cpp index 55ce971..abd4269 100644 --- a/Application/deskTop/src/toolModule/caculateAppPos.cpp +++ b/Application/deskTop/src/toolModule/caculateAppPos.cpp @@ -9,17 +9,17 @@ caculateAppPos::~caculateAppPos() { } -void caculateAppPos::setCurPage(const int32_t &pageNum, const tpVector &curPageAppList) +void caculateAppPos::setCurPage(const int32_t &pageNum, const TpVector &curPageAppList) { curPage_ = pageNum; appList_ = curPageAppList; } -void caculateAppPos::setRowY(const tpVector &yList) +void caculateAppPos::setRowY(const TpVector &yList) { } -void caculateAppPos::setColumnX(const tpVector &xList) +void caculateAppPos::setColumnX(const TpVector &xList) { } diff --git a/Application/deskTop/src/toolModule/caculateAppPos.h b/Application/deskTop/src/toolModule/caculateAppPos.h index 1dfef2d..3d4f817 100644 --- a/Application/deskTop/src/toolModule/caculateAppPos.h +++ b/Application/deskTop/src/toolModule/caculateAppPos.h @@ -5,8 +5,8 @@ 用于拖拽APP过程中计算APP吸附位置及移动其他APP图标 */ -#include "tpVector.h" -#include "tpIconTopButton.h" +#include "TpVector.h" +#include "TpIconTopButton.h" class caculateAppPos { @@ -15,13 +15,13 @@ public: virtual ~caculateAppPos(); // 设置当前在第几页移动的 - void setCurPage(const int32_t& pageNum, const tpVector& curPageAppList); + void setCurPage(const int32_t& pageNum, const TpVector& curPageAppList); // 所有行的Y坐标; 内部会根据页码自动叠加偏移量 - void setRowY(const tpVector& yList); + void setRowY(const TpVector& yList); // 设置所有列的X; 内部会根据页码自动叠加偏移量 - void setColumnX(const tpVector& xList); + void setColumnX(const TpVector& xList); // 根据拖拽按钮坐标,计算是否偏移所有其他按钮腾出位置 void moveBtn(const ItpPoint& curPoint); @@ -31,11 +31,11 @@ public: private: // 当前正在移动的按钮 - tpIconTopButton *curMoveBtn_; + TpIconTopButton *curMoveBtn_; int32_t curPage_; // 当前页的APP列表;从左到右依次放置的 - tpVector appList_; + TpVector appList_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index 4a301a1..e32ecda 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -1,15 +1,15 @@ #include "desktopAppButton.h" #include "TpCanvas.h" -desktopAppButton::desktopAppButton(tpChildWidget *parent) - : tpIconTopButton(parent) +desktopAppButton::desktopAppButton(TpChildWidget *parent) + : TpIconTopButton(parent) { hollowWidget_ = new hollowWidget(this); hollowWidget_->setVisible(false); } -desktopAppButton::desktopAppButton(const tpString &iconPath, const tpString &text, tpChildWidget *parent) - : tpIconTopButton(iconPath, text, parent) +desktopAppButton::desktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent) + : TpIconTopButton(iconPath, text, parent) { hollowWidget_ = new hollowWidget(this); hollowWidget_->setVisible(false); @@ -22,7 +22,7 @@ desktopAppButton::~desktopAppButton() void desktopAppButton::setRoundCorners(const uint32_t &round) { - tpIconTopButton::setRoundCorners(round); + TpIconTopButton::setRoundCorners(round); hollowWidget_->setRoundCorners(round); } @@ -36,17 +36,17 @@ void desktopAppButton::setInstallProgress(const uint32_t &progress) hollowWidget_->setVisible(true); } -bool desktopAppButton::onResizeEvent(tpObjectResizeEvent *event) +bool desktopAppButton::onResizeEvent(TpObjectResizeEvent *event) { - tpIconTopButton::onResizeEvent(event); + TpIconTopButton::onResizeEvent(event); hollowWidget_->setSize(width(), width()); return true; } -hollowWidget::hollowWidget(tpChildWidget *parent) - : tpChildWidget(parent), installProgress_(100) +hollowWidget::hollowWidget(TpChildWidget *parent) + : TpChildWidget(parent), installProgress_(100) { } @@ -59,9 +59,9 @@ void hollowWidget::setInstallProgress(const uint32_t &progress) installProgress_ = progress; } -bool hollowWidget::onPaintEvent(tpObjectPaintEvent *event) +bool hollowWidget::onPaintEvent(TpObjectPaintEvent *event) { - tpChildWidget::onPaintEvent(event); + TpChildWidget::onPaintEvent(event); // 应用正在安装中;根据安装进度绘制遮罩层 TpCanvas *painter = event->canvas(); diff --git a/Application/deskTop/src/toolModule/desktopAppButton.h b/Application/deskTop/src/toolModule/desktopAppButton.h index a91dc24..14aa1c9 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.h +++ b/Application/deskTop/src/toolModule/desktopAppButton.h @@ -5,16 +5,16 @@ 用于显示APP安装进度 */ -#include "tpVector.h" -#include "tpIconTopButton.h" +#include "TpVector.h" +#include "TpIconTopButton.h" class hollowWidget; -class desktopAppButton : public tpIconTopButton +class desktopAppButton : public TpIconTopButton { public: - desktopAppButton(tpChildWidget *parent = nullptr); + desktopAppButton(TpChildWidget *parent = nullptr); - desktopAppButton(const tpString &iconPath, const tpString &text, tpChildWidget *parent); + desktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent); virtual ~desktopAppButton(); @@ -27,16 +27,16 @@ public: void setInstallProgress(const uint32_t &progress); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: hollowWidget *hollowWidget_; }; -class hollowWidget : public tpChildWidget +class hollowWidget : public TpChildWidget { public: - hollowWidget(tpChildWidget *parent = nullptr); + hollowWidget(TpChildWidget *parent = nullptr); ~hollowWidget(); /// @brief 设置安装进度 @@ -44,7 +44,7 @@ public: void setInstallProgress(const uint32_t &progress); protected: - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; private: uint32_t installProgress_; diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index 1d8e360..f38cf3d 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -2,7 +2,7 @@ #include "TpCanvas.h" appOperateMaskWindow::appOperateMaskWindow() - : tpDialog() + : TpDialog() { setAlpha(204); setVisible(false); @@ -19,13 +19,13 @@ void appOperateMaskWindow::setAppRect(const ItpRect &rect, const uint32_t &round update(); } -bool appOperateMaskWindow::onMouseRleaseEvent(tpMouseEvent *event) +bool appOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) { close(); return true; } -bool appOperateMaskWindow::onPaintEvent(tpObjectPaintEvent *event) +bool appOperateMaskWindow::onPaintEvent(TpObjectPaintEvent *event) { TpCanvas *painter = event->canvas(); diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h index a42ec6e..d3fbca6 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h @@ -5,12 +5,12 @@ APP按钮长按遮罩窗口 */ -#include "tpDialog.h" -#include "tpEvent.h" -#include "tpUtils.h" +#include "TpDialog.h" +#include "TpEvent.h" +#include "TpUtils.h" class appOperateMaskWindow - : public tpDialog + : public TpDialog { public: appOperateMaskWindow(); @@ -22,8 +22,8 @@ public: void setAppRect(const ItpRect &rect, const uint32_t& roundCorners); protected: - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; private: ItpRect appRect_; diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index cce85bb..3577ce3 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -1,13 +1,13 @@ #include "appPreviewWidget.h" -#include "tpDisplay.h" -#include "tpFont.h" -#include "tpHBoxLayout.h" -#include "tpVBoxLayout.h" +#include "TpDisplay.h" +#include "TpFont.h" +#include "TpHBoxLayout.h" +#include "TpVBoxLayout.h" #include "TpImage.h" #include "deskTopGlobal.hpp" -appPreviewWidget::appPreviewWidget(tpChildWidget *parent) - : tpChildWidget(parent), pid_(0) +appPreviewWidget::appPreviewWidget(TpChildWidget *parent) + : TpChildWidget(parent), pid_(0) { init(); } @@ -32,17 +32,17 @@ appPreviewWidget::~appPreviewWidget() closeBtn_ = nullptr; } -void appPreviewWidget::setIcon(const tpString &iconPath) +void appPreviewWidget::setIcon(const TpString &iconPath) { iconLabel_->setBackGroundImage(TpImage(iconPath)); } -void appPreviewWidget::setName(const tpString &name) +void appPreviewWidget::setName(const TpString &name) { nameLabel_->setText(name); } -void appPreviewWidget::setPreviewImg(const tpString &path) +void appPreviewWidget::setPreviewImg(const TpString &path) { previewImgLabel_->setBackGroundImage(TpImage(path)); } @@ -68,27 +68,27 @@ int32_t appPreviewWidget::winId() return winId_; } -bool appPreviewWidget::eventFilter(tpObject *watched, tpEvent *event) +bool appPreviewWidget::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMousePressEvent(mouseEvent); if (watched == previewImgLabel_) return true; } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseRleaseEvent(mouseEvent); if (watched == previewImgLabel_) return true; } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_MOVE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseMoveEvent(mouseEvent); } else @@ -97,14 +97,14 @@ bool appPreviewWidget::eventFilter(tpObject *watched, tpEvent *event) return false; } -bool appPreviewWidget::onMousePressEvent(tpMouseEvent *event) +bool appPreviewWidget::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); return true; } -bool appPreviewWidget::onMouseRleaseEvent(tpMouseEvent *event) +bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) { // 鼠标如果按下过程中拖动,则不触发打开事件 ItpPoint curPoint = event->globalPos(); @@ -116,53 +116,53 @@ bool appPreviewWidget::onMouseRleaseEvent(tpMouseEvent *event) return true; } -bool appPreviewWidget::onMouseMoveEvent(tpMouseEvent *event) +bool appPreviewWidget::onMouseMoveEvent(TpMouseEvent *event) { return true; } -bool appPreviewWidget::onLeaveEvent(tpObjectLeaveEvent *event) +bool appPreviewWidget::onLeaveEvent(TpObjectLeaveEvent *event) { return true; } void appPreviewWidget::init() { - iconLabel_ = new tpLabel(this); - iconLabel_->setFixedSize(tpDisplay::dp2Px(38), tpDisplay::dp2Px(38)); + iconLabel_ = new TpLabel(this); + iconLabel_->setFixedSize(TpDisplay::dp2Px(38), TpDisplay::dp2Px(38)); iconLabel_->setRoundCorners(6); iconLabel_->setProperty("Debug", "iconLabel_"); iconLabel_->installEventFilter(this); - nameLabel_ = new tpLabel(this); + nameLabel_ = new TpLabel(this); nameLabel_->font()->setFontColor(_RGB(255, 255, 255), _RGB(255, 255, 255)); nameLabel_->font()->setFontSize(13); nameLabel_->setText("默认应用"); nameLabel_->setProperty("Debug", "nameLabel_"); nameLabel_->installEventFilter(this); - previewImgLabel_ = new tpLabel(this); + previewImgLabel_ = new TpLabel(this); previewImgLabel_->setProperty("Debug", "previewImgLabel_"); previewImgLabel_->installEventFilter(this); - closeBtn_ = new tpButton(this); + closeBtn_ = new TpButton(this); closeBtn_->setEnableBackGroundColor(false); - closeBtn_->setFixedSize(tpDisplay::dp2Px(35), tpDisplay::dp2Px(35)); - closeBtn_->setButtonStyle(tpButton::IconOnly); + closeBtn_->setFixedSize(TpDisplay::dp2Px(35), TpDisplay::dp2Px(35)); + closeBtn_->setButtonStyle(TpButton::IconOnly); closeBtn_->setIcon(applicationDirPath() + "/../res/关闭.png"); connect(closeBtn_, onClicked, [=](bool) { signalKillApp.emit(pid_); }); closeBtn_->setProperty("Debug", "closeBtn_"); - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setSpacing(8); titleLayout->setContentsMargins(8, 0, 8, 0); titleLayout->addWidget(iconLabel_); titleLayout->addWidget(nameLabel_); - titleLayout->addSpacer(new tpSpacerItem(10, 10, tpSpacerItem::Expanding)); + titleLayout->addSpacer(new TpSpacerItem(10, 10, TpSpacerItem::Expanding)); titleLayout->addWidget(closeBtn_); - tpVBoxLayout *mainLayout = new tpVBoxLayout(); + TpVBoxLayout *mainLayout = new TpVBoxLayout(); mainLayout->setSpacing(8); mainLayout->addLayout(titleLayout, 1); mainLayout->addWidget(previewImgLabel_, 10); diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index d33374b..763e3e7 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -5,26 +5,26 @@ 应用任务缩略展示窗体 */ -#include "tpChildWidget.h" -#include "tpButton.h" -#include "tpEvent.h" -#include "tpLabel.h" +#include "TpChildWidget.h" +#include "TpButton.h" +#include "TpEvent.h" +#include "TpLabel.h" class appPreviewWidget - : public tpChildWidget + : public TpChildWidget { public: - appPreviewWidget(tpChildWidget *parent = nullptr); + appPreviewWidget(TpChildWidget *parent = nullptr); virtual ~appPreviewWidget(); // 设置应用图标 - void setIcon(const tpString &iconPath); + void setIcon(const TpString &iconPath); // 设置应用名称 - void setName(const tpString &name); + void setName(const TpString &name); // 设置预览图 - void setPreviewImg(const tpString &path); + void setPreviewImg(const TpString &path); void setPreviewImg(TpImage image); // 设置应用的pid和Id @@ -36,7 +36,7 @@ public: /// @brief 组件类名,子类实现,返回子类类名字符串,用于匹配CSS中对应样式 /// @return 类名字符串 - virtual tpString pluginType() override { return TO_STRING(appPreviewWidget); } + virtual TpString pluginType() override { return TO_STRING(appPreviewWidget); } public signals: @@ -49,24 +49,24 @@ signals: declare_signal(signalOpenApp, int32_t); protected: - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; private: void init(); private: // 图标 - tpLabel *iconLabel_; + TpLabel *iconLabel_; // 应用名称 - tpLabel *nameLabel_; + TpLabel *nameLabel_; // 预览图 - tpLabel *previewImgLabel_; + TpLabel *previewImgLabel_; // 关闭按钮 - tpButton *closeBtn_; + TpButton *closeBtn_; int32_t pid_; int32_t winId_; diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index 6b6f373..09e5888 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -8,26 +8,26 @@ #endif // 上下边界距离和任务水平/垂直间距 -static const uint32_t topBottomMargin = tpDisplay::dp2Px(35); -static const uint32_t taskHInterval = tpDisplay::dp2Px(63); -static const uint32_t taskVInterval = tpDisplay::dp2Px(29); +static const uint32_t topBottomMargin = TpDisplay::dp2Px(35); +static const uint32_t taskHInterval = TpDisplay::dp2Px(63); +static const uint32_t taskVInterval = TpDisplay::dp2Px(29); appTaskManageWindow::appTaskManageWindow() - : tpDialog("tinyPiX_SYS_Float_0531acbf04") + : TpDialog("tinyPiX_SYS_Float_0531acbf04") { this->setBackGroundColor(TASK_MANAGER_COLOR); // this->setAlpha(128); - taskScrollPanel_ = new tpScrollPanel(this); + taskScrollPanel_ = new TpScrollPanel(this); taskScrollPanel_->installEventFilter(this); taskScrollPanel_->setScrollMode(false); - clearAllBtn_ = new tpButton(this); + clearAllBtn_ = new TpButton(this); clearAllBtn_->setProperty("type", "TaskManageClearButton"); clearAllBtn_->setText("清除全部"); connect(clearAllBtn_, onClicked, this, &appTaskManageWindow::slotClearAllApp); - clearAllBtn_->setStyleSheet(R"(tpButton[type="TaskManageClearButton"] { \ + clearAllBtn_->setStyleSheet(R"(TpButton[type="TaskManageClearButton"] { \ height: 38dp; \ width: 130dp; \ font-size: 15dp; \ @@ -35,7 +35,7 @@ appTaskManageWindow::appTaskManageWindow() background-color: rgb(255, 255, 255); \ border-radius: 32; \ } \ - tpButton[type="TaskManageClearButton"]:hover { \ + TpButton[type="TaskManageClearButton"]:hover { \ background-color: rgb(239, 239, 239); \ })"); @@ -48,7 +48,7 @@ appTaskManageWindow::~appTaskManageWindow() void appTaskManageWindow::setVisible(bool visible) { - tpDialog::setVisible(visible); + TpDialog::setVisible(visible); if (visible) { @@ -118,27 +118,27 @@ int32_t appTaskManageWindow::getWinIdByPid(const int32_t &pid) return 0; } -bool appTaskManageWindow::eventFilter(tpObject *watched, tpEvent *event) +bool appTaskManageWindow::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; onMousePressEvent(mouseKeyEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseKeyEvent = dynamic_cast(event); + TpMouseEvent *mouseKeyEvent = dynamic_cast(event); if (!mouseKeyEvent) return false; onMouseRleaseEvent(mouseKeyEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_MOVE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_MOVE_TYPE) { - tpMouseEvent *mouseMotionEvent = dynamic_cast(event); + TpMouseEvent *mouseMotionEvent = dynamic_cast(event); if (!mouseMotionEvent) return false; @@ -148,17 +148,17 @@ bool appTaskManageWindow::eventFilter(tpObject *watched, tpEvent *event) { } - return tpDialog::eventFilter(watched, event); + return TpDialog::eventFilter(watched, event); } -bool appTaskManageWindow::onMousePressEvent(tpMouseEvent *event) +bool appTaskManageWindow::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); return true; } -bool appTaskManageWindow::onMouseRleaseEvent(tpMouseEvent *event) +bool appTaskManageWindow::onMouseRleaseEvent(TpMouseEvent *event) { ItpPoint curPoint = event->globalPos(); if (std::abs(curPoint.x - mousePressPoint_.x) < 5 && std::abs(curPoint.y - mousePressPoint_.y) < 5) @@ -170,18 +170,18 @@ bool appTaskManageWindow::onMouseRleaseEvent(tpMouseEvent *event) return true; } -bool appTaskManageWindow::onMouseMoveEvent(tpMouseEvent *event) +bool appTaskManageWindow::onMouseMoveEvent(TpMouseEvent *event) { return true; } -bool appTaskManageWindow::onResizeEvent(tpObjectResizeEvent *event) +bool appTaskManageWindow::onResizeEvent(TpObjectResizeEvent *event) { taskScrollPanel_->setRect(0, 0, width(), height() - topBottomMargin - clearAllBtn_->height()); // 根据屏幕大小,计算每个任务缩略图大小;减去上下边界,以及三行缩略中间的间隔 taskHeight_ = 1.0 * (height() - topBottomMargin * 3 - clearAllBtn_->height() - taskVInterval) / 2; - taskWidth_ = tpDisplay::dp2Px(250); + taskWidth_ = TpDisplay::dp2Px(250); int32_t btnX = (width() - clearAllBtn_->width()) / 2.0; clearAllBtn_->move(btnX, height() - topBottomMargin - clearAllBtn_->height()); @@ -189,7 +189,7 @@ bool appTaskManageWindow::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool appTaskManageWindow::onLeaveEvent(tpObjectLeaveEvent *event) +bool appTaskManageWindow::onLeaveEvent(TpObjectLeaveEvent *event) { return true; } @@ -217,7 +217,7 @@ void appTaskManageWindow::slotClearAllApp(bool) } // 清除界面 - tpVector objList = taskScrollPanel_->children(); + TpVector objList = taskScrollPanel_->children(); taskScrollPanel_->clearObject(); for (auto &childAppObj : objList) { diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.h b/Application/deskTop/src/toolWindow/appTaskManageWindow.h index 53498b7..e5000c5 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.h +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.h @@ -5,16 +5,16 @@ 应用任务管理器 */ -#include "tpDialog.h" -#include "tpButton.h" -#include "tpEvent.h" -#include "tpScrollPanel.h" -#include "tpVector.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpEvent.h" +#include "TpScrollPanel.h" +#include "TpVector.h" #include "toolWindow/appPreviewWidget.h" -#include "tpHash.h" +#include "TpHash.h" class appTaskManageWindow - : public tpDialog + : public TpDialog { public: appTaskManageWindow(); @@ -25,16 +25,16 @@ public: int32_t getWinIdByPid(const int32_t &pid); protected: - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; private: // 清理所有应用 @@ -47,17 +47,17 @@ private: void slotOpenApp(int32_t pid); private: - tpScrollPanel *taskScrollPanel_; + TpScrollPanel *taskScrollPanel_; ItpPoint mousePressPoint_; uint32_t taskHeight_; uint32_t taskWidth_; - tpButton *clearAllBtn_; + TpButton *clearAllBtn_; // - tpHash allTaskWidgetMap_; + TpHash allTaskWidgetMap_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/deskTop/src/toolWindow/sysLockWindow.cpp index be77705..82d1cde 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/deskTop/src/toolWindow/sysLockWindow.cpp @@ -1,11 +1,11 @@ #include "sysLockWindow.h" #include "TpImage.h" -#include "tpString.h" -#include "tpFont.h" +#include "TpString.h" +#include "TpFont.h" #include "deskTopGlobal.hpp" sysLockWindow::sysLockWindow() - : tpDialog(), mouseLeftPress_(false) + : TpDialog(), mouseLeftPress_(false) { initUi(); @@ -21,7 +21,7 @@ void sysLockWindow::setVisible(bool visible) if (visible) { // TODO 显示时,刷新一下锁屏壁纸 - tpString lockBgImgPath = applicationDirPath() + "/../res/controlPanel/lock_background.png"; + TpString lockBgImgPath = applicationDirPath() + "/../res/controlPanel/lock_background.png"; // TODO,显示时,刷新用户logo @@ -36,7 +36,7 @@ void sysLockWindow::setVisible(bool visible) updateTimetimer_->stop(); } - tpDialog::setVisible(visible); + TpDialog::setVisible(visible); } void sysLockWindow::resizeLockWindow(const ItpRect &mainWindowRect) @@ -44,21 +44,21 @@ void sysLockWindow::resizeLockWindow(const ItpRect &mainWindowRect) this->setRect(0, 0, mainWindowRect.w, mainWindowRect.h); #if 1 // 壁纸界面组件 - tpFont *dateTimeFont = systemDateTimeLabel_->font(); + TpFont *dateTimeFont = systemDateTimeLabel_->font(); systemDateTimeLabel_->setRect((mainWindowRect.w - dateTimeFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.3, dateTimeFont->pixelWidth() + 10, dateTimeFont->pixelHeight()); unlockDirectLabel_->setRect((mainWindowRect.w - 60) / 2.0, mainWindowRect.h * 0.6, 60, 60); - tpFont *promptFont = unlockPromptLabel_->font(); + TpFont *promptFont = unlockPromptLabel_->font(); unlockPromptLabel_->setRect((mainWindowRect.w - promptFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.75, promptFont->pixelWidth() + 5, promptFont->pixelHeight()); #endif #if 1 // 登陆界面组件 - tpFont *systemNameFont = systemNameLabel_->font(); + TpFont *systemNameFont = systemNameLabel_->font(); systemNameLabel_->setRect((mainWindowRect.w - systemNameFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.2, systemNameFont->pixelWidth() + 5, systemNameFont->pixelHeight()); - tpFont *welcomeFont = welcomeLabel_->font(); + TpFont *welcomeFont = welcomeLabel_->font(); welcomeLabel_->setRect((mainWindowRect.w - welcomeFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.35, welcomeFont->pixelWidth() + 5, welcomeFont->pixelHeight()); userIconLabel_->setRect((mainWindowRect.w - 60) / 2.0, mainWindowRect.h * 0.5, 60, 60); @@ -72,7 +72,7 @@ void sysLockWindow::resizeLockWindow(const ItpRect &mainWindowRect) #endif } -bool sysLockWindow::onMousePressEvent(tpMouseEvent *event) +bool sysLockWindow::onMousePressEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 mouseLeftPress_ = event->state(); @@ -81,7 +81,7 @@ bool sysLockWindow::onMousePressEvent(tpMouseEvent *event) return true; } -bool sysLockWindow::onMouseRleaseEvent(tpMouseEvent *event) +bool sysLockWindow::onMouseRleaseEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 mouseLeftPress_ = event->state(); @@ -89,7 +89,7 @@ bool sysLockWindow::onMouseRleaseEvent(tpMouseEvent *event) return true; } -bool sysLockWindow::onMouseMoveEvent(tpMouseEvent *event) +bool sysLockWindow::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { @@ -107,9 +107,9 @@ bool sysLockWindow::onMouseMoveEvent(tpMouseEvent *event) return true; } -bool sysLockWindow::onLeaveEvent(tpObjectLeaveEvent *event) +bool sysLockWindow::onLeaveEvent(TpObjectLeaveEvent *event) { - // if (event->eventType() == tpEvent::EVENT_OBJECT_LEAVE_TYPE) + // if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) // { // if (event->leave()) // { @@ -124,46 +124,46 @@ bool sysLockWindow::onLeaveEvent(tpObjectLeaveEvent *event) void sysLockWindow::initUi() { - systemDateTimeLabel_ = new tpLabel(this); + systemDateTimeLabel_ = new TpLabel(this); systemDateTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); systemDateTimeLabel_->font()->setFontSize(50); systemDateTimeLabel_->font()->setFontStyle(TINY_FONT_BOLD); systemDateTimeLabel_->setText("15 : 30"); - unlockDirectLabel_ = new tpLabel(this); + unlockDirectLabel_ = new TpLabel(this); unlockDirectLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/双上箭头白.png")); - unlockPromptLabel_ = new tpLabel(this); + unlockPromptLabel_ = new TpLabel(this); unlockPromptLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); unlockPromptLabel_->font()->setFontSize(20); unlockPromptLabel_->font()->setFontStyle(TINY_FONT_BOLD); unlockPromptLabel_->setText("向上滑动或按任意键解锁"); - updateTimetimer_ = new tpTimer(60000); + updateTimetimer_ = new TpTimer(60000); connect(updateTimetimer_, timeout, [=]() { slotUpdateSystemTime(); }); // 输入密码界面控件 // 输密码解锁界面 - systemNameLabel_ = new tpLabel(this); + systemNameLabel_ = new TpLabel(this); systemNameLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); systemNameLabel_->font()->setFontSize(50); systemNameLabel_->font()->setFontStyle(TINY_FONT_BOLD); systemNameLabel_->setText("tinyPiX OS"); - welcomeLabel_ = new tpLabel(this); + welcomeLabel_ = new TpLabel(this); welcomeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); welcomeLabel_->font()->setFontSize(20); welcomeLabel_->font()->setFontStyle(TINY_FONT_BOLD); welcomeLabel_->setText("欢迎使用"); - userIconLabel_ = new tpLabel(this); + userIconLabel_ = new TpLabel(this); userIconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/用户.png")); - pwdEdit_ = new tpLineEdit(this); + pwdEdit_ = new TpLineEdit(this); - loginBtn_ = new tpButton(applicationDirPath() + "/../res/登录.png", "登录", this); - loginBtn_->setButtonStyle(tpButton::IconOnly); + loginBtn_ = new TpButton(applicationDirPath() + "/../res/登录.png", "登录", this); + loginBtn_->setButtonStyle(TpButton::IconOnly); loginBtn_->setEnabledBorderColor(false); loginBtn_->setEnableBackGroundColor(false); connect(loginBtn_, onClicked, [=](bool) @@ -214,7 +214,7 @@ void sysLockWindow::slotUpdateSystemTime() // 格式化时间 strftime(buffer, 80, "%H : %M", timeinfo); - tpString systemTimeStr(buffer); + TpString systemTimeStr(buffer); systemDateTimeLabel_->setText(systemTimeStr); systemDateTimeLabel_->update(); diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.h b/Application/deskTop/src/toolWindow/sysLockWindow.h index bdec3cb..eb75c85 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.h +++ b/Application/deskTop/src/toolWindow/sysLockWindow.h @@ -1,15 +1,15 @@ #ifndef __SYS_LOCK_WINDOW_H #define __SYS_LOCK_WINDOW_H -#include "tpDialog.h" -#include "tpButton.h" -#include "tpEvent.h" -#include "tpLabel.h" -#include "tpTimer.h" -#include "tpLineEdit.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpEvent.h" +#include "TpLabel.h" +#include "TpTimer.h" +#include "TpLineEdit.h" class sysLockWindow - : public tpDialog + : public TpDialog { public: sysLockWindow(); @@ -22,12 +22,12 @@ public: void resizeLockWindow(const ItpRect &mainWindowRect); protected: - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(tpMouseEvent *event) override; + virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(tpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; private: void initUi(); @@ -46,20 +46,20 @@ private: ItpPoint pressPoint_; // 更新时间定时器 - tpTimer *updateTimetimer_; + TpTimer *updateTimetimer_; // 锁屏壁纸界面提示信息;时间、解锁提示、解锁方向提示 - tpLabel *systemDateTimeLabel_; - tpLabel *unlockPromptLabel_; - tpLabel *unlockDirectLabel_; + TpLabel *systemDateTimeLabel_; + TpLabel *unlockPromptLabel_; + TpLabel *unlockDirectLabel_; // 输密码解锁界面 - tpLabel *systemNameLabel_; - tpLabel *welcomeLabel_; - tpLabel *userIconLabel_; + TpLabel *systemNameLabel_; + TpLabel *welcomeLabel_; + TpLabel *userIconLabel_; - tpLineEdit* pwdEdit_; - tpButton* loginBtn_; + TpLineEdit* pwdEdit_; + TpButton* loginBtn_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp index 44992cb..edf305b 100644 --- a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp @@ -1,21 +1,21 @@ #include "fileListWindow.h" -#include "tpDisplay.h" -#include "tpVBoxLayout.h" -#include "tpHBoxLayout.h" -#include "tpLabel.h" -#include "tpFont.h" -#include "tpDir.h" -#include "tpFileInfo.h" -#include "tpMessageBox.h" -#include "tpJsonDocument.h" -#include "tpJsonObject.h" -#include "tpFile.h" -#include "tpNetDataGlobal.h" -#include "tpGateway.h" -#include "tpSystemApi.h" - -fileListWindow::fileListWindow(tpChildWidget *parent) - : tpScrollPanel(parent), rootPath_(""), curShowPath_(""), mode_(fileListWindow::Grid) +#include "TpDisplay.h" +#include "TpVBoxLayout.h" +#include "TpHBoxLayout.h" +#include "TpLabel.h" +#include "TpFont.h" +#include "TpDir.h" +#include "TpFileInfo.h" +#include "TpMessageBox.h" +#include "TpJsonDocument.h" +#include "TpJsonObject.h" +#include "TpFile.h" +#include "TpNetDataGlobal.h" +#include "TpGateway.h" +#include "TpSystemApi.h" + +fileListWindow::fileListWindow(TpChildWidget *parent) + : TpScrollPanel(parent), rootPath_(""), curShowPath_(""), mode_(fileListWindow::Grid) { init(); @@ -46,7 +46,7 @@ void fileListWindow::setShowMode(const FileListMode &mode) // update(); } -void fileListWindow::setRootPath(const tpString &path) +void fileListWindow::setRootPath(const TpString &path) { rootPath_ = path; filePathWidget_->setRootPath(rootPath_); @@ -69,24 +69,24 @@ void fileListWindow::setDeviceType(const DeviceType &deviceType) update(); } -void fileListWindow::refreshPath(const tpString &path) +void fileListWindow::refreshPath(const TpString &path) { // std::cout << "******************************************* " << std::endl; // std::cout << "dealPath " << path << std::endl; // std::cout << "******************************************* " << std::endl; - tpDir showDir(path); + TpDir showDir(path); // 文件夹不存在直接不处理 if (!showDir.exists()) return; // 判断刷新目录是不是根目录 - tpFileInfo rootPath(rootPath_); - tpFileInfo curPath(path); + TpFileInfo rootPath(rootPath_); + TpFileInfo curPath(path); - tpString rootCanoicalPath = rootPath.canonicalFilePath(); - tpString curCanoicalPath = curPath.canonicalFilePath(); + TpString rootCanoicalPath = rootPath.canonicalFilePath(); + TpString curCanoicalPath = curPath.canonicalFilePath(); filePathWidget_->setPath(curCanoicalPath); @@ -105,8 +105,8 @@ void fileListWindow::refreshPath(const tpString &path) curShowPath_ = path; // 释放旧路径的文件item指针 - tpVector flexChildList = gridFileLayout_->children(); - tpVector vboxChildList = listFileLayout_->children(); + TpVector flexChildList = gridFileLayout_->children(); + TpVector vboxChildList = listFileLayout_->children(); for (const auto &child : flexChildList) { @@ -120,11 +120,11 @@ void fileListWindow::refreshPath(const tpString &path) listFileLayout_->clear(); // 遍历文件夹下所有数据 - for (const tpFileInfo &fileInfo : showDir.entryInfoList()) + for (const TpFileInfo &fileInfo : showDir.entryInfoList()) { if (mode_ == FileListMode::Grid) { - tpCollapsibleFileItem *item = new tpCollapsibleFileItem(); + TpCollapsibleFileItem *item = new TpCollapsibleFileItem(); // item->setFixedSize(100, 100); // item->setBackGroundColor(_RGB(255, 0, 0)); item->setName(fileInfo.fileName()); @@ -151,8 +151,8 @@ void fileListWindow::refreshPath(const tpString &path) } } - tpChildWidget *gridWidget = dynamic_cast(gridFileLayout_->parent()); - tpChildWidget *listWidget = dynamic_cast(listFileLayout_->parent()); + TpChildWidget *gridWidget = dynamic_cast(gridFileLayout_->parent()); + TpChildWidget *listWidget = dynamic_cast(listFileLayout_->parent()); if (gridWidget) gridWidget->update(); @@ -179,33 +179,33 @@ void fileListWindow::SlotShowSetting(bool) void fileListWindow::SlotPopUsb(bool) { - tpMessageBox::information("设备已退出"); + TpMessageBox::information("设备已退出"); } void fileListWindow::init() { - tpChildWidget *scrollWidget = new tpChildWidget(); + TpChildWidget *scrollWidget = new TpChildWidget(); // scrollWidget->installEventFilter(this); - imagePreviewWidget_ = new tpImageWidget(); + imagePreviewWidget_ = new TpImageWidget(); - mainLayout_ = new tpVBoxLayout(); + mainLayout_ = new TpVBoxLayout(); mainLayout_->setSpacing(13); - mainLayout_->setContentsMargins(tpDisplay::dp2Px(20), 0, 0, 0); + mainLayout_->setContentsMargins(TpDisplay::dp2Px(20), 0, 0, 0); - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setSpacing(20); titleLayout->setContentsMargins(0, 0, 0, 0); - gridFileLayout_ = new tpFlexLayout(); + gridFileLayout_ = new TpFlexLayout(); gridFileLayout_->setContentsMargins(0, 0, 0, 0); gridFileLayout_->installEventFilter(scrollWidget); - listFileLayout_ = new tpVBoxLayout(); + listFileLayout_ = new TpVBoxLayout(); listFileLayout_->setContentsMargins(0, 0, 0, 0); listFileLayout_->installEventFilter(scrollWidget); - tpLabel *titleLabel = new tpLabel("内部存储"); + TpLabel *titleLabel = new TpLabel("内部存储"); // titleLabel->setBackGroundColor(_RGB(255, 0, 0)); titleLabel->font()->setFontSize(19); titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); @@ -213,39 +213,39 @@ void fileListWindow::init() titleLabel->setText("内部存储"); titleLabel->installEventFilter(scrollWidget); - pathBackBtn_ = new tpButton(); - pathBackBtn_->setButtonStyle(tpButton::IconOnly); + pathBackBtn_ = new TpButton(); + pathBackBtn_->setButtonStyle(TpButton::IconOnly); pathBackBtn_->setEnableBackGroundColor(false); - pathBackBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + pathBackBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); pathBackBtn_->setIcon(applicationDirPath() + "/../res/路径后退.png"); pathBackBtn_->setVisible(false); connect(pathBackBtn_, onClicked, [=](bool) { SlotBackPath(); }); popBtn_ = new usbPopButton(); - connect((tpButton *)popBtn_, onClicked, this, &fileListWindow::SlotPopUsb); + connect((TpButton *)popBtn_, onClicked, this, &fileListWindow::SlotPopUsb); // 功能设置窗口 settingWindow_ = new settingWindow(); connect(settingWindow_, onChangeViewMode, [=](uint32_t index) { setShowMode(FileListMode(index)); }); - settingBtn_ = new tpButton(); - settingBtn_->setButtonStyle(tpButton::IconOnly); + settingBtn_ = new TpButton(); + settingBtn_->setButtonStyle(TpButton::IconOnly); settingBtn_->setEnableBackGroundColor(false); - settingBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + settingBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); settingBtn_->setIcon(applicationDirPath() + "/../res/功能设置.png"); connect(settingBtn_, onClicked, this, &fileListWindow::SlotShowSetting); - filePathWidget_ = new tpFilePathWidget(); + filePathWidget_ = new TpFilePathWidget(); filePathWidget_->setVisible(false); - connect(filePathWidget_, onPathChanged, [=](const tpString &lastPath, const tpString &curPath) + connect(filePathWidget_, onPathChanged, [=](const TpString &lastPath, const TpString &curPath) { refreshPath(curPath); }); titleLayout->addWidget(pathBackBtn_); titleLayout->addWidget(titleLabel); titleLayout->addWidget(popBtn_); - titleLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Expanding, tpSpacerItem::Minimum)); + titleLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Expanding, TpSpacerItem::Minimum)); titleLayout->addWidget(settingBtn_); titleLayout->installEventFilter(scrollWidget); @@ -257,7 +257,7 @@ void fileListWindow::init() // mode_ = FileListMode::List; // 默认显示网格模式 mainLayout_->addLayout(gridFileLayout_); - mainLayout_->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Minimum, tpSpacerItem::Expanding)); + mainLayout_->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Minimum, TpSpacerItem::Expanding)); scrollWidget->setLayout(mainLayout_); // scrollWidget->setBackGroundColor(_RGB(0, 0, 255)); @@ -267,13 +267,13 @@ void fileListWindow::init() setWidget(scrollWidget); } -void fileListWindow::SlotClickFileItem(tpCollapsibleFileItem *item) +void fileListWindow::SlotClickFileItem(TpCollapsibleFileItem *item) { if (!item) return; - tpString curItemPath = item->path(); - tpFileInfo fileInfo(curItemPath); + TpString curItemPath = item->path(); + TpFileInfo fileInfo(curItemPath); if (fileInfo.isDir()) { @@ -292,8 +292,8 @@ void fileListWindow::SlotClickListFileItem(listFileItem *item) if (!item) return; - tpString curItemPath = item->path(); - tpFileInfo fileInfo(curItemPath); + TpString curItemPath = item->path(); + TpFileInfo fileInfo(curItemPath); if (fileInfo.isDir()) { @@ -309,7 +309,7 @@ void fileListWindow::SlotClickListFileItem(listFileItem *item) void fileListWindow::SlotBackPath() { - tpString dealPath = curShowPath_; + TpString dealPath = curShowPath_; int32_t findIndex = dealPath.rfind("/"); dealPath = dealPath.mid(0, findIndex); @@ -317,14 +317,14 @@ void fileListWindow::SlotBackPath() refreshPath(dealPath); } -void fileListWindow::openFile(const tpString &filePath) +void fileListWindow::openFile(const TpString &filePath) { // 判断是图片文件 - tpFileInfo fileInfo(filePath); + TpFileInfo fileInfo(filePath); if (!fileInfo.exists()) return; - tpString fileSuffix = fileInfo.suffix(); + TpString fileSuffix = fileInfo.suffix(); if (fileSuffix.compare("png") == 0 || fileSuffix.compare("jpg") == 0 || fileSuffix.compare("svg") == 0) { @@ -333,21 +333,21 @@ void fileListWindow::openFile(const tpString &filePath) return; } - tpSystemApi::OpenFileError openRes = tpSystemApi::Instance()->openFile(filePath); + TpSystemApi::OpenFileError openRes = TpSystemApi::Instance()->openFile(filePath); - if (openRes == tpSystemApi::FileNotExist) + if (openRes == TpSystemApi::FileNotExist) { - tpMessageBox::information("文件不存在!"); + TpMessageBox::information("文件不存在!"); return; } - else if (openRes == tpSystemApi::NotSupport) + else if (openRes == TpSystemApi::NotSupport) { - tpMessageBox::information("文件类型不支持!"); + TpMessageBox::information("文件类型不支持!"); return; } - else if (openRes == tpSystemApi::SystemFileDamage) + else if (openRes == TpSystemApi::SystemFileDamage) { - tpMessageBox::information("系统文件损坏!"); + TpMessageBox::information("系统文件损坏!"); return; } else diff --git a/Application/fileManagement/src/browserToolWindow/fileListWindow.h b/Application/fileManagement/src/browserToolWindow/fileListWindow.h index 07954f2..94f13ea 100644 --- a/Application/fileManagement/src/browserToolWindow/fileListWindow.h +++ b/Application/fileManagement/src/browserToolWindow/fileListWindow.h @@ -6,21 +6,21 @@ #ifndef __FILE_LIST_WINDOW_H #define __FILE_LIST_WINDOW_H -#include "tpChildWidget.h" -#include "tpScrollPanel.h" -#include "tpVector.h" -#include "tpCollapsibleFileItem.h" -#include "tpFlexLayout.h" -#include "tpButton.h" -#include "tpFilePathWidget.h" +#include "TpChildWidget.h" +#include "TpScrollPanel.h" +#include "TpVector.h" +#include "TpCollapsibleFileItem.h" +#include "TpFlexLayout.h" +#include "TpButton.h" +#include "TpFilePathWidget.h" #include "browserToolWindow/settingWindow.h" #include "browserToolWindow/listFileItem.h" #include "toolWindow/usbPopButton.h" -#include "tpVBoxLayout.h" -#include "tpImageWidget.h" +#include "TpVBoxLayout.h" +#include "TpImageWidget.h" class fileListWindow - : public tpScrollPanel + : public TpScrollPanel { public: enum FileListMode @@ -36,24 +36,24 @@ public: }; public: - fileListWindow(tpChildWidget *parent = nullptr); + fileListWindow(TpChildWidget *parent = nullptr); ~fileListWindow(); // 设置显示模式 void setShowMode(const FileListMode &mode); // 设置显示目录,根目录 - void setRootPath(const tpString &path); + void setRootPath(const TpString &path); // 设置显示的路径的设备类型 void setDeviceType(const DeviceType &deviceType); // 指定路径刷新UI;必须在根目录下 - void refreshPath(const tpString &path); + void refreshPath(const TpString &path); private: // Item点击槽函数 - void SlotClickFileItem(tpCollapsibleFileItem *item); + void SlotClickFileItem(TpCollapsibleFileItem *item); // 点击列表Item void SlotClickListFileItem(listFileItem *item); @@ -71,11 +71,11 @@ private: void init(); // 指定文件路径打开文件 - void openFile(const tpString &filePath); + void openFile(const TpString &filePath); private: // 主布局 - tpVBoxLayout *mainLayout_; + TpVBoxLayout *mainLayout_; FileListMode mode_; DeviceType deviceType_; @@ -83,26 +83,26 @@ private: // USB设备弹出按钮 usbPopButton *popBtn_; - tpString rootPath_; - tpString curShowPath_; + TpString rootPath_; + TpString curShowPath_; // 网格模式的布局 - tpFlexLayout *gridFileLayout_; + TpFlexLayout *gridFileLayout_; // 列表模式文件布局 - tpVBoxLayout *listFileLayout_; + TpVBoxLayout *listFileLayout_; - tpFilePathWidget *filePathWidget_; + TpFilePathWidget *filePathWidget_; // 路径回退按钮 - tpButton *pathBackBtn_; - tpButton *settingBtn_; + TpButton *pathBackBtn_; + TpButton *settingBtn_; // 功能设置窗口 settingWindow *settingWindow_; // 图片预览窗口 - tpImageWidget *imagePreviewWidget_; + TpImageWidget *imagePreviewWidget_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp index edee37b..448ef85 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp @@ -1,13 +1,13 @@ #include "listFileItem.h" -#include "tpFileInfo.h" +#include "TpFileInfo.h" #include "TpImage.h" -#include "tpVBoxLayout.h" -#include "tpHBoxLayout.h" -#include "tpDir.h" -#include "tpFont.h" -#include "tpEvent.h" +#include "TpVBoxLayout.h" +#include "TpHBoxLayout.h" +#include "TpDir.h" +#include "TpFont.h" +#include "TpEvent.h" -tpString parseFileSuffix(const tpString &suffix, const bool &isDir) +TpString parseFileSuffix(const TpString &suffix, const bool &isDir) { if (isDir) return "文件夹"; @@ -34,9 +34,9 @@ tpString parseFileSuffix(const tpString &suffix, const bool &isDir) return "未知"; } -tpString parseIconPath(const tpString &suffix, const bool &isDir) +TpString parseIconPath(const TpString &suffix, const bool &isDir) { - tpString resPath = "/usr/res/tinyPiX/fileIcon/"; + TpString resPath = "/usr/res/tinyPiX/fileIcon/"; // return resPath + "pdf.png"; @@ -65,38 +65,38 @@ tpString parseIconPath(const tpString &suffix, const bool &isDir) return resPath + "未知.png"; } -listFileItem::listFileItem(tpChildWidget *parent) - : tpChildWidget(parent) +listFileItem::listFileItem(TpChildWidget *parent) + : TpChildWidget(parent) { - iconLabel_ = new tpLabel(this); + iconLabel_ = new TpLabel(this); iconLabel_->setFixedSize(50, 50); - nameLabel_ = new tpLabel(this); + nameLabel_ = new TpLabel(this); nameLabel_->font()->setFontSize(11); nameLabel_->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); nameLabel_->installEventFilter(this); - sizeLabel_ = new tpLabel(this); + sizeLabel_ = new TpLabel(this); sizeLabel_->font()->setFontSize(9); sizeLabel_->font()->setFontColor(_RGB(140, 140, 140), _RGB(140, 140, 140)); sizeLabel_->installEventFilter(this); - dateTimeLabel_ = new tpLabel(this); + dateTimeLabel_ = new TpLabel(this); dateTimeLabel_->font()->setFontSize(11); dateTimeLabel_->font()->setFontColor(_RGB(89, 89, 89), _RGB(89, 89, 89)); dateTimeLabel_->installEventFilter(this); - tpVBoxLayout *nameLayout = new tpVBoxLayout(); + TpVBoxLayout *nameLayout = new TpVBoxLayout(); nameLayout->setSpacing(0); nameLayout->addWidget(nameLabel_); nameLayout->addWidget(sizeLabel_); - tpHBoxLayout *mainLayout = new tpHBoxLayout(); + TpHBoxLayout *mainLayout = new TpHBoxLayout(); mainLayout->setSpacing(15); mainLayout->addWidget(iconLabel_); mainLayout->addLayout(nameLayout); - mainLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Expanding)); + mainLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Expanding)); mainLayout->addWidget(dateTimeLabel_); setLayout(mainLayout); @@ -106,41 +106,41 @@ listFileItem::~listFileItem() { } -void listFileItem::setName(const tpString &name) +void listFileItem::setName(const TpString &name) { nameLabel_->setText(name); update(); } -void listFileItem::setPath(const tpString &filePath) +void listFileItem::setPath(const TpString &filePath) { filePath_ = filePath; // 解析文件类型,获取资源图片 - tpFileInfo fileInfo(filePath); + TpFileInfo fileInfo(filePath); bool isDir = false; - tpString suffix = ""; + TpString suffix = ""; if (fileInfo.isDir()) { isDir = true; - tpDir pathDir(filePath); - sizeLabel_->setText(tpString::number(pathDir.entryInfoList().size()) + "项"); + TpDir pathDir(filePath); + sizeLabel_->setText(TpString::number(pathDir.entryInfoList().size()) + "项"); } else { int32_t findSuffixIndex = filePath.rfind("."); suffix = filePath.mid(findSuffixIndex + 1); - sizeLabel_->setText(tpString::number(fileInfo.size()) + "Kb"); + sizeLabel_->setText(TpString::number(fileInfo.size()) + "Kb"); } // 设置文件最后更新时间 dateTimeLabel_->setText(fileInfo.lastModified("%Y-%m-%d %H:%M")); - // tpString typeStr = parseFileSuffix(suffix, isDir); - tpString iconPath = parseIconPath(suffix, isDir); + // TpString typeStr = parseFileSuffix(suffix, isDir); + TpString iconPath = parseIconPath(suffix, isDir); // typeLabel_->setText(typeStr); @@ -149,23 +149,23 @@ void listFileItem::setPath(const tpString &filePath) update(); } -tpString listFileItem::path() +TpString listFileItem::path() { return filePath_; } -bool listFileItem::onMouseRleaseEvent(tpMouseEvent *event) +bool listFileItem::onMouseRleaseEvent(TpMouseEvent *event) { - tpChildWidget::onMouseRleaseEvent(event); + TpChildWidget::onMouseRleaseEvent(event); onClicked.emit(this); return true; } -bool listFileItem::onResizeEvent(tpObjectResizeEvent *event) +bool listFileItem::onResizeEvent(TpObjectResizeEvent *event) { - tpChildWidget::onResizeEvent(event); + TpChildWidget::onResizeEvent(event); // iconLabel_->setFixedSize(height() * 0.666, height() * 0.666); @@ -175,11 +175,11 @@ bool listFileItem::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool listFileItem::eventFilter(tpObject *watched, tpEvent *event) +bool listFileItem::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseRleaseEvent(mouseEvent); } diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.h b/Application/fileManagement/src/browserToolWindow/listFileItem.h index 63a6189..41e8798 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.h +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.h @@ -6,49 +6,49 @@ #ifndef __LIST_FILE_ITEM_H #define __LIST_FILE_ITEM_H -#include "tpChildWidget.h" -#include "tpLabel.h" -#include "tpSignalSlot.h" +#include "TpChildWidget.h" +#include "TpLabel.h" +#include "TpSignalSlot.h" class listFileItem - : public tpChildWidget + : public TpChildWidget { public: - listFileItem(tpChildWidget *parent = nullptr); + listFileItem(TpChildWidget *parent = nullptr); ~listFileItem(); /// @brief 设置文件名称 /// @param name 文件名字符串 - void setName(const tpString &name); + void setName(const TpString &name); /// @brief 设置文件绝对路径 /// @param filePath - void setPath(const tpString &filePath); + void setPath(const TpString &filePath); /// @brief 获取当前item对应的文件/文件夹绝对路径 /// @return - tpString path(); + TpString path(); public signals: /// @brief 点击信号,鼠标释放时触发 - /// @param tpCollapsibleFileItem* 点击的item + /// @param TpCollapsibleFileItem* 点击的item declare_signal(onClicked, listFileItem *); protected: - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: - tpLabel *iconLabel_; - tpLabel *nameLabel_; + TpLabel *iconLabel_; + TpLabel *nameLabel_; // 存放大小或文件夹子项 - tpLabel *sizeLabel_; - tpLabel *dateTimeLabel_; + TpLabel *sizeLabel_; + TpLabel *dateTimeLabel_; - tpString filePath_; + TpString filePath_; // 是否触发item事件,如果鼠标按下后拖动,不再处理事件 bool isTrigger = true; diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp index f519808..3e9627f 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp @@ -1,13 +1,13 @@ #include "settingWindow.h" -#include "tpVBoxLayout.h" -#include "tpHBoxLayout.h" -#include "tpDisplay.h" -#include "tpEvent.h" -#include "tpFont.h" +#include "TpVBoxLayout.h" +#include "TpHBoxLayout.h" +#include "TpDisplay.h" +#include "TpEvent.h" +#include "TpFont.h" #define BG_COLOR _RGBA(0, 0, 0, 153) -settingWindow::settingWindow() : tpDialog() +settingWindow::settingWindow() : TpDialog() { setBackGroundColor(BG_COLOR); init(); @@ -20,11 +20,11 @@ settingWindow::~settingWindow() void settingWindow::setVisible(bool visible) { - setSize(tpScreen::screenWidth(), tpScreen::screenHeight()); - mainScrollPanel_->setFixedSize(tpDisplay::dp2Px(429), tpScreen::screenHeight()); - mainScrollPanel_->move(tpScreen::screenWidth() - mainScrollPanel_->width(), 0); + setSize(TpScreen::screenWidth(), TpScreen::screenHeight()); + mainScrollPanel_->setFixedSize(TpDisplay::dp2Px(429), TpScreen::screenHeight()); + mainScrollPanel_->move(TpScreen::screenWidth() - mainScrollPanel_->width(), 0); - tpDialog::setVisible(visible); + TpDialog::setVisible(visible); if (visible == false) { @@ -33,15 +33,15 @@ void settingWindow::setVisible(bool visible) } } -bool settingWindow::onPaintEvent(tpObjectPaintEvent *event) +bool settingWindow::onPaintEvent(TpObjectPaintEvent *event) { - tpDialog::onPaintEvent(event); + TpDialog::onPaintEvent(event); return true; } -bool settingWindow::onMouseRleaseEvent(tpMouseEvent *event) +bool settingWindow::onMouseRleaseEvent(TpMouseEvent *event) { - tpDialog::onMouseRleaseEvent(event); + TpDialog::onMouseRleaseEvent(event); if (!mainScrollPanel_->toScreen().contains(event->globalPos().x, event->globalPos().y)) { @@ -54,52 +54,52 @@ bool settingWindow::onMouseRleaseEvent(tpMouseEvent *event) void settingWindow::init() { - mainScrollPanel_ = new tpScrollPanel(this); + mainScrollPanel_ = new TpScrollPanel(this); mainScrollPanel_->setBackGroundColor(_RGB(248, 248, 248)); - tpChildWidget *scrollWidget = new tpChildWidget(mainScrollPanel_); + TpChildWidget *scrollWidget = new TpChildWidget(mainScrollPanel_); scrollWidget->setBackGroundColor(_RGB(248, 248, 248)); - tpLabel *titleLabel = new tpLabel("功能设置"); + TpLabel *titleLabel = new TpLabel("功能设置"); titleLabel->font()->setFontSize(19); titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); titleLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); - closeBtn_ = new tpButton(); - closeBtn_->setButtonStyle(tpButton::IconOnly); + closeBtn_ = new TpButton(); + closeBtn_->setButtonStyle(TpButton::IconOnly); closeBtn_->setEnableBackGroundColor(false); - closeBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + closeBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); closeBtn_->setIcon(applicationDirPath() + "/../res/关闭.png"); connect(closeBtn_, onClicked, [=](bool) { setVisible(false); }); - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setContentsMargins(0, 0, 0, 0); // titleLayout->setContentsMargins(6, 0, 6, 0); titleLayout->addWidget(titleLabel); titleLayout->addWidget(closeBtn_); - tpLabel *viewLabel = createContentLabel("视图"); - viewCbx_ = new tpComBox(); + TpLabel *viewLabel = createContentLabel("视图"); + viewCbx_ = new TpComBox(); viewCbx_->setTitle("视图模式"); viewCbx_->addItem("视图模式"); viewCbx_->addItem("列表模式"); - tpLabel *filterLabel = createContentLabel("筛选"); - filterCbxGroup_ = new tpListCheckBoxGroup(); + TpLabel *filterLabel = createContentLabel("筛选"); + filterCbxGroup_ = new TpListCheckBoxGroup(); filterCbxGroup_->addItem("文件名称"); filterCbxGroup_->addItem("文件大小"); filterCbxGroup_->addItem("修改时间"); filterCbxGroup_->addItem("文件类型"); - tpLabel *sortLabel = createContentLabel("排序"); - sortCbxGroup_ = new tpListCheckBoxGroup(); + TpLabel *sortLabel = createContentLabel("排序"); + sortCbxGroup_ = new TpListCheckBoxGroup(); sortCbxGroup_->addItem("正序"); sortCbxGroup_->addItem("倒序"); - int32_t layoutMargin = tpDisplay::dp2Px(20); + int32_t layoutMargin = TpDisplay::dp2Px(20); - tpVBoxLayout *mainLayout = new tpVBoxLayout(); + TpVBoxLayout *mainLayout = new TpVBoxLayout(); mainLayout->setContentsMargins(18, layoutMargin, 18, 0); mainLayout->setSpacing(10); @@ -110,16 +110,16 @@ void settingWindow::init() mainLayout->addWidget(filterCbxGroup_); mainLayout->addWidget(sortLabel); mainLayout->addWidget(sortCbxGroup_); - mainLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Minimum, tpSpacerItem::Expanding)); + mainLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Minimum, TpSpacerItem::Expanding)); scrollWidget->setLayout(mainLayout); mainScrollPanel_->setWidget(scrollWidget); } -tpLabel *settingWindow::createContentLabel(const tpString &text) +TpLabel *settingWindow::createContentLabel(const TpString &text) { - tpLabel *viewLabel = new tpLabel(text); - // viewLabel->setAlign(tpLabel::TP_ALIGN_RIGHT); + TpLabel *viewLabel = new TpLabel(text); + // viewLabel->setAlign(TpLabel::TP_ALIGN_RIGHT); viewLabel->font()->setFontSize(12); viewLabel->setFixedHeight(viewLabel->font()->pixelHeight()); viewLabel->font()->setFontColor(_RGB(89, 89, 89), _RGB(89, 89, 89)); diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.h b/Application/fileManagement/src/browserToolWindow/settingWindow.h index bd39c0a..8ecf68f 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.h +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.h @@ -6,16 +6,16 @@ #ifndef __SETTING_WINDOW_H #define __SETTING_WINDOW_H -#include "tpDialog.h" -#include "tpScrollPanel.h" -#include "tpEvent.h" -#include "tpButton.h" -#include "tpListCheckBoxGroup.h" -#include "tpComBox.h" -#include "tpLabel.h" +#include "TpDialog.h" +#include "TpScrollPanel.h" +#include "TpEvent.h" +#include "TpButton.h" +#include "TpListCheckBoxGroup.h" +#include "TpComBox.h" +#include "TpLabel.h" class settingWindow - : public tpDialog + : public TpDialog { public: settingWindow(); @@ -30,28 +30,28 @@ signals: declare_signal(onChangeViewMode, uint32_t); protected: - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; private: void init(); - tpLabel *createContentLabel(const tpString &text); + TpLabel *createContentLabel(const TpString &text); private: // 主滚动显示区域 - tpScrollPanel *mainScrollPanel_; + TpScrollPanel *mainScrollPanel_; - tpButton *closeBtn_; + TpButton *closeBtn_; // 视图选择下拉框 - tpComBox *viewCbx_; + TpComBox *viewCbx_; // 筛选条件单选组 - tpListCheckBoxGroup *filterCbxGroup_; + TpListCheckBoxGroup *filterCbxGroup_; // 排序条件单选组 - tpListCheckBoxGroup *sortCbxGroup_; + TpListCheckBoxGroup *sortCbxGroup_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/main.cpp b/Application/fileManagement/src/main.cpp index 3372dd5..2a58d50 100644 --- a/Application/fileManagement/src/main.cpp +++ b/Application/fileManagement/src/main.cpp @@ -1,12 +1,12 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" #include #include "browserToolWindow/fileListWindow.h" -#include "tpDialog.h" +#include "TpDialog.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *fileManage = new mainWindowService(); app.bindVScreen(fileManage); diff --git a/Application/fileManagement/src/mainWindowService.cpp b/Application/fileManagement/src/mainWindowService.cpp index 90acd7b..b8be441 100644 --- a/Application/fileManagement/src/mainWindowService.cpp +++ b/Application/fileManagement/src/mainWindowService.cpp @@ -1,8 +1,8 @@ #include "mainWindowService.h" -#include "tpSignalSlot.h" +#include "TpSignalSlot.h" #include "fileManagementGlobal.h" -#include "tpVBoxLayout.h" -#include "tpTabBar.h" +#include "TpVBoxLayout.h" +#include "TpTabBar.h" enum TreeNodeType { @@ -18,7 +18,7 @@ enum TreeNodeType static const uint32_t TreeNodeDataTypeRole = 0; mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -41,7 +41,7 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "mainWindowService::onResizeEvent" << std::endl; @@ -50,7 +50,7 @@ bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "mainWindowService::onActiveEvent" << std::endl; @@ -61,7 +61,7 @@ bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) void mainWindowService::initUi() { - tpString resPath = applicationDirPath() + "/../res/"; + TpString resPath = applicationDirPath() + "/../res/"; recentlyWindow_ = new recentlyWindow(); // recentlyWindow_->setVisible(true); @@ -70,15 +70,15 @@ void mainWindowService::initUi() browseWindow_ = new browseWindow(); // recentlyWindow_->setVisible(false); - mainTabWidget_ = new tpTabWidget(this); + mainTabWidget_ = new TpTabWidget(this); mainTabWidget_->addTab(recentlyWindow_, "最近"); mainTabWidget_->addTab(browseWindow_, "浏览"); - tpTabBar *tabBar = mainTabWidget_->tabBar(); + TpTabBar *tabBar = mainTabWidget_->tabBar(); tabBar->setIcon(0, applicationDirPath() + "/../res/最近-normal.png", applicationDirPath() + "/../res/最近-focus.png"); tabBar->setIcon(1, applicationDirPath() + "/../res/浏览-normal.png", applicationDirPath() + "/../res/浏览-focus.png"); - tpVBoxLayout *mainLayout = new tpVBoxLayout(); + TpVBoxLayout *mainLayout = new TpVBoxLayout(); mainLayout->setContentsMargins(0, 0, 0, 0); mainLayout->addWidget(mainTabWidget_); @@ -86,9 +86,9 @@ void mainWindowService::initUi() setLayout(mainLayout); } -void mainWindowService::slotPathChanged(const tpString &path) +void mainWindowService::slotPathChanged(const TpString &path) { - tpString changePath = ""; + TpString changePath = ""; if (path.startsWith(RootPath)) { changePath = RootPath; diff --git a/Application/fileManagement/src/mainWindowService.h b/Application/fileManagement/src/mainWindowService.h index fd95721..1cc4bf8 100644 --- a/Application/fileManagement/src/mainWindowService.h +++ b/Application/fileManagement/src/mainWindowService.h @@ -1,13 +1,13 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" -#include "tpTabWidget.h" +#include "TpFixScreen.h" +#include "TpTabWidget.h" #include "sonWindow/recentlyWindow.h" #include "sonWindow/browseWindow.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -17,13 +17,13 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; private: // 路径切换事件,根据路径切换树节点的选中 - void slotPathChanged(const tpString &path); + void slotPathChanged(const TpString &path); private: void initUi(); @@ -34,7 +34,7 @@ private: private: // titleBar *titleBar_; - tpTabWidget* mainTabWidget_; + TpTabWidget* mainTabWidget_; // 最近窗口 recentlyWindow* recentlyWindow_; diff --git a/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.cpp b/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.cpp index af0e4ef..29890b9 100644 --- a/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.cpp +++ b/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.cpp @@ -1,15 +1,15 @@ #include "clearSpaceWindow.h" -#include "tpDisplay.h" -#include "tpVBoxLayout.h" -#include "tpHBoxLayout.h" -#include "tpLabel.h" -#include "tpFont.h" -#include "tpLine.h" -#include "tpMessageBox.h" +#include "TpDisplay.h" +#include "TpVBoxLayout.h" +#include "TpHBoxLayout.h" +#include "TpLabel.h" +#include "TpFont.h" +#include "TpLine.h" +#include "TpMessageBox.h" -int32_t layoutMargin = tpDisplay::dp2Px(20); +int32_t layoutMargin = TpDisplay::dp2Px(20); -clearSpaceWindow::clearSpaceWindow() : tpDialog() +clearSpaceWindow::clearSpaceWindow() : TpDialog() { setBackGroundColor(_RGB(248, 248, 248)); // setBackGroundColor(_RGB(248, 0, 0)); @@ -24,30 +24,30 @@ clearSpaceWindow::~clearSpaceWindow() void clearSpaceWindow::SlotClearSpaceFile(bool) { - tpMessageBox::information("已清理垃圾文件"); + TpMessageBox::information("已清理垃圾文件"); } void clearSpaceWindow::init() { // 标题布局 - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setContentsMargins(0, 0, 0, 12); titleLayout->setSpacing(12); - tpVBoxLayout *mainLayout = new tpVBoxLayout(); + TpVBoxLayout *mainLayout = new TpVBoxLayout(); mainLayout->setSpacing(12); mainLayout->setContentsMargins(layoutMargin, layoutMargin, layoutMargin, 0); // 清理按钮 - backBtn_ = new tpButton(this); - backBtn_->setButtonStyle(tpButton::IconOnly); + backBtn_ = new TpButton(this); + backBtn_->setButtonStyle(TpButton::IconOnly); backBtn_->setEnableBackGroundColor(false); - backBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + backBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); backBtn_->setIcon(applicationDirPath() + "/../res/路径后退.png"); connect(backBtn_, onClicked, [=](bool) { setVisible(false); }); - tpLabel *titleLabel = new tpLabel("空间清理"); + TpLabel *titleLabel = new TpLabel("空间清理"); // titleLabel->setBackGroundColor(_RGB(255, 0, 0)); titleLabel->font()->setFontSize(19); // titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); @@ -57,45 +57,45 @@ void clearSpaceWindow::init() titleLayout->addWidget(backBtn_); titleLayout->addWidget(titleLabel); - tpChildWidget *localSpaceWidget = genLocalSpaceWidget(); + TpChildWidget *localSpaceWidget = genLocalSpaceWidget(); - tpChildWidget *clearWidget = genClearFileWidget(); + TpChildWidget *clearWidget = genClearFileWidget(); mainLayout->addLayout(titleLayout); mainLayout->addWidget(localSpaceWidget); mainLayout->addWidget(clearWidget); - mainLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Minimum, tpSpacerItem::Expanding)); + mainLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Minimum, TpSpacerItem::Expanding)); setLayout(mainLayout); } -tpChildWidget *clearSpaceWindow::genLocalSpaceWidget() +TpChildWidget *clearSpaceWindow::genLocalSpaceWidget() { - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setContentsMargins(0, 0, 0, 0); - tpVBoxLayout *spaceWidgetLayout = new tpVBoxLayout(); + TpVBoxLayout *spaceWidgetLayout = new TpVBoxLayout(); spaceWidgetLayout->setContentsMargins(18, 35, 18, 35); - tpChildWidget *localSpaceWidget = new tpChildWidget(); + TpChildWidget *localSpaceWidget = new TpChildWidget(); localSpaceWidget->setBackGroundColor(_RGB(255, 255, 255)); localSpaceWidget->setRoundCorners(20); - tpLabel *nameLabel = new tpLabel(); + TpLabel *nameLabel = new TpLabel(); nameLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); nameLabel->font()->setFontSize(12); nameLabel->setText("本地空间"); - tpLabel *spaceLabel = new tpLabel(); + TpLabel *spaceLabel = new TpLabel(); spaceLabel->font()->setFontColor(_RGB(89, 89, 89), _RGB(89, 89, 89)); spaceLabel->font()->setFontSize(12); spaceLabel->setText("已使用 136 GB/256 GB"); titleLayout->addWidget(nameLabel); - titleLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Expanding)); + titleLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Expanding)); titleLayout->addWidget(spaceLabel); - tpPercentProgressBar *percetProgress = new tpPercentProgressBar(); + TpPercentProgressBar *percetProgress = new TpPercentProgressBar(); // TODO ,查询本地存储各个类别文件存储大小 percetProgress->setTotalValue(256); percetProgress->addItem("图片", 35); @@ -113,41 +113,41 @@ tpChildWidget *clearSpaceWindow::genLocalSpaceWidget() return localSpaceWidget; } -tpChildWidget *clearSpaceWindow::genClearFileWidget() +TpChildWidget *clearSpaceWindow::genClearFileWidget() { - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setContentsMargins(18, 35, 18, 35); - tpChildWidget *clearWidget = new tpChildWidget(); + TpChildWidget *clearWidget = new TpChildWidget(); clearWidget->setBackGroundColor(_RGB(255, 255, 255)); clearWidget->setRoundCorners(20); - tpLabel *nameLabel = new tpLabel(); + TpLabel *nameLabel = new TpLabel(); nameLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); nameLabel->font()->setFontSize(12); nameLabel->setText("垃圾文件"); - tpLine *subLine = new tpLine(); - subLine->setLineType(tpLine::VLine); + TpLine *subLine = new TpLine(); + subLine->setLineType(TpLine::VLine); subLine->setLineLength(12); subLine->setColor(_RGB(190, 196, 202)); subLine->setLineWidth(2); - tpLabel *spaceLabel = new tpLabel(); + TpLabel *spaceLabel = new TpLabel(); spaceLabel->font()->setFontColor(_RGB(140, 140, 140), _RGB(140, 140, 140)); spaceLabel->font()->setFontSize(12); spaceLabel->setText("416MB"); - releaseSpaceBtn_ = new tpButton(); + releaseSpaceBtn_ = new TpButton(); releaseSpaceBtn_->setProperty("type", "FunctionButton"); - releaseSpaceBtn_->setButtonStyle(tpButton::TextOnly); + releaseSpaceBtn_->setButtonStyle(TpButton::TextOnly); releaseSpaceBtn_->setText("确认并释放空间"); connect(releaseSpaceBtn_, onClicked, this, &clearSpaceWindow::SlotClearSpaceFile); titleLayout->addWidget(nameLabel); titleLayout->addWidget(subLine); titleLayout->addWidget(spaceLabel); - titleLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Expanding)); + titleLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Expanding)); titleLayout->addWidget(releaseSpaceBtn_); clearWidget->setLayout(titleLayout); diff --git a/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.h b/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.h index 92f812c..1825d90 100644 --- a/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.h +++ b/Application/fileManagement/src/recentlyToolWindow/clearSpaceWindow.h @@ -6,13 +6,13 @@ #ifndef __CLEAR_SPACE_WINDOW_H #define __CLEAR_SPACE_WINDOW_H -#include "tpDialog.h" -#include "tpVBoxLayout.h" -#include "tpButton.h" -#include "tpPercentProgressBar.h" +#include "TpDialog.h" +#include "TpVBoxLayout.h" +#include "TpButton.h" +#include "TpPercentProgressBar.h" class clearSpaceWindow - : public tpDialog + : public TpDialog { public: clearSpaceWindow(); @@ -26,16 +26,16 @@ private: void init(); // 构建本地空间子窗口 - tpChildWidget *genLocalSpaceWidget(); + TpChildWidget *genLocalSpaceWidget(); // 生成清理空间子窗口 - tpChildWidget *genClearFileWidget(); + TpChildWidget *genClearFileWidget(); private: // 返回上层按钮 - tpButton *backBtn_; + TpButton *backBtn_; - tpButton *releaseSpaceBtn_; + TpButton *releaseSpaceBtn_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp index 4838c01..1b6be8b 100644 --- a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp +++ b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp @@ -1,10 +1,10 @@ #include "pressPopWindow.h" -#include "tpHBoxLayout.h" -#include "tpDisplay.h" -#include "tpFont.h" +#include "TpHBoxLayout.h" +#include "TpDisplay.h" +#include "TpFont.h" pressPopWindow::pressPopWindow() - : tpDialog() + : TpDialog() { setBackGroundColor(_RGB(248, 248, 248)); @@ -18,12 +18,12 @@ pressPopWindow::~pressPopWindow() void pressPopWindow::init() { - moreConfigMenu_ = new tpMenu(); + moreConfigMenu_ = new TpMenu(); moreConfigMenu_->addItem("重命名"); moreConfigMenu_->addItem("收藏"); - tpString iconButtonCss = " \ - tpIconTopButton \ + TpString iconButtonCss = " \ + TpIconTopButton \ { \ icon-size : 34; \ font-size : 10; \ @@ -32,26 +32,26 @@ void pressPopWindow::init() setStyleSheet(iconButtonCss); // 选中item后的操作按钮 - delSelectBtn_ = new tpIconTopButton(this); + delSelectBtn_ = new TpIconTopButton(this); // delSelectBtn_->font()->setFontSize(10); // delSelectBtn_->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); - // delSelectBtn_->setIconSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + // delSelectBtn_->setIconSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); delSelectBtn_->setText("删除"); delSelectBtn_->setIcon(applicationDirPath() + "/../res/删除.png"); connect(delSelectBtn_, onClicked, [=](bool) {}); - moveSelectBtn_ = new tpIconTopButton(this); + moveSelectBtn_ = new TpIconTopButton(this); // moveSelectBtn_->font()->setFontSize(10); // moveSelectBtn_->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); - // moveSelectBtn_->setIconSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + // moveSelectBtn_->setIconSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); moveSelectBtn_->setText("移动"); moveSelectBtn_->setIcon(applicationDirPath() + "/../res/移动.png"); connect(moveSelectBtn_, onClicked, [=](bool) {}); - moreSelectBtn_ = new tpIconTopButton(this); + moreSelectBtn_ = new TpIconTopButton(this); // moreSelectBtn_->font()->setFontSize(10); // moreSelectBtn_->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); - // moreSelectBtn_->setIconSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + // moreSelectBtn_->setIconSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); moreSelectBtn_->setText("更多"); moreSelectBtn_->setIcon(applicationDirPath() + "/../res/更多.png"); connect(moreSelectBtn_, onClicked, [=](bool) @@ -62,18 +62,18 @@ void pressPopWindow::init() buttonList_.emplace_back(moreSelectBtn_); } -bool pressPopWindow::onResizeEvent(tpObjectResizeEvent *event) +bool pressPopWindow::onResizeEvent(TpObjectResizeEvent *event) { - tpDialog::onResizeEvent(event); + TpDialog::onResizeEvent(event); if (buttonList_.size() > 0) { uint32_t singleButonWidth = width() / buttonList_.size(); - uint32_t singleBtnX = (singleButonWidth - tpDisplay::dp2Px(34)) / 2.0; + uint32_t singleBtnX = (singleButonWidth - TpDisplay::dp2Px(34)) / 2.0; for (int i = 0; i < buttonList_.size(); ++i) { - tpIconTopButton *curBtn = buttonList_.at(i); + TpIconTopButton *curBtn = buttonList_.at(i); uint32_t singleBtnY = (height() - curBtn->height()) / 2.0; curBtn->move(i * singleButonWidth + singleBtnX, singleBtnY); @@ -83,7 +83,7 @@ bool pressPopWindow::onResizeEvent(tpObjectResizeEvent *event) return true; } -bool pressPopWindow::eventFilter(tpObject *watched, tpEvent *event) +bool pressPopWindow::eventFilter(TpObject *watched, TpEvent *event) { return false; } diff --git a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h index 713ab0b..84b8e30 100644 --- a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h +++ b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h @@ -6,14 +6,14 @@ #ifndef __PRESS_POP_WINDOW_H #define __PRESS_POP_WINDOW_H -#include "tpDialog.h" -#include "tpVBoxLayout.h" -#include "tpIconTopButton.h" -#include "tpMenu.h" -#include "tpVector.h" +#include "TpDialog.h" +#include "TpVBoxLayout.h" +#include "TpIconTopButton.h" +#include "TpMenu.h" +#include "TpVector.h" class pressPopWindow - : public tpDialog + : public TpDialog { public: pressPopWindow(); @@ -23,19 +23,19 @@ private: void init(); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: // 选中item后的操作按钮 - tpIconTopButton *delSelectBtn_; - tpIconTopButton *moveSelectBtn_; - tpIconTopButton *moreSelectBtn_; + TpIconTopButton *delSelectBtn_; + TpIconTopButton *moveSelectBtn_; + TpIconTopButton *moreSelectBtn_; - tpVector buttonList_; + TpVector buttonList_; - tpMenu *moreConfigMenu_; + TpMenu *moreConfigMenu_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index bdc6945..07e764f 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -1,21 +1,21 @@ #include "browseWindow.h" -#include "tpHBoxLayout.h" -#include "tpVBoxLayout.h" -#include "tpDisplay.h" +#include "TpHBoxLayout.h" +#include "TpVBoxLayout.h" +#include "TpDisplay.h" #include "TpCanvas.h" #include "fileManagementGlobal.h" -static const tpString ITEM_PATH_TYPE = "FastPath"; +static const TpString ITEM_PATH_TYPE = "FastPath"; -browseWindow::browseWindow(tpChildWidget *parent) - : tpChildWidget(parent) +browseWindow::browseWindow(TpChildWidget *parent) + : TpChildWidget(parent) { init(); setBackGroundColor(_RGB(255, 255, 255)); // setBackGroundColor(_RGB(248, 248, 248)); - connect(diskManager_, diskAdd, [=](tpDisk *) + connect(diskManager_, diskAdd, [=](TpDisk *) { std::cout << "******************diskAdd*****************" << std::endl; }); } @@ -25,23 +25,23 @@ browseWindow::~browseWindow() void browseWindow::setVisible(bool visible) { - tpChildWidget::setVisible(visible); + TpChildWidget::setVisible(visible); if (!visible) return; - tpChildWidget *scrollWidget = mainScrollPanel_->widget(); - tpVBoxLayout *deviceListLayout = dynamic_cast(scrollWidget->layout()); + TpChildWidget *scrollWidget = mainScrollPanel_->widget(); + TpVBoxLayout *deviceListLayout = dynamic_cast(scrollWidget->layout()); if (!deviceListLayout) return; std::cout << "刷新外置存储设备" << std::endl; - tpVector layoutChildList = deviceListLayout->children(); + TpVector layoutChildList = deviceListLayout->children(); // 刷新USB设备数据 - tpVector childUsbItemList; + TpVector childUsbItemList; for (const auto &childObj : layoutChildList) { diskDeviceCheckBox *childUsb = dynamic_cast(childObj); @@ -62,7 +62,7 @@ void browseWindow::setVisible(bool visible) layoutChildList = deviceListLayout->children(); // 获取所有外置磁盘数据 - tpList externDiskList = diskManager_->getList(); + TpList externDiskList = diskManager_->getList(); std::cout << "externDiskList.Size " << externDiskList.size() << std::endl; for (const auto &diskInfo : externDiskList) @@ -87,7 +87,7 @@ void browseWindow::setVisible(bool visible) double allSpaceGb = 1.0 * allSpaceByte / 1024 / 1024 / 1024; double usedSpaceGb = 1.0 * usedSpaceByte / 1024 / 1024 / 1024; - tpString usbPath = diskInfo->getMount(); + TpString usbPath = diskInfo->getMount(); diskDeviceCheckBox *testDevice = new diskDeviceCheckBox(); testDevice->setIcon(applicationDirPath() + "/../res/USB设备-未选中.png", applicationDirPath() + "/../res/USB设备-选中.png"); @@ -108,9 +108,9 @@ void browseWindow::setVisible(bool visible) } } -bool browseWindow::onPaintEvent(tpObjectPaintEvent *event) +bool browseWindow::onPaintEvent(TpObjectPaintEvent *event) { - tpChildWidget::onPaintEvent(event); + TpChildWidget::onPaintEvent(event); // 绘制左侧菜单滚动区域的底色 TpCanvas *paintCanvas = event->canvas(); @@ -127,20 +127,20 @@ bool browseWindow::onPaintEvent(tpObjectPaintEvent *event) void browseWindow::init() { - diskManager_ = new tpDiskManage(TP_TRUE); + diskManager_ = new TpDiskManage(TP_TRUE); - mainScrollPanel_ = new tpScrollPanel(this); - mainScrollPanel_->setFixedWidth(tpDisplay::dp2Px(440)); + mainScrollPanel_ = new TpScrollPanel(this); + mainScrollPanel_->setFixedWidth(TpDisplay::dp2Px(440)); mainScrollPanel_->setBackGroundColor(_RGB(248, 248, 248)); - tpChildWidget *scrollWidget = new tpChildWidget(); + TpChildWidget *scrollWidget = new TpChildWidget(); scrollWidget->setBackGroundColor(_RGB(248, 248, 248)); fileListWindow_ = new fileListWindow(); fileListWindow_->setRootPath(RootPath); fileListWindow_->setDeviceType(fileListWindow::LocalDevice); - tpLabel *titleLabel = new tpLabel("浏览"); + TpLabel *titleLabel = new TpLabel("浏览"); titleLabel->font()->setFontSize(19); titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); titleLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); @@ -148,20 +148,20 @@ void browseWindow::init() // titleLabel->setBackGroundColor(_RGB(255, 0, 0)); // 搜索 - searchEdit_ = new tpLineEdit(); + searchEdit_ = new TpLineEdit(); searchEdit_->setProperty("type", "fileManageEdit"); searchEdit_->setIcon(applicationDirPath() + "/../res/搜索.png"); searchEdit_->setPlaceholderText("搜索文件"); // 快捷访问 - fastPathScroll_ = new tpScrollPanel(); + fastPathScroll_ = new TpScrollPanel(); fastPathScroll_->setScrollMode(false); // fastPathScroll_->setBackGroundColor(_RGB(255, 0, 0)); // 将快捷访问按钮放进中间widget,再放入滚动窗口 - tpChildWidget *fastScrollWidget = new tpChildWidget(); + TpChildWidget *fastScrollWidget = new TpChildWidget(); - pictureTileBtn_ = new tpMediaTileButton(fastPathScroll_); + pictureTileBtn_ = new TpMediaTileButton(fastPathScroll_); pictureTileBtn_->setProperty(ITEM_PATH_TYPE, "/System/data/Pictures"); pictureTileBtn_->setText("图片"); pictureTileBtn_->setIcon(applicationDirPath() + "/../res/fastAccess/图片.png"); @@ -170,7 +170,7 @@ void browseWindow::init() connect(pictureTileBtn_, onClicked, [=](bool) { fastPathBtnClicked(pictureTileBtn_); }); - videoTileBtn_ = new tpMediaTileButton(fastPathScroll_); + videoTileBtn_ = new TpMediaTileButton(fastPathScroll_); videoTileBtn_->setProperty(ITEM_PATH_TYPE, "/System/data/Videos"); videoTileBtn_->setText("视频"); videoTileBtn_->setIcon(applicationDirPath() + "/../res/fastAccess/视频.png"); @@ -179,7 +179,7 @@ void browseWindow::init() connect(videoTileBtn_, onClicked, [=](bool) { fastPathBtnClicked(videoTileBtn_); }); - textTileBtn_ = new tpMediaTileButton(fastPathScroll_); + textTileBtn_ = new TpMediaTileButton(fastPathScroll_); textTileBtn_->setProperty(ITEM_PATH_TYPE, "/System/data/Documents"); textTileBtn_->setText("文本"); textTileBtn_->setIcon(applicationDirPath() + "/../res/fastAccess/文本.png"); @@ -188,7 +188,7 @@ void browseWindow::init() connect(textTileBtn_, onClicked, [=](bool) { fastPathBtnClicked(textTileBtn_); }); - musicTileBtn_ = new tpMediaTileButton(fastPathScroll_); + musicTileBtn_ = new TpMediaTileButton(fastPathScroll_); musicTileBtn_->setProperty(ITEM_PATH_TYPE, "/System/data/Music"); musicTileBtn_->setText("音频"); musicTileBtn_->setIcon(applicationDirPath() + "/../res/fastAccess/音频.png"); @@ -197,7 +197,7 @@ void browseWindow::init() connect(musicTileBtn_, onClicked, [=](bool) { fastPathBtnClicked(musicTileBtn_); }); - applicationTileBtn_ = new tpMediaTileButton(fastPathScroll_); + applicationTileBtn_ = new TpMediaTileButton(fastPathScroll_); applicationTileBtn_->setProperty(ITEM_PATH_TYPE, "/System/data/Packages"); applicationTileBtn_->setText("应用"); applicationTileBtn_->setIcon(applicationDirPath() + "/../res/fastAccess/应用.png"); @@ -207,10 +207,10 @@ void browseWindow::init() { fastPathBtnClicked(applicationTileBtn_); }); // 将快速访问按钮添加到中间窗体 - fastPathScroll_->setFixedHeight(applicationTileBtn_->height() /* + tpDisplay::dp2Px(25)*/); + fastPathScroll_->setFixedHeight(applicationTileBtn_->height() /* + TpDisplay::dp2Px(25)*/); // fastPathScroll_->setBackGroundColor(_RGB(255, 0, 0)); - fastScrollWidget->setLayout(new tpHBoxLayout()); + fastScrollWidget->setLayout(new TpHBoxLayout()); fastScrollWidget->layout()->setSpacing(12); fastScrollWidget->layout()->addWidget(pictureTileBtn_); fastScrollWidget->layout()->addWidget(videoTileBtn_); @@ -221,27 +221,27 @@ void browseWindow::init() fastPathScroll_->setWidget(fastScrollWidget); // 来源 - tpLabel *sourceLabel = new tpLabel("来源"); + TpLabel *sourceLabel = new TpLabel("来源"); sourceLabel->font()->setFontSize(11); sourceLabel->setFixedHeight(sourceLabel->font()->pixelHeight()); sourceLabel->font()->setFontColor(_RGB(89, 89, 89), _RGB(89, 89, 89)); sourceLabel->installEventFilter(scrollWidget); - menuPanelWidget_ = new tpMenuPanelWidget(); + menuPanelWidget_ = new TpMenuPanelWidget(); // menuPanelWidget_->setBackGroundColor(_RGB(255, 0, 0)); menuPanelWidget_->installEventFilter(scrollWidget); connect(menuPanelWidget_, onClicked, this, &browseWindow::sourceMenuChanged); #if 1 // 临时数据,TODO,要修改为从配置文件读取 - tpMenuPanelItem *downloadPanelItem = new tpMenuPanelItem(); + TpMenuPanelItem *downloadPanelItem = new TpMenuPanelItem(); downloadPanelItem->setProperty(ITEM_PATH_TYPE, "/System/data/Downloads"); downloadPanelItem->setIcon(applicationDirPath() + "/../res/fileSource/下载与接收.png"); downloadPanelItem->setTitle("下载与接收"); menuPanelWidget_->addItem(downloadPanelItem); #endif - tpVBoxLayout *menuLayout = new tpVBoxLayout(); - int32_t layoutMargin = tpDisplay::dp2Px(20); + TpVBoxLayout *menuLayout = new TpVBoxLayout(); + int32_t layoutMargin = TpDisplay::dp2Px(20); // menuLayout->setContentsMargins(0, 0, 0, 0); menuLayout->setContentsMargins(0, 0, layoutMargin, 0); menuLayout->setSpacing(10); @@ -253,7 +253,7 @@ void browseWindow::init() menuLayout->addWidget(sourceLabel); menuLayout->addWidget(menuPanelWidget_); - tpHBoxLayout *mainLayout = new tpHBoxLayout(); + TpHBoxLayout *mainLayout = new TpHBoxLayout(); mainLayout->setSpacing(0); // mainLayout->setContentsMargins(0, 0, 0, 0); mainLayout->setContentsMargins(layoutMargin, layoutMargin, layoutMargin, 0); @@ -269,7 +269,7 @@ void browseWindow::init() setLayout(mainLayout); } -void browseWindow::fastPathBtnClicked(tpMediaTileButton *clickBtn) +void browseWindow::fastPathBtnClicked(TpMediaTileButton *clickBtn) { // 屏蔽选中态重复选中 bool isSelected = clickBtn->checked(); @@ -297,7 +297,7 @@ void browseWindow::fastPathBtnClicked(tpMediaTileButton *clickBtn) // 移除所有来源按钮选中 menuPanelWidget_->clearSelection(); - tpString curPath = clickBtn->property(ITEM_PATH_TYPE).toString(); + TpString curPath = clickBtn->property(ITEM_PATH_TYPE).toString(); fileListWindow_->setRootPath(RootPath); @@ -335,7 +335,7 @@ void browseWindow::devicePathBtnClicked(diskDeviceCheckBox *clickBtn) // 移除所有来源按钮选中 menuPanelWidget_->clearSelection(); - tpString curPath = clickBtn->property(ITEM_PATH_TYPE).toString(); + TpString curPath = clickBtn->property(ITEM_PATH_TYPE).toString(); std::cout << "curPath " << curPath << std::endl; // USB设备重新设置根目录 @@ -346,7 +346,7 @@ void browseWindow::devicePathBtnClicked(diskDeviceCheckBox *clickBtn) fileListWindow_->refreshPath(curPath); } -void browseWindow::sourceMenuChanged(tpMenuPanelItem *sourceItem) +void browseWindow::sourceMenuChanged(TpMenuPanelItem *sourceItem) { // 屏蔽选中态重复选中 bool isSelected = sourceItem->checked(); @@ -368,7 +368,7 @@ void browseWindow::sourceMenuChanged(tpMenuPanelItem *sourceItem) deviceBtn->setChecked(false); } - tpString curPath = sourceItem->property(ITEM_PATH_TYPE).toString(); + TpString curPath = sourceItem->property(ITEM_PATH_TYPE).toString(); fileListWindow_->setRootPath(RootPath); fileListWindow_->setDeviceType(fileListWindow::LocalDevice); diff --git a/Application/fileManagement/src/sonWindow/browseWindow.h b/Application/fileManagement/src/sonWindow/browseWindow.h index 10db5c8..1033d03 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.h +++ b/Application/fileManagement/src/sonWindow/browseWindow.h @@ -6,70 +6,70 @@ #ifndef __BROWSE_WINDOW_H #define __BROWSE_WINDOW_H -#include "tpChildWidget.h" -#include "tpScrollPanel.h" -#include "tpLineEdit.h" -#include "tpVector.h" -#include "tpMediaTileButton.h" -#include "tpMenuPanelWidget.h" -#include "tpEvent.h" -#include "tpDiskManage.h" +#include "TpChildWidget.h" +#include "TpScrollPanel.h" +#include "TpLineEdit.h" +#include "TpVector.h" +#include "TpMediaTileButton.h" +#include "TpMenuPanelWidget.h" +#include "TpEvent.h" +#include "TpDiskManage.h" #include "toolWindow/diskDeviceCheckBox.h" #include "browserToolWindow/fileListWindow.h" class browseWindow - : public tpChildWidget + : public TpChildWidget { public: - browseWindow(tpChildWidget *parent = nullptr); + browseWindow(TpChildWidget *parent = nullptr); ~browseWindow(); virtual void setVisible(bool visible = true) override; protected: - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; private: void init(); // 快捷访问按钮点击事件 - void fastPathBtnClicked(tpMediaTileButton* clickBtn); + void fastPathBtnClicked(TpMediaTileButton* clickBtn); // 设备节点点击 void devicePathBtnClicked(diskDeviceCheckBox* clickBtn); // 数据来源路径切换 - void sourceMenuChanged(tpMenuPanelItem* sourceItem); + void sourceMenuChanged(TpMenuPanelItem* sourceItem); private: // 主滚动显示区域 - tpScrollPanel *mainScrollPanel_; + TpScrollPanel *mainScrollPanel_; // 搜索框 - tpLineEdit *searchEdit_; + TpLineEdit *searchEdit_; // 快捷访问图标滚动区域 - tpScrollPanel *fastPathScroll_; + TpScrollPanel *fastPathScroll_; // 快捷访问按钮 - tpMediaTileButton *pictureTileBtn_; - tpMediaTileButton *videoTileBtn_; - tpMediaTileButton *textTileBtn_; - tpMediaTileButton *musicTileBtn_; - tpMediaTileButton *applicationTileBtn_; + TpMediaTileButton *pictureTileBtn_; + TpMediaTileButton *videoTileBtn_; + TpMediaTileButton *textTileBtn_; + TpMediaTileButton *musicTileBtn_; + TpMediaTileButton *applicationTileBtn_; - tpVector mediaBtnList_; + TpVector mediaBtnList_; // 数据来源选择菜单 - tpMenuPanelWidget *menuPanelWidget_; + TpMenuPanelWidget *menuPanelWidget_; // 文件列表 fileListWindow *fileListWindow_; // 所有USB设备列表 - tpDiskManage* diskManager_; - tpVector deviceList_; + TpDiskManage* diskManager_; + TpVector deviceList_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/sonWindow/recentlyWindow.cpp b/Application/fileManagement/src/sonWindow/recentlyWindow.cpp index 46522ba..bb535c3 100644 --- a/Application/fileManagement/src/sonWindow/recentlyWindow.cpp +++ b/Application/fileManagement/src/sonWindow/recentlyWindow.cpp @@ -1,13 +1,13 @@ #include "recentlyWindow.h" -#include "tpVBoxLayout.h" -#include "tpHBoxLayout.h" -#include "tpLabel.h" -#include "tpFont.h" -#include "tpDisplay.h" -#include "tpButton.h" - -recentlyWindow::recentlyWindow(tpChildWidget *parent) - : tpChildWidget(parent) +#include "TpVBoxLayout.h" +#include "TpHBoxLayout.h" +#include "TpLabel.h" +#include "TpFont.h" +#include "TpDisplay.h" +#include "TpButton.h" + +recentlyWindow::recentlyWindow(TpChildWidget *parent) + : TpChildWidget(parent) { init(); @@ -19,39 +19,39 @@ recentlyWindow::~recentlyWindow() { } -bool recentlyWindow::onMousePressEvent(tpMouseEvent *event) +bool recentlyWindow::onMousePressEvent(TpMouseEvent *event) { - tpChildWidget::onMousePressEvent(event); + TpChildWidget::onMousePressEvent(event); pressPopMenu_->setVisible(false); for (const auto &fileWidget : fileWidgetList_) { - fileWidget->setSelectMode(tpCollapsibleFileWidget::Normal); + fileWidget->setSelectMode(TpCollapsibleFileWidget::Normal); } return true; } -bool recentlyWindow::onMouseRleaseEvent(tpMouseEvent *event) +bool recentlyWindow::onMouseRleaseEvent(TpMouseEvent *event) { - tpChildWidget::onMouseRleaseEvent(event); + TpChildWidget::onMouseRleaseEvent(event); return true; } -bool recentlyWindow::eventFilter(tpObject *watched, tpEvent *event) +bool recentlyWindow::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMousePressEvent(mouseEvent); } return false; } -void recentlyWindow::SlotLongPressItem(tpCollapsibleFileWidget *fileWidget) +void recentlyWindow::SlotLongPressItem(TpCollapsibleFileWidget *fileWidget) { ItpSize popMenuSize = pressPopMenu_->screenSize(); @@ -60,20 +60,20 @@ void recentlyWindow::SlotLongPressItem(tpCollapsibleFileWidget *fileWidget) pressPopMenu_->setVisible(true); // 所有当前item添加cbx - fileWidget->setSelectMode(tpCollapsibleFileWidget::MultiSelection); + fileWidget->setSelectMode(TpCollapsibleFileWidget::MultiSelection); } void recentlyWindow::init() { - tpVBoxLayout *mainLayout = new tpVBoxLayout(); + TpVBoxLayout *mainLayout = new TpVBoxLayout(); // 初始化长按弹出窗口 pressPopMenu_ = new pressPopWindow(); - uint32_t layoutMargin = tpDisplay::dp2Px(25); + uint32_t layoutMargin = TpDisplay::dp2Px(25); mainLayout->setContentsMargins(layoutMargin, layoutMargin, layoutMargin, 0); - tpLabel *titleLabel = new tpLabel("最近", this); + TpLabel *titleLabel = new TpLabel("最近", this); titleLabel->font()->setFontSize(19); titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); titleLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); @@ -84,26 +84,26 @@ void recentlyWindow::init() clearWindow_ = new clearSpaceWindow(); // 清理按钮 - clearButton_ = new tpButton(this); - clearButton_->setButtonStyle(tpButton::IconOnly); + clearButton_ = new TpButton(this); + clearButton_->setButtonStyle(TpButton::IconOnly); clearButton_->setEnableBackGroundColor(false); - clearButton_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + clearButton_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); clearButton_->setIcon(applicationDirPath() + "/../res/清理.png"); connect(clearButton_, onClicked, [=](bool) { clearWindow_->showMaximum(); }); clearButton_->installEventFilter(this); - tpHBoxLayout *titleLayout = new tpHBoxLayout(); + TpHBoxLayout *titleLayout = new TpHBoxLayout(); titleLayout->setContentsMargins(0, 0, 0, 0); titleLayout->addWidget(titleLabel, 10); titleLayout->addWidget(clearButton_, 1); - mainScrollPanel_ = new tpScrollPanel(this); + mainScrollPanel_ = new TpScrollPanel(this); mainScrollPanel_->installEventFilter(this); // mainScrollPanel_->setBackGroundColor(_RGB(0, 0, 255)); - tpChildWidget *scrollWidget = new tpChildWidget(mainScrollPanel_); - tpVBoxLayout *scrollLayout = new tpVBoxLayout(); + TpChildWidget *scrollWidget = new TpChildWidget(mainScrollPanel_); + TpVBoxLayout *scrollLayout = new TpVBoxLayout(); scrollWidget->setSize(600, 1500); scrollWidget->installEventFilter(this); @@ -116,7 +116,7 @@ void recentlyWindow::init() // deviceList_.emplace_back(testDevice); - searchEdit_ = new tpLineEdit(); + searchEdit_ = new TpLineEdit(); searchEdit_->setProperty("type", "fileManageEdit"); searchEdit_->setIcon(applicationDirPath() + "/../res/搜索.png"); searchEdit_->setPlaceholderText("搜索文件"); @@ -129,7 +129,7 @@ void recentlyWindow::init() createRecentlyFileList(scrollLayout); createRecentlyFileList(scrollLayout); - scrollLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Minimum, tpSpacerItem::Expanding)); + scrollLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Minimum, TpSpacerItem::Expanding)); // 将布局设置到滚动widget scrollWidget->setLayout(scrollLayout); @@ -142,9 +142,9 @@ void recentlyWindow::init() setLayout(mainLayout); } -void recentlyWindow::createRecentlyFileList(tpVBoxLayout *scrollLayout) +void recentlyWindow::createRecentlyFileList(TpVBoxLayout *scrollLayout) { - tpCollapsibleFileWidget *testFileWidget = new tpCollapsibleFileWidget(); + TpCollapsibleFileWidget *testFileWidget = new TpCollapsibleFileWidget(); testFileWidget->setTitle("今天"); testFileWidget->setSubTitle("2月14日"); @@ -153,11 +153,11 @@ void recentlyWindow::createRecentlyFileList(tpVBoxLayout *scrollLayout) for (int i = 0; i < 10; ++i) { - tpCollapsibleFileItem *item = new tpCollapsibleFileItem(); + TpCollapsibleFileItem *item = new TpCollapsibleFileItem(); // item->setFixedSize(100, 100); // item->setBackGroundColor(_RGB(255, 0, 0)); - item->setName(tpString::number(i) + ".png"); - item->setPath("/root/" + tpString::number(i) + ".png"); + item->setName(TpString::number(i) + ".png"); + item->setPath("/root/" + TpString::number(i) + ".png"); testFileWidget->addFileItem(item); } diff --git a/Application/fileManagement/src/sonWindow/recentlyWindow.h b/Application/fileManagement/src/sonWindow/recentlyWindow.h index 100655c..18b6e39 100644 --- a/Application/fileManagement/src/sonWindow/recentlyWindow.h +++ b/Application/fileManagement/src/sonWindow/recentlyWindow.h @@ -6,57 +6,57 @@ #ifndef __RECENTLY_WINDOW_H #define __RECENTLY_WINDOW_H -#include "tpChildWidget.h" -#include "tpScrollPanel.h" -#include "tpLineEdit.h" -#include "tpVector.h" -#include "tpVBoxLayout.h" -#include "tpButton.h" -#include "tpDialog.h" +#include "TpChildWidget.h" +#include "TpScrollPanel.h" +#include "TpLineEdit.h" +#include "TpVector.h" +#include "TpVBoxLayout.h" +#include "TpButton.h" +#include "TpDialog.h" #include "toolWindow/diskDeviceCheckBox.h" #include "recentlyToolWindow/clearSpaceWindow.h" #include "recentlyToolWindow/pressPopWindow.h" -#include "tpCollapsibleFileWidget.h" +#include "TpCollapsibleFileWidget.h" class recentlyWindow - : public tpChildWidget + : public TpChildWidget { public: - recentlyWindow(tpChildWidget *parent = nullptr); + recentlyWindow(TpChildWidget *parent = nullptr); ~recentlyWindow(); protected: - virtual bool onMousePressEvent(tpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: // 长按文件列表 - void SlotLongPressItem(tpCollapsibleFileWidget* fileWidget); + void SlotLongPressItem(TpCollapsibleFileWidget* fileWidget); private: void init(); // 创建最近访问文件列表信息 - void createRecentlyFileList(tpVBoxLayout *scrollLayout); + void createRecentlyFileList(TpVBoxLayout *scrollLayout); private: // 滚动显示区域 - tpScrollPanel *mainScrollPanel_; + TpScrollPanel *mainScrollPanel_; // 长按item弹出菜单 pressPopWindow *pressPopMenu_; // 搜索框 - tpLineEdit *searchEdit_; + TpLineEdit *searchEdit_; - tpButton *clearButton_; + TpButton *clearButton_; clearSpaceWindow *clearWindow_; - tpVector deviceList_; + TpVector deviceList_; - tpVector fileWidgetList_; + TpVector fileWidgetList_; }; #endif \ No newline at end of file diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index 369980f..543ac48 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -1,13 +1,13 @@ #include "diskDeviceCheckBox.h" -#include "tpHBoxLayout.h" -#include "tpDisplay.h" -#include "tpFont.h" +#include "TpHBoxLayout.h" +#include "TpDisplay.h" +#include "TpFont.h" #include "TpCanvas.h" -#include "tpLine.h" -#include "tpEvent.h" +#include "TpLine.h" +#include "TpEvent.h" -diskDeviceCheckBox::diskDeviceCheckBox(tpChildWidget *parent) - : tpChildWidget(parent) +diskDeviceCheckBox::diskDeviceCheckBox(TpChildWidget *parent) + : TpChildWidget(parent) { refreshBaseCss(); @@ -18,7 +18,7 @@ diskDeviceCheckBox::~diskDeviceCheckBox() { } -void diskDeviceCheckBox::setIcon(const tpString &normalIcon, const tpString &checkedIcon) +void diskDeviceCheckBox::setIcon(const TpString &normalIcon, const TpString &checkedIcon) { if (!normalIcon.empty()) normalIcon_.load(normalIcon); @@ -27,35 +27,35 @@ void diskDeviceCheckBox::setIcon(const tpString &normalIcon, const tpString &che checkedIcon_.load(checkedIcon); } -void diskDeviceCheckBox::setName(const tpString &name) +void diskDeviceCheckBox::setName(const TpString &name) { deviceNameLabel_->setText(name); } void diskDeviceCheckBox::setSpace(const float &curSpace, const float &totalSpace) { - tpString spaceText = tpString::number(curSpace, 2) + "GB/" + tpString::number(totalSpace, 2) + "GB"; + TpString spaceText = TpString::number(curSpace, 2) + "GB/" + TpString::number(totalSpace, 2) + "GB"; spaceLabel_->setText(spaceText); } -bool diskDeviceCheckBox::onMouseRleaseEvent(tpMouseEvent *event) +bool diskDeviceCheckBox::onMouseRleaseEvent(TpMouseEvent *event) { - tpChildWidget::onMouseRleaseEvent(event); + TpChildWidget::onMouseRleaseEvent(event); onClicked.emit(this); return true; } -bool diskDeviceCheckBox::onResizeEvent(tpObjectResizeEvent *event) +bool diskDeviceCheckBox::onResizeEvent(TpObjectResizeEvent *event) { - tpChildWidget::onResizeEvent(event); + TpChildWidget::onResizeEvent(event); return true; } -bool diskDeviceCheckBox::onPaintEvent(tpObjectPaintEvent *event) +bool diskDeviceCheckBox::onPaintEvent(TpObjectPaintEvent *event) { - tpChildWidget::onPaintEvent(event); + TpChildWidget::onPaintEvent(event); if (checked()) { @@ -80,16 +80,16 @@ bool diskDeviceCheckBox::onPaintEvent(tpObjectPaintEvent *event) return true; } -bool diskDeviceCheckBox::eventFilter(tpObject *watched, tpEvent *event) +bool diskDeviceCheckBox::eventFilter(TpObject *watched, TpEvent *event) { - if (event->eventType() == tpEvent::EVENT_MOUSE_PRESS_TYPE) + if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMousePressEvent(mouseEvent); } - else if (event->eventType() == tpEvent::EVENT_MOUSE_RELEASE_TYPE) + else if (event->eventType() == TpEvent::EVENT_MOUSE_RELEASE_TYPE) { - tpMouseEvent *mouseEvent = dynamic_cast(event); + TpMouseEvent *mouseEvent = dynamic_cast(event); onMouseRleaseEvent(mouseEvent); } else @@ -103,33 +103,33 @@ void diskDeviceCheckBox::init() { setCheckable(true); - tpShared cssData = currentStatusCss(); + tpShared cssData = currentStatusCss(); - iconLabel_ = new tpLabel(this); - iconLabel_->setFixedSize(tpDisplay::dp2Px(33), tpDisplay::dp2Px(33)); + iconLabel_ = new TpLabel(this); + iconLabel_->setFixedSize(TpDisplay::dp2Px(33), TpDisplay::dp2Px(33)); - deviceNameLabel_ = new tpLabel(this); + deviceNameLabel_ = new TpLabel(this); deviceNameLabel_->font()->setFontColor(cssData->color(), cssData->color()); deviceNameLabel_->font()->setFontSize(cssData->fontSize()); - tpLine *subLine = new tpLine(); - subLine->setLineType(tpLine::VLine); + TpLine *subLine = new TpLine(); + subLine->setLineType(TpLine::VLine); subLine->setLineLength(18); subLine->setColor(_RGB(190, 196, 202)); subLine->setLineWidth(2); - spaceLabel_ = new tpLabel(this); + spaceLabel_ = new TpLabel(this); spaceLabel_->font()->setFontColor(_RGB(140, 140, 140), _RGB(140, 140, 140)); spaceLabel_->font()->setFontSize(cssData->fontSize()); - expandLabel_ = new tpLabel(this); - expandLabel_->setFixedSize(tpDisplay::dp2Px(23), tpDisplay::dp2Px(23)); + expandLabel_ = new TpLabel(this); + expandLabel_->setFixedSize(TpDisplay::dp2Px(23), TpDisplay::dp2Px(23)); expandLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/箭头-未展开.png")); - tpShared curCssData = currentStatusCss(); + tpShared curCssData = currentStatusCss(); - tpHBoxLayout *mainLayout = new tpHBoxLayout(); + TpHBoxLayout *mainLayout = new TpHBoxLayout(); mainLayout->setContentsMargins(curCssData->paddingLeft(), curCssData->paddingTop(), curCssData->paddingRight(), curCssData->paddingBottom()); mainLayout->setSpacing(10); @@ -142,7 +142,7 @@ void diskDeviceCheckBox::init() mainLayout->addWidget(deviceNameLabel_); mainLayout->addWidget(subLine); mainLayout->addWidget(spaceLabel_); - mainLayout->addSpacer(new tpSpacerItem(20, 40, tpSpacerItem::Expanding, tpSpacerItem::Minimum)); + mainLayout->addSpacer(new TpSpacerItem(20, 40, TpSpacerItem::Expanding, TpSpacerItem::Minimum)); mainLayout->addWidget(expandLabel_); setLayout(mainLayout); } diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h index 7354fa9..df33128 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h @@ -6,22 +6,22 @@ #ifndef __DISK_DEVICE_CHECKBOX_H #define __DISK_DEVICE_CHECKBOX_H -#include "tpChildWidget.h" -#include "tpLabel.h" +#include "TpChildWidget.h" +#include "TpLabel.h" #include "TpImage.h" -#include "tpEvent.h" -#include "tpSignalSlot.h" +#include "TpEvent.h" +#include "TpSignalSlot.h" class diskDeviceCheckBox - : public tpChildWidget + : public TpChildWidget { public: - diskDeviceCheckBox(tpChildWidget *parent = nullptr); + diskDeviceCheckBox(TpChildWidget *parent = nullptr); ~diskDeviceCheckBox(); - void setIcon(const tpString &normalIcon, const tpString &checkedIcon); + void setIcon(const TpString &normalIcon, const TpString &checkedIcon); - void setName(const tpString &name); + void setName(const TpString &name); void setSpace(const float &curSpaceGb, const float &totalSpaceGb); @@ -32,24 +32,24 @@ signals: declare_signal(onClicked, diskDeviceCheckBox *); protected: - virtual tpString pluginType() { return TO_STRING(diskDeviceCheckBox); } + virtual TpString pluginType() { return TO_STRING(diskDeviceCheckBox); } - virtual bool onMouseRleaseEvent(tpMouseEvent *event) override; + virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onPaintEvent(tpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpObjectPaintEvent *event) override; - virtual bool eventFilter(tpObject *watched, tpEvent *event) override; + virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: void init(); private: - tpLabel *iconLabel_; - tpLabel *deviceNameLabel_; - tpLabel *spaceLabel_; - tpLabel *expandLabel_; + TpLabel *iconLabel_; + TpLabel *deviceNameLabel_; + TpLabel *spaceLabel_; + TpLabel *expandLabel_; TpImage normalIcon_; TpImage checkedIcon_; diff --git a/Application/fileManagement/src/toolWindow/usbPopButton.cpp b/Application/fileManagement/src/toolWindow/usbPopButton.cpp index fcd817c..05f3caa 100644 --- a/Application/fileManagement/src/toolWindow/usbPopButton.cpp +++ b/Application/fileManagement/src/toolWindow/usbPopButton.cpp @@ -1,12 +1,12 @@ #include "usbPopButton.h" -#include "tpEvent.h" -#include "tpHBoxLayout.h" -#include "tpFont.h" -#include "tpDisplay.h" +#include "TpEvent.h" +#include "TpHBoxLayout.h" +#include "TpFont.h" +#include "TpDisplay.h" #include "TpImage.h" -usbPopButton::usbPopButton(tpChildWidget *parent) - : tpButton(parent) +usbPopButton::usbPopButton(TpChildWidget *parent) + : TpButton(parent) { init(); } @@ -17,19 +17,19 @@ usbPopButton::~usbPopButton() void usbPopButton::init() { - nameLabel_ = new tpLabel(); + nameLabel_ = new TpLabel(); nameLabel_->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); nameLabel_->font()->setFontSize(12); nameLabel_->setText("安全弹出"); nameLabel_->installEventFilter(this); - iconLabel_ = new tpLabel(); - iconLabel_->setFixedSize(tpDisplay::dp2Px(23), tpDisplay::dp2Px(23)); + iconLabel_ = new TpLabel(); + iconLabel_->setFixedSize(TpDisplay::dp2Px(23), TpDisplay::dp2Px(23)); iconLabel_->installEventFilter(this); iconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/箭头-未展开.png")); - tpHBoxLayout* mainLayout = new tpHBoxLayout(); + TpHBoxLayout* mainLayout = new TpHBoxLayout(); mainLayout->addWidget(nameLabel_); mainLayout->addWidget(iconLabel_); diff --git a/Application/fileManagement/src/toolWindow/usbPopButton.h b/Application/fileManagement/src/toolWindow/usbPopButton.h index 93007fa..8a24586 100644 --- a/Application/fileManagement/src/toolWindow/usbPopButton.h +++ b/Application/fileManagement/src/toolWindow/usbPopButton.h @@ -6,26 +6,26 @@ #ifndef __USB_POP_BUTTON_H #define __USB_POP_BUTTON_H -#include "tpButton.h" -#include "tpLabel.h" -#include "tpSignalSlot.h" +#include "TpButton.h" +#include "TpLabel.h" +#include "TpSignalSlot.h" class usbPopButton - : public tpButton + : public TpButton { public: - usbPopButton(tpChildWidget *parent = nullptr); + usbPopButton(TpChildWidget *parent = nullptr); ~usbPopButton(); protected: - virtual tpString pluginType() { return TO_STRING(usbPopButton); } + virtual TpString pluginType() { return TO_STRING(usbPopButton); } private: void init(); private: - tpLabel *nameLabel_; - tpLabel *iconLabel_; + TpLabel *nameLabel_; + TpLabel *iconLabel_; }; #endif \ No newline at end of file diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 9d1ad0b..8957b16 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -25,8 +25,8 @@ link_directories("/usr/lib") set(SOURCE_FILES ${SOURCE_PATH}/main.cpp ${SOURCE_PATH}/mainWindowService.cpp - ${SOURCE_PATH}/toolBar/bottomBar.cpp - ${SOURCE_PATH}/toolBar/topBar.cpp + ${SOURCE_PATH}/ToolBar/bottomBar.cpp + ${SOURCE_PATH}/ToolBar/topBar.cpp ) include_directories(${SOURCE_PATH}) diff --git a/Application/mediaPlayer/src/toolBar/bottomBar.cpp b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp similarity index 81% rename from Application/mediaPlayer/src/toolBar/bottomBar.cpp rename to Application/mediaPlayer/src/ToolBar/bottomBar.cpp index 21234f4..9a71d03 100644 --- a/Application/mediaPlayer/src/toolBar/bottomBar.cpp +++ b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp @@ -1,15 +1,15 @@ #include "bottomBar.h" -#include "tpFont.h" -#include "tpString.h" -#include "tpDisplay.h" -#include "tpTime.h" -#include "tpDate.h" +#include "TpFont.h" +#include "TpString.h" +#include "TpDisplay.h" +#include "TpTime.h" +#include "TpDate.h" // 按钮之间间距 const int32_t buttonMargin = 31; bottomBar::bottomBar() - : tpDialog(), allTimeS_(0), curTimeS_(0), isPause_(false) + : TpDialog(), allTimeS_(0), curTimeS_(0), isPause_(false) { setEnabledBorderColor(false); setBackGroundColor(_RGBA(255, 255, 255, 0)); @@ -35,9 +35,9 @@ bottomBar::~bottomBar() { } -bool bottomBar::onResizeEvent(tpObjectResizeEvent *event) +bool bottomBar::onResizeEvent(TpObjectResizeEvent *event) { - tpDialog::onResizeEvent(event); + TpDialog::onResizeEvent(event); // 调整布局 // 进度条 @@ -78,7 +78,7 @@ void bottomBar::slotSwitchSpeed(uint32_t speedIndex) "1.5X" "1X" */ - tpString speedName = speedMenu_->itemText(speedIndex); + TpString speedName = speedMenu_->itemText(speedIndex); speedBtn_->setText(speedName); // 切换倍速 TODO @@ -92,7 +92,7 @@ void bottomBar::slotChangeProgress(int32_t curValue) void bottomBar::init() { - tpString resPath = applicationDirPath() + "/../res/"; + TpString resPath = applicationDirPath() + "/../res/"; // 上一个、下一个 previousFileBtn_ = generalIconBtn(applicationDirPath() + "/../res/上一个.png"); @@ -118,7 +118,7 @@ void bottomBar::init() pauseBtn_->setIcon(applicationDirPath() + (isPause_ ? "/../res/播放.png": "/../res/暂停.png")); }); // 倍速 - speedMenu_ = new tpMenu(); + speedMenu_ = new TpMenu(); speedMenu_->addItem("3X"); speedMenu_->addItem("2X"); speedMenu_->addItem("1.5X"); @@ -126,11 +126,11 @@ void bottomBar::init() speedMenu_->setMinumumWidth(126); connect(speedMenu_, onClicked, this, &bottomBar::slotSwitchSpeed); - speedBtn_ = new tpButton(this); - speedBtn_->setButtonStyle(tpButton::TextOnly); + speedBtn_ = new TpButton(this); + speedBtn_->setButtonStyle(TpButton::TextOnly); speedBtn_->setBackGroundColor(_RGB(255, 255, 255)); - speedBtn_->setFixedSize(tpDisplay::dp2Px(53), tpDisplay::dp2Px(28)); - speedBtn_->setRoundCorners(tpDisplay::dp2Px(7)); + speedBtn_->setFixedSize(TpDisplay::dp2Px(53), TpDisplay::dp2Px(28)); + speedBtn_->setRoundCorners(TpDisplay::dp2Px(7)); speedBtn_->setText("1X"); connect(speedBtn_, onClicked, [=](bool) { @@ -142,23 +142,23 @@ void bottomBar::init() speedMenu_->exec(menuX, menuY); }); // 播放进度 - progressLabel_ = new tpLabel(this); + progressLabel_ = new TpLabel(this); progressLabel_->setText("0:0 / 0:0"); progressLabel_->setEnableBackGroundColor(false); progressLabel_->font()->setFontColor(_RGB(255, 255, 255), _RGB(255, 255, 255)); progressLabel_->font()->setFontSize(15); - progressSlider_ = new tpSlider(this); + progressSlider_ = new TpSlider(this); progressSlider_->setValue(0); connect(progressSlider_, valueChanged, this, &bottomBar::slotChangeProgress); } -tpButton *bottomBar::generalIconBtn(const tpString &iconPath) +TpButton *bottomBar::generalIconBtn(const TpString &iconPath) { - tpButton *newButton = new tpButton(this); - newButton->setButtonStyle(tpButton::IconOnly); + TpButton *newButton = new TpButton(this); + newButton->setButtonStyle(TpButton::IconOnly); newButton->setEnableBackGroundColor(false); - newButton->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + newButton->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); newButton->setIcon(iconPath); return newButton; } @@ -175,7 +175,7 @@ void bottomBar::caculatePlayProgressStr() int32_t allTimeMinute = allTimeS_ / 60; int32_t allTimeSecond = (int32_t)allTimeS_ % 60; - tpString progresStr = tpString::number(curTimeMinute) + ":" + tpString::number(curTimeSecond) + " / " + tpString::number(allTimeMinute) + ":" + tpString::number(allTimeSecond); + TpString progresStr = TpString::number(curTimeMinute) + ":" + TpString::number(curTimeSecond) + " / " + TpString::number(allTimeMinute) + ":" + TpString::number(allTimeSecond); progressLabel_->setText(progresStr); diff --git a/Application/mediaPlayer/src/toolBar/bottomBar.h b/Application/mediaPlayer/src/ToolBar/bottomBar.h similarity index 70% rename from Application/mediaPlayer/src/toolBar/bottomBar.h rename to Application/mediaPlayer/src/ToolBar/bottomBar.h index a7c9187..31e5eb1 100644 --- a/Application/mediaPlayer/src/toolBar/bottomBar.h +++ b/Application/mediaPlayer/src/ToolBar/bottomBar.h @@ -1,14 +1,14 @@ #ifndef __BOTTOM_BAR_H #define __BOTTOM_BAR_H -#include "tpDialog.h" -#include "tpButton.h" -#include "tpLabel.h" -#include "tpSlider.h" -#include "tpMenu.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpLabel.h" +#include "TpSlider.h" +#include "TpMenu.h" #include "mediaPlayerGlobal.h" -class bottomBar : public tpDialog +class bottomBar : public TpDialog { public: bottomBar(); @@ -39,7 +39,7 @@ signals: declare_signal(switchSpeed, int32_t); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: // 切换倍速 @@ -51,31 +51,31 @@ private: private: void init(); - tpButton *generalIconBtn(const tpString &iconPath); + TpButton *generalIconBtn(const TpString &iconPath); // 计算播放进度字符串并更新UI void caculatePlayProgressStr(); private: // 上一个、下一个 - tpButton *previousFileBtn_; - tpButton *nextFileBtn_; + TpButton *previousFileBtn_; + TpButton *nextFileBtn_; // 快进快退 - tpButton *forwardBtn_; - tpButton *backwardBtn_; + TpButton *forwardBtn_; + TpButton *backwardBtn_; // 暂停 - tpButton *pauseBtn_; + TpButton *pauseBtn_; bool isPause_; // 倍速 - tpButton *speedBtn_; - tpMenu *speedMenu_; + TpButton *speedBtn_; + TpMenu *speedMenu_; // 播放进度 - tpLabel *progressLabel_; - tpSlider *progressSlider_; + TpLabel *progressLabel_; + TpSlider *progressSlider_; // 当前进度和总时长 S double curTimeS_; diff --git a/Application/mediaPlayer/src/toolBar/topBar.cpp b/Application/mediaPlayer/src/ToolBar/topBar.cpp similarity index 73% rename from Application/mediaPlayer/src/toolBar/topBar.cpp rename to Application/mediaPlayer/src/ToolBar/topBar.cpp index 96e7716..c7b7b5e 100644 --- a/Application/mediaPlayer/src/toolBar/topBar.cpp +++ b/Application/mediaPlayer/src/ToolBar/topBar.cpp @@ -1,13 +1,13 @@ #include "topBar.h" -#include "tpFont.h" -#include "tpString.h" +#include "TpFont.h" +#include "TpString.h" #include "mediaPlayerGlobal.h" -#include "tpDisplay.h" -#include "tpTime.h" -#include "tpDate.h" +#include "TpDisplay.h" +#include "TpTime.h" +#include "TpDate.h" topBar::topBar() - : tpDialog() + : TpDialog() { setEnabledBorderColor(false); setBackGroundColor(_RGBA(255, 255, 255, 0)); @@ -19,11 +19,11 @@ topBar::~topBar() { } -void topBar::setFileName(const tpString &fileName) +void topBar::setFileName(const TpString &fileName) { fileNameLabel_->setText(fileName); - tpFont *nameFont = fileNameLabel_->font(); + TpFont *nameFont = fileNameLabel_->font(); int32_t fileNameX = (width() - nameFont->pixelWidth()) / 2.0; int32_t fileNameY = (height() - nameFont->pixelHeight()) / 2.0; @@ -38,9 +38,9 @@ void topBar::setBackBtnVisible(const bool &visible) closeMediaBtn_->setVisible(visible); } -bool topBar::onResizeEvent(tpObjectResizeEvent *event) +bool topBar::onResizeEvent(TpObjectResizeEvent *event) { - tpDialog::onResizeEvent(event); + TpDialog::onResizeEvent(event); // 调整标题和列表按钮位置 if (fileNameLabel_) @@ -67,23 +67,23 @@ void topBar::slotCloseMedia(bool) void topBar::init() { - fileNameLabel_ = new tpLabel(this); + fileNameLabel_ = new TpLabel(this); fileNameLabel_->font()->setFontColor(_RGB(255, 255, 255), _RGB(255, 255, 255)); fileNameLabel_->font()->setFontSize(18); fileNameLabel_->setText(""); // 展开文件列表按钮 - fileListBtn_ = new tpButton(this); - fileListBtn_->setButtonStyle(tpButton::IconOnly); + fileListBtn_ = new TpButton(this); + fileListBtn_->setButtonStyle(TpButton::IconOnly); fileListBtn_->setEnableBackGroundColor(false); - fileListBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + fileListBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); fileListBtn_->setIcon(applicationDirPath() + "/../res/文件列表.png"); connect(fileListBtn_, onClicked, [=](bool) {}); - closeMediaBtn_ = new tpButton(this); - closeMediaBtn_->setButtonStyle(tpButton::IconOnly); + closeMediaBtn_ = new TpButton(this); + closeMediaBtn_->setButtonStyle(TpButton::IconOnly); closeMediaBtn_->setEnableBackGroundColor(false); - closeMediaBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + closeMediaBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); closeMediaBtn_->setIcon(applicationDirPath() + "/../res/后退.png"); connect(closeMediaBtn_, onClicked, this, &topBar::slotCloseMedia); closeMediaBtn_->setVisible(false); diff --git a/Application/mediaPlayer/src/toolBar/topBar.h b/Application/mediaPlayer/src/ToolBar/topBar.h similarity index 66% rename from Application/mediaPlayer/src/toolBar/topBar.h rename to Application/mediaPlayer/src/ToolBar/topBar.h index 72a11c5..7e69265 100644 --- a/Application/mediaPlayer/src/toolBar/topBar.h +++ b/Application/mediaPlayer/src/ToolBar/topBar.h @@ -1,24 +1,24 @@ #ifndef __TOP_BAR_H #define __TOP_BAR_H -#include "tpDialog.h" -#include "tpButton.h" -#include "tpLabel.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpLabel.h" -class topBar : public tpDialog +class topBar : public TpDialog { public: topBar(); virtual ~topBar(); // 设置文件名称 - void setFileName(const tpString &fileName); + void setFileName(const TpString &fileName); // 设置是否具有后退按钮 void setBackBtnVisible(const bool &visible); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: // 关闭媒体播放器,返回上一级应用 @@ -29,13 +29,13 @@ private: private: // 如果是指定文件打开媒体播放器模式;显示后退按钮,可以返回至启动媒体播放器的应用;如果是桌面启动则无需返回按钮 - tpButton *closeMediaBtn_; + TpButton *closeMediaBtn_; // 播放文件名称 - tpLabel *fileNameLabel_; + TpLabel *fileNameLabel_; // 展开文件列表按钮 - tpButton *fileListBtn_; + TpButton *fileListBtn_; }; #endif diff --git a/Application/mediaPlayer/src/main.cpp b/Application/mediaPlayer/src/main.cpp index 8235387..198f8f3 100644 --- a/Application/mediaPlayer/src/main.cpp +++ b/Application/mediaPlayer/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); @@ -13,7 +13,7 @@ int32_t main(int32_t argc, char *argv[]) if (argc > 1) { - tpString inputFile = argv[1]; + TpString inputFile = argv[1]; mainWindow->setBackBtnVisible(true); mainWindow->setPlayFile(inputFile); // mainWindow->setPlayFile("/System/data/千千阙歌.mp3"); diff --git a/Application/mediaPlayer/src/mainWindowService.cpp b/Application/mediaPlayer/src/mainWindowService.cpp index 1d105eb..8352255 100644 --- a/Application/mediaPlayer/src/mainWindowService.cpp +++ b/Application/mediaPlayer/src/mainWindowService.cpp @@ -1,16 +1,16 @@ #include "mainWindowService.h" -#include "tpSignalSlot.h" -#include "tpHBoxLayout.h" -#include "tpDisplay.h" -#include "tpLabel.h" -#include "tpLine.h" -#include "tpFont.h" +#include "TpSignalSlot.h" +#include "TpHBoxLayout.h" +#include "TpDisplay.h" +#include "TpLabel.h" +#include "TpLine.h" +#include "TpFont.h" #include "TpImage.h" -#include "tpFileInfo.h" +#include "TpFileInfo.h" #include "TpSurface.h" mainWindowService::mainWindowService() - : tpFixScreen(), topBar_(new topBar()), bottomBar_(new bottomBar()), fileType_(UnknowFile), videoPlayer_(nullptr) + : TpFixScreen(), topBar_(new topBar()), bottomBar_(new bottomBar()), fileType_(UnknowFile), videoPlayer_(nullptr) { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -32,9 +32,9 @@ mainWindowService::~mainWindowService() { } -void mainWindowService::setPlayFile(const tpString &filePath) +void mainWindowService::setPlayFile(const TpString &filePath) { - tpFileInfo inputFile(filePath); + TpFileInfo inputFile(filePath); if (!inputFile.exists()) { std::cout << "文件不存在:" << filePath << std::endl; @@ -45,7 +45,7 @@ void mainWindowService::setPlayFile(const tpString &filePath) return; } - tpString fileSuffix = inputFile.suffix(); + TpString fileSuffix = inputFile.suffix(); fileType_ = checkFileType(fileSuffix); if (fileType_ == UnknowFile) @@ -106,7 +106,7 @@ void mainWindowService::setPlayFile(const tpString &filePath) } // 设置文件名称 - tpString fileBaseName = inputFile.fileName(); + TpString fileBaseName = inputFile.fileName(); topBar_->setFileName(fileBaseName); update(); @@ -126,14 +126,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "mainWindowService::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "mainWindowService::onActiveEvent" << std::endl; @@ -144,24 +144,24 @@ void mainWindowService::initUi() { refreshBarSize(); - isMusicIconLabel_ = new tpLabel(this); - isMusicIconLabel_->setFixedSize(tpDisplay::dp2Px(100), tpDisplay::dp2Px(100)); + isMusicIconLabel_ = new TpLabel(this); + isMusicIconLabel_->setFixedSize(TpDisplay::dp2Px(100), TpDisplay::dp2Px(100)); isMusicIconLabel_->setVisible(false); - isMusicIconLabel_->setRoundCorners(tpDisplay::dp2Px(50)); + isMusicIconLabel_->setRoundCorners(TpDisplay::dp2Px(50)); isMusicIconLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/音频.png")); connect(bottomBar_, medioOperate, this, &mainWindowService::slotOperateMedia); connect(bottomBar_, alterPostion, this, &mainWindowService::slotSwitchPos); connect(bottomBar_, switchSpeed, this, &mainWindowService::slotSwitchSpeed); - audioPlayer_ = new tpAudioInterface("hw:1,0"); - videoPlayer_ = new tpVideoInterface(); + audioPlayer_ = new TpAudioInterface("hw:1,0"); + videoPlayer_ = new TpVideoInterface(); - tpVideoInterface::UserCallback videoCallback = std::bind(&mainWindowService::videoRbgDataCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4); + TpVideoInterface::UserCallback videoCallback = std::bind(&mainWindowService::videoRbgDataCallback, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4); videoPlayer_->setDisplayFunction(videoCallback); - videoPlayer_->setScalingMode(tpVideoInterface::TP_VIDEO_SCALING_FIT); // 推荐格式 + videoPlayer_->setScalingMode(TpVideoInterface::TP_VIDEO_SCALING_FIT); // 推荐格式 - updateProgressTimer_ = new tpTimer(); + updateProgressTimer_ = new TpTimer(); connect(updateProgressTimer_, timeout, this, &mainWindowService::slotUpdatePlayerProgress); } @@ -315,7 +315,7 @@ void mainWindowService::refreshBarSize() } } -mainWindowService::PlayerFileType mainWindowService::checkFileType(const tpString &suffix) +mainWindowService::PlayerFileType mainWindowService::checkFileType(const TpString &suffix) { // -1为不可播放文件;0为音频文件,1为视频文件 if (suffix.compare("mp3") == 0 || suffix.compare("MP3") == 0 || suffix.compare("wav") == 0 || suffix.compare("ogg") == 0 || suffix.compare("flac") == 0 || suffix.compare("aac") == 0) diff --git a/Application/mediaPlayer/src/mainWindowService.h b/Application/mediaPlayer/src/mainWindowService.h index 31a2c33..5c5e846 100644 --- a/Application/mediaPlayer/src/mainWindowService.h +++ b/Application/mediaPlayer/src/mainWindowService.h @@ -1,18 +1,18 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" #include "mediaPlayerGlobal.h" -#include "toolBar/topBar.h" -#include "toolBar/bottomBar.h" -#include "tpLabel.h" -#include "tpAudioInterface.h" -#include "tpVideoInterface.h" -#include "tpTimer.h" +#include "ToolBar/topBar.h" +#include "ToolBar/bottomBar.h" +#include "TpLabel.h" +#include "TpAudioInterface.h" +#include "TpVideoInterface.h" +#include "TpTimer.h" /// @brief 视频绘制主界面 class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: enum PlayerFileType @@ -27,7 +27,7 @@ public: virtual ~mainWindowService(); // 设置播放文件绝对路径 - void setPlayFile(const tpString &filePath); + void setPlayFile(const TpString &filePath); // 设置是否具有后退按钮 void setBackBtnVisible(const bool& visible); @@ -36,9 +36,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; private: // 定时器更新播放进度 @@ -60,7 +60,7 @@ private: void refreshBarSize(); // 检查文件类型;-1为不可播放文件;0为音频文件,1为视频文件 - PlayerFileType checkFileType(const tpString &suffix); + PlayerFileType checkFileType(const TpString &suffix); // 处理视频流回调 int videoRbgDataCallback(uint8_t **data, int *linesize, uint32_t format, void *userdata); @@ -72,19 +72,19 @@ private: PlayerFileType fileType_; // 更新播放进度定时器 - tpTimer *updateProgressTimer_; + TpTimer *updateProgressTimer_; // 如果是音频,中心绘制一个音乐图标 - tpLabel *isMusicIconLabel_; + TpLabel *isMusicIconLabel_; // 暂停时显示播放图标 - tpLabel *pauseIconLabel_; + TpLabel *pauseIconLabel_; // 音频播放 - tpAudioInterface *audioPlayer_; + TpAudioInterface *audioPlayer_; // 视频播放 - tpVideoInterface* videoPlayer_; + TpVideoInterface* videoPlayer_; }; #endif \ No newline at end of file diff --git a/Application/photoAlbum/src/main.cpp b/Application/photoAlbum/src/main.cpp index 874bd14..1d532fb 100644 --- a/Application/photoAlbum/src/main.cpp +++ b/Application/photoAlbum/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/Application/photoAlbum/src/mainWindowService.cpp b/Application/photoAlbum/src/mainWindowService.cpp index 2aaa84b..48eed75 100644 --- a/Application/photoAlbum/src/mainWindowService.cpp +++ b/Application/photoAlbum/src/mainWindowService.cpp @@ -2,7 +2,7 @@ #include "photoAlbumGlobal.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -21,14 +21,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/Application/photoAlbum/src/mainWindowService.h b/Application/photoAlbum/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/Application/photoAlbum/src/mainWindowService.h +++ b/Application/photoAlbum/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/Application/systemSettings/src/main.cpp b/Application/systemSettings/src/main.cpp index 34e7be6..7539862 100644 --- a/Application/systemSettings/src/main.cpp +++ b/Application/systemSettings/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *fileManage = new mainWindowService(); app.bindVScreen(fileManage); diff --git a/Application/systemSettings/src/mainWindowService.cpp b/Application/systemSettings/src/mainWindowService.cpp index a3c7ce7..a33a647 100644 --- a/Application/systemSettings/src/mainWindowService.cpp +++ b/Application/systemSettings/src/mainWindowService.cpp @@ -1,21 +1,21 @@ #include "mainWindowService.h" -#include "tpSignalSlot.h" +#include "TpSignalSlot.h" #include "systemSettingsGlobal.h" -#include "tpHBoxLayout.h" -#include "tpDisplay.h" -#include "tpLabel.h" -#include "tpFont.h" -#include "tpOnOffButton.h" -#include "tpLine.h" -#include "tpBluetoothLocal.h" +#include "TpHBoxLayout.h" +#include "TpDisplay.h" +#include "TpLabel.h" +#include "TpFont.h" +#include "TpOnOffButton.h" +#include "TpLine.h" +#include "TpBluetoothLocal.h" #include "settingWindow/InternetSettingWindow.h" #include "settingWindow/bluetoothSettingWindow.h" -const tpString SettingTypeStr = "settingType"; +const TpString SettingTypeStr = "settingType"; mainWindowService::mainWindowService() - : tpFixScreen(), curSelectItem_(nullptr) + : TpFixScreen(), curSelectItem_(nullptr) { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -40,14 +40,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; @@ -56,14 +56,14 @@ bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) // 获取蓝牙设备状态;取第一个蓝牙设备的状态 if (allMenuItemMapper_.contains(BlueToothSetting)) { - tpOnOffButton *bluetoothOnOffBtn = dynamic_cast(allMenuItemMapper_.value(BlueToothSetting)->customizeWidget()); + TpOnOffButton *bluetoothOnOffBtn = dynamic_cast(allMenuItemMapper_.value(BlueToothSetting)->customizeWidget()); if (bluetoothOnOffBtn) { bool blueIsOpen = false; - tpList blueToothDeviceList = tpBluetoothLocal::getAllDevice(); + TpList blueToothDeviceList = TpBluetoothLocal::getAllDevice(); if (blueToothDeviceList.size() > 0) { - tpBluetoothLocal& firstBlueDevice = blueToothDeviceList.front(); + TpBluetoothLocal& firstBlueDevice = blueToothDeviceList.front(); blueIsOpen = firstBlueDevice.isPowerOn(); } @@ -78,17 +78,17 @@ bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) void mainWindowService::initUi() { - tpString resPath = applicationDirPath() + "/../res/"; + TpString resPath = applicationDirPath() + "/../res/"; - mainScrollPanel_ = new tpScrollPanel(this); - // mainScrollPanel_->setFixedWidth(tpDisplay::dp2Px(405)); - mainScrollPanel_->setFixedWidth(tpScreen::screenWidth() * 0.375); + mainScrollPanel_ = new TpScrollPanel(this); + // mainScrollPanel_->setFixedWidth(TpDisplay::dp2Px(405)); + mainScrollPanel_->setFixedWidth(TpScreen::screenWidth() * 0.375); mainScrollPanel_->setBackGroundColor(_RGB(248, 248, 248)); - tpChildWidget *scrollWidget = new tpChildWidget(mainScrollPanel_); + TpChildWidget *scrollWidget = new TpChildWidget(mainScrollPanel_); scrollWidget->setBackGroundColor(_RGB(248, 248, 248)); - tpLabel *titleLabel = new tpLabel("设置"); + TpLabel *titleLabel = new TpLabel("设置"); titleLabel->font()->setFontSize(19); titleLabel->setFixedHeight(titleLabel->font()->pixelHeight()); titleLabel->font()->setFontColor(_RGB(38, 38, 38), _RGB(38, 38, 38)); @@ -96,20 +96,20 @@ void mainWindowService::initUi() // titleLabel->setBackGroundColor(_RGB(255, 0, 0)); // 搜索 - searchEdit_ = new tpLineEdit(); + searchEdit_ = new TpLineEdit(); searchEdit_->setProperty("type", "fileManageEdit"); searchEdit_->setIcon(applicationDirPath() + "/../res/搜索.png"); searchEdit_->setPlaceholderText("搜索设置项"); // 右侧显示功能窗口 - settingWindow_ = new tpScrollPanel(this); + settingWindow_ = new TpScrollPanel(this); // 右侧功能窗口title布局 - tpHBoxLayout *subTitleLayout = new tpHBoxLayout(); + TpHBoxLayout *subTitleLayout = new TpHBoxLayout(); subTitleLayout->setSpacing(20); subTitleLayout->setContentsMargins(0, 0, 0, 0); - subTitleLabel_ = new tpLabel(""); + subTitleLabel_ = new TpLabel(""); // titleLabel->setBackGroundColor(_RGB(255, 0, 0)); subTitleLabel_->font()->setFontSize(19); subTitleLabel_->setFixedHeight(titleLabel->font()->pixelHeight()); @@ -117,26 +117,26 @@ void mainWindowService::initUi() subTitleLabel_->setText(""); subTitleLabel_->installEventFilter(settingWindow_); - subBackBtn_ = new tpButton(); - subBackBtn_->setButtonStyle(tpButton::IconOnly); + subBackBtn_ = new TpButton(); + subBackBtn_->setButtonStyle(TpButton::IconOnly); subBackBtn_->setEnableBackGroundColor(false); - subBackBtn_->setFixedSize(tpDisplay::dp2Px(34), tpDisplay::dp2Px(34)); + subBackBtn_->setFixedSize(TpDisplay::dp2Px(34), TpDisplay::dp2Px(34)); subBackBtn_->setIcon(applicationDirPath() + "/../res/路径后退.png"); subBackBtn_->setVisible(false); connect(subBackBtn_, onClicked, this, &mainWindowService::slotClickBackBtn); subTitleLayout->addWidget(subBackBtn_); subTitleLayout->addWidget(subTitleLabel_); - subTitleLayout->addSpacer(new tpSpacerItem(20, 20, tpSpacerItem::Expanding, tpSpacerItem::Minimum)); + subTitleLayout->addSpacer(new TpSpacerItem(20, 20, TpSpacerItem::Expanding, TpSpacerItem::Minimum)); - int32_t layoutMargin = tpDisplay::dp2Px(20); + int32_t layoutMargin = TpDisplay::dp2Px(20); - tpVBoxLayout *rightWindowLayout = new tpVBoxLayout(); + TpVBoxLayout *rightWindowLayout = new TpVBoxLayout(); rightWindowLayout->setContentsMargins(layoutMargin, 0, layoutMargin, 0); rightWindowLayout->addLayout(subTitleLayout); rightWindowLayout->addWidget(settingWindow_); - tpVBoxLayout *menuLayout = new tpVBoxLayout(); + TpVBoxLayout *menuLayout = new TpVBoxLayout(); // menuLayout->setContentsMargins(0, 0, 0, 0); menuLayout->setContentsMargins(0, 0, layoutMargin, 0); menuLayout->setSpacing(18); @@ -148,7 +148,7 @@ void mainWindowService::initUi() // 最后添加一个弹簧,确保控件紧密排列 // menuLayout->addWidget(searchEdit_); - tpHBoxLayout *mainLayout = new tpHBoxLayout(); + TpHBoxLayout *mainLayout = new TpHBoxLayout(); mainLayout->setSpacing(0); // mainLayout->setContentsMargins(0, 0, 0, 0); mainLayout->setContentsMargins(layoutMargin, layoutMargin, layoutMargin, 0); @@ -157,8 +157,8 @@ void mainWindowService::initUi() scrollWidget->setLayout(menuLayout); mainScrollPanel_->setWidget(scrollWidget); - tpLine *subLine = new tpLine(); - subLine->setLineType(tpLine::VLine); + TpLine *subLine = new TpLine(); + subLine->setLineType(TpLine::VLine); subLine->setColor(_RGB(190, 196, 202)); subLine->setFixedWidth(2); @@ -177,9 +177,9 @@ void mainWindowService::initUi() createAllSettingWindow(); } -void mainWindowService::slotClickMenuItem(tpMenuPanelItem *deviceBtn) +void mainWindowService::slotClickMenuItem(TpMenuPanelItem *deviceBtn) { - tpMenuPanelWidget *curPanel = dynamic_cast(deviceBtn->parent()); + TpMenuPanelWidget *curPanel = dynamic_cast(deviceBtn->parent()); for (const auto &panel : allMenuPanelList_) { if (panel == curPanel) @@ -223,32 +223,32 @@ void mainWindowService::slotClickBackBtn(bool) } } -void mainWindowService::createAllSettingTopMenu(tpVBoxLayout *menuLayout) +void mainWindowService::createAllSettingTopMenu(TpVBoxLayout *menuLayout) { - tpList> itemNameList; - itemNameList.emplace_back(tpList{WLANSetting, BlueToothSetting, InternetSetting, HotspotSetting}); - itemNameList.emplace_back(tpList{WallPaperSetting, DisplaySetting, DesktopSetting}); - itemNameList.emplace_back(tpList{VoiceSetting}); - itemNameList.emplace_back(tpList{DeviceSetting, MoreSetting, ApplicationSetting}); + TpList> itemNameList; + itemNameList.emplace_back(TpList{WLANSetting, BlueToothSetting, InternetSetting, HotspotSetting}); + itemNameList.emplace_back(TpList{WallPaperSetting, DisplaySetting, DesktopSetting}); + itemNameList.emplace_back(TpList{VoiceSetting}); + itemNameList.emplace_back(TpList{DeviceSetting, MoreSetting, ApplicationSetting}); for (const auto &menuPanel : itemNameList) { // 功能菜单 - tpMenuPanelWidget *menuPanelWidget = new tpMenuPanelWidget(); + TpMenuPanelWidget *menuPanelWidget = new TpMenuPanelWidget(); menuPanelWidget->installEventFilter(mainScrollPanel_); connect(menuPanelWidget, onClicked, this, &mainWindowService::slotClickMenuItem); // menuPanelWidget->setBackGroundColor(_RGB(255, 0, 0)); for (const auto &menuType : menuPanel) { - tpString menuItemName = generalSettingNames(menuType); + TpString menuItemName = generalSettingNames(menuType); - tpMenuPanelItem *menuPanelItem = new tpMenuPanelItem(); + TpMenuPanelItem *menuPanelItem = new TpMenuPanelItem(); menuPanelItem->setIcon(applicationDirPath() + "/../res/menuItem/" + menuItemName + ".png"); menuPanelItem->setTitle(menuItemName); menuPanelItem->setProperty(SettingTypeStr, (int32_t)menuType); - tpChildWidget *customWidget = generalCustomWidget(menuType); + TpChildWidget *customWidget = generalCustomWidget(menuType); if (customWidget) { menuPanelItem->setCustomizeWidget(customWidget); @@ -263,7 +263,7 @@ void mainWindowService::createAllSettingTopMenu(tpVBoxLayout *menuLayout) } } -tpString mainWindowService::generalSettingNames(const SettingType &type) +TpString mainWindowService::generalSettingNames(const SettingType &type) { switch (type) { @@ -294,11 +294,11 @@ tpString mainWindowService::generalSettingNames(const SettingType &type) return "未命名设置"; } -tpChildWidget *mainWindowService::generalCustomWidget(const SettingType &type) +TpChildWidget *mainWindowService::generalCustomWidget(const SettingType &type) { if (type == BlueToothSetting) { - tpOnOffButton *onOffBnt = new tpOnOffButton(); + TpOnOffButton *onOffBnt = new TpOnOffButton(); onOffBnt->setFixedSize(45, 24); return onOffBnt; } @@ -321,13 +321,13 @@ void mainWindowService::refreshTopMenuStatus() allMenuItemMapper_[WLANSetting]->setSubTitle("关闭"); allMenuItemMapper_[HotspotSetting]->setSubTitle("关闭"); - tpOnOffButton *bluetoothOnOffBtn = dynamic_cast(allMenuItemMapper_[BlueToothSetting]->customizeWidget()); + TpOnOffButton *bluetoothOnOffBtn = dynamic_cast(allMenuItemMapper_[BlueToothSetting]->customizeWidget()); if (bluetoothOnOffBtn) { bluetoothOnOffBtn->setOnOff(false); } - tpList bluetoothDeviceList = tpBluetoothLocal::getAllDevice(); + TpList bluetoothDeviceList = TpBluetoothLocal::getAllDevice(); for (auto &bluetoothDevice : bluetoothDeviceList) { std::cout << "蓝牙设备名称:" << bluetoothDevice.getName() << std::endl; diff --git a/Application/systemSettings/src/mainWindowService.h b/Application/systemSettings/src/mainWindowService.h index 706e4b2..b740877 100644 --- a/Application/systemSettings/src/mainWindowService.h +++ b/Application/systemSettings/src/mainWindowService.h @@ -1,18 +1,18 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" -#include "tpScrollPanel.h" -#include "tpLineEdit.h" -#include "tpMenuPanelWidget.h" -#include "tpVBoxLayout.h" +#include "TpFixScreen.h" +#include "TpScrollPanel.h" +#include "TpLineEdit.h" +#include "TpMenuPanelWidget.h" +#include "TpVBoxLayout.h" #include "systemSettingsGlobal.h" -#include "tpButton.h" -#include "tpLabel.h" +#include "TpButton.h" +#include "TpLabel.h" #include "settingWindow/settingBase.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -22,12 +22,12 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; private: - void slotClickMenuItem(tpMenuPanelItem *deviceBtn); + void slotClickMenuItem(TpMenuPanelItem *deviceBtn); // 点击右侧窗体后退按钮 void slotClickBackBtn(bool); @@ -36,13 +36,13 @@ private: void initUi(); // 创建设置的所有一级菜单并添加至布局 - void createAllSettingTopMenu(tpVBoxLayout *menuLayout); + void createAllSettingTopMenu(TpVBoxLayout *menuLayout); // 根据设置类型枚举获取设置对应的中文名 - tpString generalSettingNames(const SettingType &type); + TpString generalSettingNames(const SettingType &type); // 根据设置类型生成item的自定义widget;如果类型对应的不需要widget返回空指针 - tpChildWidget *generalCustomWidget(const SettingType &type); + TpChildWidget *generalCustomWidget(const SettingType &type); // 创建所有功能子窗体;放入allMenuWidgetMapper_容器 void createAllSettingWindow(); @@ -52,29 +52,29 @@ private: private: // 菜单滚动窗体 - tpScrollPanel *mainScrollPanel_; + TpScrollPanel *mainScrollPanel_; // 右侧设置具体菜单画布;根据选择菜单不同显示不同设置窗体 - tpScrollPanel *settingWindow_; + TpScrollPanel *settingWindow_; // 菜单搜索框 - tpLineEdit *searchEdit_; + TpLineEdit *searchEdit_; // 右侧功能窗口标题 - tpLabel *subTitleLabel_; - tpButton* subBackBtn_; + TpLabel *subTitleLabel_; + TpButton* subBackBtn_; // 当前选中的顶级菜单 - tpMenuPanelItem* curSelectItem_; + TpMenuPanelItem* curSelectItem_; // 所有菜单panel列表 - tpVector allMenuPanelList_; + TpVector allMenuPanelList_; // 所有设置菜单对应的Item - tpHash allMenuItemMapper_; + TpHash allMenuItemMapper_; // 设置菜单对应的窗体指针 - tpHash allMenuWidgetMapper_; + TpHash allMenuWidgetMapper_; }; diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp index 6e40ea0..7ede5a3 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp @@ -1,9 +1,9 @@ #include "InternetSettingWindow.h" -#include "tpNetworkInterface.h" -#include "tpVBoxLayout.h" -#include "tpMessageBox.h" +#include "TpNetworkInterface.h" +#include "TpVBoxLayout.h" +#include "TpMessageBox.h" -InternetSettingWindow::InternetSettingWindow(tpChildWidget *parent) +InternetSettingWindow::InternetSettingWindow(TpChildWidget *parent) : settingBase(parent), netDeviceListCbx_(nullptr), ipv4ConfigPanel_(nullptr) { initUi(); @@ -17,40 +17,40 @@ void InternetSettingWindow::refreshData() { // 刷新所有的网卡列表 netDeviceListCbx_->clear(); - tpList internetDeviceList = tpNetworkInterface::getAllDevice(); + TpList internetDeviceList = TpNetworkInterface::getAllDevice(); for (const auto &internetDevice : internetDeviceList) { // std::cout << "网卡名称:" << internetDevice.getName() << std::endl; - tpListCheckBoxGroupItem *curItem = netDeviceListCbx_->addItem(internetDevice.getName()); + TpListCheckBoxGroupItem *curItem = netDeviceListCbx_->addItem(internetDevice.getName()); } - tpListCheckBoxGroupItem *curSelectItem = netDeviceListCbx_->currentItem().front(); + TpListCheckBoxGroupItem *curSelectItem = netDeviceListCbx_->currentItem().front(); if (curSelectItem) { refreshNetDeviceInfo(curSelectItem->text()); } } -bool InternetSettingWindow::onResizeEvent(tpObjectResizeEvent *event) +bool InternetSettingWindow::onResizeEvent(TpObjectResizeEvent *event) { return true; } void InternetSettingWindow::slotSaveIpv4Config(bool) { - tpVector selectItemList = netDeviceListCbx_->currentItem(); + TpVector selectItemList = netDeviceListCbx_->currentItem(); if (selectItemList.size() == 0) { - tpMessageBox::information("未选择网卡!"); + TpMessageBox::information("未选择网卡!"); return; } - tpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); + TpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); if (!curSelectItem) return; - tpString curDeviceName = curSelectItem->text(); - tpNetworkInterface curNetInterface(curDeviceName); + TpString curDeviceName = curSelectItem->text(); + TpNetworkInterface curNetInterface(curDeviceName); if (isDhcpBtn_->onOff()) { @@ -60,72 +60,72 @@ void InternetSettingWindow::slotSaveIpv4Config(bool) { if (ipAddrEdit_->text().empty()) { - tpMessageBox::information("IP地址为空!"); + TpMessageBox::information("IP地址为空!"); return; } if (maskEdit_->text().empty()) { - tpMessageBox::information("子网掩码为空!"); + TpMessageBox::information("子网掩码为空!"); return; } if (gatewayEdit_->text().empty()) { - tpMessageBox::information("网关为空!"); + TpMessageBox::information("网关为空!"); return; } // 静态IP必须要设置DNS if (autoDnseBtn_->onOff()) { - tpMessageBox::information("DHCP模式下必须手动设置DNS!"); + TpMessageBox::information("DHCP模式下必须手动设置DNS!"); return; } if (firstDnsEdit_->text().empty()) { - tpMessageBox::information("DNS为空!"); + TpMessageBox::information("DNS为空!"); return; } - tpList dnsList; - tpString dns1 = firstDnsEdit_->text(); + TpList dnsList; + TpString dns1 = firstDnsEdit_->text(); if (!dns1.empty()) dnsList.emplace_back(dns1); - tpString dns2 = secondDnsEdit_->text(); + TpString dns2 = secondDnsEdit_->text(); if (!dns2.empty()) dnsList.emplace_back(dns2); curNetInterface.setStatic(ipAddrEdit_->text(), gatewayEdit_->text(), maskEdit_->text(), dnsList); } - tpMessageBox::information("设置完成!"); + TpMessageBox::information("设置完成!"); } void InternetSettingWindow::slotSaveDnsConfig(bool) { - tpVector selectItemList = netDeviceListCbx_->currentItem(); + TpVector selectItemList = netDeviceListCbx_->currentItem(); if (selectItemList.size() == 0) { - tpMessageBox::information("未选择网卡!"); + TpMessageBox::information("未选择网卡!"); return; } - tpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); + TpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); if (!curSelectItem) return; - tpString curDeviceName = curSelectItem->text(); - tpNetworkInterface curNetInterface(curDeviceName); + TpString curDeviceName = curSelectItem->text(); + TpNetworkInterface curNetInterface(curDeviceName); // 非DHCP;DNS必须手动设置 if (isDhcpBtn_->onOff()) { if (firstDnsEdit_->text().empty()) { - tpMessageBox::information("DNS为空!"); + TpMessageBox::information("DNS为空!"); return; } } @@ -133,25 +133,25 @@ void InternetSettingWindow::slotSaveDnsConfig(bool) { if (autoDnseBtn_->onOff()) { - tpMessageBox::information("静态IP模式下必须手动设置DNS!"); + TpMessageBox::information("静态IP模式下必须手动设置DNS!"); return; } } // 设置动态DNS或静态DNS - tpList dnsList; - tpString dns1 = firstDnsEdit_->text(); + TpList dnsList; + TpString dns1 = firstDnsEdit_->text(); if (!dns1.empty()) dnsList.emplace_back(dns1); - tpString dns2 = secondDnsEdit_->text(); + TpString dns2 = secondDnsEdit_->text(); if (!dns2.empty()) dnsList.emplace_back(dns2); curNetInterface.setDns(autoDnseBtn_->onOff() ? TP_TRUE : TP_FALSE, dnsList); } -void InternetSettingWindow::slotSwitchNetDevice(tpListCheckBoxGroupItem *item) +void InternetSettingWindow::slotSwitchNetDevice(TpListCheckBoxGroupItem *item) { if (!item) return; @@ -159,7 +159,7 @@ void InternetSettingWindow::slotSwitchNetDevice(tpListCheckBoxGroupItem *item) if (!item->checked()) return; - tpString curNetDeviceName = item->text(); + TpString curNetDeviceName = item->text(); // 刷新UI显示 refreshNetDeviceInfo(curNetDeviceName); @@ -167,29 +167,29 @@ void InternetSettingWindow::slotSwitchNetDevice(tpListCheckBoxGroupItem *item) void InternetSettingWindow::initUi() { - tpLabel *selectNetDeviceTitle = createGroupNameLabel("选择网卡"); + TpLabel *selectNetDeviceTitle = createGroupNameLabel("选择网卡"); selectNetDeviceTitle->installEventFilter(this); // 网卡列表 - netDeviceListCbx_ = new tpListCheckBoxGroup(); + netDeviceListCbx_ = new TpListCheckBoxGroup(); netDeviceListCbx_->installEventFilter(this); connect(netDeviceListCbx_, onStatusChanged, this, &InternetSettingWindow::slotSwitchNetDevice); - tpList internetDeviceList = tpNetworkInterface::getAllDevice(); + TpList internetDeviceList = TpNetworkInterface::getAllDevice(); for (const auto &internetDevice : internetDeviceList) { netDeviceListCbx_->addItem(internetDevice.getName()); } // IPV4设置 - tpLabel *ipv4ConfigTitle = createGroupNameLabel("IPV4设置"); + TpLabel *ipv4ConfigTitle = createGroupNameLabel("IPV4设置"); ipv4ConfigTitle->installEventFilter(this); // 构建IPV4配置面板 - ipv4ConfigPanel_ = new tpMenuPanelWidget(); + ipv4ConfigPanel_ = new TpMenuPanelWidget(); configIpv4Panel(); - applyIpv4Btn_ = new tpButton(); + applyIpv4Btn_ = new TpButton(); applyIpv4Btn_->setFixedHeight(50); applyIpv4Btn_->setRoundCorners(20); applyIpv4Btn_->setText("确定"); @@ -197,13 +197,13 @@ void InternetSettingWindow::initUi() connect(applyIpv4Btn_, onClicked, this, &InternetSettingWindow::slotSaveIpv4Config); // 构建DNS配置面板 - tpLabel *dnsConfigTitle = createGroupNameLabel("DNS设置"); + TpLabel *dnsConfigTitle = createGroupNameLabel("DNS设置"); dnsConfigTitle->installEventFilter(this); - dnsConfigPanel_ = new tpMenuPanelWidget(); + dnsConfigPanel_ = new TpMenuPanelWidget(); configDnsPanel(); - applyDnsBtn_ = new tpButton(); + applyDnsBtn_ = new TpButton(); applyDnsBtn_->setFixedHeight(50); applyDnsBtn_->setRoundCorners(20); applyDnsBtn_->setText("确定"); @@ -228,34 +228,34 @@ void InternetSettingWindow::configIpv4Panel() { ipv4ConfigPanel_->installEventFilter(this); - tpMenuPanelItem *menuPanelItem = new tpMenuPanelItem(); + TpMenuPanelItem *menuPanelItem = new TpMenuPanelItem(); menuPanelItem->setTitle("DHCP"); - isDhcpBtn_ = new tpOnOffButton(); + isDhcpBtn_ = new TpOnOffButton(); isDhcpBtn_->setFixedSize(45, 24); menuPanelItem->setCustomizeWidget(isDhcpBtn_); ipv4ConfigPanel_->addItem(menuPanelItem); - tpMenuPanelItem *ipAddrItem = new tpMenuPanelItem(); + TpMenuPanelItem *ipAddrItem = new TpMenuPanelItem(); ipAddrItem->setTitle("IP地址"); - ipAddrEdit_ = new tpLineEdit(); + ipAddrEdit_ = new TpLineEdit(); ipAddrEdit_->setPlaceholderText("请输入"); ipAddrEdit_->setFixedSize(200, 30); ipAddrEdit_->setAlign(tinyPiX::AlignRight); ipAddrItem->setCustomizeWidget(ipAddrEdit_); ipv4ConfigPanel_->addItem(ipAddrItem); - tpMenuPanelItem *maskItem = new tpMenuPanelItem(); + TpMenuPanelItem *maskItem = new TpMenuPanelItem(); maskItem->setTitle("子网掩码"); - maskEdit_ = new tpLineEdit(); + maskEdit_ = new TpLineEdit(); maskEdit_->setPlaceholderText("请输入"); maskEdit_->setFixedSize(200, 30); maskEdit_->setAlign(tinyPiX::AlignRight); maskItem->setCustomizeWidget(maskEdit_); ipv4ConfigPanel_->addItem(maskItem); - tpMenuPanelItem *gatewayItem = new tpMenuPanelItem(); + TpMenuPanelItem *gatewayItem = new TpMenuPanelItem(); gatewayItem->setTitle("网关"); - gatewayEdit_ = new tpLineEdit(); + gatewayEdit_ = new TpLineEdit(); gatewayEdit_->setPlaceholderText("请输入"); gatewayEdit_->setFixedSize(200, 30); gatewayEdit_->setAlign(tinyPiX::AlignRight); @@ -267,25 +267,25 @@ void InternetSettingWindow::configDnsPanel() { dnsConfigPanel_->installEventFilter(this); - tpMenuPanelItem *menuPanelItem = new tpMenuPanelItem(); + TpMenuPanelItem *menuPanelItem = new TpMenuPanelItem(); menuPanelItem->setTitle("自动获取"); - autoDnseBtn_ = new tpOnOffButton(); + autoDnseBtn_ = new TpOnOffButton(); autoDnseBtn_->setFixedSize(45, 24); menuPanelItem->setCustomizeWidget(autoDnseBtn_); dnsConfigPanel_->addItem(menuPanelItem); - tpMenuPanelItem *firstDnsAddrItem = new tpMenuPanelItem(); + TpMenuPanelItem *firstDnsAddrItem = new TpMenuPanelItem(); firstDnsAddrItem->setTitle("首选DNS服务器"); - firstDnsEdit_ = new tpLineEdit(); + firstDnsEdit_ = new TpLineEdit(); firstDnsEdit_->setPlaceholderText("请输入"); firstDnsEdit_->setFixedSize(200, 30); firstDnsEdit_->setAlign(tinyPiX::AlignRight); firstDnsAddrItem->setCustomizeWidget(firstDnsEdit_); dnsConfigPanel_->addItem(firstDnsAddrItem); - tpMenuPanelItem *secondDnsItem = new tpMenuPanelItem(); + TpMenuPanelItem *secondDnsItem = new TpMenuPanelItem(); secondDnsItem->setTitle("备选DNS服务器"); - secondDnsEdit_ = new tpLineEdit(); + secondDnsEdit_ = new TpLineEdit(); secondDnsEdit_->setPlaceholderText("请输入"); secondDnsEdit_->setFixedSize(200, 30); secondDnsEdit_->setAlign(tinyPiX::AlignRight); @@ -293,10 +293,10 @@ void InternetSettingWindow::configDnsPanel() dnsConfigPanel_->addItem(secondDnsItem); } -void InternetSettingWindow::refreshNetDeviceInfo(const tpString &netName) +void InternetSettingWindow::refreshNetDeviceInfo(const TpString &netName) { // 设置网络状态;任意一网卡有网就显示连接状态 - tpNetworkInterface curNetInterface(netName); + TpNetworkInterface curNetInterface(netName); isDhcpBtn_->setOnOff(curNetInterface.isDhcp()); if (isDhcpBtn_->onOff()) @@ -320,7 +320,7 @@ void InternetSettingWindow::refreshNetDeviceInfo(const tpString &netName) } else { - tpList dnsStrList = curNetInterface.getDns(); + TpList dnsStrList = curNetInterface.getDns(); if (dnsStrList.size() > 0) firstDnsEdit_->setText(dnsStrList.front()); @@ -334,11 +334,11 @@ void InternetSettingWindow::refreshNetDeviceInfo(const tpString &netName) else { // 获取静态IP信息 - tpString ipStr = curNetInterface.getAddr(); - tpString maskStr = curNetInterface.getNetmask(); - tpString gatewayStr = curNetInterface.getGatway(); + TpString ipStr = curNetInterface.getAddr(); + TpString maskStr = curNetInterface.getNetmask(); + TpString gatewayStr = curNetInterface.getGatway(); - tpList dnsStrList = curNetInterface.getDns(); + TpList dnsStrList = curNetInterface.getDns(); ipAddrEdit_->setText(ipStr); maskEdit_->setText(maskStr); diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h index e499dd1..d82f9d3 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h @@ -2,24 +2,24 @@ #define __INTERNET_SETTING_WINDOW_H #include "settingWindow/settingBase.h" -#include "tpLineEdit.h" +#include "TpLineEdit.h" #include "systemSettingsGlobal.h" -#include "tpListCheckBoxGroup.h" -#include "tpMenuPanelWidget.h" -#include "tpOnOffButton.h" +#include "TpListCheckBoxGroup.h" +#include "TpMenuPanelWidget.h" +#include "TpOnOffButton.h" class InternetSettingWindow : public settingBase { public: - InternetSettingWindow(tpChildWidget *parent = nullptr); + InternetSettingWindow(TpChildWidget *parent = nullptr); virtual ~InternetSettingWindow(); // 界面刷新数据 virtual void refreshData() override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: // 点击保存IPV4配置数据 @@ -29,7 +29,7 @@ private: void slotSaveDnsConfig(bool); // 切换网卡选择 - void slotSwitchNetDevice(tpListCheckBoxGroupItem* item); + void slotSwitchNetDevice(TpListCheckBoxGroupItem* item); private: void initUi(); @@ -41,28 +41,28 @@ private: void configDnsPanel(); // 刷新指定网卡信息; 网卡名称 - void refreshNetDeviceInfo(const tpString& netName); + void refreshNetDeviceInfo(const TpString& netName); private: // 网卡列表单选组 - tpListCheckBoxGroup *netDeviceListCbx_; + TpListCheckBoxGroup *netDeviceListCbx_; // IPV4设置 - tpMenuPanelWidget *ipv4ConfigPanel_; - tpOnOffButton* isDhcpBtn_; - tpLineEdit *ipAddrEdit_; - tpLineEdit *maskEdit_; - tpLineEdit *gatewayEdit_; + TpMenuPanelWidget *ipv4ConfigPanel_; + TpOnOffButton* isDhcpBtn_; + TpLineEdit *ipAddrEdit_; + TpLineEdit *maskEdit_; + TpLineEdit *gatewayEdit_; // 应用ipv4设置按钮 - tpButton *applyIpv4Btn_; + TpButton *applyIpv4Btn_; // DNS设置 - tpMenuPanelWidget *dnsConfigPanel_; - tpOnOffButton* autoDnseBtn_; - tpLineEdit *firstDnsEdit_; - tpLineEdit *secondDnsEdit_; - tpButton *applyDnsBtn_; + TpMenuPanelWidget *dnsConfigPanel_; + TpOnOffButton* autoDnseBtn_; + TpLineEdit *firstDnsEdit_; + TpLineEdit *secondDnsEdit_; + TpButton *applyDnsBtn_; }; #endif \ No newline at end of file diff --git a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp index 81056a5..1e2e391 100644 --- a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp @@ -1,6 +1,6 @@ #include "bluetoothSettingWindow.h" -bluetoothSettingWindow::bluetoothSettingWindow(tpChildWidget *parent) +bluetoothSettingWindow::bluetoothSettingWindow(TpChildWidget *parent) : settingBase(parent) { initUi(); @@ -10,7 +10,7 @@ bluetoothSettingWindow::~bluetoothSettingWindow() { } -bool bluetoothSettingWindow::onResizeEvent(tpObjectResizeEvent *event) +bool bluetoothSettingWindow::onResizeEvent(TpObjectResizeEvent *event) { return true; } @@ -18,29 +18,29 @@ bool bluetoothSettingWindow::onResizeEvent(tpObjectResizeEvent *event) void bluetoothSettingWindow::initUi() { // 本机信息 - tpLabel *localDeviceTitle = createGroupNameLabel("当前可被附近的蓝牙设备发现"); + TpLabel *localDeviceTitle = createGroupNameLabel("当前可被附近的蓝牙设备发现"); localDeviceTitle->installEventFilter(this); // 构建IPV4配置面板 - lovalDevicePanel_ = new tpMenuPanelWidget(); + lovalDevicePanel_ = new TpMenuPanelWidget(); configLocalDevicePanel(); // 构建已配对的设备 - tpLabel *connectDeviceTitle = createGroupNameLabel("已配对的设备"); + TpLabel *connectDeviceTitle = createGroupNameLabel("已配对的设备"); connectDeviceTitle->installEventFilter(this); - connectDevicePanel_ = new tpMenuPanelWidget(); - connectDeviceItem_ = new tpMenuPanelItem(); + connectDevicePanel_ = new TpMenuPanelWidget(); + connectDeviceItem_ = new TpMenuPanelItem(); connectDeviceItem_->setTitle("无设备"); // connectDeviceItem->setSubTitle(""); connectDevicePanel_->addItem(connectDeviceItem_); // 可用设备 - tpLabel *usableDeviceTitle = createGroupNameLabel("可用设备"); + TpLabel *usableDeviceTitle = createGroupNameLabel("可用设备"); usableDeviceTitle->installEventFilter(this); - usableDevicePanel_ = new tpMenuPanelWidget(); - tpMenuPanelItem* noDeviceItem = new tpMenuPanelItem(); + usableDevicePanel_ = new TpMenuPanelWidget(); + TpMenuPanelItem* noDeviceItem = new TpMenuPanelItem(); noDeviceItem->setTitle("无设备"); // connectDeviceItem->setSubTitle(""); usableDevicePanel_->addItem(noDeviceItem); @@ -59,9 +59,9 @@ void bluetoothSettingWindow::initUi() void bluetoothSettingWindow::configLocalDevicePanel() { - tpMenuPanelItem *deiveNameItem = new tpMenuPanelItem(); + TpMenuPanelItem *deiveNameItem = new TpMenuPanelItem(); deiveNameItem->setTitle("设备名称"); - localDeviceNameEdit_ = new tpLineEdit(); + localDeviceNameEdit_ = new TpLineEdit(); localDeviceNameEdit_->setText("tinyPix OS"); localDeviceNameEdit_->setPlaceholderText("请输入"); localDeviceNameEdit_->setFixedSize(200, 30); @@ -69,7 +69,7 @@ void bluetoothSettingWindow::configLocalDevicePanel() deiveNameItem->setCustomizeWidget(localDeviceNameEdit_); lovalDevicePanel_->addItem(deiveNameItem); - tpMenuPanelItem *recvFileItem = new tpMenuPanelItem(); + TpMenuPanelItem *recvFileItem = new TpMenuPanelItem(); recvFileItem->setTitle("接收的文件"); recvFileItem->setSubTitle("共0个"); lovalDevicePanel_->addItem(recvFileItem); diff --git a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h index c3215de..16c6ad9 100644 --- a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h +++ b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h @@ -2,19 +2,19 @@ #define __BLUETOOTH_SETTING_WINDOW_H #include "settingWindow/settingBase.h" -#include "tpLineEdit.h" +#include "TpLineEdit.h" #include "systemSettingsGlobal.h" -#include "tpMenuPanelWidget.h" +#include "TpMenuPanelWidget.h" class bluetoothSettingWindow : public settingBase { public: - bluetoothSettingWindow(tpChildWidget *parent = nullptr); + bluetoothSettingWindow(TpChildWidget *parent = nullptr); virtual ~bluetoothSettingWindow(); protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; private: void initUi(); @@ -24,18 +24,18 @@ private: private: // 本机设备信息 - tpMenuPanelWidget *lovalDevicePanel_; + TpMenuPanelWidget *lovalDevicePanel_; // 本机名称输入框 - tpLineEdit* localDeviceNameEdit_; + TpLineEdit* localDeviceNameEdit_; // 已配对设备面板 - tpMenuPanelWidget *connectDevicePanel_; + TpMenuPanelWidget *connectDevicePanel_; // 已配对设备信息item - tpMenuPanelItem *connectDeviceItem_; + TpMenuPanelItem *connectDeviceItem_; // 可用设备面板 - tpMenuPanelWidget *usableDevicePanel_; + TpMenuPanelWidget *usableDevicePanel_; }; diff --git a/Application/systemSettings/src/settingWindow/settingBase.cpp b/Application/systemSettings/src/settingWindow/settingBase.cpp index 0c9658e..f778240 100644 --- a/Application/systemSettings/src/settingWindow/settingBase.cpp +++ b/Application/systemSettings/src/settingWindow/settingBase.cpp @@ -1,9 +1,9 @@ #include "settingBase.h" -settingBase::settingBase(tpChildWidget *parent) - : tpChildWidget(parent), titleLabel_(nullptr), backBtn_(nullptr) +settingBase::settingBase(TpChildWidget *parent) + : TpChildWidget(parent), titleLabel_(nullptr), backBtn_(nullptr) { - mainLayout_ = new tpVBoxLayout(); + mainLayout_ = new TpVBoxLayout(); mainLayout_->setSpacing(10); } @@ -11,13 +11,13 @@ settingBase::~settingBase() { } -void settingBase::setTitleBackInfo(tpLabel *titleLabel, tpButton *backBtn) +void settingBase::setTitleBackInfo(TpLabel *titleLabel, TpButton *backBtn) { titleLabel_ = titleLabel; backBtn_ = backBtn; } -void settingBase::setSubTile(const tpString &subTitle) +void settingBase::setSubTile(const TpString &subTitle) { if (!titleLabel_) return; diff --git a/Application/systemSettings/src/settingWindow/settingBase.h b/Application/systemSettings/src/settingWindow/settingBase.h index 19da903..821cbb8 100644 --- a/Application/systemSettings/src/settingWindow/settingBase.h +++ b/Application/systemSettings/src/settingWindow/settingBase.h @@ -1,24 +1,24 @@ #ifndef __SETTING_BASE_H #define __SETTING_BASE_H -#include "tpChildWidget.h" +#include "TpChildWidget.h" #include "systemSettingsGlobal.h" -#include "tpLabel.h" -#include "tpButton.h" -#include "tpVBoxLayout.h" +#include "TpLabel.h" +#include "TpButton.h" +#include "TpVBoxLayout.h" class settingBase - : public tpChildWidget + : public TpChildWidget { public: - settingBase(tpChildWidget *parent = nullptr); + settingBase(TpChildWidget *parent = nullptr); virtual ~settingBase(); // 顶层窗口设置功能窗口标题和后退指针 - void setTitleBackInfo(tpLabel *titleLabel, tpButton *backBtn); + void setTitleBackInfo(TpLabel *titleLabel, TpButton *backBtn); // 功能窗口进入自己的子菜单;切换标题 - void setSubTile(const tpString &subTitle); + void setSubTile(const TpString &subTitle); // 设置后退按钮是否显隐 void setBackBtnVisible(const bool &visible); @@ -32,12 +32,12 @@ public: protected: // 所有子类使用此布局进行界面构建;确保使用统一的Margin - tpVBoxLayout *mainLayout_; + TpVBoxLayout *mainLayout_; private: // 使用函数设置;不要直接访问这两个指针 - tpLabel *titleLabel_; - tpButton *backBtn_; + TpLabel *titleLabel_; + TpButton *backBtn_; }; #endif \ No newline at end of file diff --git a/Application/systemSettings/src/systemSettingsGlobal.h b/Application/systemSettings/src/systemSettingsGlobal.h index 6305cbe..310f2b3 100644 --- a/Application/systemSettings/src/systemSettingsGlobal.h +++ b/Application/systemSettings/src/systemSettingsGlobal.h @@ -1,8 +1,8 @@ #ifndef __SYSTEM_SETTINGS_GLOBAL_H #define __SYSTEM_SETTINGS_GLOBAL_H -#include "tpLabel.h" -#include "tpFont.h" +#include "TpLabel.h" +#include "TpFont.h" enum SettingType { @@ -20,9 +20,9 @@ enum SettingType }; // 创建一个分组标题label -static tpLabel* createGroupNameLabel(const tpString& text) +static TpLabel* createGroupNameLabel(const TpString& text) { - tpLabel *sourceLabel = new tpLabel(text); + TpLabel *sourceLabel = new TpLabel(text); sourceLabel->font()->setFontSize(11); sourceLabel->setFixedHeight(sourceLabel->font()->pixelHeight()); sourceLabel->font()->setFontColor(_RGB(89, 89, 89), _RGB(89, 89, 89)); diff --git a/ComDemoApplication/animationDemo/src/main.cpp b/ComDemoApplication/animationDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/animationDemo/src/main.cpp +++ b/ComDemoApplication/animationDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.cpp b/ComDemoApplication/animationDemo/src/mainWindowService.cpp index dfa3c35..0160eff 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/animationDemo/src/mainWindowService.cpp @@ -1,11 +1,11 @@ #include "mainWindowService.h" -#include "tpDialog.h" -#include "tpButton.h" -#include "tpAnimation.h" -#include "tpSignalSlot.h" +#include "TpDialog.h" +#include "TpButton.h" +#include "TpAnimation.h" +#include "TpSignalSlot.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -13,32 +13,32 @@ mainWindowService::mainWindowService() setVisible(true); // 效果展示窗体 - tpDialog *exampleWidget = new tpDialog(); - // tpChildWidget *exampleWidget = new tpChildWidget(this); + TpDialog *exampleWidget = new TpDialog(); + // TpChildWidget *exampleWidget = new TpChildWidget(this); exampleWidget->setBackGroundColor(_RGB(255, 255, 255)); exampleWidget->setRect(350, 20, 100, 100); - tpButton *posMoveBtn = new tpButton("平移", this); + TpButton *posMoveBtn = new TpButton("平移", this); posMoveBtn->setProperty("type", "ControlPanelPowerButton"); posMoveBtn->setSize(150, 40); posMoveBtn->move(20, 20); connect(posMoveBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Pos); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); widgetAnimation->setStartValue(ItpPoint(350, 20)); widgetAnimation->setEndValue(ItpPoint(700, 300)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *returnMoveBtn = new tpButton("往返平移", this); + TpButton *returnMoveBtn = new TpButton("往返平移", this); returnMoveBtn->setProperty("type", "ControlPanelPowerButton"); returnMoveBtn->setSize(150, 40); returnMoveBtn->move(180, 20); connect(returnMoveBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Pos); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); widgetAnimation->setStartValue(ItpPoint(350, 20)); widgetAnimation->setKeyValueAt(0.5, ItpPoint(700, 300)); widgetAnimation->setEndValue(ItpPoint(350, 20)); @@ -46,21 +46,21 @@ mainWindowService::mainWindowService() widgetAnimation->setDuration(1500); widgetAnimation->start(); }); - tpButton *loopMoveBtn = new tpButton("循环往返", this); + TpButton *loopMoveBtn = new TpButton("循环往返", this); loopMoveBtn->setProperty("type", "ControlPanelPowerButton"); loopMoveBtn->setSize(150, 40); loopMoveBtn->move(20, 80); - tpButton *stopLoopMoveBtn = new tpButton("停止", this); + TpButton *stopLoopMoveBtn = new TpButton("停止", this); stopLoopMoveBtn->setProperty("type", "ControlPanelPowerButton"); stopLoopMoveBtn->setSize(150, 40); stopLoopMoveBtn->move(180, 80); stopLoopMoveBtn->setEnabled(false); - tpAnimation *loopAnimation = nullptr; + TpAnimation *loopAnimation = nullptr; connect(loopMoveBtn, onClicked, [&](bool) { - loopAnimation = new tpAnimation(exampleWidget, tpAnimation::Pos); + loopAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); loopAnimation->setStartValue(ItpPoint(350, 20)); loopAnimation->setKeyValueAt(0.5, ItpPoint(700, 300)); loopAnimation->setEndValue(ItpPoint(350, 20)); @@ -78,92 +78,92 @@ mainWindowService::mainWindowService() stopLoopMoveBtn->setEnabled(false); loopMoveBtn->setEnabled(true); }); - tpButton *hideBtn = new tpButton("淡入", this); + TpButton *hideBtn = new TpButton("淡入", this); hideBtn->setProperty("type", "ControlPanelPowerButton"); hideBtn->setSize(150, 40); hideBtn->move(20, 140); connect(hideBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::WindowOpacity); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::WindowOpacity); widgetAnimation->setStartValue(255); widgetAnimation->setEndValue(50); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *showBtn = new tpButton("淡出", this); + TpButton *showBtn = new TpButton("淡出", this); showBtn->setProperty("type", "ControlPanelPowerButton"); showBtn->setSize(150, 40); showBtn->move(180, 140); connect(showBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::WindowOpacity); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::WindowOpacity); widgetAnimation->setStartValue(0); widgetAnimation->setEndValue(255); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *widthResizeBtn = new tpButton("宽度变化", this); + TpButton *widthResizeBtn = new TpButton("宽度变化", this); widthResizeBtn->setProperty("type", "ControlPanelPowerButton"); widthResizeBtn->setSize(150, 40); widthResizeBtn->move(20, 200); connect(widthResizeBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Width); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Width); widgetAnimation->setStartValue(100); widgetAnimation->setEndValue(300); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *heightResizeBtn = new tpButton("高度变化", this); + TpButton *heightResizeBtn = new TpButton("高度变化", this); heightResizeBtn->setProperty("type", "ControlPanelPowerButton"); heightResizeBtn->setSize(150, 40); heightResizeBtn->move(20, 260); connect(heightResizeBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Height); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Height); widgetAnimation->setStartValue(100); widgetAnimation->setEndValue(300); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *resizeBtn = new tpButton("大小变化", this); + TpButton *resizeBtn = new TpButton("大小变化", this); resizeBtn->setProperty("type", "ControlPanelPowerButton"); resizeBtn->setSize(150, 40); resizeBtn->move(20, 320); connect(resizeBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Size); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Size); widgetAnimation->setStartValue(ItpSize(100, 100)); widgetAnimation->setEndValue(ItpSize(300, 500)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *posResizeBtn = new tpButton("平移&&大小", this); + TpButton *posResizeBtn = new TpButton("平移&&大小", this); posResizeBtn->setProperty("type", "ControlPanelPowerButton"); posResizeBtn->setSize(150, 40); posResizeBtn->move(20, 380); connect(posResizeBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::Geometry); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Geometry); widgetAnimation->setStartValue(ItpRect(350, 20, 100, 100)); widgetAnimation->setEndValue(ItpRect(700, 300, 300, 300)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); - tpButton *bgColorBtn = new tpButton("背景颜色", this); + TpButton *bgColorBtn = new TpButton("背景颜色", this); bgColorBtn->setProperty("type", "ControlPanelPowerButton"); bgColorBtn->setSize(150, 40); bgColorBtn->move(20, 440); connect(bgColorBtn, onClicked, [=](bool) { - tpAnimation* widgetAnimation = new tpAnimation(exampleWidget, tpAnimation::BackgroundColor); + TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::BackgroundColor); widgetAnimation->setStartValue(_RGB(255, 255, 255)); widgetAnimation->setEndValue(_RGB(100, 255, 100)); widgetAnimation->setDuration(1000); @@ -183,14 +183,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.h b/ComDemoApplication/animationDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.h +++ b/ComDemoApplication/animationDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/batteryDemo/src/main.cpp b/ComDemoApplication/batteryDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/batteryDemo/src/main.cpp +++ b/ComDemoApplication/batteryDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/batteryDemo/src/mainWindowService.cpp b/ComDemoApplication/batteryDemo/src/mainWindowService.cpp index 160f509..64c3241 100644 --- a/ComDemoApplication/batteryDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/batteryDemo/src/mainWindowService.cpp @@ -1,29 +1,29 @@ #include "mainWindowService.h" -#include "tpBattery.h" -#include "tpSignalSlot.h" -#include "tpSlider.h" +#include "TpBattery.h" +#include "TpSignalSlot.h" +#include "TpSlider.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); setVisible(true); - tpBattery *battertWidget = new tpBattery(this); + TpBattery *battertWidget = new TpBattery(this); battertWidget->setValue(50); battertWidget->setWidth(600); battertWidget->setHeight(400); battertWidget->move(20, 200); - tpSlider *slider = new tpSlider(this); + TpSlider *slider = new TpSlider(this); slider->setValue(50); slider->setSize(500, 10); slider->move(20, 20); - tpSlider *vSlider = new tpSlider(this); - vSlider->setDirection(tpSlider::Vertical); + TpSlider *vSlider = new TpSlider(this); + vSlider->setDirection(TpSlider::Vertical); vSlider->setValue(50); vSlider->setSize(10, 500); vSlider->move(650, 20); @@ -48,14 +48,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/batteryDemo/src/mainWindowService.h b/ComDemoApplication/batteryDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/batteryDemo/src/mainWindowService.h +++ b/ComDemoApplication/batteryDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/buttonDemo/src/main.cpp b/ComDemoApplication/buttonDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/buttonDemo/src/main.cpp +++ b/ComDemoApplication/buttonDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/buttonDemo/src/mainWindowService.cpp b/ComDemoApplication/buttonDemo/src/mainWindowService.cpp index 9012004..e832214 100644 --- a/ComDemoApplication/buttonDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/buttonDemo/src/mainWindowService.cpp @@ -1,32 +1,32 @@ #include "mainWindowService.h" -#include "tpButton.h" +#include "TpButton.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpButton *button1 = new tpButton("北京市", this); + TpButton *button1 = new TpButton("北京市", this); button1->setProperty("type", "ControlPanelPowerButton"); button1->setSize(300, 64); button1->move(150, 150); - tpButton *buttonEnable = new tpButton("河北省", this); + TpButton *buttonEnable = new TpButton("河北省", this); buttonEnable->setProperty("type", "VirtualKeyboardButton"); buttonEnable->setSize(305, 64); buttonEnable->move(460, 150); - tpButton *button2 = new tpButton(this); - button2->setButtonStyle(tpButton::TextBesideIcon); + TpButton *button2 = new TpButton(this); + button2->setButtonStyle(TpButton::TextBesideIcon); button2->setProperty("type", "FunctionButton"); button2->setIcon(applicationDirPath() + "/../res/btnIcon.png"); button2->setText("吉林省2"); button2->setRect(50, 250, 250, 50); - tpButton *button3 = new tpButton(this); - button3->setButtonStyle(tpButton::IconOnly); + TpButton *button3 = new TpButton(this); + button3->setButtonStyle(TpButton::IconOnly); button3->setIcon(applicationDirPath() + "/../res/btnIcon2.png"); button3->setRoundCorners(13); button3->setRect(200, 350, 200, 200); @@ -43,14 +43,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/buttonDemo/src/mainWindowService.h b/ComDemoApplication/buttonDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/buttonDemo/src/mainWindowService.h +++ b/ComDemoApplication/buttonDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/checkBoxDemo/src/main.cpp b/ComDemoApplication/checkBoxDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/checkBoxDemo/src/main.cpp +++ b/ComDemoApplication/checkBoxDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp index 5d1156a..8ed784a 100644 --- a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp @@ -1,21 +1,21 @@ #include "mainWindowService.h" -#include "tpListCheckBoxGroup.h" +#include "TpListCheckBoxGroup.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpListCheckBoxGroup *checkBoxGroup = new tpListCheckBoxGroup(this); + TpListCheckBoxGroup *checkBoxGroup = new TpListCheckBoxGroup(this); checkBoxGroup->addItem("测试1"); checkBoxGroup->addItem("测试2"); checkBoxGroup->addItem("测试3"); - checkBoxGroup->addItem(new tpListCheckBoxGroupItem("测试4")); - checkBoxGroup->addItem(new tpListCheckBoxGroupItem("测试5")); + checkBoxGroup->addItem(new TpListCheckBoxGroupItem("测试4")); + checkBoxGroup->addItem(new TpListCheckBoxGroupItem("测试5")); checkBoxGroup->move(15, 20); checkBoxGroup->update(); @@ -32,14 +32,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/checkBoxDemo/src/mainWindowService.h b/ComDemoApplication/checkBoxDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/checkBoxDemo/src/mainWindowService.h +++ b/ComDemoApplication/checkBoxDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/comboxDemo/src/main.cpp b/ComDemoApplication/comboxDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/comboxDemo/src/main.cpp +++ b/ComDemoApplication/comboxDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/comboxDemo/src/mainWindowService.cpp b/ComDemoApplication/comboxDemo/src/mainWindowService.cpp index ff1795d..08b69c1 100644 --- a/ComDemoApplication/comboxDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/comboxDemo/src/mainWindowService.cpp @@ -1,14 +1,14 @@ #include "mainWindowService.h" -#include "tpComBox.h" +#include "TpComBox.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpComBox *listCombox = new tpComBox(this); + TpComBox *listCombox = new TpComBox(this); listCombox->setTitle("视图模式"); listCombox->addItem("测试1"); listCombox->addItem("测试2"); @@ -28,14 +28,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/comboxDemo/src/mainWindowService.h b/ComDemoApplication/comboxDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/comboxDemo/src/mainWindowService.h +++ b/ComDemoApplication/comboxDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/flexLayoutDemo/src/main.cpp b/ComDemoApplication/flexLayoutDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/flexLayoutDemo/src/main.cpp +++ b/ComDemoApplication/flexLayoutDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp index fcbcc5a..5582407 100644 --- a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp @@ -1,47 +1,47 @@ #include "mainWindowService.h" -#include "tpFlexLayout.h" -#include "tpButton.h" +#include "TpFlexLayout.h" +#include "TpButton.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpFlexLayout *flexLayout = new tpFlexLayout(); + TpFlexLayout *flexLayout = new TpFlexLayout(); /// @brief 设置布局方向 - flexLayout->setFlexDirection(tpFlexLayout::Row); - // flexLayout->setFlexDirection(tpFlexLayout::RowReverse); - // flexLayout->setFlexDirection(tpFlexLayout::Column); - // flexLayout->setFlexDirection(tpFlexLayout::ColumnReverse); + flexLayout->setFlexDirection(TpFlexLayout::Row); + // flexLayout->setFlexDirection(TpFlexLayout::RowReverse); + // flexLayout->setFlexDirection(TpFlexLayout::Column); + // flexLayout->setFlexDirection(TpFlexLayout::ColumnReverse); /// @brief 设置主轴对齐方式 - // flexLayout->setJustifyContent(tpFlexLayout::MainFlexStart); // 默认, 从主轴 开始位置 开始 - // flexLayout->setJustifyContent(tpFlexLayout::MainFlexEnd); // 从主轴 结束位置 开始 - // flexLayout->setJustifyContent(tpFlexLayout::MainCenter); // 居中对齐 - flexLayout->setJustifyContent(tpFlexLayout::MainSpaceBetween); // 两端对齐,两边贴着 - // flexLayout->setJustifyContent(tpFlexLayout::MainSpaceEvenly); // 分散对齐,间距相同 - // flexLayout->setJustifyContent(tpFlexLayout::MainSpaceAround); // 分散对齐,两边是中间的一半 + // flexLayout->setJustifyContent(TpFlexLayout::MainFlexStart); // 默认, 从主轴 开始位置 开始 + // flexLayout->setJustifyContent(TpFlexLayout::MainFlexEnd); // 从主轴 结束位置 开始 + // flexLayout->setJustifyContent(TpFlexLayout::MainCenter); // 居中对齐 + flexLayout->setJustifyContent(TpFlexLayout::MainSpaceBetween); // 两端对齐,两边贴着 + // flexLayout->setJustifyContent(TpFlexLayout::MainSpaceEvenly); // 分散对齐,间距相同 + // flexLayout->setJustifyContent(TpFlexLayout::MainSpaceAround); // 分散对齐,两边是中间的一半 /// @brief 设置交叉轴对齐方式 - // flexLayout->setAlignItems(tpFlexLayout::CrossFlexStart); // 顶部对齐 - flexLayout->setAlignItems(tpFlexLayout::CrossFlexEnd); // 底部对齐 - // flexLayout->setAlignItems(tpFlexLayout::CrossCenter); // 居中对齐 + // flexLayout->setAlignItems(TpFlexLayout::CrossFlexStart); // 顶部对齐 + flexLayout->setAlignItems(TpFlexLayout::CrossFlexEnd); // 底部对齐 + // flexLayout->setAlignItems(TpFlexLayout::CrossCenter); // 居中对齐 /// @brief 设置多行交叉轴对齐方式,注意设置后会覆盖交叉轴对齐样式 - // flexLayout->setAlignContent(tpFlexLayout::Stretch); // 默认,拉伸,与交叉轴对齐 - // flexLayout->setAlignContent(tpFlexLayout::FlexStart); // 顶部对齐 - flexLayout->setAlignContent(tpFlexLayout::FlexEnd); // 底部对齐 - // flexLayout->setAlignContent(tpFlexLayout::Center); // 居中对齐 - // flexLayout->setAlignContent(tpFlexLayout::SpaceBetween); // 分散对齐,上下贴着 - // flexLayout->setAlignContent(tpFlexLayout::SpaceEvenly); // 分散对齐,上中下平均 - // flexLayout->setAlignContent(tpFlexLayout::SpaceAround); // 分散对齐,上下是中一半 + // flexLayout->setAlignContent(TpFlexLayout::Stretch); // 默认,拉伸,与交叉轴对齐 + // flexLayout->setAlignContent(TpFlexLayout::FlexStart); // 顶部对齐 + flexLayout->setAlignContent(TpFlexLayout::FlexEnd); // 底部对齐 + // flexLayout->setAlignContent(TpFlexLayout::Center); // 居中对齐 + // flexLayout->setAlignContent(TpFlexLayout::SpaceBetween); // 分散对齐,上下贴着 + // flexLayout->setAlignContent(TpFlexLayout::SpaceEvenly); // 分散对齐,上中下平均 + // flexLayout->setAlignContent(TpFlexLayout::SpaceAround); // 分散对齐,上下是中一半 for (int i = 0; i < 8; ++i) { - tpButton *testButton = new tpButton("测试按钮" + tpString::number(i)); + TpButton *testButton = new TpButton("测试按钮" + TpString::number(i)); testButton->setSize(150, 60); @@ -64,14 +64,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h +++ b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/labelDemo/src/main.cpp b/ComDemoApplication/labelDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/labelDemo/src/main.cpp +++ b/ComDemoApplication/labelDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.cpp b/ComDemoApplication/labelDemo/src/mainWindowService.cpp index 1c591e8..f02a953 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/labelDemo/src/mainWindowService.cpp @@ -1,63 +1,63 @@ #include "mainWindowService.h" -#include "tpLabel.h" -#include "tpFont.h" +#include "TpLabel.h" +#include "TpFont.h" #include "TpImage.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(226, 226, 226)); - tpLabel *label1 = new tpLabel(this); + TpLabel *label1 = new TpLabel(this); label1->font()->setFontColor(_RGBA(255, 0, 0, 255), 0); - label1->font()->setAntialias(tpFont::TINY_FONT_ANTIALIAS_BEST); - label1->font()->setFontWeight(tpFont::TINY_FONT_WEIGHT_THIN); + label1->font()->setAntialias(TpFont::TINY_FONT_ANTIALIAS_BEST); + label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_THIN); label1->setText("TINY_FONT_WEIGHT_THIN"); label1->setRect(0, 0, 250, 30); label1->setVisible(true); label1->update(); - tpLabel *label2 = new tpLabel(this); + TpLabel *label2 = new TpLabel(this); label2->font()->setFontColor(_RGBA(0, 255, 0, 255), 0); - label2->font()->setAntialias(tpFont::TINY_FONT_ANTIALIAS_GOOD); - label1->font()->setFontWeight(tpFont::TINY_FONT_WEIGHT_ULTRALIGHT); + label2->font()->setAntialias(TpFont::TINY_FONT_ANTIALIAS_GOOD); + label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_ULTRALIGHT); label2->setAlign(tinyPiX::AlignCenter); label2->setText("TINY_FONT_WEIGHT_ULTRALIGHT"); label2->setRect(0, 30, 250, 30); label2->setVisible(true); label2->update(); - tpLabel *label3 = new tpLabel(this); + TpLabel *label3 = new TpLabel(this); // label3->font()->setFontColor(_RGBA(0, 0, 255, 255), 0); - label3->font()->setAntialias(tpFont::TINY_FONT_ANTIALIAS_GOOD); - label1->font()->setFontWeight(tpFont::TINY_FONT_WEIGHT_LIGHT); + label3->font()->setAntialias(TpFont::TINY_FONT_ANTIALIAS_GOOD); + label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_LIGHT); label3->setAlign(tinyPiX::AlignRight); label3->setText("TINY_FONT_WEIGHT_LIGHT"); label3->setRect(0, 60, 250, 30); label3->setVisible(true); label3->update(); - tpLabel *label4 = new tpLabel(this); + TpLabel *label4 = new TpLabel(this); // label4->font()->setFontSize(50); - label1->font()->setFontWeight(tpFont::TINY_FONT_WEIGHT_SEMILIGHT); + label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_SEMILIGHT); label4->setText("TINY_FONT_WEIGHT_SEMILIGHT"); label4->setRect(0, 90, 250, 30); label4->setVisible(true); label4->update(); - tpList fontWeightValue = + TpList fontWeightValue = { - tpFont::TINY_FONT_WEIGHT_BOOK, - tpFont::TINY_FONT_WEIGHT_NORMAL, - tpFont::TINY_FONT_WEIGHT_MEDIUM, - tpFont::TINY_FONT_WEIGHT_SEMIBOLD, - tpFont::TINY_FONT_WEIGHT_BOLD, - tpFont::TINY_FONT_WEIGHT_ULTRABOLD, - tpFont::TINY_FONT_WEIGHT_HEAVY, - tpFont::TINY_FONT_WEIGHT_ULTRAHEAVY}; - tpList fontWeightText = + TpFont::TINY_FONT_WEIGHT_BOOK, + TpFont::TINY_FONT_WEIGHT_NORMAL, + TpFont::TINY_FONT_WEIGHT_MEDIUM, + TpFont::TINY_FONT_WEIGHT_SEMIBOLD, + TpFont::TINY_FONT_WEIGHT_BOLD, + TpFont::TINY_FONT_WEIGHT_ULTRABOLD, + TpFont::TINY_FONT_WEIGHT_HEAVY, + TpFont::TINY_FONT_WEIGHT_ULTRAHEAVY}; + TpList fontWeightText = { "TINY_FONT_WEIGHT_BOOK", "TINY_FONT_WEIGHT_NORMAL", @@ -69,7 +69,7 @@ mainWindowService::mainWindowService() "TINY_FONT_WEIGHT_ULTRAHEAVY"}; for (int i = 0; i < fontWeightValue.size(); ++i) { - tpLabel *labelTmp = new tpLabel(this); + TpLabel *labelTmp = new TpLabel(this); labelTmp->font()->setFontWeight(fontWeightValue.at(i)); labelTmp->setText(fontWeightText.at(i)); labelTmp->setRect(0, 120 + i * 30, 250, 30); @@ -77,7 +77,7 @@ mainWindowService::mainWindowService() labelTmp->update(); } - tpLabel *label6 = new tpLabel(this); + TpLabel *label6 = new TpLabel(this); label6->setBackGroundImage(TpImage(applicationDirPath() + "/../res/test.svg")); // label6->setBackGroundColor(_RGB(255, 0, 0)); // label6->setBlurRadius(20); @@ -98,14 +98,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.h b/ComDemoApplication/labelDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.h +++ b/ComDemoApplication/labelDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/progressBarDemo/src/main.cpp b/ComDemoApplication/progressBarDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/progressBarDemo/src/main.cpp +++ b/ComDemoApplication/progressBarDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp b/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp index 234eeb3..5c5839e 100644 --- a/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp @@ -1,14 +1,14 @@ #include "mainWindowService.h" -#include "tpPercentProgressBar.h" +#include "TpPercentProgressBar.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpPercentProgressBar *progress = new tpPercentProgressBar(this); + TpPercentProgressBar *progress = new TpPercentProgressBar(this); progress->setWidth(700); progress->move(0, 100); @@ -30,14 +30,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/progressBarDemo/src/mainWindowService.h b/ComDemoApplication/progressBarDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/progressBarDemo/src/mainWindowService.h +++ b/ComDemoApplication/progressBarDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/sliderDemo/src/main.cpp b/ComDemoApplication/sliderDemo/src/main.cpp index 874bd14..1d532fb 100644 --- a/ComDemoApplication/sliderDemo/src/main.cpp +++ b/ComDemoApplication/sliderDemo/src/main.cpp @@ -1,9 +1,9 @@ -#include "tpApp.h" +#include "TpApp.h" #include "mainWindowService.h" int32_t main(int32_t argc, char *argv[]) { - tpApp app(argc, argv); + TpApp app(argc, argv); mainWindowService *mainWindow = new mainWindowService(); app.bindVScreen(mainWindow); diff --git a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp index f5163cd..d00e07b 100644 --- a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp @@ -1,18 +1,18 @@ #include "mainWindowService.h" -#include "tpLabel.h" -#include "tpSlider.h" -#include "tpFont.h" -#include "tpSignalSlot.h" +#include "TpLabel.h" +#include "TpSlider.h" +#include "TpFont.h" +#include "TpSignalSlot.h" mainWindowService::mainWindowService() - : tpFixScreen() + : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); setBackGroundColor(_RGB(128, 128, 128)); - tpLabel *valueText = new tpLabel(this); - valueText->setText(tpString::number(50)); + TpLabel *valueText = new TpLabel(this); + valueText->setText(TpString::number(50)); valueText->setAlign(tinyPiX::AlignCenter); valueText->font()->setFontColor(_RGB(255, 255, 255),_RGB(255, 255, 255)); valueText->font()->setFontSize(30); @@ -20,23 +20,23 @@ mainWindowService::mainWindowService() valueText->setHeight(400); valueText->move(20, 200); - tpSlider *slider = new tpSlider(this); + TpSlider *slider = new TpSlider(this); slider->setValue(50); slider->setSize(500, 10); slider->move(20, 60); - tpSlider *vSlider = new tpSlider(this); - vSlider->setDirection(tpSlider::Vertical); + TpSlider *vSlider = new TpSlider(this); + vSlider->setDirection(TpSlider::Vertical); vSlider->setValue(50); vSlider->setSize(10, 500); vSlider->move(650, 20); connect(slider, valueChanged, [=](int32_t value) - { valueText->setText(tpString::number(value)); + { valueText->setText(TpString::number(value)); vSlider->setValue(value); }); connect(vSlider, valueChanged, [=](int32_t value) - { valueText->setText(tpString::number(value)); + { valueText->setText(TpString::number(value)); slider->setValue(value); }); } @@ -51,14 +51,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(tpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(tpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/sliderDemo/src/mainWindowService.h b/ComDemoApplication/sliderDemo/src/mainWindowService.h index 94f3fd6..baf7c9f 100644 --- a/ComDemoApplication/sliderDemo/src/mainWindowService.h +++ b/ComDemoApplication/sliderDemo/src/mainWindowService.h @@ -1,10 +1,10 @@ #ifndef __MAIN_WINDOW_SERVICE_H #define __MAIN_WINDOW_SERVICE_H -#include "tpFixScreen.h" +#include "TpFixScreen.h" class mainWindowService - : public tpFixScreen + : public TpFixScreen { public: mainWindowService(); @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(tpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onActiveEvent(tpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpObjectActiveEvent *event) override; }; #endif \ No newline at end of file -- Gitee From d0292b6c2652742b2191b7d7e4fd1919d50a2671 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 27 Aug 2025 19:00:39 +0800 Subject: [PATCH 07/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9Cmake?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 8 ++++---- Application/calendar/CMakeLists.txt | 6 +++--- Application/deskTop/CMakeLists.txt | 6 +++--- Application/fileManagement/CMakeLists.txt | 6 +++--- Application/mediaPlayer/CMakeLists.txt | 6 +++--- Application/photoAlbum/CMakeLists.txt | 6 +++--- Application/systemSettings/CMakeLists.txt | 6 +++--- ComDemoApplication/animationDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/batteryDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/buttonDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/comboxDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/flexLayoutDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/labelDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/progressBarDemo/CMakeLists.txt | 6 +++--- ComDemoApplication/sliderDemo/CMakeLists.txt | 6 +++--- 16 files changed, 49 insertions(+), 49 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 0234e84..a3091f2 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -17,10 +17,10 @@ "-I/usr/include/tinyPiX/Utils", "-I/usr/include/tinyPiX/ExternUtils", "-I/usr/include/tinyPiX/SingleGUI", - "-I/usr/include/tinyPiX/SingleGUI/core", - "-I/usr/include/tinyPiX/SingleGUI/screen", - "-I/usr/include/tinyPiX/SingleGUI/widgets", - "-I/usr/include/tinyPiX/SingleGUI/core", + "-I/usr/include/tinyPiX/SingleGUI/Core", + "-I/usr/include/tinyPiX/SingleGUI/Screen", + "-I/usr/include/tinyPiX/SingleGUI/Widgets", + "-I/usr/include/tinyPiX/SingleGUI/Core", "-I.", "-I/usr/include/freetype2", "-I/usr/include/cairo", diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index 5111db5..41b0c88 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -29,9 +29,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index 1869354..258e7bd 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -42,9 +42,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/PiXWM) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index 1a301e6..7cd0243 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -53,9 +53,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 8957b16..f1effb5 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -37,9 +37,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index 3567fb2..becdb20 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index 637673a..30dae76 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -38,9 +38,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index c4f6eb8..b88d749 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index d345545..5defbfa 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index 99dfb13..4acf568 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index c398a95..ff743f2 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index fcd0d36..d9f95dc 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -29,9 +29,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index 5745c15..bd48049 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -30,9 +30,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index 0ce3299..aece314 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index c2f93de..5f51757 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 0db46f9..f3dd86b 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -35,9 +35,9 @@ include_directories(/usr/include/tinyPiX/Api) include_directories(/usr/include/tinyPiX/Utils) include_directories(/usr/include/tinyPiX/ExternUtils) include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/core) -include_directories(/usr/include/tinyPiX/SingleGUI/screen) -include_directories(/usr/include/tinyPiX/SingleGUI/widgets) +include_directories(/usr/include/tinyPiX/SingleGUI/Core) +include_directories(/usr/include/tinyPiX/SingleGUI/Screen) +include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) include_directories(/usr/include/tinyPiX/GUIFramework) include_directories(/usr/include/SDL2) include_directories(/usr/include/freetype2) -- Gitee From 5e02b130717b4b6d59843a65e56e524783ace82c Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Fri, 29 Aug 2025 14:29:53 +0800 Subject: [PATCH 08/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9=E7=BB=98?= =?UTF-8?q?=E5=88=B6=E9=81=AE=E7=BD=A9=E5=9B=BE=E5=BD=A2=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/toolModule/desktopAppButton.cpp | 2 +- Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index e32ecda..a7d23cc 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -74,7 +74,7 @@ bool hollowWidget::onPaintEvent(TpObjectPaintEvent *event) pieHollowData.end = 360.0 * installProgress_ / 100; pieHollowData.radius = (width() / 2.0) - 3; hollowMaskData.addPieHollow(pieHollowData); - painter->hollowRoundedBox(0, 0, width(), width(), roundCorners(), _RGBA(0, 0, 0, 125), hollowMaskData); + painter->roundedBox(0, 0, width(), width(), roundCorners(), _RGBA(0, 0, 0, 125), hollowMaskData); return true; } \ No newline at end of file diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index f38cf3d..da9222b 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -32,7 +32,7 @@ bool appOperateMaskWindow::onPaintEvent(TpObjectPaintEvent *event) HollowMask hollowData; hollowData.addRoundRectHollow(appRect_, roundCorners_); // painter->hollowBox(0, 0, width(), height(), _RGBA(255, 255, 255, 204), hollowData); - painter->hollowBox(0, 0, width(), height(), _RGB(255, 255, 255), hollowData); + painter->box(0, 0, width(), height(), _RGB(255, 255, 255), hollowData); return true; } -- Gitee From 077882d78c1b773085f2c2be84b8669298bfb213 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Fri, 29 Aug 2025 18:14:30 +0800 Subject: [PATCH 09/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index da9222b..88c68a8 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -30,7 +30,7 @@ bool appOperateMaskWindow::onPaintEvent(TpObjectPaintEvent *event) TpCanvas *painter = event->canvas(); HollowMask hollowData; - hollowData.addRoundRectHollow(appRect_, roundCorners_); + hollowData.addRectHollow(appRect_, roundCorners_); // painter->hollowBox(0, 0, width(), height(), _RGBA(255, 255, 255, 204), hollowData); painter->box(0, 0, width(), height(), _RGB(255, 255, 255), hollowData); -- Gitee From 4124888e481d23d243b9304a55bb480fbb0e5a28 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 2 Sep 2025 10:07:51 +0800 Subject: [PATCH 10/36] =?UTF-8?q?fix():=20=E8=A7=A3=E5=86=B3=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 2 +- .../fileManagement/src/browserToolWindow/fileListWindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index a650dd6..73f9163 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -8,7 +8,7 @@ #include "TpFont.h" #include "TpProcess.h" #include "TpMessageBox.h" -#include "TpAppConfigIO.h" +#include "Service/TpAppConfigIO.h" #include diff --git a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp index edf305b..9bf5aba 100644 --- a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp @@ -12,7 +12,7 @@ #include "TpFile.h" #include "TpNetDataGlobal.h" #include "TpGateway.h" -#include "TpSystemApi.h" +#include "Service/TpSystemApi.h" fileListWindow::fileListWindow(TpChildWidget *parent) : TpScrollPanel(parent), rootPath_(""), curShowPath_(""), mode_(fileListWindow::Grid) -- Gitee From e5bff04d5391d05dacc720bb8a586ec0c97dfcb4 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Thu, 4 Sep 2025 18:22:56 +0800 Subject: [PATCH 11/36] =?UTF-8?q?feat():=20=E4=BD=BF=E7=94=A8=E6=96=B0rect?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 59 +++++++++---------- Application/deskTop/src/DeskScreen.h | 4 +- .../deskTop/src/ToolBar/appSettingBar.cpp | 16 ++--- .../deskTop/src/ToolBar/appSettingBar.h | 2 +- .../deskTop/src/ToolBar/navigationBar.cpp | 12 ++-- .../deskTop/src/ToolBar/navigationBar.h | 2 +- .../deskTop/src/ToolBar/powerManage.cpp | 8 +-- Application/deskTop/src/ToolBar/topBar.cpp | 16 ++--- .../deskTop/src/mainAppScrollPanel.cpp | 36 +++++------ Application/deskTop/src/mainAppScrollPanel.h | 6 +- .../deskTop/src/toolModule/caculateAppPos.cpp | 2 +- .../deskTop/src/toolModule/caculateAppPos.h | 2 +- .../src/toolWindow/appOperateMaskWindow.cpp | 2 +- .../src/toolWindow/appOperateMaskWindow.h | 4 +- .../src/toolWindow/appPreviewWidget.cpp | 4 +- .../deskTop/src/toolWindow/appPreviewWidget.h | 2 +- .../src/toolWindow/appTaskManageWindow.cpp | 5 +- .../src/toolWindow/appTaskManageWindow.h | 2 +- .../deskTop/src/toolWindow/sysLockWindow.cpp | 26 ++++---- .../deskTop/src/toolWindow/sysLockWindow.h | 4 +- .../src/browserToolWindow/fileListWindow.cpp | 4 +- .../src/browserToolWindow/settingWindow.cpp | 2 +- .../fileManagement/src/mainWindowService.cpp | 2 +- .../src/recentlyToolWindow/pressPopWindow.cpp | 2 +- .../src/sonWindow/browseWindow.cpp | 6 +- .../src/sonWindow/recentlyWindow.cpp | 4 +- .../src/toolWindow/diskDeviceCheckBox.cpp | 6 +- .../mediaPlayer/src/ToolBar/bottomBar.cpp | 6 +- .../animationDemo/src/mainWindowService.cpp | 28 ++++----- 29 files changed, 136 insertions(+), 138 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index 73f9163..27e381a 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -82,16 +82,16 @@ void DeskScreen::construct() // 计算可显示APP的行列数 // APP显示区域的宽度 // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + uint32_t mainAppPanelWidth = mainAppPanel_->rect().width(); + uint32_t mainAppPanelHeight = mainAppPanel_->rect().height(); uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; desktopAppButton *testBtn = new desktopAppButton(); testBtn->font()->setFontSize(APP_FONT_SIZE); testBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); - int32_t btnWidth = testBtn->rect().w; - int32_t btnHeight = testBtn->rect().h; + int32_t btnWidth = testBtn->rect().width(); + int32_t btnHeight = testBtn->rect().height(); globalAppHInterval = globalMainScreen_->screenWidth() * 0.06666; @@ -205,7 +205,7 @@ bool DeskScreen::onActiveEvent(TpObjectActiveEvent *event) bool DeskScreen::onMousePressEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 - uint32_t pressY = event->globalPos().y; + uint32_t pressY = event->globalPos().y(); // std::cout << "pressY " << pressY << std::endl; // std::cout << "TOP_BAR_HEIGHT " << TOP_BAR_HEIGHT << std::endl; @@ -232,9 +232,9 @@ bool DeskScreen::onMouseMoveEvent(TpMouseEvent *event) { if (pressTopBar_) { - ItpPoint curMousePos = event->globalPos(); + TpPoint curMousePos = event->globalPos(); - if ((curMousePos.y - pressTopBarPoint_.y) >= 2) + if ((curMousePos.y() - pressTopBarPoint_.y()) >= 2) { // 触发一次下拉事件后,不再重复触发 pressTopBar_ = false; @@ -251,22 +251,22 @@ bool DeskScreen::onMouseMoveEvent(TpMouseEvent *event) #if 0 // 暂时屏蔽长按移动图标功能 if (isMoveMode_ && pressAppBtn_) { - ItpPoint curGlobalPoint = event->globalPos(); - // ItpPoint curPoint = event->globalPos(); + TpPoint curGlobalPoint = event->globalPos(); + // TpPoint curPoint = event->globalPos(); - // std::cout << "GlobalPos : " << curGlobalPoint.x << " " << curGlobalPoint.y << std::endl; - // std::cout << "curPoint : " << curPoint.x << " " << curPoint.y << std::endl; - // std::cout << "mainAppPanel_ Pos : " << mainAppPanel_->pos().x << " " << mainAppPanel_->pos().y << std::endl; + // std::cout << "GlobalPos : " << curGlobalPoint.x() << " " << curGlobalPoint.y() << std::endl; + // std::cout << "curPoint : " << curPoint.x() << " " << curPoint.y() << std::endl; + // std::cout << "mainAppPanel_ Pos : " << mainAppPanel_->pos().x()() << " " << mainAppPanel_->pos().y()() << std::endl; if (operateMenu_->visible()) operateMenu_->close(); if (maskWindow_->visible()) maskWindow_->close(); - ItpSize iconSize = pressAppBtn_->iconSize(); - pressAppBtn_->move(curGlobalPoint.x - mainAppPanel_->pos().x - iconSize.w / 2.0, curGlobalPoint.y - mainAppPanel_->pos().y - iconSize.h / 2.0); + TpSize iconSize = pressAppBtn_->iconSize(); + pressAppBtn_->move(curGlobalPoint.x() - mainAppPanel_->pos().x()() - iconSize.w / 2.0, curGlobalPoint.y() - mainAppPanel_->pos().y()() - iconSize.h / 2.0); mainAppPanel_->update(); - // pressAppBtn_->move(curGlobalPoint.x, curGlobalPoint.y); + // pressAppBtn_->move(curGlobalPoint.x(), curGlobalPoint.y()); } #endif @@ -343,9 +343,8 @@ void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) { if (operateBtn) { - ItpRect btnRect = operateBtn->toScreen(); - btnRect.w = operateBtn->iconSize().w; - btnRect.h = operateBtn->iconSize().h; + TpRect btnRect = operateBtn->toScreen(); + btnRect.setSize(TpSize(operateBtn->iconSize().width(), operateBtn->iconSize().height())); // 绘制全局遮罩层,只留长按的按钮显示 maskWindow_->setAppRect(btnRect, operateBtn->roundCorners()); @@ -353,7 +352,7 @@ void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) // uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); - operateMenu_->exec(btnRect.x, btnRect.y - TpDisplay::dp2Px(11) - operateMenu_->height()); + operateMenu_->exec(btnRect.x(), btnRect.y() - TpDisplay::dp2Px(11) - operateMenu_->height()); } else { @@ -701,8 +700,8 @@ void DeskScreen::createAppBtn() TpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH; // APP显示区域的宽度 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + uint32_t mainAppPanelWidth = mainAppPanel_->rect().width(); + uint32_t mainAppPanelHeight = mainAppPanel_->rect().height(); // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; @@ -737,7 +736,7 @@ void DeskScreen::createAppBtn() for (int row = 0; row < globalAppMaxRow; ++row) { - uint32_t appY = row * (APP_V_INTERVAL + finalBtn->rect().h); + uint32_t appY = row * (APP_V_INTERVAL + finalBtn->rect().height()); rowYList.emplace_back(appY); if (row == 0) @@ -745,7 +744,7 @@ void DeskScreen::createAppBtn() for (int column = 0; column < globalAppMaxColumn; ++column) { // pageNum * mainAppPanelWidth + appX - uint32_t appX = panelHMargin + (column % globalAppMaxColumn) * (globalAppHInterval + finalBtn->rect().w); + uint32_t appX = panelHMargin + (column % globalAppMaxColumn) * (globalAppHInterval + finalBtn->rect().width()); columnXList.emplace_back(appX); } } @@ -783,7 +782,7 @@ void DeskScreen::refreshMainAppPanel() // 减去距离上部Bar和下部bar的距离,在减去bottomBar距离边界距离 uint32_t mainAppPanelHeight = height() - tHeight - bottomBarHeight - TpDisplay::dp2Px(20) * 2 - TpDisplay::dp2Px(19); - mainAppPanel_->setWidth(rect().w); + mainAppPanel_->setWidth(rect().width()); mainAppPanel_->setHeight(mainAppPanelHeight); mainAppPanel_->move(0, MAIN_PANEL_TOP_DISTANCE + tHeight); @@ -795,7 +794,7 @@ void DeskScreen::refreshMainAppPanel() mainAppPanel_->update(); uint32_t carouselButtonX = (width() - carouselButton_->width()) / 2.0; - uint32_t carouselButtonY = mainAppPanel_->pos().y + mainAppPanel_->height() - carouselButton_->height(); + uint32_t carouselButtonY = mainAppPanel_->pos().y() + mainAppPanel_->height() - carouselButton_->height(); // std::cout << "carouselButtonX " << carouselButtonX << " carouselButtonY" << carouselButtonY << std::endl; // std::cout << "carouselButtonW " << carouselButton_->width() << " carouselButtonH" << carouselButton_->height() << std::endl; @@ -832,8 +831,8 @@ desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, cons return nullptr; // APP显示区域的宽度 - uint32_t mainAppPanelWidth = mainAppPanel_->rect().w; - uint32_t mainAppPanelHeight = mainAppPanel_->rect().h; + uint32_t mainAppPanelWidth = mainAppPanel_->rect().width(); + uint32_t mainAppPanelHeight = mainAppPanel_->rect().height(); // APP显示区域是沾满了整个窗口的,要偏移预留空间,让APP图标显示在中间区域,与下部Bar对齐 uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; @@ -841,12 +840,12 @@ desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, cons uint32_t appIndex = appInfo->index; uint32_t appPage = appInfo->page; - ItpRect iconButtonRect = appBtn->rect(); + TpRect iconButtonRect = appBtn->rect(); uint32_t curAppRow = (appIndex / globalAppMaxColumn); - uint32_t appX = appPage * mainAppPanelWidth + panelHMargin + (appIndex % globalAppMaxColumn) * (globalAppHInterval + iconButtonRect.w); - uint32_t appY = curAppRow * (APP_V_INTERVAL + iconButtonRect.h); + uint32_t appX = appPage * mainAppPanelWidth + panelHMargin + (appIndex % globalAppMaxColumn) * (globalAppHInterval + iconButtonRect.width()); + uint32_t appY = curAppRow * (APP_V_INTERVAL + iconButtonRect.height()); appBtn->move(appX, appY); diff --git a/Application/deskTop/src/DeskScreen.h b/Application/deskTop/src/DeskScreen.h index d7e90f9..20fb89f 100644 --- a/Application/deskTop/src/DeskScreen.h +++ b/Application/deskTop/src/DeskScreen.h @@ -141,7 +141,7 @@ private: TpList bottomBarAppList_; // 鼠标点击topBar坐标 - ItpPoint pressTopBarPoint_; + TpPoint pressTopBarPoint_; bool pressTopBar_ = false; // 应用长按操作菜单 @@ -150,7 +150,7 @@ private: appOperateMaskWindow *maskWindow_; // 鼠标按下时的APP对象,鼠标释放时置空 desktopAppButton *pressAppBtn_; - ItpRect pressBtnRect_; + TpRect pressBtnRect_; // 当前正在安装的APP desktopAppButton *installingApp_; diff --git a/Application/deskTop/src/ToolBar/appSettingBar.cpp b/Application/deskTop/src/ToolBar/appSettingBar.cpp index 4100d90..f17ee4f 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.cpp +++ b/Application/deskTop/src/ToolBar/appSettingBar.cpp @@ -142,9 +142,9 @@ bool appSettingBar::onMouseMoveEvent(TpMouseEvent *event) if (mouseLeftPress_) { - ItpPoint curMousePos = event->globalPos(); + TpPoint curMousePos = event->globalPos(); - if ((curMousePos.y - pressPoint_.y) <= -5) + if ((curMousePos.y() - pressPoint_.y()) <= -5) { // 触发一次上拉事件后,不再重复触发 mouseLeftPress_ = false; @@ -216,13 +216,13 @@ void appSettingBar::slotChangelight(int32_t value) void appSettingBar::resizeOperatorBtn() { - ItpRect settingBarRect = this->rect(); - uint32_t panelHMargin = (settingBarRect.w - BOTTOM_BAR_WIDTH) / 2.0; + TpRect settingBarRect = this->rect(); + uint32_t panelHMargin = (settingBarRect.width() - BOTTOM_BAR_WIDTH) / 2.0; uint32_t firstRowY = MAIN_PANEL_TOP_DISTANCE + TOP_BAR_HEIGHT; dateTimeLabel_->move(panelHMargin, firstRowY); - powerOffBtn_->move(settingBarRect.w - panelHMargin - powerOffBtn_->width(), firstRowY); + powerOffBtn_->move(settingBarRect.width() - panelHMargin - powerOffBtn_->width(), firstRowY); uint32_t secondRowY = firstRowY + dateTimeLabel_->height() + globalMainScreen_->screenHeight() * 0.0305; lightProgessBar_->move(panelHMargin, secondRowY); @@ -231,11 +231,11 @@ void appSettingBar::resizeOperatorBtn() // std::cout << "lightProgessBar_->width " << lightProgessBar_->width() << " " << lightProgessBar_->height(); // 按钮宽度161 - sysLockBtn_->move(rect().w - panelHMargin - sysLockBtn_->width(), secondRowY); + sysLockBtn_->move(rect().width() - panelHMargin - sysLockBtn_->width(), secondRowY); - bluetoothBtn_->move(sysLockBtn_->pos().x - bluetoothBtn_->width() - globalMainScreen_->screenHeight() * 0.03472, secondRowY); + bluetoothBtn_->move(sysLockBtn_->pos().x() - bluetoothBtn_->width() - globalMainScreen_->screenHeight() * 0.03472, secondRowY); - wifiBtn_->move(bluetoothBtn_->pos().x - wifiBtn_->width() - globalMainScreen_->screenHeight() * 0.03472, secondRowY); + wifiBtn_->move(bluetoothBtn_->pos().x() - wifiBtn_->width() - globalMainScreen_->screenHeight() * 0.03472, secondRowY); } void appSettingBar::slotPowerOff(bool checked) diff --git a/Application/deskTop/src/ToolBar/appSettingBar.h b/Application/deskTop/src/ToolBar/appSettingBar.h index da5f25b..af51a2f 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.h +++ b/Application/deskTop/src/ToolBar/appSettingBar.h @@ -58,7 +58,7 @@ private: private: bool mouseLeftPress_; - ItpPoint pressPoint_; + TpPoint pressPoint_; // 日期lable TpLabel *dateTimeLabel_; diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp index 981f3bf..5013eb5 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -54,8 +54,8 @@ bool navigationBar::onMousePressEvent(TpMouseEvent *event) bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) { std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; - ItpPoint curPos = event->globalPos(); - if (std::abs(curPos.x - mousePressPoint_.x) < 5 && std::abs(curPos.y - mousePressPoint_.y) < 5) + TpPoint curPos = event->globalPos(); + if (std::abs(curPos.x() - mousePressPoint_.x()) < 5 && std::abs(curPos.y() - mousePressPoint_.y()) < 5) { TpTime curTime = TpTime::currentTime(); int64_t animationTimeInterval = lastAnimationTime_.msecsTo(curTime); @@ -70,7 +70,7 @@ bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) TpAnimation *moveAnimation = new TpAnimation(lineLabel_, TpAnimation::Pos); moveAnimation->setStartValue(lineLabel_->pos()); - moveAnimation->setKeyValueAt(0.5, ItpPoint(0, 0)); + moveAnimation->setKeyValueAt(0.5, TpPoint(0, 0)); moveAnimation->setEndValue(lineLabel_->pos()); moveAnimation->setDuration(500); moveAnimation->start(); @@ -81,14 +81,14 @@ bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) TpTime mouseReleaseTime = TpTime::currentTime(); int32_t msTime = mousePressTime_.msecsTo(mouseReleaseTime); - int32_t offsetY = mousePressPoint_.y - curPos.y; + int32_t offsetY = mousePressPoint_.y() - curPos.y(); // std::cout << "Press Hour minut " << mousePressTime_.hour() << " " << mousePressTime_.minute() << " " << mousePressTime_.second() << " " << mousePressTime_.msec() << std::endl; // std::cout << "mouseReleaseTime Hour " << mouseReleaseTime.hour() << " " << mouseReleaseTime.minute() << " " << mouseReleaseTime.second() << " " << mouseReleaseTime.msec() << std::endl; // std::cout << "msTime " << msTime << std::endl; - // std::cout << "Press Y : " << mousePressPoint_.y << std::endl; - // std::cout << "Motion Y : " << curPos.y << std::endl; + // std::cout << "Press Y : " << mousePressPoint_.y() << std::endl; + // std::cout << "Motion Y : " << curPos.y() << std::endl; // std::cout << "offsetY : " << offsetY << std::endl; if (offsetY > 4) diff --git a/Application/deskTop/src/ToolBar/navigationBar.h b/Application/deskTop/src/ToolBar/navigationBar.h index de3bd15..c5b931b 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.h +++ b/Application/deskTop/src/ToolBar/navigationBar.h @@ -34,7 +34,7 @@ private: TpLabel *lineLabel_; // 鼠标按下的相对坐标 - ItpPoint mousePressPoint_; + TpPoint mousePressPoint_; TpTime mousePressTime_; diff --git a/Application/deskTop/src/ToolBar/powerManage.cpp b/Application/deskTop/src/ToolBar/powerManage.cpp index aefb3cb..4766f7d 100644 --- a/Application/deskTop/src/ToolBar/powerManage.cpp +++ b/Application/deskTop/src/ToolBar/powerManage.cpp @@ -30,14 +30,14 @@ powerManage::powerManage() setRect(0, 0, globalMainScreen_->width(), globalMainScreen_->height()); - uint32_t btnX = (rect().w - powerOffBtn_->width()) / 2.0; + uint32_t btnX = (rect().width() - powerOffBtn_->width()) / 2.0; powerRestartBtn_->move(btnX, globalMainScreen_->screenHeight() * 0.33333); - powerOffBtn_->move(btnX, powerRestartBtn_->pos().y + powerRestartBtn_->height() + globalMainScreen_->screenHeight() * 0.051388); + powerOffBtn_->move(btnX, powerRestartBtn_->pos().y() + powerRestartBtn_->height() + globalMainScreen_->screenHeight() * 0.051388); - uint32_t closeBtnX = (rect().w - closeBtn_->width()) / 2.0; + uint32_t closeBtnX = (rect().width() - closeBtn_->width()) / 2.0; - closeBtn_->move(closeBtnX, powerOffBtn_->pos().y + powerOffBtn_->height() + globalMainScreen_->screenHeight() * 0.298611); + closeBtn_->move(closeBtnX, powerOffBtn_->pos().y() + powerOffBtn_->height() + globalMainScreen_->screenHeight() * 0.298611); setVisible(false); } diff --git a/Application/deskTop/src/ToolBar/topBar.cpp b/Application/deskTop/src/ToolBar/topBar.cpp index 83f4f2b..fadb4d4 100644 --- a/Application/deskTop/src/ToolBar/topBar.cpp +++ b/Application/deskTop/src/ToolBar/topBar.cpp @@ -111,7 +111,7 @@ bool topBar::onResizeEvent(TpObjectResizeEvent *event) bool topBar::onMousePressEvent(TpMouseEvent *event) { - std::cout << "TopBar Press Pos ()" << event->globalPos().x << " , " << event->globalPos().y << std::endl; + std::cout << "TopBar Press Pos ()" << event->globalPos().x() << " , " << event->globalPos().y() << std::endl; return true; } @@ -141,22 +141,22 @@ bool topBar::onLeaveEvent(TpObjectLeaveEvent *event) void topBar::caculateTopAppPos() { - ItpRect topBarRect = rect(); + TpRect topBarRect = rect(); // std::cout << " topBarRect.h : " << topBarRect.h << " statusBtnInterval : " << statusBtnInterval << " statusBtnWh : " << std::endl; // std::cout << " statusBtnWh :" << statusBtnWh << std::endl; // 添加系统时间和系统日期 - sysTimeLabel_->move(TpDisplay::dp2Px(16), (topBarRect.h - sysTimeLabel_->height()) / 2.0); + sysTimeLabel_->move(TpDisplay::dp2Px(16), (topBarRect.height() - sysTimeLabel_->height()) / 2.0); - uint32_t sysDateXPos = sysTimeLabel_->rect().x + sysTimeLabel_->width() + TpDisplay::dp2Px(12); - sysDateLabel_->move(sysDateXPos, (topBarRect.h - sysDateLabel_->height()) / 2.0); + uint32_t sysDateXPos = sysTimeLabel_->rect().x() + sysTimeLabel_->width() + TpDisplay::dp2Px(12); + sysDateLabel_->move(sysDateXPos, (topBarRect.height() - sysDateLabel_->height()) / 2.0); - elecBattery_->move(width() - elecBattery_->width() - TpDisplay::dp2Px(16), (topBarRect.h - elecBattery_->height()) / 2.0); + elecBattery_->move(width() - elecBattery_->width() - TpDisplay::dp2Px(16), (topBarRect.height() - elecBattery_->height()) / 2.0); - wifiLabel_->move(elecBattery_->pos().x - wifiLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.h - wifiLabel_->height()) / 2.0); + wifiLabel_->move(elecBattery_->pos().x() - wifiLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.height() - wifiLabel_->height()) / 2.0); - blueToothLabel_->move(wifiLabel_->pos().x - blueToothLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.h - blueToothLabel_->height()) / 2.0); + blueToothLabel_->move(wifiLabel_->pos().x() - blueToothLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.height() - blueToothLabel_->height()) / 2.0); } void topBar::slotUpdateSystemTime() diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/deskTop/src/mainAppScrollPanel.cpp index 29fcdc4..30bbc42 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/deskTop/src/mainAppScrollPanel.cpp @@ -22,7 +22,7 @@ void mainAppScrollPanel::setPage(const uint32_t &page) { } -void mainAppScrollPanel::setMoveAppRect(const ItpRect &rect, const int32_t &round) +void mainAppScrollPanel::setMoveAppRect(const TpRect &rect, const int32_t &round) { } @@ -82,7 +82,7 @@ bool mainAppScrollPanel::onMousePressEvent(TpMouseEvent *event) originPressPoint_ = event->globalPos(); updatePoint_ = originPressPoint_; originPressPos_ = horizontalPostion(); - // std::cout << "event->globalPos().X: " << event->globalPos().x << " event->globalPos().y: " << event->globalPos().y << std::endl; + // std::cout << "event->globalPos().X: " << event->globalPos().x() << " event->globalPos().y(): " << event->globalPos().y() << std::endl; return true; } @@ -98,20 +98,20 @@ bool mainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) // std::cout << "release curScrollValue : " << curScrollValue << std::endl; // 判断当前偏移量距离哪一页近,就翻到哪一页 - int32_t nextPageValue = -rect().w; + int32_t nextPageValue = -rect().width(); int32_t prePageValue = 0; // 找到当前偏移量的上一页和下一页偏移量 prePageValue > nextPageValue while (nextPageValue > curScrollValue) { - nextPageValue -= rect().w; + nextPageValue -= rect().width(); } - prePageValue = nextPageValue + rect().w; + prePageValue = nextPageValue + rect().width(); if (prePageValue > 0) prePageValue = 0; - int32_t minValue = -(rect().w * (maxPageCount_ - 1)); + int32_t minValue = -(rect().width() * (maxPageCount_ - 1)); if (nextPageValue < minValue) nextPageValue = minValue; @@ -119,7 +119,7 @@ bool mainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) setHorizontalPostion(curPostion); - onPageChanged.emit(std::fabs(curPostion) / rect().w); + onPageChanged.emit(std::fabs(curPostion) / rect().width()); } else { @@ -142,28 +142,28 @@ bool mainAppScrollPanel::onWheelEvent(TpWheelEvent *event) { int32_t curScrollValue = horizontalPostion(); - curScrollValue += rect().w; + curScrollValue += rect().width(); if (curScrollValue > 0) curScrollValue = 0; setHorizontalPostion(curScrollValue); - onPageChanged.emit(std::fabs(curScrollValue) / rect().w); + onPageChanged.emit(std::fabs(curScrollValue) / rect().width()); } else { int32_t curScrollValue = horizontalPostion(); - curScrollValue -= rect().w; + curScrollValue -= rect().width(); - int32_t minValue = -(rect().w * (maxPageCount_ - 1)); + int32_t minValue = -(rect().width() * (maxPageCount_ - 1)); if (curScrollValue < minValue) curScrollValue = minValue; setHorizontalPostion(curScrollValue); - onPageChanged.emit(std::fabs(curScrollValue) / rect().w); + onPageChanged.emit(std::fabs(curScrollValue) / rect().width()); } return true; @@ -173,26 +173,26 @@ bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { - ItpPoint curPoint = event->globalPos(); + TpPoint curPoint = event->globalPos(); // 如果是横屏,只计算X偏移量,竖屏则只计算Y偏移量 int32_t curScrollValue = horizontalPostion(); - int32_t offset = curPoint.x - updatePoint_.x; + int32_t offset = curPoint.x() - updatePoint_.x(); updatePoint_ = curPoint; { - int32_t isLeftOffset = curPoint.x - originPressPoint_.x; + int32_t isLeftOffset = curPoint.x() - originPressPoint_.x(); isLeftRoll_ = isLeftOffset > 0 ? false : true; } // 偏移超过5像素才翻页 - isSwitchPage_ = std::abs(curPoint.x - originPressPoint_.x) > 50 ? true : false; + isSwitchPage_ = std::abs(curPoint.x() - originPressPoint_.x()) > 50 ? true : false; curScrollValue = curScrollValue + offset; - int32_t minValue = -(rect().w * (maxPageCount_ - 1)); + int32_t minValue = -(rect().width() * (maxPageCount_ - 1)); if (curScrollValue > 0) curScrollValue = 0; @@ -204,7 +204,7 @@ bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) // scrollMode() ? setVerticalScrollBarValue(curScrollValue) : setHorizontalScrollBarValue(curScrollValue); - // std::cout << "Move event->globalPos().X: " << event->globalPos().x << " event->globalPos().y: " << event->globalPos().y << std::endl; + // std::cout << "Move event->globalPos().X: " << event->globalPos().x() << " event->globalPos().y(): " << event->globalPos().y() << std::endl; // return TpScrollPanel::onMouseMoveEvent(event); } diff --git a/Application/deskTop/src/mainAppScrollPanel.h b/Application/deskTop/src/mainAppScrollPanel.h index 6026d90..472cf68 100644 --- a/Application/deskTop/src/mainAppScrollPanel.h +++ b/Application/deskTop/src/mainAppScrollPanel.h @@ -17,7 +17,7 @@ public: void setPage(const uint32_t &page); // APP移动时,绘制原本位置的圆角框 - void setMoveAppRect(const ItpRect &rect, const int32_t &round); + void setMoveAppRect(const TpRect &rect, const int32_t &round); public signals: @@ -42,12 +42,12 @@ private: bool mouseLeftPress_; // 鼠标点击坐标 - ItpPoint originPressPoint_; + TpPoint originPressPoint_; // 鼠标点击时的偏移量 int32_t originPressPos_; // 滑动翻页时缓存坐标 - ItpPoint updatePoint_; + TpPoint updatePoint_; // 最大页数 uint32_t maxPageCount_; diff --git a/Application/deskTop/src/toolModule/caculateAppPos.cpp b/Application/deskTop/src/toolModule/caculateAppPos.cpp index abd4269..e021d9e 100644 --- a/Application/deskTop/src/toolModule/caculateAppPos.cpp +++ b/Application/deskTop/src/toolModule/caculateAppPos.cpp @@ -23,7 +23,7 @@ void caculateAppPos::setColumnX(const TpVector &xList) { } -void caculateAppPos::moveBtn(const ItpPoint &curPoint) +void caculateAppPos::moveBtn(const TpPoint &curPoint) { } diff --git a/Application/deskTop/src/toolModule/caculateAppPos.h b/Application/deskTop/src/toolModule/caculateAppPos.h index 3d4f817..1e2b7d9 100644 --- a/Application/deskTop/src/toolModule/caculateAppPos.h +++ b/Application/deskTop/src/toolModule/caculateAppPos.h @@ -24,7 +24,7 @@ public: void setColumnX(const TpVector& xList); // 根据拖拽按钮坐标,计算是否偏移所有其他按钮腾出位置 - void moveBtn(const ItpPoint& curPoint); + void moveBtn(const TpPoint& curPoint); // 鼠标释放按钮,自动吸附至最近的网格 void releaseBtn(); diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index 88c68a8..96bdeb3 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -12,7 +12,7 @@ appOperateMaskWindow::~appOperateMaskWindow() { } -void appOperateMaskWindow::setAppRect(const ItpRect &rect, const uint32_t &roundCorners) +void appOperateMaskWindow::setAppRect(const TpRect &rect, const uint32_t &roundCorners) { appRect_ = rect; roundCorners_ = roundCorners; diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h index d3fbca6..61d67ad 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h @@ -19,14 +19,14 @@ public: /// @brief 设置APP的区域,坐标为相对于屏幕左上角的XY坐标 /// @param rect 坐标区域 /// @param roundCorners 圆角值 - void setAppRect(const ItpRect &rect, const uint32_t& roundCorners); + void setAppRect(const TpRect &rect, const uint32_t& roundCorners); protected: virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; virtual bool onPaintEvent(TpObjectPaintEvent *event) override; private: - ItpRect appRect_; + TpRect appRect_; uint32_t roundCorners_; }; diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index 3577ce3..ba055e5 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -107,8 +107,8 @@ bool appPreviewWidget::onMousePressEvent(TpMouseEvent *event) bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) { // 鼠标如果按下过程中拖动,则不触发打开事件 - ItpPoint curPoint = event->globalPos(); - if (std::abs(curPoint.x - mousePressPoint_.x) < 5 && std::abs(curPoint.y - mousePressPoint_.y) < 5) + TpPoint curPoint = event->globalPos(); + if (std::abs(curPoint.x() - mousePressPoint_.x()) < 5 && std::abs(curPoint.y() - mousePressPoint_.y()) < 5) { signalOpenApp.emit(pid_); } diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index 763e3e7..d5a527e 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -71,7 +71,7 @@ private: int32_t pid_; int32_t winId_; - ItpPoint mousePressPoint_; + TpPoint mousePressPoint_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index 09e5888..afd4c1b 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -1,7 +1,6 @@ #include "appTaskManageWindow.h" #include "TpImage.h" #include "deskTopGlobal.hpp" -#include "base/cacheex.h" #ifndef TASK_MANAGER_COLOR #define TASK_MANAGER_COLOR _RGBA(255, 255, 255, 210) @@ -160,8 +159,8 @@ bool appTaskManageWindow::onMousePressEvent(TpMouseEvent *event) bool appTaskManageWindow::onMouseRleaseEvent(TpMouseEvent *event) { - ItpPoint curPoint = event->globalPos(); - if (std::abs(curPoint.x - mousePressPoint_.x) < 5 && std::abs(curPoint.y - mousePressPoint_.y) < 5) + TpPoint curPoint = event->globalPos(); + if (std::abs(curPoint.x() - mousePressPoint_.x()) < 5 && std::abs(curPoint.y() - mousePressPoint_.y()) < 5) { setVisible(false); update(); diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.h b/Application/deskTop/src/toolWindow/appTaskManageWindow.h index e5000c5..6debdcd 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.h +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.h @@ -49,7 +49,7 @@ private: private: TpScrollPanel *taskScrollPanel_; - ItpPoint mousePressPoint_; + TpPoint mousePressPoint_; uint32_t taskHeight_; uint32_t taskWidth_; diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/deskTop/src/toolWindow/sysLockWindow.cpp index 82d1cde..da30e7f 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/deskTop/src/toolWindow/sysLockWindow.cpp @@ -39,36 +39,36 @@ void sysLockWindow::setVisible(bool visible) TpDialog::setVisible(visible); } -void sysLockWindow::resizeLockWindow(const ItpRect &mainWindowRect) +void sysLockWindow::resizeLockWindow(const TpRect &mainWindowRect) { - this->setRect(0, 0, mainWindowRect.w, mainWindowRect.h); + this->setRect(0, 0, mainWindowRect.width(), mainWindowRect.height()); #if 1 // 壁纸界面组件 TpFont *dateTimeFont = systemDateTimeLabel_->font(); - systemDateTimeLabel_->setRect((mainWindowRect.w - dateTimeFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.3, dateTimeFont->pixelWidth() + 10, dateTimeFont->pixelHeight()); + systemDateTimeLabel_->setRect((mainWindowRect.width() - dateTimeFont->pixelWidth()) / 2.0, mainWindowRect.height() * 0.3, dateTimeFont->pixelWidth() + 10, dateTimeFont->pixelHeight()); - unlockDirectLabel_->setRect((mainWindowRect.w - 60) / 2.0, mainWindowRect.h * 0.6, 60, 60); + unlockDirectLabel_->setRect((mainWindowRect.width() - 60) / 2.0, mainWindowRect.height() * 0.6, 60, 60); TpFont *promptFont = unlockPromptLabel_->font(); - unlockPromptLabel_->setRect((mainWindowRect.w - promptFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.75, promptFont->pixelWidth() + 5, promptFont->pixelHeight()); + unlockPromptLabel_->setRect((mainWindowRect.width()- promptFont->pixelWidth()) / 2.0, mainWindowRect.height() * 0.75, promptFont->pixelWidth() + 5, promptFont->pixelHeight()); #endif #if 1 // 登陆界面组件 TpFont *systemNameFont = systemNameLabel_->font(); - systemNameLabel_->setRect((mainWindowRect.w - systemNameFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.2, systemNameFont->pixelWidth() + 5, systemNameFont->pixelHeight()); + systemNameLabel_->setRect((mainWindowRect.width() - systemNameFont->pixelWidth()) / 2.0, mainWindowRect.height() * 0.2, systemNameFont->pixelWidth() + 5, systemNameFont->pixelHeight()); TpFont *welcomeFont = welcomeLabel_->font(); - welcomeLabel_->setRect((mainWindowRect.w - welcomeFont->pixelWidth()) / 2.0, mainWindowRect.h * 0.35, welcomeFont->pixelWidth() + 5, welcomeFont->pixelHeight()); + welcomeLabel_->setRect((mainWindowRect.width() - welcomeFont->pixelWidth()) / 2.0, mainWindowRect.height() * 0.35, welcomeFont->pixelWidth() + 5, welcomeFont->pixelHeight()); - userIconLabel_->setRect((mainWindowRect.w - 60) / 2.0, mainWindowRect.h * 0.5, 60, 60); + userIconLabel_->setRect((mainWindowRect.width() - 60) / 2.0, mainWindowRect.height() * 0.5, 60, 60); // uint32_t pwdLoginInterval = 30; - uint32_t editWidth = mainWindowRect.w * 0.3; - pwdEdit_->setRect((mainWindowRect.w - editWidth - pwdLoginInterval - 60) / 2.0, mainWindowRect.h * 0.65, editWidth, 50); + uint32_t editWidth = mainWindowRect.width() * 0.3; + pwdEdit_->setRect((mainWindowRect.width() - editWidth - pwdLoginInterval - 60) / 2.0, mainWindowRect.height() * 0.65, editWidth, 50); - loginBtn_->setRect(pwdEdit_->rect().x + editWidth + pwdLoginInterval, mainWindowRect.h * 0.65, 50, 50); + loginBtn_->setRect(pwdEdit_->rect().x() + editWidth + pwdLoginInterval, mainWindowRect.height() * 0.65, 50, 50); #endif } @@ -93,9 +93,9 @@ bool sysLockWindow::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { - ItpPoint curMousePos = event->globalPos(); + TpPoint curMousePos = event->globalPos(); - if ((curMousePos.y - pressPoint_.y) <= -5) + if ((curMousePos.y() - pressPoint_.y()) <= -5) { // 触发一次上拉事件后,不再重复触发 mouseLeftPress_ = false; diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.h b/Application/deskTop/src/toolWindow/sysLockWindow.h index eb75c85..af2fb4d 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.h +++ b/Application/deskTop/src/toolWindow/sysLockWindow.h @@ -19,7 +19,7 @@ public: public: // 系统显示大小变换,锁屏窗口大小也要变化 - void resizeLockWindow(const ItpRect &mainWindowRect); + void resizeLockWindow(const TpRect &mainWindowRect); protected: virtual bool onMousePressEvent(TpMouseEvent *event) override; @@ -43,7 +43,7 @@ private: private: bool mouseLeftPress_; - ItpPoint pressPoint_; + TpPoint pressPoint_; // 更新时间定时器 TpTimer *updateTimetimer_; diff --git a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp index 9bf5aba..bc8210a 100644 --- a/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/fileListWindow.cpp @@ -164,9 +164,9 @@ void fileListWindow::refreshPath(const TpString &path) update(); - std::cout << "fileListWindow 最小高度 " << mainLayout_->minumumSize().h << std::endl; + std::cout << "fileListWindow 最小高度 " << mainLayout_->minumumSize().height() << std::endl; - widget()->setMinumumHeight(mainLayout_->minumumSize().h); + widget()->setMinumumHeight(mainLayout_->minumumSize().height()); } void fileListWindow::SlotShowSetting(bool) diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp index 3e9627f..ecbb41f 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp @@ -43,7 +43,7 @@ bool settingWindow::onMouseRleaseEvent(TpMouseEvent *event) { TpDialog::onMouseRleaseEvent(event); - if (!mainScrollPanel_->toScreen().contains(event->globalPos().x, event->globalPos().y)) + if (!mainScrollPanel_->toScreen().contains(event->globalPos().x(), event->globalPos().y())) { setVisible(false); // update(); diff --git a/Application/fileManagement/src/mainWindowService.cpp b/Application/fileManagement/src/mainWindowService.cpp index b8be441..703ddf7 100644 --- a/Application/fileManagement/src/mainWindowService.cpp +++ b/Application/fileManagement/src/mainWindowService.cpp @@ -125,7 +125,7 @@ void mainWindowService::slotPathChanged(const TpString &path) void mainWindowService::caculateRect() { - ItpRect mainWindowRect = rect(); + TpRect mainWindowRect = rect(); // bottomMenu_->move(0, height() - bottomMenu_->height()); diff --git a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp index 1b6be8b..a481d82 100644 --- a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp +++ b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp @@ -55,7 +55,7 @@ void pressPopWindow::init() moreSelectBtn_->setText("更多"); moreSelectBtn_->setIcon(applicationDirPath() + "/../res/更多.png"); connect(moreSelectBtn_, onClicked, [=](bool) - { moreConfigMenu_->exec(moreSelectBtn_->toScreen().x, moreSelectBtn_->toScreen().y); }); + { moreConfigMenu_->exec(moreSelectBtn_->toScreen().x(), moreSelectBtn_->toScreen().y()); }); buttonList_.emplace_back(delSelectBtn_); buttonList_.emplace_back(moveSelectBtn_); diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index 07e764f..d7e8ce9 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -104,7 +104,7 @@ void browseWindow::setVisible(bool visible) deviceListLayout->insertWidget((insertIndex > 2) ? insertIndex - 2 : insertIndex, testDevice); // std::cout << "scrollWidget ... " << deviceListLayout->minumumSize().h << std::endl; - scrollWidget->setMinumumHeight(deviceListLayout->minumumSize().h); + scrollWidget->setMinumumHeight(deviceListLayout->minumumSize().height()); } } @@ -116,8 +116,8 @@ bool browseWindow::onPaintEvent(TpObjectPaintEvent *event) TpCanvas *paintCanvas = event->canvas(); // paintCanvas->box(mainScrollPanel_->width(), 0, mainScrollPanel_->width(), height(), _RGB(255, 255, 255)); - paintCanvas->box(0, 0, fileListWindow_->pos().x, height(), _RGB(248, 248, 248)); - // paintCanvas->box(0, 0, fileListWindow_->pos().x, height(), _RGB(0, 0, 248)); + paintCanvas->box(0, 0, fileListWindow_->pos().x(), height(), _RGB(248, 248, 248)); + // paintCanvas->box(0, 0, fileListWindow_->pos().x()(), height(), _RGB(0, 0, 248)); // 绘制分割线 // paintCanvas->vline(mainScrollPanel_->width(), 0, height(), _RGB(190, 196, 202)); diff --git a/Application/fileManagement/src/sonWindow/recentlyWindow.cpp b/Application/fileManagement/src/sonWindow/recentlyWindow.cpp index bb535c3..395267c 100644 --- a/Application/fileManagement/src/sonWindow/recentlyWindow.cpp +++ b/Application/fileManagement/src/sonWindow/recentlyWindow.cpp @@ -53,9 +53,9 @@ bool recentlyWindow::eventFilter(TpObject *watched, TpEvent *event) void recentlyWindow::SlotLongPressItem(TpCollapsibleFileWidget *fileWidget) { - ItpSize popMenuSize = pressPopMenu_->screenSize(); + TpSize popMenuSize = pressPopMenu_->screenSize(); - pressPopMenu_->setRect(0, popMenuSize.h - 75, popMenuSize.w, 75); + pressPopMenu_->setRect(0, popMenuSize.height() - 75, popMenuSize.width(), 75); pressPopMenu_->setVisible(true); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index 543ac48..f99e4c5 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -69,12 +69,12 @@ bool diskDeviceCheckBox::onPaintEvent(TpObjectPaintEvent *event) // TpCanvas *paintCanvas = event->canvas(); // 在name和space中间画一个竖线 - // std::cout << "spaceLabel_->pos().x " << spaceLabel_->pos().x << std::endl; - // std::cout << "deviceNameLabel_->pos().x " << deviceNameLabel_->pos().x << std::endl; + // std::cout << "spaceLabel_->pos().x()() " << spaceLabel_->pos().x()() << std::endl; + // std::cout << "deviceNameLabel_->pos().x()() " << deviceNameLabel_->pos().x()() << std::endl; // std::cout << "deviceNameLabel_->width() " << deviceNameLabel_->width() << std::endl; // uint32_t deviceNameWidth = deviceNameLabel_->width() > deviceNameLabel_->font()->pixelWidth() ? deviceNameLabel_->font()->pixelWidth() : deviceNameLabel_->width(); - // uint32_t lineX = deviceNameLabel_->pos().x + deviceNameWidth + (spaceLabel_->pos().x - (deviceNameLabel_->pos().x + deviceNameWidth)) / 2.0; + // uint32_t lineX = deviceNameLabel_->pos().x()() + deviceNameWidth + (spaceLabel_->pos().x()() - (deviceNameLabel_->pos().x()() + deviceNameWidth)) / 2.0; // paintCanvas->vline(lineX, 25, height() - 25, _RGB(190, 196, 202), 2); return true; diff --git a/Application/mediaPlayer/src/ToolBar/bottomBar.cpp b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp index 9a71d03..5f07179 100644 --- a/Application/mediaPlayer/src/ToolBar/bottomBar.cpp +++ b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp @@ -134,9 +134,9 @@ void bottomBar::init() speedBtn_->setText("1X"); connect(speedBtn_, onClicked, [=](bool) { - ItpRect btnGlobalRect = speedBtn_->toScreen(); - int32_t menuX = btnGlobalRect.x + btnGlobalRect.w- speedMenu_->width() ; - int32_t menuY = btnGlobalRect.y - 7 - speedMenu_->height(); + TpRect btnGlobalRect = speedBtn_->toScreen(); + int32_t menuX = btnGlobalRect.x() + btnGlobalRect.width()- speedMenu_->width() ; + int32_t menuY = btnGlobalRect.y() - 7 - speedMenu_->height(); std::cout << "menuX " << menuX << " menuY " << menuY <exec(menuX, menuY); }); diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.cpp b/ComDemoApplication/animationDemo/src/mainWindowService.cpp index 0160eff..33c3b0b 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/animationDemo/src/mainWindowService.cpp @@ -26,8 +26,8 @@ mainWindowService::mainWindowService() connect(posMoveBtn, onClicked, [=](bool) { TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); - widgetAnimation->setStartValue(ItpPoint(350, 20)); - widgetAnimation->setEndValue(ItpPoint(700, 300)); + widgetAnimation->setStartValue(TpPoint(350, 20)); + widgetAnimation->setEndValue(TpPoint(700, 300)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); @@ -39,10 +39,10 @@ mainWindowService::mainWindowService() connect(returnMoveBtn, onClicked, [=](bool) { TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); - widgetAnimation->setStartValue(ItpPoint(350, 20)); - widgetAnimation->setKeyValueAt(0.5, ItpPoint(700, 300)); - widgetAnimation->setEndValue(ItpPoint(350, 20)); - // widgetAnimation->setEndValue(ItpPoint(700, 300)); + widgetAnimation->setStartValue(TpPoint(350, 20)); + widgetAnimation->setKeyValueAt(0.5, TpPoint(700, 300)); + widgetAnimation->setEndValue(TpPoint(350, 20)); + // widgetAnimation->setEndValue(TpPoint(700, 300)); widgetAnimation->setDuration(1500); widgetAnimation->start(); }); @@ -61,10 +61,10 @@ mainWindowService::mainWindowService() connect(loopMoveBtn, onClicked, [&](bool) { loopAnimation = new TpAnimation(exampleWidget, TpAnimation::Pos); - loopAnimation->setStartValue(ItpPoint(350, 20)); - loopAnimation->setKeyValueAt(0.5, ItpPoint(700, 300)); - loopAnimation->setEndValue(ItpPoint(350, 20)); - // loopAnimation->setEndValue(ItpPoint(700, 300)); + loopAnimation->setStartValue(TpPoint(350, 20)); + loopAnimation->setKeyValueAt(0.5, TpPoint(700, 300)); + loopAnimation->setEndValue(TpPoint(350, 20)); + // loopAnimation->setEndValue(TpPoint(700, 300)); loopAnimation->setDuration(1500); loopAnimation->setLoopCount(-1); loopAnimation->start(); @@ -138,8 +138,8 @@ mainWindowService::mainWindowService() connect(resizeBtn, onClicked, [=](bool) { TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Size); - widgetAnimation->setStartValue(ItpSize(100, 100)); - widgetAnimation->setEndValue(ItpSize(300, 500)); + widgetAnimation->setStartValue(TpSize(100, 100)); + widgetAnimation->setEndValue(TpSize(300, 500)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); @@ -151,8 +151,8 @@ mainWindowService::mainWindowService() connect(posResizeBtn, onClicked, [=](bool) { TpAnimation* widgetAnimation = new TpAnimation(exampleWidget, TpAnimation::Geometry); - widgetAnimation->setStartValue(ItpRect(350, 20, 100, 100)); - widgetAnimation->setEndValue(ItpRect(700, 300, 300, 300)); + widgetAnimation->setStartValue(TpRect(350, 20, 100, 100)); + widgetAnimation->setEndValue(TpRect(700, 300, 300, 300)); widgetAnimation->setDuration(1000); widgetAnimation->start(); }); -- Gitee From 57d0ffab8d624c6e83e235a9ba6e14cfb539c7cc Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Fri, 5 Sep 2025 10:24:53 +0800 Subject: [PATCH 12/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9APP=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json | 41 +++++++------- .../6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json | 56 +++++++++---------- .../1afd93b7-c938-f604-57be-edc95df6cb36.json | 56 +++++++++---------- .../8aa1ea99-75af-92d1-0988-998803157aac.json | 41 +++++++------- .../94301ca4-d753-9ae8-626a-206c15d6abdd.json | 56 +++++++++---------- .../88fab468-3413-4fc1-a711-67854fc7a282.json | 44 +++++++-------- .../33406742-ceb3-3833-c0a5-ae7e3a82811f.json | 41 +++++++------- .../e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json | 41 +++++++------- .../ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json | 41 +++++++------- .../2084e4fb-a01d-4404-b515-956c095f042c.json | 44 +++++++-------- .../ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json | 41 +++++++------- .../fb1412cf-84de-4138-b401-215b6e9b1c11.json | 41 +++++++------- .../de288e32-9a68-40c9-81fa-e57609c226e0.json | 44 +++++++-------- .../bee1bc99-c541-45b4-b3be-2f00145f8106.json | 44 +++++++-------- 14 files changed, 294 insertions(+), 337 deletions(-) diff --git a/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json b/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json index 8d96d59..8ab3da1 100644 --- a/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json +++ b/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"4a1a4cb1-5d7b-952f-9ddd-416857b44e84", - "appName":"日历", - "organization":"", - "Version":"0.0.1", - "appexecName":"calendar", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "4a1a4cb1-5d7b-952f-9ddd-416857b44e84", + "appName": "日历", + "organization": "", + "Version": "0.0.1", + "appexecName": "calendar", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json b/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json index fe77772..033f420 100644 --- a/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json +++ b/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json @@ -1,33 +1,31 @@ { - "static":{ - "appID":"6e3aaf4e-7a62-46d7-172d-e244038c4ae7", - "appName":"文件管理", - "organization":"", - "Version":"0.0.1", - "appexecName":"fileManagement", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"ZerasEager", - "email":"ZerasEager@qq.com" + "appID": "6e3aaf4e-7a62-46d7-172d-e244038c4ae7", + "appName": "文件管理", + "organization": "", + "Version": "0.0.1", + "appexecName": "fileManagement", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "ZerasEager", + "email": "ZerasEager@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - { - "name":"libalsa", - "version":"1.5.1" - }, - { - "name":"libssl", - "version":"1.0.0" - } + "Provides": "", + "icon": "./res/icon.png", + "depend": [ + { + "name": "libalsa", + "version": "1.5.1" + }, + { + "name": "libssl", + "version": "1.0.0" + } ], - "lib":[ - "./lib" + "lib": [ + "./lib" ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/Application/mediaPlayer/1afd93b7-c938-f604-57be-edc95df6cb36.json b/Application/mediaPlayer/1afd93b7-c938-f604-57be-edc95df6cb36.json index 2c2a460..e80c1f0 100644 --- a/Application/mediaPlayer/1afd93b7-c938-f604-57be-edc95df6cb36.json +++ b/Application/mediaPlayer/1afd93b7-c938-f604-57be-edc95df6cb36.json @@ -1,33 +1,31 @@ { - "static":{ - "appID":"1afd93b7-c938-f604-57be-edc95df6cb36", - "appName":"媒体播放器", - "organization":"", - "Version":"1.0.0", - "appexecName":"mediaPlayer", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "1afd93b7-c938-f604-57be-edc95df6cb36", + "appName": "媒体播放器", + "organization": "", + "Version": "1.0.0", + "appexecName": "mediaPlayer", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - { - "name":"libalsa", - "version":"1.5.1" - }, - { - "name":"libssl", - "version":"1.0.0" - } + "Provides": "", + "icon": "./res/icon.png", + "depend": [ + { + "name": "libalsa", + "version": "1.5.1" + }, + { + "name": "libssl", + "version": "1.0.0" + } ], - "lib":[ - "./lib" + "lib": [ + "./lib" ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/Application/photoAlbum/8aa1ea99-75af-92d1-0988-998803157aac.json b/Application/photoAlbum/8aa1ea99-75af-92d1-0988-998803157aac.json index 2415f0a..9aa3653 100644 --- a/Application/photoAlbum/8aa1ea99-75af-92d1-0988-998803157aac.json +++ b/Application/photoAlbum/8aa1ea99-75af-92d1-0988-998803157aac.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"8aa1ea99-75af-92d1-0988-998803157aac", - "appName":"相册", - "organization":"", - "Version":"1.0.0", - "appexecName":"photoAlbum", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "8aa1ea99-75af-92d1-0988-998803157aac", + "appName": "相册", + "organization": "", + "Version": "1.0.0", + "appexecName": "photoAlbum", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/Application/systemSettings/94301ca4-d753-9ae8-626a-206c15d6abdd.json b/Application/systemSettings/94301ca4-d753-9ae8-626a-206c15d6abdd.json index a241f0c..fdd49c6 100644 --- a/Application/systemSettings/94301ca4-d753-9ae8-626a-206c15d6abdd.json +++ b/Application/systemSettings/94301ca4-d753-9ae8-626a-206c15d6abdd.json @@ -1,33 +1,31 @@ { - "static":{ - "appID":"94301ca4-d753-9ae8-626a-206c15d6abdd", - "appName":"设置", - "organization":"", - "Version":"1.0.0", - "appexecName":"systemSettings", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "94301ca4-d753-9ae8-626a-206c15d6abdd", + "appName": "设置", + "organization": "", + "Version": "1.0.0", + "appexecName": "systemSettings", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - { - "name":"libalsa", - "version":"1.5.1" - }, - { - "name":"libssl", - "version":"1.0.0" - } + "Provides": "", + "icon": "./res/icon.png", + "depend": [ + { + "name": "libalsa", + "version": "1.5.1" + }, + { + "name": "libssl", + "version": "1.0.0" + } ], - "lib":[ - "./lib" + "lib": [ + "./lib" ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/animationDemo/88fab468-3413-4fc1-a711-67854fc7a282.json b/ComDemoApplication/animationDemo/88fab468-3413-4fc1-a711-67854fc7a282.json index 285cb81..c57222c 100644 --- a/ComDemoApplication/animationDemo/88fab468-3413-4fc1-a711-67854fc7a282.json +++ b/ComDemoApplication/animationDemo/88fab468-3413-4fc1-a711-67854fc7a282.json @@ -1,26 +1,22 @@ { - "static":{ - "appID":"88fab468-3413-4fc1-a711-67854fc7a282", - "appName":"动画演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"animationDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" - }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - ], - "lib":[ + "appID": "88fab468-3413-4fc1-a711-67854fc7a282", + "appName": "动画演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "animationDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" + }, + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ "./lib" - ], - "start":"./start.sh" - } - } - \ No newline at end of file + ], + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/batteryDemo/33406742-ceb3-3833-c0a5-ae7e3a82811f.json b/ComDemoApplication/batteryDemo/33406742-ceb3-3833-c0a5-ae7e3a82811f.json index 0cb49da..6484ed6 100644 --- a/ComDemoApplication/batteryDemo/33406742-ceb3-3833-c0a5-ae7e3a82811f.json +++ b/ComDemoApplication/batteryDemo/33406742-ceb3-3833-c0a5-ae7e3a82811f.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"33406742-ceb3-3833-c0a5-ae7e3a82811f", - "appName":"电池演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"batteryDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "33406742-ceb3-3833-c0a5-ae7e3a82811f", + "appName": "电池演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "batteryDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/buttonDemo/e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json b/ComDemoApplication/buttonDemo/e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json index e01f183..80bffba 100644 --- a/ComDemoApplication/buttonDemo/e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json +++ b/ComDemoApplication/buttonDemo/e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"e8527fe8-e246-c133-75a5-b6d2abb3fd3c", - "appName":"按钮演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"buttonDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "e8527fe8-e246-c133-75a5-b6d2abb3fd3c", + "appName": "按钮演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "buttonDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/checkBoxDemo/ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json b/ComDemoApplication/checkBoxDemo/ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json index 583c4a4..5e79799 100644 --- a/ComDemoApplication/checkBoxDemo/ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json +++ b/ComDemoApplication/checkBoxDemo/ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"ca63b371-bd0a-77c2-adfa-10bc57a63e4b", - "appName":"复选演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"checkBoxDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "ca63b371-bd0a-77c2-adfa-10bc57a63e4b", + "appName": "复选演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "checkBoxDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/comboxDemo/2084e4fb-a01d-4404-b515-956c095f042c.json b/ComDemoApplication/comboxDemo/2084e4fb-a01d-4404-b515-956c095f042c.json index 5c32d9f..664d3ba 100644 --- a/ComDemoApplication/comboxDemo/2084e4fb-a01d-4404-b515-956c095f042c.json +++ b/ComDemoApplication/comboxDemo/2084e4fb-a01d-4404-b515-956c095f042c.json @@ -1,26 +1,22 @@ { - "static":{ - "appID":"2084e4fb-a01d-4404-b515-956c095f042c", - "appName":"下拉框演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"comboxDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" - }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - ], - "lib":[ + "appID": "2084e4fb-a01d-4404-b515-956c095f042c", + "appName": "下拉框演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "comboxDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" + }, + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ "./lib" - ], - "start":"./start.sh" - } - } - \ No newline at end of file + ], + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/flexLayoutDemo/ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json b/ComDemoApplication/flexLayoutDemo/ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json index 7280dfd..3b908e9 100644 --- a/ComDemoApplication/flexLayoutDemo/ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json +++ b/ComDemoApplication/flexLayoutDemo/ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"ec71147b-b8c7-8db7-b46b-916a5c30b2b9", - "appName":"弹性布局", - "organization":"", - "Version":"1.0.0", - "appexecName":"flexLayoutDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "ec71147b-b8c7-8db7-b46b-916a5c30b2b9", + "appName": "弹性布局", + "organization": "", + "Version": "1.0.0", + "appexecName": "flexLayoutDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/labelDemo/fb1412cf-84de-4138-b401-215b6e9b1c11.json b/ComDemoApplication/labelDemo/fb1412cf-84de-4138-b401-215b6e9b1c11.json index 738ae90..5e4d9ef 100644 --- a/ComDemoApplication/labelDemo/fb1412cf-84de-4138-b401-215b6e9b1c11.json +++ b/ComDemoApplication/labelDemo/fb1412cf-84de-4138-b401-215b6e9b1c11.json @@ -1,25 +1,22 @@ { - "static":{ - "appID":"fb1412cf-84de-4138-b401-215b6e9b1c11", - "appName":"Label演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"labelDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" + "appID": "fb1412cf-84de-4138-b401-215b6e9b1c11", + "appName": "Label演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "labelDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ + "./lib" ], - "lib":[ - "./lib" - ], - "start":"./start.sh" - } -} + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/progressBarDemo/de288e32-9a68-40c9-81fa-e57609c226e0.json b/ComDemoApplication/progressBarDemo/de288e32-9a68-40c9-81fa-e57609c226e0.json index f315753..f9966b4 100644 --- a/ComDemoApplication/progressBarDemo/de288e32-9a68-40c9-81fa-e57609c226e0.json +++ b/ComDemoApplication/progressBarDemo/de288e32-9a68-40c9-81fa-e57609c226e0.json @@ -1,26 +1,22 @@ { - "static":{ - "appID":"de288e32-9a68-40c9-81fa-e57609c226e0", - "appName":"进度条演示", - "organization":"", - "Version":"1.0.0", - "appexecName":"progressBarDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" - }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - ], - "lib":[ + "appID": "de288e32-9a68-40c9-81fa-e57609c226e0", + "appName": "进度条演示", + "organization": "", + "Version": "1.0.0", + "appexecName": "progressBarDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" + }, + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ "./lib" - ], - "start":"./start.sh" - } - } - \ No newline at end of file + ], + "start": "./start.sh" +} \ No newline at end of file diff --git a/ComDemoApplication/sliderDemo/bee1bc99-c541-45b4-b3be-2f00145f8106.json b/ComDemoApplication/sliderDemo/bee1bc99-c541-45b4-b3be-2f00145f8106.json index 9b2b7d2..23ff623 100644 --- a/ComDemoApplication/sliderDemo/bee1bc99-c541-45b4-b3be-2f00145f8106.json +++ b/ComDemoApplication/sliderDemo/bee1bc99-c541-45b4-b3be-2f00145f8106.json @@ -1,26 +1,22 @@ { - "static":{ - "appID":"bee1bc99-c541-45b4-b3be-2f00145f8106", - "appName":"滑动条", - "organization":"", - "Version":"1.0.0", - "appexecName":"sliderDemo", - "Architecture":"amd64", - "Section":"", - "Priority":"", - "Essential":"", - "Author":{ - "name":"Chingan", - "email":"2111956539@qq.com" - }, - "Provides":"", - "icon":"./res/icon.png", - "depend":[ - ], - "lib":[ + "appID": "bee1bc99-c541-45b4-b3be-2f00145f8106", + "appName": "滑动条", + "organization": "", + "Version": "1.0.0", + "appexecName": "sliderDemo", + "Architecture": "amd64", + "Section": "", + "Priority": "", + "Essential": "", + "Author": { + "name": "Chingan", + "email": "2111956539@qq.com" + }, + "Provides": "", + "icon": "./res/icon.png", + "depend": [], + "lib": [ "./lib" - ], - "start":"./start.sh" - } - } - \ No newline at end of file + ], + "start": "./start.sh" +} \ No newline at end of file -- Gitee From 3c623bd33132e8e2a15c82b7fd45536bed411d05 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 9 Sep 2025 18:21:37 +0800 Subject: [PATCH 13/36] =?UTF-8?q?feat():=20=E7=BB=9F=E4=B8=80=E6=89=80?= =?UTF-8?q?=E6=9C=89=E4=BA=8B=E4=BB=B6=E7=B1=BB=E5=90=8D=E6=A0=87=E5=87=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/calendar/src/mainWindowService.cpp | 4 ++-- Application/calendar/src/mainWindowService.h | 4 ++-- Application/deskTop/src/DeskScreen.cpp | 4 ++-- Application/deskTop/src/DeskScreen.h | 4 ++-- Application/deskTop/src/ToolBar/appSettingBar.cpp | 2 +- Application/deskTop/src/ToolBar/appSettingBar.h | 4 ++-- Application/deskTop/src/ToolBar/bottomBar.cpp | 4 ++-- Application/deskTop/src/ToolBar/bottomBar.h | 4 ++-- Application/deskTop/src/ToolBar/navigationBar.cpp | 6 +++--- Application/deskTop/src/ToolBar/navigationBar.h | 6 +++--- Application/deskTop/src/ToolBar/powerManage.cpp | 2 +- Application/deskTop/src/ToolBar/powerManage.h | 2 +- Application/deskTop/src/ToolBar/topBar.cpp | 4 ++-- Application/deskTop/src/ToolBar/topBar.h | 4 ++-- Application/deskTop/src/mainAppScrollPanel.cpp | 2 +- Application/deskTop/src/mainAppScrollPanel.h | 2 +- Application/deskTop/src/toolModule/desktopAppButton.cpp | 4 ++-- Application/deskTop/src/toolModule/desktopAppButton.h | 4 ++-- Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp | 2 +- Application/deskTop/src/toolWindow/appOperateMaskWindow.h | 2 +- Application/deskTop/src/toolWindow/appPreviewWidget.cpp | 2 +- Application/deskTop/src/toolWindow/appPreviewWidget.h | 2 +- Application/deskTop/src/toolWindow/appTaskManageWindow.cpp | 4 ++-- Application/deskTop/src/toolWindow/appTaskManageWindow.h | 4 ++-- Application/deskTop/src/toolWindow/sysLockWindow.cpp | 2 +- Application/deskTop/src/toolWindow/sysLockWindow.h | 2 +- .../fileManagement/src/browserToolWindow/listFileItem.cpp | 2 +- .../fileManagement/src/browserToolWindow/listFileItem.h | 2 +- .../fileManagement/src/browserToolWindow/settingWindow.cpp | 2 +- .../fileManagement/src/browserToolWindow/settingWindow.h | 2 +- Application/fileManagement/src/mainWindowService.cpp | 4 ++-- Application/fileManagement/src/mainWindowService.h | 4 ++-- .../src/recentlyToolWindow/pressPopWindow.cpp | 2 +- .../fileManagement/src/recentlyToolWindow/pressPopWindow.h | 2 +- Application/fileManagement/src/sonWindow/browseWindow.cpp | 2 +- Application/fileManagement/src/sonWindow/browseWindow.h | 2 +- .../fileManagement/src/toolWindow/diskDeviceCheckBox.cpp | 4 ++-- .../fileManagement/src/toolWindow/diskDeviceCheckBox.h | 4 ++-- Application/mediaPlayer/src/ToolBar/bottomBar.cpp | 2 +- Application/mediaPlayer/src/ToolBar/bottomBar.h | 2 +- Application/mediaPlayer/src/ToolBar/topBar.cpp | 2 +- Application/mediaPlayer/src/ToolBar/topBar.h | 2 +- Application/mediaPlayer/src/mainWindowService.cpp | 4 ++-- Application/mediaPlayer/src/mainWindowService.h | 4 ++-- Application/photoAlbum/src/mainWindowService.cpp | 4 ++-- Application/photoAlbum/src/mainWindowService.h | 4 ++-- Application/systemSettings/src/mainWindowService.cpp | 4 ++-- Application/systemSettings/src/mainWindowService.h | 4 ++-- .../src/settingWindow/InternetSettingWindow.cpp | 2 +- .../src/settingWindow/InternetSettingWindow.h | 2 +- .../src/settingWindow/bluetoothSettingWindow.cpp | 2 +- .../src/settingWindow/bluetoothSettingWindow.h | 2 +- ComDemoApplication/animationDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/animationDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/batteryDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/batteryDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/buttonDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/buttonDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/checkBoxDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/comboxDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/comboxDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/flexLayoutDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/labelDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/labelDemo/src/mainWindowService.h | 4 ++-- .../progressBarDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/progressBarDemo/src/mainWindowService.h | 4 ++-- ComDemoApplication/sliderDemo/src/mainWindowService.cpp | 4 ++-- ComDemoApplication/sliderDemo/src/mainWindowService.h | 4 ++-- 70 files changed, 115 insertions(+), 115 deletions(-) diff --git a/Application/calendar/src/mainWindowService.cpp b/Application/calendar/src/mainWindowService.cpp index 8d4f59d..5d037bb 100644 --- a/Application/calendar/src/mainWindowService.cpp +++ b/Application/calendar/src/mainWindowService.cpp @@ -21,14 +21,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/Application/calendar/src/mainWindowService.h b/Application/calendar/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/Application/calendar/src/mainWindowService.h +++ b/Application/calendar/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index 27e381a..3da7dc0 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -185,7 +185,7 @@ bool DeskScreen::appChange(int32_t id, int32_t pid, int32_t visible, int32_t act return true; } -bool DeskScreen::onActiveEvent(TpObjectActiveEvent *event) +bool DeskScreen::onActiveEvent(TpActiveEvent *event) { std::cout << "DeskScreen::onActiveEvent " << std::endl; @@ -273,7 +273,7 @@ bool DeskScreen::onMouseMoveEvent(TpMouseEvent *event) return false; } -bool DeskScreen::onLeaveEvent(TpObjectLeaveEvent *event) +bool DeskScreen::onLeaveEvent(TpLeaveEvent *event) { // if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) // { diff --git a/Application/deskTop/src/DeskScreen.h b/Application/deskTop/src/DeskScreen.h index 20fb89f..3f3e2a1 100644 --- a/Application/deskTop/src/DeskScreen.h +++ b/Application/deskTop/src/DeskScreen.h @@ -56,13 +56,13 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require); public: - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; virtual bool eventFilter(TpObject *watched, TpEvent *event) override; diff --git a/Application/deskTop/src/ToolBar/appSettingBar.cpp b/Application/deskTop/src/ToolBar/appSettingBar.cpp index f17ee4f..e9bac0d 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.cpp +++ b/Application/deskTop/src/ToolBar/appSettingBar.cpp @@ -158,7 +158,7 @@ bool appSettingBar::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool appSettingBar::onResizeEvent(TpObjectResizeEvent *event) +bool appSettingBar::onResizeEvent(TpResizeEvent *event) { resizeOperatorBtn(); diff --git a/Application/deskTop/src/ToolBar/appSettingBar.h b/Application/deskTop/src/ToolBar/appSettingBar.h index af51a2f..d27bcc0 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.h +++ b/Application/deskTop/src/ToolBar/appSettingBar.h @@ -33,9 +33,9 @@ protected: virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - // virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + // virtual bool onLeaveEvent(TpLeaveEvent *event) override; - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: // 点击切换蓝牙状态按钮 diff --git a/Application/deskTop/src/ToolBar/bottomBar.cpp b/Application/deskTop/src/ToolBar/bottomBar.cpp index 46cbac4..a05a432 100644 --- a/Application/deskTop/src/ToolBar/bottomBar.cpp +++ b/Application/deskTop/src/ToolBar/bottomBar.cpp @@ -63,12 +63,12 @@ void bottomBar::removeApp(desktopAppButton *removeBtn) } } -bool bottomBar::onResizeEvent(TpObjectResizeEvent *event) +bool bottomBar::onResizeEvent(TpResizeEvent *event) { return true; } -bool bottomBar::onMoveEvent(TpObjectMoveEvent *event) +bool bottomBar::onMoveEvent(TpMoveEvent *event) { caculateBottomAppPos(); diff --git a/Application/deskTop/src/ToolBar/bottomBar.h b/Application/deskTop/src/ToolBar/bottomBar.h index 2bdcb01..b5203be 100644 --- a/Application/deskTop/src/ToolBar/bottomBar.h +++ b/Application/deskTop/src/ToolBar/bottomBar.h @@ -27,8 +27,8 @@ public: void removeApp(desktopAppButton* removeBtn); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; - virtual bool onMoveEvent(TpObjectMoveEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; + virtual bool onMoveEvent(TpMoveEvent *event) override; virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp index 5013eb5..4b49694 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -35,7 +35,7 @@ void navigationBar::setColor(const int32_t &appColor) { } -bool navigationBar::onResizeEvent(TpObjectResizeEvent *event) +bool navigationBar::onResizeEvent(TpResizeEvent *event) { int32_t lienY = (height() - lineLabel_->height()) / 2.0; lineLabel_->move(0, lienY); @@ -139,12 +139,12 @@ bool navigationBar::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool navigationBar::onLeaveEvent(TpObjectLeaveEvent *event) +bool navigationBar::onLeaveEvent(TpLeaveEvent *event) { return true; } -bool navigationBar::onPaintEvent(TpObjectPaintEvent *event) +bool navigationBar::onPaintEvent(TpPaintEvent *event) { TpDialog::onPaintEvent(event); return true; diff --git a/Application/deskTop/src/ToolBar/navigationBar.h b/Application/deskTop/src/ToolBar/navigationBar.h index c5b931b..6e65663 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.h +++ b/Application/deskTop/src/ToolBar/navigationBar.h @@ -22,12 +22,12 @@ public: void setColor(const int32_t &appColor); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: diff --git a/Application/deskTop/src/ToolBar/powerManage.cpp b/Application/deskTop/src/ToolBar/powerManage.cpp index 4766f7d..a7ec17a 100644 --- a/Application/deskTop/src/ToolBar/powerManage.cpp +++ b/Application/deskTop/src/ToolBar/powerManage.cpp @@ -58,7 +58,7 @@ bool powerManage::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool powerManage::onResizeEvent(TpObjectResizeEvent *event) +bool powerManage::onResizeEvent(TpResizeEvent *event) { return true; } diff --git a/Application/deskTop/src/ToolBar/powerManage.h b/Application/deskTop/src/ToolBar/powerManage.h index 42a82e8..fd385d9 100644 --- a/Application/deskTop/src/ToolBar/powerManage.h +++ b/Application/deskTop/src/ToolBar/powerManage.h @@ -16,7 +16,7 @@ protected: virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: // void slotPowerOff(bool checked); diff --git a/Application/deskTop/src/ToolBar/topBar.cpp b/Application/deskTop/src/ToolBar/topBar.cpp index fadb4d4..661bc14 100644 --- a/Application/deskTop/src/ToolBar/topBar.cpp +++ b/Application/deskTop/src/ToolBar/topBar.cpp @@ -98,7 +98,7 @@ void topBar::setColor(const int32_t &appColor) { } -bool topBar::onResizeEvent(TpObjectResizeEvent *event) +bool topBar::onResizeEvent(TpResizeEvent *event) { caculateTopAppPos(); @@ -126,7 +126,7 @@ bool topBar::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool topBar::onLeaveEvent(TpObjectLeaveEvent *event) +bool topBar::onLeaveEvent(TpLeaveEvent *event) { if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) { diff --git a/Application/deskTop/src/ToolBar/topBar.h b/Application/deskTop/src/ToolBar/topBar.h index af0a878..454c48f 100644 --- a/Application/deskTop/src/ToolBar/topBar.h +++ b/Application/deskTop/src/ToolBar/topBar.h @@ -25,14 +25,14 @@ public: // 其余函数和数据自定义 protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: void caculateTopAppPos(); diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/deskTop/src/mainAppScrollPanel.cpp index 30bbc42..5f37239 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/deskTop/src/mainAppScrollPanel.cpp @@ -212,7 +212,7 @@ bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool mainAppScrollPanel::onLeaveEvent(TpObjectLeaveEvent *event) +bool mainAppScrollPanel::onLeaveEvent(TpLeaveEvent *event) { if (!event->leave()) { diff --git a/Application/deskTop/src/mainAppScrollPanel.h b/Application/deskTop/src/mainAppScrollPanel.h index 472cf68..ef2fc06 100644 --- a/Application/deskTop/src/mainAppScrollPanel.h +++ b/Application/deskTop/src/mainAppScrollPanel.h @@ -36,7 +36,7 @@ protected: virtual bool onWheelEvent(TpWheelEvent *event) override; virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: bool mouseLeftPress_; diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index a7d23cc..fa17073 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -36,7 +36,7 @@ void desktopAppButton::setInstallProgress(const uint32_t &progress) hollowWidget_->setVisible(true); } -bool desktopAppButton::onResizeEvent(TpObjectResizeEvent *event) +bool desktopAppButton::onResizeEvent(TpResizeEvent *event) { TpIconTopButton::onResizeEvent(event); @@ -59,7 +59,7 @@ void hollowWidget::setInstallProgress(const uint32_t &progress) installProgress_ = progress; } -bool hollowWidget::onPaintEvent(TpObjectPaintEvent *event) +bool hollowWidget::onPaintEvent(TpPaintEvent *event) { TpChildWidget::onPaintEvent(event); diff --git a/Application/deskTop/src/toolModule/desktopAppButton.h b/Application/deskTop/src/toolModule/desktopAppButton.h index 14aa1c9..3ea688a 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.h +++ b/Application/deskTop/src/toolModule/desktopAppButton.h @@ -27,7 +27,7 @@ public: void setInstallProgress(const uint32_t &progress); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: hollowWidget *hollowWidget_; @@ -44,7 +44,7 @@ public: void setInstallProgress(const uint32_t &progress); protected: - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; private: uint32_t installProgress_; diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index 96bdeb3..c236281 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -25,7 +25,7 @@ bool appOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool appOperateMaskWindow::onPaintEvent(TpObjectPaintEvent *event) +bool appOperateMaskWindow::onPaintEvent(TpPaintEvent *event) { TpCanvas *painter = event->canvas(); diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h index 61d67ad..441c8df 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.h @@ -23,7 +23,7 @@ public: protected: virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; private: TpRect appRect_; diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index ba055e5..dd69f99 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -121,7 +121,7 @@ bool appPreviewWidget::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool appPreviewWidget::onLeaveEvent(TpObjectLeaveEvent *event) +bool appPreviewWidget::onLeaveEvent(TpLeaveEvent *event) { return true; } diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index d5a527e..772791e 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -53,7 +53,7 @@ protected: virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: void init(); diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index afd4c1b..dd374fc 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -174,7 +174,7 @@ bool appTaskManageWindow::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool appTaskManageWindow::onResizeEvent(TpObjectResizeEvent *event) +bool appTaskManageWindow::onResizeEvent(TpResizeEvent *event) { taskScrollPanel_->setRect(0, 0, width(), height() - topBottomMargin - clearAllBtn_->height()); @@ -188,7 +188,7 @@ bool appTaskManageWindow::onResizeEvent(TpObjectResizeEvent *event) return true; } -bool appTaskManageWindow::onLeaveEvent(TpObjectLeaveEvent *event) +bool appTaskManageWindow::onLeaveEvent(TpLeaveEvent *event) { return true; } diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.h b/Application/deskTop/src/toolWindow/appTaskManageWindow.h index 6debdcd..c3a6e7f 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.h +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.h @@ -32,9 +32,9 @@ protected: virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: // 清理所有应用 diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/deskTop/src/toolWindow/sysLockWindow.cpp index da30e7f..fb90d1b 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/deskTop/src/toolWindow/sysLockWindow.cpp @@ -107,7 +107,7 @@ bool sysLockWindow::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool sysLockWindow::onLeaveEvent(TpObjectLeaveEvent *event) +bool sysLockWindow::onLeaveEvent(TpLeaveEvent *event) { // if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) // { diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.h b/Application/deskTop/src/toolWindow/sysLockWindow.h index af2fb4d..1330cfc 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.h +++ b/Application/deskTop/src/toolWindow/sysLockWindow.h @@ -27,7 +27,7 @@ protected: virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpObjectLeaveEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: void initUi(); diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp index 448ef85..1731595 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp @@ -163,7 +163,7 @@ bool listFileItem::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool listFileItem::onResizeEvent(TpObjectResizeEvent *event) +bool listFileItem::onResizeEvent(TpResizeEvent *event) { TpChildWidget::onResizeEvent(event); diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.h b/Application/fileManagement/src/browserToolWindow/listFileItem.h index 41e8798..92ea25d 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.h +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.h @@ -37,7 +37,7 @@ signals: protected: virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; virtual bool eventFilter(TpObject *watched, TpEvent *event) override; private: diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp index ecbb41f..d620af3 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp @@ -33,7 +33,7 @@ void settingWindow::setVisible(bool visible) } } -bool settingWindow::onPaintEvent(TpObjectPaintEvent *event) +bool settingWindow::onPaintEvent(TpPaintEvent *event) { TpDialog::onPaintEvent(event); return true; diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.h b/Application/fileManagement/src/browserToolWindow/settingWindow.h index 8ecf68f..f54bb15 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.h +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.h @@ -30,7 +30,7 @@ signals: declare_signal(onChangeViewMode, uint32_t); protected: - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; private: diff --git a/Application/fileManagement/src/mainWindowService.cpp b/Application/fileManagement/src/mainWindowService.cpp index 703ddf7..bfc5618 100644 --- a/Application/fileManagement/src/mainWindowService.cpp +++ b/Application/fileManagement/src/mainWindowService.cpp @@ -41,7 +41,7 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "mainWindowService::onResizeEvent" << std::endl; @@ -50,7 +50,7 @@ bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "mainWindowService::onActiveEvent" << std::endl; diff --git a/Application/fileManagement/src/mainWindowService.h b/Application/fileManagement/src/mainWindowService.h index 1cc4bf8..3248b1f 100644 --- a/Application/fileManagement/src/mainWindowService.h +++ b/Application/fileManagement/src/mainWindowService.h @@ -17,9 +17,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; private: // 路径切换事件,根据路径切换树节点的选中 diff --git a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp index a481d82..c286ea7 100644 --- a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp +++ b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.cpp @@ -62,7 +62,7 @@ void pressPopWindow::init() buttonList_.emplace_back(moreSelectBtn_); } -bool pressPopWindow::onResizeEvent(TpObjectResizeEvent *event) +bool pressPopWindow::onResizeEvent(TpResizeEvent *event) { TpDialog::onResizeEvent(event); diff --git a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h index 84b8e30..bdfe43f 100644 --- a/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h +++ b/Application/fileManagement/src/recentlyToolWindow/pressPopWindow.h @@ -23,7 +23,7 @@ private: void init(); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; virtual bool eventFilter(TpObject *watched, TpEvent *event) override; diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index d7e8ce9..4d6a22a 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -108,7 +108,7 @@ void browseWindow::setVisible(bool visible) } } -bool browseWindow::onPaintEvent(TpObjectPaintEvent *event) +bool browseWindow::onPaintEvent(TpPaintEvent *event) { TpChildWidget::onPaintEvent(event); diff --git a/Application/fileManagement/src/sonWindow/browseWindow.h b/Application/fileManagement/src/sonWindow/browseWindow.h index 1033d03..a5cfd1b 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.h +++ b/Application/fileManagement/src/sonWindow/browseWindow.h @@ -28,7 +28,7 @@ public: virtual void setVisible(bool visible = true) override; protected: - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; private: void init(); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index f99e4c5..7af7ec6 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -47,13 +47,13 @@ bool diskDeviceCheckBox::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool diskDeviceCheckBox::onResizeEvent(TpObjectResizeEvent *event) +bool diskDeviceCheckBox::onResizeEvent(TpResizeEvent *event) { TpChildWidget::onResizeEvent(event); return true; } -bool diskDeviceCheckBox::onPaintEvent(TpObjectPaintEvent *event) +bool diskDeviceCheckBox::onPaintEvent(TpPaintEvent *event) { TpChildWidget::onPaintEvent(event); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h index df33128..3c0e7c3 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.h @@ -36,9 +36,9 @@ protected: virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onPaintEvent(TpObjectPaintEvent *event) override; + virtual bool onPaintEvent(TpPaintEvent *event) override; virtual bool eventFilter(TpObject *watched, TpEvent *event) override; diff --git a/Application/mediaPlayer/src/ToolBar/bottomBar.cpp b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp index 5f07179..61c91f9 100644 --- a/Application/mediaPlayer/src/ToolBar/bottomBar.cpp +++ b/Application/mediaPlayer/src/ToolBar/bottomBar.cpp @@ -35,7 +35,7 @@ bottomBar::~bottomBar() { } -bool bottomBar::onResizeEvent(TpObjectResizeEvent *event) +bool bottomBar::onResizeEvent(TpResizeEvent *event) { TpDialog::onResizeEvent(event); diff --git a/Application/mediaPlayer/src/ToolBar/bottomBar.h b/Application/mediaPlayer/src/ToolBar/bottomBar.h index 31e5eb1..faa0423 100644 --- a/Application/mediaPlayer/src/ToolBar/bottomBar.h +++ b/Application/mediaPlayer/src/ToolBar/bottomBar.h @@ -39,7 +39,7 @@ signals: declare_signal(switchSpeed, int32_t); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: // 切换倍速 diff --git a/Application/mediaPlayer/src/ToolBar/topBar.cpp b/Application/mediaPlayer/src/ToolBar/topBar.cpp index c7b7b5e..9ada4eb 100644 --- a/Application/mediaPlayer/src/ToolBar/topBar.cpp +++ b/Application/mediaPlayer/src/ToolBar/topBar.cpp @@ -38,7 +38,7 @@ void topBar::setBackBtnVisible(const bool &visible) closeMediaBtn_->setVisible(visible); } -bool topBar::onResizeEvent(TpObjectResizeEvent *event) +bool topBar::onResizeEvent(TpResizeEvent *event) { TpDialog::onResizeEvent(event); diff --git a/Application/mediaPlayer/src/ToolBar/topBar.h b/Application/mediaPlayer/src/ToolBar/topBar.h index 7e69265..e962998 100644 --- a/Application/mediaPlayer/src/ToolBar/topBar.h +++ b/Application/mediaPlayer/src/ToolBar/topBar.h @@ -18,7 +18,7 @@ public: void setBackBtnVisible(const bool &visible); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: // 关闭媒体播放器,返回上一级应用 diff --git a/Application/mediaPlayer/src/mainWindowService.cpp b/Application/mediaPlayer/src/mainWindowService.cpp index 8352255..f898078 100644 --- a/Application/mediaPlayer/src/mainWindowService.cpp +++ b/Application/mediaPlayer/src/mainWindowService.cpp @@ -126,14 +126,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "mainWindowService::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "mainWindowService::onActiveEvent" << std::endl; diff --git a/Application/mediaPlayer/src/mainWindowService.h b/Application/mediaPlayer/src/mainWindowService.h index 5c5e846..0cf4c66 100644 --- a/Application/mediaPlayer/src/mainWindowService.h +++ b/Application/mediaPlayer/src/mainWindowService.h @@ -36,9 +36,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; private: // 定时器更新播放进度 diff --git a/Application/photoAlbum/src/mainWindowService.cpp b/Application/photoAlbum/src/mainWindowService.cpp index 48eed75..96423d2 100644 --- a/Application/photoAlbum/src/mainWindowService.cpp +++ b/Application/photoAlbum/src/mainWindowService.cpp @@ -21,14 +21,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/Application/photoAlbum/src/mainWindowService.h b/Application/photoAlbum/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/Application/photoAlbum/src/mainWindowService.h +++ b/Application/photoAlbum/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/Application/systemSettings/src/mainWindowService.cpp b/Application/systemSettings/src/mainWindowService.cpp index a33a647..60b31aa 100644 --- a/Application/systemSettings/src/mainWindowService.cpp +++ b/Application/systemSettings/src/mainWindowService.cpp @@ -40,14 +40,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/Application/systemSettings/src/mainWindowService.h b/Application/systemSettings/src/mainWindowService.h index b740877..e84b069 100644 --- a/Application/systemSettings/src/mainWindowService.h +++ b/Application/systemSettings/src/mainWindowService.h @@ -22,9 +22,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; private: void slotClickMenuItem(TpMenuPanelItem *deviceBtn); diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp index 7ede5a3..52ee653 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp @@ -31,7 +31,7 @@ void InternetSettingWindow::refreshData() } } -bool InternetSettingWindow::onResizeEvent(TpObjectResizeEvent *event) +bool InternetSettingWindow::onResizeEvent(TpResizeEvent *event) { return true; } diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h index d82f9d3..f88d940 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h @@ -19,7 +19,7 @@ public: virtual void refreshData() override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: // 点击保存IPV4配置数据 diff --git a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp index 1e2e391..bff4c05 100644 --- a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp @@ -10,7 +10,7 @@ bluetoothSettingWindow::~bluetoothSettingWindow() { } -bool bluetoothSettingWindow::onResizeEvent(TpObjectResizeEvent *event) +bool bluetoothSettingWindow::onResizeEvent(TpResizeEvent *event) { return true; } diff --git a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h index 16c6ad9..0f9030f 100644 --- a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h +++ b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.h @@ -14,7 +14,7 @@ public: virtual ~bluetoothSettingWindow(); protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: void initUi(); diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.cpp b/ComDemoApplication/animationDemo/src/mainWindowService.cpp index 33c3b0b..7bafd37 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/animationDemo/src/mainWindowService.cpp @@ -183,14 +183,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.h b/ComDemoApplication/animationDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.h +++ b/ComDemoApplication/animationDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/batteryDemo/src/mainWindowService.cpp b/ComDemoApplication/batteryDemo/src/mainWindowService.cpp index 64c3241..8b2af8e 100644 --- a/ComDemoApplication/batteryDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/batteryDemo/src/mainWindowService.cpp @@ -48,14 +48,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/batteryDemo/src/mainWindowService.h b/ComDemoApplication/batteryDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/batteryDemo/src/mainWindowService.h +++ b/ComDemoApplication/batteryDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/buttonDemo/src/mainWindowService.cpp b/ComDemoApplication/buttonDemo/src/mainWindowService.cpp index e832214..b125c0a 100644 --- a/ComDemoApplication/buttonDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/buttonDemo/src/mainWindowService.cpp @@ -43,14 +43,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/buttonDemo/src/mainWindowService.h b/ComDemoApplication/buttonDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/buttonDemo/src/mainWindowService.h +++ b/ComDemoApplication/buttonDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp index 8ed784a..ecd6a27 100644 --- a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp @@ -32,14 +32,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/checkBoxDemo/src/mainWindowService.h b/ComDemoApplication/checkBoxDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/checkBoxDemo/src/mainWindowService.h +++ b/ComDemoApplication/checkBoxDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/comboxDemo/src/mainWindowService.cpp b/ComDemoApplication/comboxDemo/src/mainWindowService.cpp index 08b69c1..0cde96b 100644 --- a/ComDemoApplication/comboxDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/comboxDemo/src/mainWindowService.cpp @@ -28,14 +28,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/comboxDemo/src/mainWindowService.h b/ComDemoApplication/comboxDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/comboxDemo/src/mainWindowService.h +++ b/ComDemoApplication/comboxDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp index 5582407..e0c0c5a 100644 --- a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.cpp @@ -64,14 +64,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h +++ b/ComDemoApplication/flexLayoutDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.cpp b/ComDemoApplication/labelDemo/src/mainWindowService.cpp index f02a953..c18cd34 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/labelDemo/src/mainWindowService.cpp @@ -98,14 +98,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.h b/ComDemoApplication/labelDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.h +++ b/ComDemoApplication/labelDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp b/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp index 5c5839e..1c5368a 100644 --- a/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/progressBarDemo/src/mainWindowService.cpp @@ -30,14 +30,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/progressBarDemo/src/mainWindowService.h b/ComDemoApplication/progressBarDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/progressBarDemo/src/mainWindowService.h +++ b/ComDemoApplication/progressBarDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file diff --git a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp index d00e07b..98c665a 100644 --- a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp @@ -51,14 +51,14 @@ bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int3 return true; } -bool mainWindowService::onResizeEvent(TpObjectResizeEvent *event) +bool mainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpObjectActiveEvent *event) +bool mainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/sliderDemo/src/mainWindowService.h b/ComDemoApplication/sliderDemo/src/mainWindowService.h index baf7c9f..3d9739f 100644 --- a/ComDemoApplication/sliderDemo/src/mainWindowService.h +++ b/ComDemoApplication/sliderDemo/src/mainWindowService.h @@ -14,9 +14,9 @@ public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; protected: - virtual bool onResizeEvent(TpObjectResizeEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; - virtual bool onActiveEvent(TpObjectActiveEvent *event) override; + virtual bool onActiveEvent(TpActiveEvent *event) override; }; #endif \ No newline at end of file -- Gitee From bf8605b7710fb1e6572bb8058957610188d13d60 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 10 Sep 2025 11:14:50 +0800 Subject: [PATCH 14/36] =?UTF-8?q?feat():=20=E7=A7=BB=E9=99=A4=E5=BA=9F?= =?UTF-8?q?=E5=BC=83=E5=BA=93=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/calendar/CMakeLists.txt | 2 +- Application/fileManagement/CMakeLists.txt | 2 +- Application/mediaPlayer/CMakeLists.txt | 2 +- Application/photoAlbum/CMakeLists.txt | 2 +- Application/systemSettings/CMakeLists.txt | 2 +- ComDemoApplication/animationDemo/CMakeLists.txt | 2 +- ComDemoApplication/batteryDemo/CMakeLists.txt | 2 +- ComDemoApplication/buttonDemo/CMakeLists.txt | 2 +- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 2 +- ComDemoApplication/comboxDemo/CMakeLists.txt | 2 +- ComDemoApplication/flexLayoutDemo/CMakeLists.txt | 2 +- ComDemoApplication/labelDemo/CMakeLists.txt | 2 +- ComDemoApplication/progressBarDemo/CMakeLists.txt | 2 +- ComDemoApplication/sliderDemo/CMakeLists.txt | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index 41b0c88..e1a7232 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -44,7 +44,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(calendar pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index 7cd0243..e902309 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -68,7 +68,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(fileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(fileManagement pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL) # 包含共享模块 diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index f1effb5..3b85352 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -52,7 +52,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(mediaPlayer ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(mediaPlayer pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(mediaPlayer pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index becdb20..c126cef 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(photoAlbum ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(photoAlbum pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(photoAlbum pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index 30dae76..8242b2c 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -53,7 +53,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(systemSettings ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(systemSettings pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(systemSettings pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index b88d749..71d4bc1 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(animationDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(animationDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(animationDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index 5defbfa..e6d13f2 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(batteryDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(batteryDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(batteryDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index 4acf568..8ace015 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(buttonDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(buttonDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(buttonDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index ff743f2..9207fbf 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(checkBoxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(checkBoxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(checkBoxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index d9f95dc..8d77ae0 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -44,7 +44,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(comboxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(comboxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(comboxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index bd48049..a548d7e 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -45,7 +45,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(flexLayoutDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(flexLayoutDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(flexLayoutDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index aece314..a1a6e2a 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(labelDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(labelDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(labelDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index 5f51757..496a9ac 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(progressBarDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(progressBarDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(progressBarDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index f3dd86b..79c54d8 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -50,7 +50,7 @@ include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) add_executable(sliderDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(sliderDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils PiXDesktopGUI +target_link_libraries(sliderDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) # 包含共享模块 -- Gitee From 686b3b44b5297b4de00437c1d0e83d7f7a52b565 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Thu, 11 Sep 2025 11:53:32 +0800 Subject: [PATCH 15/36] =?UTF-8?q?feat():=20=E6=B7=BB=E5=8A=A0=E7=94=BB?= =?UTF-8?q?=E7=AC=94=E7=94=BB=E5=88=B7=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/ToolBar/navigationBar.cpp | 2 +- .../deskTop/src/toolModule/desktopAppButton.cpp | 14 +++++++++----- .../src/toolWindow/appOperateMaskWindow.cpp | 11 +++++++---- .../fileManagement/src/sonWindow/browseWindow.cpp | 10 ++++++---- .../src/toolWindow/diskDeviceCheckBox.cpp | 4 ++-- 5 files changed, 25 insertions(+), 16 deletions(-) diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp index 4b49694..c39e88e 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -1,5 +1,5 @@ #include "navigationBar.h" -#include "TpCanvas.h" +#include "TpPainter.h" #include "TpDisplay.h" #include "TpAnimation.h" #include "deskTopGlobal.hpp" diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index fa17073..8963460 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -1,5 +1,5 @@ #include "desktopAppButton.h" -#include "TpCanvas.h" +#include "TpPainter.h" desktopAppButton::desktopAppButton(TpChildWidget *parent) : TpIconTopButton(parent) @@ -64,17 +64,21 @@ bool hollowWidget::onPaintEvent(TpPaintEvent *event) TpChildWidget::onPaintEvent(event); // 应用正在安装中;根据安装进度绘制遮罩层 - TpCanvas *painter = event->canvas(); + TpPainter *painter = event->canvas(); - HollowMask hollowMaskData; - HollowMask::PieHollow pieHollowData; + TpHollowMask hollowMaskData; + TpHollowMask::PieHollow pieHollowData; pieHollowData.x = width() / 2.0; pieHollowData.y = height() / 2.0; pieHollowData.start = 0; pieHollowData.end = 360.0 * installProgress_ / 100; pieHollowData.radius = (width() / 2.0) - 3; hollowMaskData.addPieHollow(pieHollowData); - painter->roundedBox(0, 0, width(), width(), roundCorners(), _RGBA(0, 0, 0, 125), hollowMaskData); + + painter->setPen(_RGBA(0, 0, 0, 125)); + painter->setBrush(TpBrush(_RGBA(0, 0, 0, 125))); + + painter->drawRect(0, 0, width(), width(), roundCorners(), hollowMaskData); return true; } \ No newline at end of file diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index c236281..ba6f9eb 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -1,5 +1,5 @@ #include "appOperateMaskWindow.h" -#include "TpCanvas.h" +#include "TpPainter.h" appOperateMaskWindow::appOperateMaskWindow() : TpDialog() @@ -27,12 +27,15 @@ bool appOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) bool appOperateMaskWindow::onPaintEvent(TpPaintEvent *event) { - TpCanvas *painter = event->canvas(); + TpPainter *painter = event->canvas(); - HollowMask hollowData; + TpHollowMask hollowData; hollowData.addRectHollow(appRect_, roundCorners_); // painter->hollowBox(0, 0, width(), height(), _RGBA(255, 255, 255, 204), hollowData); - painter->box(0, 0, width(), height(), _RGB(255, 255, 255), hollowData); + + painter->setPen(_RGB(255, 255, 255)); + painter->setBrush(TpBrush(_RGB(255, 255, 255))); + painter->drawRect(0, 0, width(), height(), 0, hollowData); return true; } diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index 4d6a22a..6b33d9f 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -2,7 +2,7 @@ #include "TpHBoxLayout.h" #include "TpVBoxLayout.h" #include "TpDisplay.h" -#include "TpCanvas.h" +#include "TpPainter.h" #include "fileManagementGlobal.h" static const TpString ITEM_PATH_TYPE = "FastPath"; @@ -113,10 +113,12 @@ bool browseWindow::onPaintEvent(TpPaintEvent *event) TpChildWidget::onPaintEvent(event); // 绘制左侧菜单滚动区域的底色 - TpCanvas *paintCanvas = event->canvas(); + TpPainter *paintCanvas = event->canvas(); - // paintCanvas->box(mainScrollPanel_->width(), 0, mainScrollPanel_->width(), height(), _RGB(255, 255, 255)); - paintCanvas->box(0, 0, fileListWindow_->pos().x(), height(), _RGB(248, 248, 248)); + paintCanvas->setPen( _RGB(248, 248, 248)); + paintCanvas->setBrush(TpBrush( _RGB(248, 248, 248))); + + paintCanvas->drawRect(0, 0, fileListWindow_->pos().x(), height()); // paintCanvas->box(0, 0, fileListWindow_->pos().x()(), height(), _RGB(0, 0, 248)); // 绘制分割线 diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index 7af7ec6..08ad3a0 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -2,7 +2,7 @@ #include "TpHBoxLayout.h" #include "TpDisplay.h" #include "TpFont.h" -#include "TpCanvas.h" +#include "TpPainter.h" #include "TpLine.h" #include "TpEvent.h" @@ -66,7 +66,7 @@ bool diskDeviceCheckBox::onPaintEvent(TpPaintEvent *event) iconLabel_->setBackGroundImage(normalIcon_); } - // TpCanvas *paintCanvas = event->canvas(); + // TpPainter *paintCanvas = event->canvas(); // 在name和space中间画一个竖线 // std::cout << "spaceLabel_->pos().x()() " << spaceLabel_->pos().x()() << std::endl; -- Gitee From 9348155b0a835bc626733d948fd6085fa2b5d4f6 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Mon, 15 Sep 2025 17:06:48 +0800 Subject: [PATCH 16/36] =?UTF-8?q?feat():=20=E6=9B=B4=E6=96=B0=E7=BB=98?= =?UTF-8?q?=E5=9B=BE=E4=BA=8B=E4=BB=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/toolModule/desktopAppButton.cpp | 2 +- Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp | 2 +- Application/fileManagement/src/sonWindow/browseWindow.cpp | 2 +- .../fileManagement/src/toolWindow/diskDeviceCheckBox.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/deskTop/src/toolModule/desktopAppButton.cpp index 8963460..c50516d 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/deskTop/src/toolModule/desktopAppButton.cpp @@ -64,7 +64,7 @@ bool hollowWidget::onPaintEvent(TpPaintEvent *event) TpChildWidget::onPaintEvent(event); // 应用正在安装中;根据安装进度绘制遮罩层 - TpPainter *painter = event->canvas(); + TpPainter *painter = event->painter(); TpHollowMask hollowMaskData; TpHollowMask::PieHollow pieHollowData; diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp index ba6f9eb..b3c224e 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp @@ -27,7 +27,7 @@ bool appOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) bool appOperateMaskWindow::onPaintEvent(TpPaintEvent *event) { - TpPainter *painter = event->canvas(); + TpPainter *painter = event->painter(); TpHollowMask hollowData; hollowData.addRectHollow(appRect_, roundCorners_); diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index 6b33d9f..739f92a 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -113,7 +113,7 @@ bool browseWindow::onPaintEvent(TpPaintEvent *event) TpChildWidget::onPaintEvent(event); // 绘制左侧菜单滚动区域的底色 - TpPainter *paintCanvas = event->canvas(); + TpPainter *paintCanvas = event->painter(); paintCanvas->setPen( _RGB(248, 248, 248)); paintCanvas->setBrush(TpBrush( _RGB(248, 248, 248))); diff --git a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp index 08ad3a0..edada98 100644 --- a/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp +++ b/Application/fileManagement/src/toolWindow/diskDeviceCheckBox.cpp @@ -66,7 +66,7 @@ bool diskDeviceCheckBox::onPaintEvent(TpPaintEvent *event) iconLabel_->setBackGroundImage(normalIcon_); } - // TpPainter *paintCanvas = event->canvas(); + // TpPainter *paintCanvas = event->painter(); // 在name和space中间画一个竖线 // std::cout << "spaceLabel_->pos().x()() " << spaceLabel_->pos().x()() << std::endl; -- Gitee From d6a6e38ac7014b61728548eeacdd1bb84cfa8898 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 17 Sep 2025 11:06:02 +0800 Subject: [PATCH 17/36] =?UTF-8?q?feat():=20=E6=9B=B4=E6=96=B0=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=BA=93=E4=BE=9D=E8=B5=96=EF=BC=8C=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E4=B8=8D=E9=9C=80=E8=A6=81=E7=9A=84=E5=BC=95=E5=85=A5?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 29 +++++++-------- Application/calendar/CMakeLists.txt | 25 ++++--------- Application/deskTop/CMakeLists.txt | 37 +++++++------------ Application/fileManagement/CMakeLists.txt | 25 ++++--------- Application/mediaPlayer/CMakeLists.txt | 25 ++++--------- Application/photoAlbum/CMakeLists.txt | 24 ++++-------- Application/systemSettings/CMakeLists.txt | 24 ++++-------- .../animationDemo/CMakeLists.txt | 25 ++++--------- ComDemoApplication/batteryDemo/CMakeLists.txt | 25 ++++--------- ComDemoApplication/buttonDemo/CMakeLists.txt | 25 ++++--------- .../checkBoxDemo/CMakeLists.txt | 25 ++++--------- ComDemoApplication/comboxDemo/CMakeLists.txt | 25 ++++--------- .../flexLayoutDemo/CMakeLists.txt | 25 ++++--------- ComDemoApplication/labelDemo/CMakeLists.txt | 25 ++++--------- .../progressBarDemo/CMakeLists.txt | 25 ++++--------- ComDemoApplication/sliderDemo/CMakeLists.txt | 25 ++++--------- 16 files changed, 138 insertions(+), 276 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index a3091f2..12820cf 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -12,25 +12,24 @@ "${fileDirname}/${fileBasenameNoExtension}", "-I/usr/include", "-I/usr/include/PiXWM", - "-I/usr/include/SDL2", + "-I/usr/include/", "-I/usr/include/tinyPiX", - "-I/usr/include/tinyPiX/Utils", - "-I/usr/include/tinyPiX/ExternUtils", - "-I/usr/include/tinyPiX/SingleGUI", - "-I/usr/include/tinyPiX/SingleGUI/Core", - "-I/usr/include/tinyPiX/SingleGUI/Screen", - "-I/usr/include/tinyPiX/SingleGUI/Widgets", - "-I/usr/include/tinyPiX/SingleGUI/Core", + "-I/usr/include/tinyPiX/TpUtils", + "-I/usr/include/tinyPiX/TpExtUtils", + "-I/usr/include/tinyPiX/TpGui", + "-I/usr/include/tinyPiX/TpGui/Core", + "-I/usr/include/tinyPiX/TpGui/Screen", + "-I/usr/include/tinyPiX/TpGui/Widgets", + "-I/usr/include/tinyPiX/TpGui/Core", "-I.", "-I/usr/include/freetype2", - "-I/usr/include/cairo", - "-I/usr/include/pango-1.0", + "-I/usr/include/", + "-I/usr/include/", "-I/usr/include/harfbuzz", - "-I/usr/include/glib-2.0", - "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include", - "-I/usr/include/SDL2", - "-I../tinyPiXCore/src/include/Utils/base", - "-I../tinyPiXCore/src/include/Utils", + "-I/usr/include/", + "-I/usr/include/", + "-I../tinyPiXCore/src/include/TpUtils/base", + "-I../tinyPiXCore/src/include/TpUtils", "-I../tinyPiXCore/src/include_p/Api", "-I../tinyPiXCore/src/include_p/Api/base", "-I./engine", diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index e1a7232..64c0304 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -25,27 +25,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(calendar pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index 258e7bd..e453f42 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -38,21 +38,12 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/PiXWM) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) # 添加动态库目标 # add_library(PiXDesktop SHARED ${SOURCE_FILES}) @@ -65,14 +56,14 @@ add_executable(PiXDesktop ${SOURCE_FILES}) link_directories("/usr/lib") # 将pthread库链接到可执行目标 -target_link_libraries(PiXDesktop dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 - glib-2.0 - pangocairo-1.0 - fontconfig - freetype - gbm - GLESv2 - EGL +target_link_libraries(PiXDesktop dl pthread PiXApi TpGui TpUtils TpExtUtils + + + + + + + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index e902309..afad0b6 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -49,27 +49,18 @@ include_directories(${SOURCE_PATH}/sonWindow) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(fileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL) +target_link_libraries(fileManagement pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 3b85352..6d39b00 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -33,27 +33,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(mediaPlayer ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(mediaPlayer pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(mediaPlayer pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index c126cef..d32bcad 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -31,27 +31,17 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(photoAlbum ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(photoAlbum pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(photoAlbum pthread dl pthread PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index 8242b2c..e561079 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -34,27 +34,17 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(systemSettings ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(systemSettings pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(systemSettings pthread dl pthread PiXApi TpGui TpUtils TpExtUtils) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index 71d4bc1..95008ad 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(animationDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(animationDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(animationDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index e6d13f2..a6b8ad0 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(batteryDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(batteryDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(batteryDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index 8ace015..db93523 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(buttonDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(buttonDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(buttonDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index 9207fbf..7dec446 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(checkBoxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(checkBoxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(checkBoxDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index 8d77ae0..2e227e6 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -25,27 +25,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(comboxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(comboxDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(comboxDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index a548d7e..9c083ed 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -26,27 +26,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(flexLayoutDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(flexLayoutDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(flexLayoutDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index a1a6e2a..3bf8987 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(labelDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(labelDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(labelDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index 496a9ac..5a781a3 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(progressBarDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(progressBarDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(progressBarDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 79c54d8..3066b8a 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -31,27 +31,18 @@ include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/Api) -include_directories(/usr/include/tinyPiX/Utils) -include_directories(/usr/include/tinyPiX/ExternUtils) -include_directories(/usr/include/tinyPiX/SingleGUI) -include_directories(/usr/include/tinyPiX/SingleGUI/Core) -include_directories(/usr/include/tinyPiX/SingleGUI/Screen) -include_directories(/usr/include/tinyPiX/SingleGUI/Widgets) -include_directories(/usr/include/tinyPiX/GUIFramework) -include_directories(/usr/include/SDL2) -include_directories(/usr/include/freetype2) -include_directories(/usr/include/cairo) -include_directories(/usr/include/pango-1.0) -include_directories(/usr/include/harfbuzz) -include_directories(/usr/include/glib-2.0) -include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include) +include_directories(/usr/include/tinyPiX/TpUtils) +include_directories(/usr/include/tinyPiX/TpExtUtils) +include_directories(/usr/include/tinyPiX/TpGui) +include_directories(/usr/include/tinyPiX/TpGui/Core) +include_directories(/usr/include/tinyPiX/TpGui/Screen) +include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(sliderDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(sliderDemo pthread dl pthread PiXApi PiXSingleGUI PiXUtils PiXExternUtils - SDL2 SDL2_image SDL2_gfx cairo pango-1.0 gobject-2.0 glib-2.0 pangocairo-1.0 fontconfig freetype gbm GLESv2 EGL ) +target_link_libraries(sliderDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils + ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) -- Gitee From 583c837754686c74d8a0d6657ea9a70195770ad7 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 17 Sep 2025 11:08:27 +0800 Subject: [PATCH 18/36] =?UTF-8?q?feat():=20=E7=B2=BE=E7=AE=80cmake?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/calendar/CMakeLists.txt | 2 +- Application/deskTop/CMakeLists.txt | 2 +- Application/fileManagement/CMakeLists.txt | 2 +- Application/mediaPlayer/CMakeLists.txt | 2 +- Application/photoAlbum/CMakeLists.txt | 2 +- Application/systemSettings/CMakeLists.txt | 2 +- ComDemoApplication/animationDemo/CMakeLists.txt | 2 +- ComDemoApplication/batteryDemo/CMakeLists.txt | 2 +- ComDemoApplication/buttonDemo/CMakeLists.txt | 2 +- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 2 +- ComDemoApplication/comboxDemo/CMakeLists.txt | 2 +- ComDemoApplication/flexLayoutDemo/CMakeLists.txt | 2 +- ComDemoApplication/labelDemo/CMakeLists.txt | 2 +- ComDemoApplication/progressBarDemo/CMakeLists.txt | 2 +- ComDemoApplication/sliderDemo/CMakeLists.txt | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index 64c0304..afe30a6 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -35,7 +35,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(calendar PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index e453f42..3779df0 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -56,7 +56,7 @@ add_executable(PiXDesktop ${SOURCE_FILES}) link_directories("/usr/lib") # 将pthread库链接到可执行目标 -target_link_libraries(PiXDesktop dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(PiXDesktop PiXApi TpGui TpUtils TpExtUtils diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index afad0b6..608b4f0 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -59,7 +59,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(fileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(fileManagement PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 6d39b00..ff9b676 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -43,7 +43,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(mediaPlayer ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(mediaPlayer pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(mediaPlayer PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index d32bcad..3e2346a 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(photoAlbum ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(photoAlbum pthread dl pthread PiXApi TpGui TpUtils TpExtUtils ) +target_link_libraries(photoAlbum PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index e561079..5d15ee2 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -44,7 +44,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(systemSettings ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(systemSettings pthread dl pthread PiXApi TpGui TpUtils TpExtUtils) +target_link_libraries(systemSettings PiXApi TpGui TpUtils TpExtUtils) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index 95008ad..0093e57 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(animationDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(animationDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(animationDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index a6b8ad0..f3979b2 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(batteryDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(batteryDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(batteryDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index db93523..6dc3ae6 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(buttonDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(buttonDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(buttonDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index 7dec446..3114e07 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(checkBoxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(checkBoxDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(checkBoxDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index 2e227e6..63786b5 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -35,7 +35,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(comboxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(comboxDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(comboxDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index 9c083ed..0000918 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -36,7 +36,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(flexLayoutDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(flexLayoutDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(flexLayoutDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index 3bf8987..5ffbe4c 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(labelDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(labelDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(labelDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index 5a781a3..862bb10 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(progressBarDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(progressBarDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(progressBarDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 3066b8a..6789cf0 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/tinyPiX/TpGui/Widgets) add_executable(sliderDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(sliderDemo pthread dl pthread PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(sliderDemo PiXApi TpGui TpUtils TpExtUtils ) # 包含共享模块 -- Gitee From b63ca9db5c181a487cae6df3bad128c7391520c0 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 17 Sep 2025 16:22:24 +0800 Subject: [PATCH 19/36] =?UTF-8?q?feat():=20=E6=9B=B4=E6=96=B0=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84UI=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/browserToolWindow/settingWindow.cpp | 4 ++-- .../src/browserToolWindow/settingWindow.h | 6 +++--- .../src/settingWindow/InternetSettingWindow.cpp | 16 ++++++++-------- .../src/settingWindow/InternetSettingWindow.h | 6 +++--- .../checkBoxDemo/src/mainWindowService.cpp | 8 ++++---- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp index d620af3..12e59a8 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.cpp +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.cpp @@ -86,14 +86,14 @@ void settingWindow::init() viewCbx_->addItem("列表模式"); TpLabel *filterLabel = createContentLabel("筛选"); - filterCbxGroup_ = new TpListCheckBoxGroup(); + filterCbxGroup_ = new TpListWidget(); filterCbxGroup_->addItem("文件名称"); filterCbxGroup_->addItem("文件大小"); filterCbxGroup_->addItem("修改时间"); filterCbxGroup_->addItem("文件类型"); TpLabel *sortLabel = createContentLabel("排序"); - sortCbxGroup_ = new TpListCheckBoxGroup(); + sortCbxGroup_ = new TpListWidget(); sortCbxGroup_->addItem("正序"); sortCbxGroup_->addItem("倒序"); diff --git a/Application/fileManagement/src/browserToolWindow/settingWindow.h b/Application/fileManagement/src/browserToolWindow/settingWindow.h index f54bb15..4d01523 100644 --- a/Application/fileManagement/src/browserToolWindow/settingWindow.h +++ b/Application/fileManagement/src/browserToolWindow/settingWindow.h @@ -10,7 +10,7 @@ #include "TpScrollPanel.h" #include "TpEvent.h" #include "TpButton.h" -#include "TpListCheckBoxGroup.h" +#include "TpListWidget.h" #include "TpComBox.h" #include "TpLabel.h" @@ -48,10 +48,10 @@ private: TpComBox *viewCbx_; // 筛选条件单选组 - TpListCheckBoxGroup *filterCbxGroup_; + TpListWidget *filterCbxGroup_; // 排序条件单选组 - TpListCheckBoxGroup *sortCbxGroup_; + TpListWidget *sortCbxGroup_; }; #endif \ No newline at end of file diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp index 52ee653..93d55e6 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp @@ -21,10 +21,10 @@ void InternetSettingWindow::refreshData() for (const auto &internetDevice : internetDeviceList) { // std::cout << "网卡名称:" << internetDevice.getName() << std::endl; - TpListCheckBoxGroupItem *curItem = netDeviceListCbx_->addItem(internetDevice.getName()); + TpListWidgetItem *curItem = netDeviceListCbx_->addItem(internetDevice.getName()); } - TpListCheckBoxGroupItem *curSelectItem = netDeviceListCbx_->currentItem().front(); + TpListWidgetItem *curSelectItem = netDeviceListCbx_->currentItem().front(); if (curSelectItem) { refreshNetDeviceInfo(curSelectItem->text()); @@ -38,14 +38,14 @@ bool InternetSettingWindow::onResizeEvent(TpResizeEvent *event) void InternetSettingWindow::slotSaveIpv4Config(bool) { - TpVector selectItemList = netDeviceListCbx_->currentItem(); + TpVector selectItemList = netDeviceListCbx_->currentItem(); if (selectItemList.size() == 0) { TpMessageBox::information("未选择网卡!"); return; } - TpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); + TpListWidgetItem *curSelectItem = selectItemList.front(); if (!curSelectItem) return; @@ -106,14 +106,14 @@ void InternetSettingWindow::slotSaveIpv4Config(bool) void InternetSettingWindow::slotSaveDnsConfig(bool) { - TpVector selectItemList = netDeviceListCbx_->currentItem(); + TpVector selectItemList = netDeviceListCbx_->currentItem(); if (selectItemList.size() == 0) { TpMessageBox::information("未选择网卡!"); return; } - TpListCheckBoxGroupItem *curSelectItem = selectItemList.front(); + TpListWidgetItem *curSelectItem = selectItemList.front(); if (!curSelectItem) return; @@ -151,7 +151,7 @@ void InternetSettingWindow::slotSaveDnsConfig(bool) curNetInterface.setDns(autoDnseBtn_->onOff() ? TP_TRUE : TP_FALSE, dnsList); } -void InternetSettingWindow::slotSwitchNetDevice(TpListCheckBoxGroupItem *item) +void InternetSettingWindow::slotSwitchNetDevice(TpListWidgetItem *item) { if (!item) return; @@ -171,7 +171,7 @@ void InternetSettingWindow::initUi() selectNetDeviceTitle->installEventFilter(this); // 网卡列表 - netDeviceListCbx_ = new TpListCheckBoxGroup(); + netDeviceListCbx_ = new TpListWidget(); netDeviceListCbx_->installEventFilter(this); connect(netDeviceListCbx_, onStatusChanged, this, &InternetSettingWindow::slotSwitchNetDevice); diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h index f88d940..5fc1c70 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.h +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.h @@ -4,7 +4,7 @@ #include "settingWindow/settingBase.h" #include "TpLineEdit.h" #include "systemSettingsGlobal.h" -#include "TpListCheckBoxGroup.h" +#include "TpListWidget.h" #include "TpMenuPanelWidget.h" #include "TpOnOffButton.h" @@ -29,7 +29,7 @@ private: void slotSaveDnsConfig(bool); // 切换网卡选择 - void slotSwitchNetDevice(TpListCheckBoxGroupItem* item); + void slotSwitchNetDevice(TpListWidgetItem* item); private: void initUi(); @@ -45,7 +45,7 @@ private: private: // 网卡列表单选组 - TpListCheckBoxGroup *netDeviceListCbx_; + TpListWidget *netDeviceListCbx_; // IPV4设置 TpMenuPanelWidget *ipv4ConfigPanel_; diff --git a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp index ecd6a27..30fdfe6 100644 --- a/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/checkBoxDemo/src/mainWindowService.cpp @@ -1,5 +1,5 @@ #include "mainWindowService.h" -#include "TpListCheckBoxGroup.h" +#include "TpListWidget.h" mainWindowService::mainWindowService() : TpFixScreen() @@ -8,14 +8,14 @@ mainWindowService::mainWindowService() setBackGroundColor(_RGB(128, 128, 128)); - TpListCheckBoxGroup *checkBoxGroup = new TpListCheckBoxGroup(this); + TpListWidget *checkBoxGroup = new TpListWidget(this); checkBoxGroup->addItem("测试1"); checkBoxGroup->addItem("测试2"); checkBoxGroup->addItem("测试3"); - checkBoxGroup->addItem(new TpListCheckBoxGroupItem("测试4")); - checkBoxGroup->addItem(new TpListCheckBoxGroupItem("测试5")); + checkBoxGroup->addItem(new TpListWidgetItem("测试4")); + checkBoxGroup->addItem(new TpListWidgetItem("测试5")); checkBoxGroup->move(15, 20); checkBoxGroup->update(); -- Gitee From 649183157d2d074179f157b933706a28a3be3bcf Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 17 Sep 2025 17:48:49 +0800 Subject: [PATCH 20/36] =?UTF-8?q?feat():=20=E7=A7=BB=E9=99=A4=E5=BA=9F?= =?UTF-8?q?=E5=BC=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 2 -- Application/deskTop/src/mainAppScrollPanel.cpp | 5 ----- 2 files changed, 7 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index 3da7dc0..bcccb59 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -787,8 +787,6 @@ void DeskScreen::refreshMainAppPanel() mainAppPanel_->move(0, MAIN_PANEL_TOP_DISTANCE + tHeight); mainAppPanel_->setScrollMode(!isLandscapeScreen_); - mainAppPanel_->setHorizontalScrollBarVisible(false); - mainAppPanel_->setVerticalScrollBarVisible(false); mainAppPanel_->recal(true); mainAppPanel_->update(); diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/deskTop/src/mainAppScrollPanel.cpp index 5f37239..f9b7276 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/deskTop/src/mainAppScrollPanel.cpp @@ -202,11 +202,6 @@ bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) setHorizontalPostion(curScrollValue); - // scrollMode() ? setVerticalScrollBarValue(curScrollValue) : setHorizontalScrollBarValue(curScrollValue); - - // std::cout << "Move event->globalPos().X: " << event->globalPos().x() << " event->globalPos().y(): " << event->globalPos().y() << std::endl; - - // return TpScrollPanel::onMouseMoveEvent(event); } return true; -- Gitee From ce6ce695813f640fec468eec3274007ebaa1fd3f Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Fri, 19 Sep 2025 10:04:40 +0800 Subject: [PATCH 21/36] =?UTF-8?q?feat():=20=E6=9B=B4=E6=96=B0=E5=BC=95?= =?UTF-8?q?=E7=94=A8=E5=BA=93=E5=92=8C=E5=BC=95=E7=94=A8=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 18 +++++++++--------- Application/calendar/CMakeLists.txt | 16 ++++++++-------- Application/deskTop/CMakeLists.txt | 16 ++++++++-------- .../deskTop/src/toolWindow/sysLockWindow.cpp | 2 +- Application/fileManagement/CMakeLists.txt | 16 ++++++++-------- .../src/browserToolWindow/listFileItem.cpp | 2 +- Application/mediaPlayer/CMakeLists.txt | 16 ++++++++-------- Application/photoAlbum/CMakeLists.txt | 16 ++++++++-------- Application/systemSettings/CMakeLists.txt | 16 ++++++++-------- .../settingWindow/InternetSettingWindow.cpp | 10 +++++----- .../settingWindow/bluetoothSettingWindow.cpp | 2 +- .../animationDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/batteryDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/buttonDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/comboxDemo/CMakeLists.txt | 16 ++++++++-------- .../flexLayoutDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/labelDemo/CMakeLists.txt | 16 ++++++++-------- .../labelDemo/src/mainWindowService.cpp | 4 ++-- .../progressBarDemo/CMakeLists.txt | 16 ++++++++-------- ComDemoApplication/sliderDemo/CMakeLists.txt | 16 ++++++++-------- .../sliderDemo/src/mainWindowService.cpp | 2 +- 22 files changed, 140 insertions(+), 140 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 12820cf..e65b363 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -13,14 +13,14 @@ "-I/usr/include", "-I/usr/include/PiXWM", "-I/usr/include/", - "-I/usr/include/tinyPiX", - "-I/usr/include/tinyPiX/TpUtils", - "-I/usr/include/tinyPiX/TpExtUtils", - "-I/usr/include/tinyPiX/TpGui", - "-I/usr/include/tinyPiX/TpGui/Core", - "-I/usr/include/tinyPiX/TpGui/Screen", - "-I/usr/include/tinyPiX/TpGui/Widgets", - "-I/usr/include/tinyPiX/TpGui/Core", + "-I/usr/include/TinyPiX", + "-I/usr/include/TinyPiX/TpUtils", + "-I/usr/include/TinyPiX/TpExtUtils", + "-I/usr/include/TinyPiX/TpGUI", + "-I/usr/include/TinyPiX/TpGUI/Core", + "-I/usr/include/TinyPiX/TpGUI/Screen", + "-I/usr/include/TinyPiX/TpGUI/Widgets", + "-I/usr/include/TinyPiX/TpGUI/Core", "-I.", "-I/usr/include/freetype2", "-I/usr/include/", @@ -39,7 +39,7 @@ "-lpthread", "-DTP_USE_SDL2", "-DENABLE_LOGO", - "-L/usr/lib/tinyPiX", + "-L/usr/lib/TinyPiX", "-ldl", "-lpthread", "-lSDL2", diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index afe30a6..73b1167 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -24,18 +24,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(calendar PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index 3779df0..173c6ab 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -37,13 +37,13 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) # 添加动态库目标 # add_library(PiXDesktop SHARED ${SOURCE_FILES}) @@ -56,7 +56,7 @@ add_executable(PiXDesktop ${SOURCE_FILES}) link_directories("/usr/lib") # 将pthread库链接到可执行目标 -target_link_libraries(PiXDesktop PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(PiXDesktop PiXApi TpGUI TpUtils TpExtUtils diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/deskTop/src/toolWindow/sysLockWindow.cpp index fb90d1b..bcd2cb5 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/deskTop/src/toolWindow/sysLockWindow.cpp @@ -149,7 +149,7 @@ void sysLockWindow::initUi() systemNameLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); systemNameLabel_->font()->setFontSize(50); systemNameLabel_->font()->setFontStyle(TINY_FONT_BOLD); - systemNameLabel_->setText("tinyPiX OS"); + systemNameLabel_->setText("TinyPiX OS"); welcomeLabel_ = new TpLabel(this); welcomeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index 608b4f0..acf9e66 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -48,18 +48,18 @@ include_directories(${SOURCE_PATH}) include_directories(${SOURCE_PATH}/sonWindow) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(fileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(fileManagement PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp index 1731595..8f55ffd 100644 --- a/Application/fileManagement/src/browserToolWindow/listFileItem.cpp +++ b/Application/fileManagement/src/browserToolWindow/listFileItem.cpp @@ -36,7 +36,7 @@ TpString parseFileSuffix(const TpString &suffix, const bool &isDir) TpString parseIconPath(const TpString &suffix, const bool &isDir) { - TpString resPath = "/usr/res/tinyPiX/fileIcon/"; + TpString resPath = "/usr/res/TinyPiX/fileIcon/"; // return resPath + "pdf.png"; diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index ff9b676..3fd8ef2 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -32,18 +32,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(mediaPlayer ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(mediaPlayer PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(mediaPlayer PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index 3e2346a..dfd2a70 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(photoAlbum ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(photoAlbum PiXApi TpGui TpUtils TpExtUtils ) +target_link_libraries(photoAlbum PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index 5d15ee2..500548a 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -33,18 +33,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(systemSettings ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(systemSettings PiXApi TpGui TpUtils TpExtUtils) +target_link_libraries(systemSettings PiXApi TpGUI TpUtils TpExtUtils) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp index 93d55e6..5507aaf 100644 --- a/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/InternetSettingWindow.cpp @@ -240,7 +240,7 @@ void InternetSettingWindow::configIpv4Panel() ipAddrEdit_ = new TpLineEdit(); ipAddrEdit_->setPlaceholderText("请输入"); ipAddrEdit_->setFixedSize(200, 30); - ipAddrEdit_->setAlign(tinyPiX::AlignRight); + ipAddrEdit_->setAlign(Tp::AlignRight); ipAddrItem->setCustomizeWidget(ipAddrEdit_); ipv4ConfigPanel_->addItem(ipAddrItem); @@ -249,7 +249,7 @@ void InternetSettingWindow::configIpv4Panel() maskEdit_ = new TpLineEdit(); maskEdit_->setPlaceholderText("请输入"); maskEdit_->setFixedSize(200, 30); - maskEdit_->setAlign(tinyPiX::AlignRight); + maskEdit_->setAlign(Tp::AlignRight); maskItem->setCustomizeWidget(maskEdit_); ipv4ConfigPanel_->addItem(maskItem); @@ -258,7 +258,7 @@ void InternetSettingWindow::configIpv4Panel() gatewayEdit_ = new TpLineEdit(); gatewayEdit_->setPlaceholderText("请输入"); gatewayEdit_->setFixedSize(200, 30); - gatewayEdit_->setAlign(tinyPiX::AlignRight); + gatewayEdit_->setAlign(Tp::AlignRight); gatewayItem->setCustomizeWidget(gatewayEdit_); ipv4ConfigPanel_->addItem(gatewayItem); } @@ -279,7 +279,7 @@ void InternetSettingWindow::configDnsPanel() firstDnsEdit_ = new TpLineEdit(); firstDnsEdit_->setPlaceholderText("请输入"); firstDnsEdit_->setFixedSize(200, 30); - firstDnsEdit_->setAlign(tinyPiX::AlignRight); + firstDnsEdit_->setAlign(Tp::AlignRight); firstDnsAddrItem->setCustomizeWidget(firstDnsEdit_); dnsConfigPanel_->addItem(firstDnsAddrItem); @@ -288,7 +288,7 @@ void InternetSettingWindow::configDnsPanel() secondDnsEdit_ = new TpLineEdit(); secondDnsEdit_->setPlaceholderText("请输入"); secondDnsEdit_->setFixedSize(200, 30); - secondDnsEdit_->setAlign(tinyPiX::AlignRight); + secondDnsEdit_->setAlign(Tp::AlignRight); secondDnsItem->setCustomizeWidget(secondDnsEdit_); dnsConfigPanel_->addItem(secondDnsItem); } diff --git a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp index bff4c05..750deae 100644 --- a/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp +++ b/Application/systemSettings/src/settingWindow/bluetoothSettingWindow.cpp @@ -65,7 +65,7 @@ void bluetoothSettingWindow::configLocalDevicePanel() localDeviceNameEdit_->setText("tinyPix OS"); localDeviceNameEdit_->setPlaceholderText("请输入"); localDeviceNameEdit_->setFixedSize(200, 30); - // localDeviceNameEdit_->setAlign(tinyPiX::AlignRight); + // localDeviceNameEdit_->setAlign(Tp::AlignRight); deiveNameItem->setCustomizeWidget(localDeviceNameEdit_); lovalDevicePanel_->addItem(deiveNameItem); diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index 0093e57..e01c236 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(animationDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(animationDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(animationDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index f3979b2..59676fa 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(batteryDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(batteryDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(batteryDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index 6dc3ae6..fd5dba2 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(buttonDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(buttonDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(buttonDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index 3114e07..5c40f59 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(checkBoxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(checkBoxDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(checkBoxDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index 63786b5..ba6ef02 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -24,18 +24,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(comboxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(comboxDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(comboxDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index 0000918..7d17432 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -25,18 +25,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(flexLayoutDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(flexLayoutDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(flexLayoutDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index 5ffbe4c..caec46e 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(labelDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(labelDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(labelDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/labelDemo/src/mainWindowService.cpp b/ComDemoApplication/labelDemo/src/mainWindowService.cpp index c18cd34..bebef92 100644 --- a/ComDemoApplication/labelDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/labelDemo/src/mainWindowService.cpp @@ -23,7 +23,7 @@ mainWindowService::mainWindowService() label2->font()->setFontColor(_RGBA(0, 255, 0, 255), 0); label2->font()->setAntialias(TpFont::TINY_FONT_ANTIALIAS_GOOD); label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_ULTRALIGHT); - label2->setAlign(tinyPiX::AlignCenter); + label2->setAlign(Tp::AlignCenter); label2->setText("TINY_FONT_WEIGHT_ULTRALIGHT"); label2->setRect(0, 30, 250, 30); label2->setVisible(true); @@ -33,7 +33,7 @@ mainWindowService::mainWindowService() // label3->font()->setFontColor(_RGBA(0, 0, 255, 255), 0); label3->font()->setAntialias(TpFont::TINY_FONT_ANTIALIAS_GOOD); label1->font()->setFontWeight(TpFont::TINY_FONT_WEIGHT_LIGHT); - label3->setAlign(tinyPiX::AlignRight); + label3->setAlign(Tp::AlignRight); label3->setText("TINY_FONT_WEIGHT_LIGHT"); label3->setRect(0, 60, 250, 30); label3->setVisible(true); diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index 862bb10..bbeb7ae 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(progressBarDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(progressBarDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(progressBarDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 6789cf0..99aaab3 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -30,18 +30,18 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) include_directories(/usr/include/PiXWM) -include_directories(/usr/include/tinyPiX) -include_directories(/usr/include/tinyPiX/TpUtils) -include_directories(/usr/include/tinyPiX/TpExtUtils) -include_directories(/usr/include/tinyPiX/TpGui) -include_directories(/usr/include/tinyPiX/TpGui/Core) -include_directories(/usr/include/tinyPiX/TpGui/Screen) -include_directories(/usr/include/tinyPiX/TpGui/Widgets) +include_directories(/usr/include/TinyPiX) +include_directories(/usr/include/TinyPiX/TpUtils) +include_directories(/usr/include/TinyPiX/TpExtUtils) +include_directories(/usr/include/TinyPiX/TpGUI) +include_directories(/usr/include/TinyPiX/TpGUI/Core) +include_directories(/usr/include/TinyPiX/TpGUI/Screen) +include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(sliderDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(sliderDemo PiXApi TpGui TpUtils TpExtUtils +target_link_libraries(sliderDemo PiXApi TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp index 98c665a..eefb821 100644 --- a/ComDemoApplication/sliderDemo/src/mainWindowService.cpp +++ b/ComDemoApplication/sliderDemo/src/mainWindowService.cpp @@ -13,7 +13,7 @@ mainWindowService::mainWindowService() TpLabel *valueText = new TpLabel(this); valueText->setText(TpString::number(50)); - valueText->setAlign(tinyPiX::AlignCenter); + valueText->setAlign(Tp::AlignCenter); valueText->font()->setFontColor(_RGB(255, 255, 255),_RGB(255, 255, 255)); valueText->font()->setFontSize(30); valueText->setWidth(600); -- Gitee From de6fede168d92bbc9bdf16b55cd2aebd5b33be2c Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 23 Sep 2025 20:01:27 +0800 Subject: [PATCH 22/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9=E5=8C=85?= =?UTF-8?q?=E5=90=ABTpWm=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 2 +- Application/calendar/CMakeLists.txt | 2 +- Application/deskTop/CMakeLists.txt | 2 +- Application/fileManagement/CMakeLists.txt | 2 +- Application/mediaPlayer/CMakeLists.txt | 2 +- Application/photoAlbum/CMakeLists.txt | 2 +- Application/systemSettings/CMakeLists.txt | 2 +- ComDemoApplication/animationDemo/CMakeLists.txt | 2 +- ComDemoApplication/batteryDemo/CMakeLists.txt | 2 +- ComDemoApplication/buttonDemo/CMakeLists.txt | 2 +- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 2 +- ComDemoApplication/comboxDemo/CMakeLists.txt | 2 +- ComDemoApplication/flexLayoutDemo/CMakeLists.txt | 2 +- ComDemoApplication/labelDemo/CMakeLists.txt | 2 +- ComDemoApplication/progressBarDemo/CMakeLists.txt | 2 +- ComDemoApplication/sliderDemo/CMakeLists.txt | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e65b363..e9152cb 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -11,7 +11,7 @@ "-o", "${fileDirname}/${fileBasenameNoExtension}", "-I/usr/include", - "-I/usr/include/PiXWM", + "-I/usr/include/TpWM", "-I/usr/include/", "-I/usr/include/TinyPiX", "-I/usr/include/TinyPiX/TpUtils", diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index 73b1167..eb55687 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -23,7 +23,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index 173c6ab..9284f21 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -36,7 +36,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index acf9e66..bed8455 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -47,7 +47,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(${SOURCE_PATH}/sonWindow) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 3fd8ef2..31673d2 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -31,7 +31,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index dfd2a70..c4f8ba2 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index 500548a..bc1d013 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -32,7 +32,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index e01c236..a1f919a 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index 59676fa..3bc9502 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index fd5dba2..519fa7f 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index 5c40f59..495ccdd 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index ba6ef02..fd79830 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -23,7 +23,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index 7d17432..e2acd3c 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -24,7 +24,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index caec46e..734e34c 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index bbeb7ae..dc4066d 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 99aaab3..5a45702 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -29,7 +29,7 @@ set(SOURCE_FILES include_directories(${SOURCE_PATH}) include_directories(/usr/include) -include_directories(/usr/include/PiXWM) +include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) include_directories(/usr/include/TinyPiX/TpUtils) include_directories(/usr/include/TinyPiX/TpExtUtils) -- Gitee From f291fa88d143836910cbc9d820482703af385999 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Thu, 25 Sep 2025 11:10:07 +0800 Subject: [PATCH 23/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9cmake?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=BA=93=E5=90=8D=E7=A7=B0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 2 +- Application/calendar/CMakeLists.txt | 2 +- Application/deskTop/CMakeLists.txt | 2 +- Application/fileManagement/CMakeLists.txt | 2 +- Application/fileManagement/src/sonWindow/browseWindow.cpp | 1 + Application/mediaPlayer/CMakeLists.txt | 2 +- Application/photoAlbum/CMakeLists.txt | 2 +- Application/systemSettings/CMakeLists.txt | 2 +- ComDemoApplication/animationDemo/CMakeLists.txt | 2 +- ComDemoApplication/batteryDemo/CMakeLists.txt | 2 +- ComDemoApplication/buttonDemo/CMakeLists.txt | 2 +- ComDemoApplication/checkBoxDemo/CMakeLists.txt | 2 +- ComDemoApplication/comboxDemo/CMakeLists.txt | 2 +- ComDemoApplication/flexLayoutDemo/CMakeLists.txt | 2 +- ComDemoApplication/labelDemo/CMakeLists.txt | 2 +- ComDemoApplication/progressBarDemo/CMakeLists.txt | 2 +- ComDemoApplication/sliderDemo/CMakeLists.txt | 2 +- 17 files changed, 17 insertions(+), 16 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e9152cb..eb53cf1 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -58,7 +58,7 @@ "-lPiXUtils", "-lrime", "-lPiXSingleGUI", - "-lPiXApi", + "-lTpAPI", "-lPiXExternUtils" ], "options": { diff --git a/Application/calendar/CMakeLists.txt b/Application/calendar/CMakeLists.txt index eb55687..e11ebf5 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/calendar/CMakeLists.txt @@ -35,7 +35,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(calendar TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index 9284f21..a13d542 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -56,7 +56,7 @@ add_executable(PiXDesktop ${SOURCE_FILES}) link_directories("/usr/lib") # 将pthread库链接到可执行目标 -target_link_libraries(PiXDesktop PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(PiXDesktop TpAPI TpGUI TpUtils TpExtUtils diff --git a/Application/fileManagement/CMakeLists.txt b/Application/fileManagement/CMakeLists.txt index bed8455..72dd224 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/fileManagement/CMakeLists.txt @@ -59,7 +59,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(fileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(fileManagement TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/fileManagement/src/sonWindow/browseWindow.cpp b/Application/fileManagement/src/sonWindow/browseWindow.cpp index 739f92a..f6d6c6d 100644 --- a/Application/fileManagement/src/sonWindow/browseWindow.cpp +++ b/Application/fileManagement/src/sonWindow/browseWindow.cpp @@ -220,6 +220,7 @@ void browseWindow::init() fastScrollWidget->layout()->addWidget(musicTileBtn_); fastScrollWidget->layout()->addWidget(applicationTileBtn_); fastScrollWidget->layout()->setContentsMargins(0, 0, 0, 0); + // fastScrollWidget->setBackGroundColor(_RGB(255, 0, 0)); fastPathScroll_->setWidget(fastScrollWidget); // 来源 diff --git a/Application/mediaPlayer/CMakeLists.txt b/Application/mediaPlayer/CMakeLists.txt index 31673d2..75e54bc 100644 --- a/Application/mediaPlayer/CMakeLists.txt +++ b/Application/mediaPlayer/CMakeLists.txt @@ -43,7 +43,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(mediaPlayer ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(mediaPlayer PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(mediaPlayer TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/photoAlbum/CMakeLists.txt b/Application/photoAlbum/CMakeLists.txt index c4f8ba2..4b28d06 100644 --- a/Application/photoAlbum/CMakeLists.txt +++ b/Application/photoAlbum/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(photoAlbum ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(photoAlbum PiXApi TpGUI TpUtils TpExtUtils ) +target_link_libraries(photoAlbum TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/systemSettings/CMakeLists.txt b/Application/systemSettings/CMakeLists.txt index bc1d013..26a3e44 100644 --- a/Application/systemSettings/CMakeLists.txt +++ b/Application/systemSettings/CMakeLists.txt @@ -44,7 +44,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(systemSettings ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(systemSettings PiXApi TpGUI TpUtils TpExtUtils) +target_link_libraries(systemSettings TpAPI TpGUI TpUtils TpExtUtils) # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/ComDemoApplication/animationDemo/CMakeLists.txt b/ComDemoApplication/animationDemo/CMakeLists.txt index a1f919a..e273606 100644 --- a/ComDemoApplication/animationDemo/CMakeLists.txt +++ b/ComDemoApplication/animationDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(animationDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(animationDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(animationDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/batteryDemo/CMakeLists.txt b/ComDemoApplication/batteryDemo/CMakeLists.txt index 3bc9502..e499210 100644 --- a/ComDemoApplication/batteryDemo/CMakeLists.txt +++ b/ComDemoApplication/batteryDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(batteryDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(batteryDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(batteryDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/buttonDemo/CMakeLists.txt b/ComDemoApplication/buttonDemo/CMakeLists.txt index 519fa7f..1438ef1 100644 --- a/ComDemoApplication/buttonDemo/CMakeLists.txt +++ b/ComDemoApplication/buttonDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(buttonDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(buttonDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(buttonDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/checkBoxDemo/CMakeLists.txt b/ComDemoApplication/checkBoxDemo/CMakeLists.txt index 495ccdd..692e3f1 100644 --- a/ComDemoApplication/checkBoxDemo/CMakeLists.txt +++ b/ComDemoApplication/checkBoxDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(checkBoxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(checkBoxDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(checkBoxDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/comboxDemo/CMakeLists.txt b/ComDemoApplication/comboxDemo/CMakeLists.txt index fd79830..4eb2962 100644 --- a/ComDemoApplication/comboxDemo/CMakeLists.txt +++ b/ComDemoApplication/comboxDemo/CMakeLists.txt @@ -35,7 +35,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(comboxDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(comboxDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(comboxDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt index e2acd3c..d72a53f 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakeLists.txt +++ b/ComDemoApplication/flexLayoutDemo/CMakeLists.txt @@ -36,7 +36,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(flexLayoutDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(flexLayoutDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(flexLayoutDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/labelDemo/CMakeLists.txt b/ComDemoApplication/labelDemo/CMakeLists.txt index 734e34c..f01e4d0 100644 --- a/ComDemoApplication/labelDemo/CMakeLists.txt +++ b/ComDemoApplication/labelDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(labelDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(labelDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(labelDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/progressBarDemo/CMakeLists.txt b/ComDemoApplication/progressBarDemo/CMakeLists.txt index dc4066d..c25eb20 100644 --- a/ComDemoApplication/progressBarDemo/CMakeLists.txt +++ b/ComDemoApplication/progressBarDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(progressBarDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(progressBarDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(progressBarDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/ComDemoApplication/sliderDemo/CMakeLists.txt b/ComDemoApplication/sliderDemo/CMakeLists.txt index 5a45702..0734c45 100644 --- a/ComDemoApplication/sliderDemo/CMakeLists.txt +++ b/ComDemoApplication/sliderDemo/CMakeLists.txt @@ -41,7 +41,7 @@ include_directories(/usr/include/TinyPiX/TpGUI/Widgets) add_executable(sliderDemo ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(sliderDemo PiXApi TpGUI TpUtils TpExtUtils +target_link_libraries(sliderDemo TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 -- Gitee From 6db1183a8c9858f8ff290808dd1ca4e2b457782d Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Mon, 29 Sep 2025 18:39:09 +0800 Subject: [PATCH 24/36] =?UTF-8?q?feat():=20=E4=BC=98=E5=8C=96UI=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 15 +-- .../deskTop/src/ToolBar/navigationBar.cpp | 4 +- Application/deskTop/src/ToolBar/topBar.cpp | 117 +++++++----------- Application/deskTop/src/ToolBar/topBar.h | 56 ++++----- .../src/toolWindow/appTaskManageWindow.cpp | 10 +- 5 files changed, 80 insertions(+), 122 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index bcccb59..9211fb2 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -36,13 +36,8 @@ uint32_t globalAppMaxRow = 4; uint32_t globalAppMaxColumn = 6; uint32_t globalAppHInterval = 0; -static inline void BAR_SET_ATTRIB(TpChildWidget *vars, int32_t pop, int32_t x, int32_t y, int32_t width, int32_t height) +static inline void BAR_SET_ATTRIB(TpChildWidget *vars, int32_t x, int32_t y, int32_t width, int32_t height) { - if (pop) - { - height = 1; - } - vars->setRect(x, y, width, height); vars->setVisible(true); vars->update(); @@ -472,7 +467,7 @@ void DeskScreen::initData() } globalTopSettingBar_->setVisible(false); - topFloatBar_ = new topBar(this); + topFloatBar_ = new topBar(); if (topFloatBar_ == nullptr) { std::cout << "topbar init error!" << std::endl; @@ -815,11 +810,11 @@ void DeskScreen::refreshBar() bottomFloatBar_->setRoundCorners(13); - BAR_SET_ATTRIB(topFloatBar_, TpFixScreen::ITP_FULL_STYLE, 0, 0, width(), TOP_BAR_HEIGHT); - BAR_SET_ATTRIB(bottomFloatBar_, TpFixScreen::ITP_FULL_STYLE, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); + BAR_SET_ATTRIB(topFloatBar_, 0, 0, width(), TOP_BAR_HEIGHT); + BAR_SET_ATTRIB(bottomFloatBar_, bottomX, bottomY, BOTTOM_BAR_WIDTH, BOTTOM_BAR_HEIGHT); uint32_t navigationX = (width() - navigationFloatBar_->width()) / 2.0; - BAR_SET_ATTRIB(navigationFloatBar_, TpFixScreen::ITP_FULL_STYLE, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); + BAR_SET_ATTRIB(navigationFloatBar_, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); } desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName) diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp index c39e88e..76b9997 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -53,7 +53,7 @@ bool navigationBar::onMousePressEvent(TpMouseEvent *event) bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) { - std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; + // std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; TpPoint curPos = event->globalPos(); if (std::abs(curPos.x() - mousePressPoint_.x()) < 5 && std::abs(curPos.y() - mousePressPoint_.y()) < 5) { @@ -129,7 +129,7 @@ bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) bool navigationBar::onMouseMoveEvent(TpMouseEvent *event) { static int aaa = 0; - std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; + // std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; // if (event->state()) // { diff --git a/Application/deskTop/src/ToolBar/topBar.cpp b/Application/deskTop/src/ToolBar/topBar.cpp index 661bc14..eaea41f 100644 --- a/Application/deskTop/src/ToolBar/topBar.cpp +++ b/Application/deskTop/src/ToolBar/topBar.cpp @@ -18,23 +18,58 @@ bool globalSystemLockStatus = false; #define TOP_BAR_COLOR _RGBA(255, 255, 255, 0) #endif -topBar::topBar(TpScreen *topScreen) - : TpDialog("tinyPiX_SYS_Float_0531acbf04"), topScreen_(topScreen) +topBar::topBar() +// : TpDialog("tinyPiX_SYS_Float_0531acbf04") { - setEnabledBorderColor(false); setBackGroundColor(TOP_BAR_COLOR); - // setAlpha(50); - - this->construct(); + initUI(); } topBar::~topBar() { - this->destruction(); } -void topBar::construct() +void topBar::setColor(const int32_t &appColor) +{ +} + +bool topBar::onResizeEvent(TpResizeEvent *event) +{ + TpDialog::onResizeEvent(event); + + caculateTopAppPos(); + + // 刷新应用工具栏尺寸 + // if (appSettingBar_) + // appSettingBar_->resizeSettingBar(this); + + return true; +} + +bool topBar::onMousePressEvent(TpMouseEvent *event) +{ + TpDialog::onMousePressEvent(event); + + std::cout << "TopBar Press Pos ()" << event->globalPos().x() << " , " << event->globalPos().y() << std::endl; + + return true; +} + +bool topBar::onLeaveEvent(TpLeaveEvent *event) +{ + if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) + { + if (event->leave()) + { + update(); + } + } + + return true; +} + +void topBar::initUI() { sysTimeLabel_ = new TpLabel(this); sysTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); @@ -73,72 +108,6 @@ void topBar::construct() slotUpdateSystemTime(); } -void topBar::destruction() -{ -} - -void topBar::setVisible(bool visible) -{ - // 隐藏topbar内部控件 - sysDateLabel_->setVisible(visible); - sysTimeLabel_->setVisible(visible); - - // 蓝牙和网络连接状态 - wifiLabel_->setVisible(visible); - blueToothLabel_->setVisible(visible); - - // 电量显示窗 - elecBattery_->setVisible(visible); - - // TpDialog::setVisible(visible); - update(); -} - -void topBar::setColor(const int32_t &appColor) -{ -} - -bool topBar::onResizeEvent(TpResizeEvent *event) -{ - caculateTopAppPos(); - - // 刷新应用工具栏尺寸 - // if (appSettingBar_) - // appSettingBar_->resizeSettingBar(this); - - return true; -} - -bool topBar::onMousePressEvent(TpMouseEvent *event) -{ - std::cout << "TopBar Press Pos ()" << event->globalPos().x() << " , " << event->globalPos().y() << std::endl; - - return true; -} - -bool topBar::onMouseRleaseEvent(TpMouseEvent *event) -{ - return true; -} - -bool topBar::onMouseMoveEvent(TpMouseEvent *event) -{ - return true; -} - -bool topBar::onLeaveEvent(TpLeaveEvent *event) -{ - if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) - { - if (event->leave()) - { - update(); - } - } - - return true; -} - void topBar::caculateTopAppPos() { TpRect topBarRect = rect(); diff --git a/Application/deskTop/src/ToolBar/topBar.h b/Application/deskTop/src/ToolBar/topBar.h index 454c48f..7559d19 100644 --- a/Application/deskTop/src/ToolBar/topBar.h +++ b/Application/deskTop/src/ToolBar/topBar.h @@ -10,52 +10,40 @@ class topBar : public TpDialog { public: - topBar(TpScreen *topScreen); - virtual ~topBar(); + topBar(); + virtual ~topBar(); - virtual void setVisible(bool visible = true) override; - - /// @brief 设置顶部工具栏颜色 - /// @param appColor 应用底部颜色,根据应用颜色,选择设置工具栏是黑色/白色 - void setColor(const int32_t &appColor); - -public: - virtual void construct(); // 这个函数直接会被构造函数调用,不需要去修改构造,初始化代码直接在这个函数中写就好 - virtual void destruction(); // 这个函数直接会被析构函数调用,不需要去修改析构,代码直接在这个函数中写就好 - // 其余函数和数据自定义 + /// @brief 设置顶部工具栏颜色 + /// @param appColor 应用底部颜色,根据应用颜色,选择设置工具栏是黑色/白色 + void setColor(const int32_t &appColor); protected: - virtual bool onResizeEvent(TpResizeEvent *event) override; - - virtual bool onMousePressEvent(TpMouseEvent *event) override; - virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - - virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - - virtual bool onLeaveEvent(TpLeaveEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; + virtual bool onMousePressEvent(TpMouseEvent *event) override; + virtual bool onLeaveEvent(TpLeaveEvent *event) override; private: - void caculateTopAppPos(); + void initUI(); - void slotUpdateSystemTime(); + void caculateTopAppPos(); - // 将周几的数字转为汉字显示 - TpString transWeekData(const int32_t &dayOfWeek); + void slotUpdateSystemTime(); -private: - TpScreen *topScreen_; + // 将周几的数字转为汉字显示 + TpString transWeekData(const int32_t &dayOfWeek); - TpLabel *sysDateLabel_; - TpLabel *sysTimeLabel_; +private: + TpLabel *sysDateLabel_; + TpLabel *sysTimeLabel_; - // 蓝牙和网络连接状态 - TpLabel *wifiLabel_; - TpLabel *blueToothLabel_; + // 蓝牙和网络连接状态 + TpLabel *wifiLabel_; + TpLabel *blueToothLabel_; - // 电量显示窗 - TpBattery *elecBattery_; + // 电量显示窗 + TpBattery *elecBattery_; - TpTimer *updateTimetimer_; + TpTimer *updateTimetimer_; }; #endif diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index dd374fc..8919662 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -1,6 +1,7 @@ #include "appTaskManageWindow.h" #include "TpImage.h" #include "deskTopGlobal.hpp" +#include "TpGraphicsBlurEffect.h" #ifndef TASK_MANAGER_COLOR #define TASK_MANAGER_COLOR _RGBA(255, 255, 255, 210) @@ -15,6 +16,12 @@ appTaskManageWindow::appTaskManageWindow() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { this->setBackGroundColor(TASK_MANAGER_COLOR); + // setBackGroundImage(TpImage(applicationDirPath() + "/../res/默认桌面背景1x.png")); + + TpGraphicsBlurEffect btnBlurEffect; + btnBlurEffect.setBlurRadius(15); + setGraphicsEffect(btnBlurEffect); + // this->setAlpha(128); taskScrollPanel_ = new TpScrollPanel(this); @@ -84,8 +91,7 @@ void appTaskManageWindow::setVisible(bool visible) // 应用抓图,grabWindow IPiWFSurface* surfacePtr = tinyPiX_sys_get_obj_surface(globalAgent, appIdInfo.s_id, appIdInfo.p_id); - - // tpShared appDisplayImage = tpMakeShared(surfacePtr); + // tpShared appDisplayImage = tpMakeShared(surfacePtr); tinyPiX_surface_free(surfacePtr); -- Gitee From 7c36c6163a946cd49f3af14ba524f88bfb96d31d Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Fri, 10 Oct 2025 11:42:13 +0800 Subject: [PATCH 25/36] =?UTF-8?q?feat():=20=E4=BC=98=E5=8C=96=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E9=80=BB=E8=BE=91=EF=BC=9B=E4=BD=BF=E7=94=A8core?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E6=8E=A5=E5=8F=A3=E5=90=AF=E5=8A=A8=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E3=80=81=E7=BB=88=E6=AD=A2=E5=BA=94=E7=94=A8=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 91 +---------- .../deskTop/src/ToolBar/navigationBar.cpp | 15 +- Application/deskTop/src/ToolBar/topBar.cpp | 2 +- Application/deskTop/src/deskTopGlobal.hpp | 20 --- .../src/toolWindow/appPreviewWidget.cpp | 20 +-- .../deskTop/src/toolWindow/appPreviewWidget.h | 17 +- .../src/toolWindow/appTaskManageWindow.cpp | 146 +++++------------- .../src/toolWindow/appTaskManageWindow.h | 10 +- 8 files changed, 70 insertions(+), 251 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index 9211fb2..90524a6 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -9,6 +9,7 @@ #include "TpProcess.h" #include "TpMessageBox.h" #include "Service/TpAppConfigIO.h" +#include "Service/TpSystemApi.h" #include @@ -25,12 +26,6 @@ appTaskManageWindow *globalAppTaskWindow = nullptr; appSettingBar *globalTopSettingBar_ = nullptr; TpScreen *globalMainScreen_ = nullptr; -IPiSysApiAgent *globalAgent = nullptr; - -// -TpHash globalRunAppMap_ = TpHash(); -std::mutex readRunAppMutex_; -TpHash globalUuidPidMap_ = TpHash(); uint32_t globalAppMaxRow = 4; uint32_t globalAppMaxColumn = 6; @@ -384,17 +379,7 @@ void DeskScreen::slotDeleteApp(desktopAppButton *operateBtn) } // 如果应用正在运行,先杀掉进程 - if (globalUuidPidMap_.contains(removeUuid)) - { - int32_t pid = globalUuidPidMap_.value(removeUuid); - - std::lock_guard lock_g(readRunAppMutex_); - globalUuidPidMap_.erase(removeUuid); - globalRunAppMap_.erase(pid); - - std::cout << "结束应用 pid: " << pid << std::endl; - tinyPiX_sys_kill_process(globalAgent, pid); - } + TpSystemApi::Instance()->killApp(removeUuid); // 重置缓存操作按钮 pressAppBtn_ = nullptr; @@ -507,8 +492,6 @@ void DeskScreen::initData() } // globalAppTaskWindow->setVisible(false); - globalAgent = tinyPiX_sys_create(); - mainAppPanel_ = new mainAppScrollPanel(this); if (mainAppPanel_ == nullptr) { @@ -524,7 +507,7 @@ void DeskScreen::initData() maskWindow_ = new appOperateMaskWindow(); maskWindow_->installEventFilter(this); - // maskWindow_->setVisible(false); + maskWindow_->setVisible(false); operateMenu_ = new TpMenu(); uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); @@ -815,6 +798,10 @@ void DeskScreen::refreshBar() uint32_t navigationX = (width() - navigationFloatBar_->width()) / 2.0; BAR_SET_ATTRIB(navigationFloatBar_, navigationX, height() - navigationFloatBar_->height(), navigationFloatBar_->width(), navigationFloatBar_->height()); + + topFloatBar_->update(); + navigationFloatBar_->update(); + } desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName) @@ -891,69 +878,7 @@ void DeskScreen::startApp(const TpString &uuid, const TpVector &argLis return; } - TpString appFileDirPath = appConfigPathStr_ + APP_FILES_SON_PATH + uuid; - - TpDir appFileDir(appFileDirPath); - if (!appFileDir.exists()) - { - std::cout << "UUid: " << uuid << " 应用文件夹不存在" << std::endl; - return; - } - - // 启动对应应用 - if (globalUuidPidMap_.contains(uuid)) - { - int32_t pid = globalUuidPidMap_.value(uuid); - - // 根据pid查询winid - PiShmBytes *appIdList = nullptr; - int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); - - int32_t winId = 0; - for (int i = 0; i < appSize; ++i) - { - PiShmBytes appIdInfo = appIdList[i]; - if (appIdInfo.p_id == pid) - { - winId = appIdInfo.s_id; - break; - } - } - - std::cout << "恢复应用 pid: " << pid << std::endl; - tinyPiX_sys_set_visible(globalAgent, winId, true); - tinyPiX_sys_set_active(globalAgent, winId, true); - } - else - { - // 解析应用图标、名称信息 - TpAppConfigIO configIO(uuid); - - TpString runnerPath = configIO.runnerPath(); - TpFileInfo runnerFileInfo(runnerPath); - if (!runnerFileInfo.exists()) - { - std::cout << "应用 " << configIO.appName() << " 可执行程序不存在!" << std::endl; - return; - } - - TpProcess exeProcess; - exeProcess.start(runnerPath, argList); - // exeProcess.start(exePathStr); - int32_t processPID = exeProcess.launchProcessID(); - - RunAppInfo runAppInfo; - runAppInfo.appName = configIO.appName(); - runAppInfo.appUuid = uuid; - runAppInfo.appIconPath = configIO.iconPath(); - runAppInfo.pid = processPID; - - std::cout << "processPID " << processPID << std::endl; - std::lock_guard lock_g(readRunAppMutex_); - globalRunAppMap_[processPID] = runAppInfo; - globalUuidPidMap_[uuid] = processPID; - } + TpSystemApi::Instance()->startApp(uuid, argList); } void DeskScreen::installApp(const TpString &pkgPath) diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/deskTop/src/ToolBar/navigationBar.cpp index 76b9997..8b78ac3 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/deskTop/src/ToolBar/navigationBar.cpp @@ -4,6 +4,7 @@ #include "TpAnimation.h" #include "deskTopGlobal.hpp" #include "TpApp.h" +#include "Service/TpSystemApi.h" navigationBar::navigationBar() : TpDialog("tinyPiX_SYS_Float_0531acbf04") @@ -105,19 +106,7 @@ bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) } else { - tinyPiX_sys_send_home(globalAgent); - - // PiShmBytes *appIdList = nullptr; - // int appSize = 0; - // tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, 1); - - // std::cout << "appSizeappSizeappSize" << appSize << std::endl; - // for (int i = 0; i < appSize; ++i) - // { - // std::cout << "IIIIIIIDDDDDDD" << appIdList[i].id << std::endl; - // } - // tinyPiX_sys_send_return(globalAgent, 0); - + TpSystemApi::Instance()->home(); std::cout << " Return Desktop " << std::endl; } } diff --git a/Application/deskTop/src/ToolBar/topBar.cpp b/Application/deskTop/src/ToolBar/topBar.cpp index eaea41f..c23c4be 100644 --- a/Application/deskTop/src/ToolBar/topBar.cpp +++ b/Application/deskTop/src/ToolBar/topBar.cpp @@ -19,7 +19,7 @@ bool globalSystemLockStatus = false; #endif topBar::topBar() -// : TpDialog("tinyPiX_SYS_Float_0531acbf04") + : TpDialog("tinyPiX_SYS_Float_0531acbf04") { setBackGroundColor(TOP_BAR_COLOR); diff --git a/Application/deskTop/src/deskTopGlobal.hpp b/Application/deskTop/src/deskTopGlobal.hpp index b8a0898..886810d 100644 --- a/Application/deskTop/src/deskTopGlobal.hpp +++ b/Application/deskTop/src/deskTopGlobal.hpp @@ -27,26 +27,6 @@ extern appSettingBar *globalTopSettingBar_; // 主窗体 extern TpScreen *globalMainScreen_; -extern IPiSysApiAgent *globalAgent; - -// 正在运行的应用信息 -struct RunAppInfo -{ - TpString appName; - TpString appUuid; - TpString appIconPath; - int32_t pid; - - RunAppInfo() : appName(""), appUuid(""), appIconPath(""), pid(0) - { - } -}; -extern std::mutex readRunAppMutex_; -// -extern TpHash globalRunAppMap_; -// 应用uuid对应的pid -extern TpHash globalUuidPidMap_; - // APP页码信息 struct ApplicationInfo { diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index dd69f99..239d043 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -7,7 +7,7 @@ #include "deskTopGlobal.hpp" appPreviewWidget::appPreviewWidget(TpChildWidget *parent) - : TpChildWidget(parent), pid_(0) + : TpChildWidget(parent) { init(); } @@ -52,20 +52,14 @@ void appPreviewWidget::setPreviewImg(TpImage image) previewImgLabel_->setBackGroundImage(image); } -void appPreviewWidget::setId(const int32_t &pid, const int32_t &winId) +void appPreviewWidget::setAppUuid(const TpString &uuid) { - pid_ = pid; - winId_ = winId; + appUuid_ = uuid; } -int32_t appPreviewWidget::pid() +TpString appPreviewWidget::appUuid() { - return pid_; -} - -int32_t appPreviewWidget::winId() -{ - return winId_; + return appUuid_; } bool appPreviewWidget::eventFilter(TpObject *watched, TpEvent *event) @@ -110,7 +104,7 @@ bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) TpPoint curPoint = event->globalPos(); if (std::abs(curPoint.x() - mousePressPoint_.x()) < 5 && std::abs(curPoint.y() - mousePressPoint_.y()) < 5) { - signalOpenApp.emit(pid_); + signalOpenApp.emit(appUuid_); } return true; @@ -151,7 +145,7 @@ void appPreviewWidget::init() closeBtn_->setButtonStyle(TpButton::IconOnly); closeBtn_->setIcon(applicationDirPath() + "/../res/关闭.png"); connect(closeBtn_, onClicked, [=](bool) - { signalKillApp.emit(pid_); }); + { signalKillApp.emit(appUuid_); }); closeBtn_->setProperty("Debug", "closeBtn_"); TpHBoxLayout *titleLayout = new TpHBoxLayout(); diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index 772791e..7161054 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -28,11 +28,9 @@ public: void setPreviewImg(TpImage image); // 设置应用的pid和Id - void setId(const int32_t &pid, const int32_t &winId); + void setAppUuid(const TpString &uuid); - int32_t pid(); - - int32_t winId(); + TpString appUuid(); /// @brief 组件类名,子类实现,返回子类类名字符串,用于匹配CSS中对应样式 /// @return 类名字符串 @@ -41,12 +39,12 @@ public: public signals: /// @brief 清理应用 - /// @param int32_t pid - declare_signal(signalKillApp, int32_t); + /// @param const TpString& uuid + declare_signal(signalKillApp, const TpString &); /// @brief 打开指定应用 - /// @param int32_t pid - declare_signal(signalOpenApp, int32_t); + /// @param const TpString& uuid + declare_signal(signalOpenApp, const TpString &); protected: virtual bool eventFilter(TpObject *watched, TpEvent *event) override; @@ -68,8 +66,7 @@ private: // 关闭按钮 TpButton *closeBtn_; - int32_t pid_; - int32_t winId_; + TpString appUuid_; TpPoint mousePressPoint_; }; diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index 8919662..c1cf915 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -2,6 +2,7 @@ #include "TpImage.h" #include "deskTopGlobal.hpp" #include "TpGraphicsBlurEffect.h" +#include "Service/TpSystemApi.h" #ifndef TASK_MANAGER_COLOR #define TASK_MANAGER_COLOR _RGBA(255, 255, 255, 210) @@ -17,7 +18,7 @@ appTaskManageWindow::appTaskManageWindow() { this->setBackGroundColor(TASK_MANAGER_COLOR); // setBackGroundImage(TpImage(applicationDirPath() + "/../res/默认桌面背景1x.png")); - + TpGraphicsBlurEffect btnBlurEffect; btnBlurEffect.setBlurRadius(15); setGraphicsEffect(btnBlurEffect); @@ -56,71 +57,46 @@ void appTaskManageWindow::setVisible(bool visible) { TpDialog::setVisible(visible); - if (visible) - { - // 获取所有应用列表 - PiShmBytes *appIdList = nullptr; - int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, Q_FIXS); - - // 清空上一次的任务列表 - taskScrollPanel_->clearObject(); - for (const auto &lastTaskWidget : allTaskWidgetMap_) - { - lastTaskWidget.second->deleteLater(); - } - allTaskWidgetMap_.clear(); - - for (int i = 0; i < appSize; ++i) - { - PiShmBytes appIdInfo = appIdList[i]; - - std::cout << "App Index " << i << std::endl; - std::cout << "App Id " << appIdInfo.s_id << " Pid " << appIdInfo.p_id << std::endl; + if (!visible) + return; - // 根据pid查询应用的信息 - if (!globalRunAppMap_.contains(appIdInfo.p_id)) - continue; - - const auto &curAppInfo = globalRunAppMap_[appIdInfo.p_id]; - std::cout << "运行应用信息: " << curAppInfo.appName << std::endl; + // 获取所有应用列表 + TpVector runAppList = TpSystemApi::Instance()->runAppList(); - appPreviewWidget *previewWidget = new appPreviewWidget(this); - previewWidget->setName(curAppInfo.appName); - previewWidget->setIcon(curAppInfo.appIconPath); + // 清空上一次的任务列表 + taskScrollPanel_->clearObject(); + for (const auto &lastTaskWidget : allTaskWidgetMap_) + { + lastTaskWidget.second->deleteLater(); + } + allTaskWidgetMap_.clear(); - // 应用抓图,grabWindow - IPiWFSurface* surfacePtr = tinyPiX_sys_get_obj_surface(globalAgent, appIdInfo.s_id, appIdInfo.p_id); - // tpShared appDisplayImage = tpMakeShared(surfacePtr); + for (int i = 0; i < runAppList.size(); ++i) + { + TpSystemApi::RunAppInfo appInfo = runAppList.at(i); - tinyPiX_surface_free(surfacePtr); + appPreviewWidget *previewWidget = new appPreviewWidget(this); + previewWidget->setName(appInfo.appInfo.appName()); + previewWidget->setIcon(appInfo.appInfo.iconPath()); - // previewWidget->setPreviewImg(appDisplayImage); - // previewWidget->setPreviewImg("/home/hawk/Public/tinyPiXOS/tinyPiXApp/deskTop/res/测试.png"); - previewWidget->setId(appIdInfo.p_id, appIdInfo.s_id); + // 应用抓图,grabWindow + TpImage appGrapImage = TpSystemApi::Instance()->appImage(appInfo.appInfo.appUuid()); + previewWidget->setPreviewImg(appGrapImage); - connect(previewWidget, signalKillApp, this, &appTaskManageWindow::slotKillApp); - connect(previewWidget, signalOpenApp, this, &appTaskManageWindow::slotOpenApp); + previewWidget->setAppUuid(appInfo.appInfo.appUuid()); - allTaskWidgetMap_[appIdInfo.p_id] = previewWidget; + connect(previewWidget, signalKillApp, this, &appTaskManageWindow::slotKillApp); + connect(previewWidget, signalOpenApp, this, &appTaskManageWindow::slotOpenApp); - uint32_t taskBtnXPos = taskHInterval + (i / 2) * (taskWidth_ + taskHInterval); - uint32_t taskBtnYPos = taskVInterval + (i % 2) * (taskHeight_ + taskVInterval); + allTaskWidgetMap_[appInfo.appInfo.appUuid()] = previewWidget; - previewWidget->setRect(taskBtnXPos, taskBtnYPos, taskWidth_, taskHeight_); + uint32_t taskBtnXPos = taskHInterval + (i / 2) * (taskWidth_ + taskHInterval); + uint32_t taskBtnYPos = taskVInterval + (i % 2) * (taskHeight_ + taskVInterval); - taskScrollPanel_->addObject(previewWidget); - } - } -} + previewWidget->setRect(taskBtnXPos, taskBtnYPos, taskWidth_, taskHeight_); -int32_t appTaskManageWindow::getWinIdByPid(const int32_t &pid) -{ - if (allTaskWidgetMap_.contains(pid)) - { - return allTaskWidgetMap_.value(pid)->winId(); + taskScrollPanel_->addObject(previewWidget); } - return 0; } bool appTaskManageWindow::eventFilter(TpObject *watched, TpEvent *event) @@ -201,25 +177,7 @@ bool appTaskManageWindow::onLeaveEvent(TpLeaveEvent *event) void appTaskManageWindow::slotClearAllApp(bool) { - // 获取所有应用列表 - PiShmBytes *appIdList = nullptr; - int appSize = 0; - tinyPiX_sys_find_win_ids(globalAgent, &appIdList, &appSize, 1); - - // 杀掉所有应用 - for (int i = 0; i < appSize; ++i) - { - PiShmBytes appIdInfo = appIdList[i]; - - tinyPiX_sys_kill_process(globalAgent, appIdInfo.p_id); - } - - // 清理缓存的应用运行信息 - { - std::lock_guard lock_g(readRunAppMutex_); - globalRunAppMap_.clear(); - globalUuidPidMap_.clear(); - } + TpSystemApi::Instance()->killAllApp(); // 清除界面 TpVector objList = taskScrollPanel_->children(); @@ -231,48 +189,26 @@ void appTaskManageWindow::slotClearAllApp(bool) allTaskWidgetMap_.clear(); } -void appTaskManageWindow::slotKillApp(int32_t pid) +void appTaskManageWindow::slotKillApp(const TpString &uuid) { - if (allTaskWidgetMap_.contains(pid)) + if (allTaskWidgetMap_.contains(uuid)) { - taskScrollPanel_->delObject(allTaskWidgetMap_[pid]); - allTaskWidgetMap_[pid]->deleteLater(); - allTaskWidgetMap_.erase(pid); - - tinyPiX_sys_kill_process(globalAgent, pid); - - { - std::lock_guard lock_g(readRunAppMutex_); - globalUuidPidMap_.erase(globalRunAppMap_.value(pid).appUuid); - globalRunAppMap_.erase(pid); - } + taskScrollPanel_->delObject(allTaskWidgetMap_[uuid]); + allTaskWidgetMap_[uuid]->deleteLater(); + allTaskWidgetMap_.erase(uuid); - std::cout << "移除应用 : " << pid << std::endl; + TpSystemApi::Instance()->killApp(uuid); + std::cout << "移除应用 : " << uuid << std::endl; update(); } else { - std::cout << "未找到要移除的应用 : " << pid << std::endl; + std::cout << "未找到要移除的应用 : " << uuid << std::endl; } } -void appTaskManageWindow::slotOpenApp(int32_t pid) +void appTaskManageWindow::slotOpenApp(const TpString &uuid) { - if (allTaskWidgetMap_.contains(pid)) - { - // 获取应用winId - int32_t winId = allTaskWidgetMap_.value(pid)->winId(); - - close(); - - tinyPiX_sys_set_visible(globalAgent, winId, true); - tinyPiX_sys_set_active(globalAgent, winId, true); - - std::cout << "启动应用 WinId : " << winId << " Pid : " << pid << std::endl; - } - else - { - std::cout << "未找到要启动的应用 : " << pid << std::endl; - } + TpSystemApi::Instance()->startApp(uuid); } diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.h b/Application/deskTop/src/toolWindow/appTaskManageWindow.h index c3a6e7f..8b0c3d6 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.h +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.h @@ -22,8 +22,6 @@ public: virtual void setVisible(bool visible = true) override; - int32_t getWinIdByPid(const int32_t &pid); - protected: virtual bool eventFilter(TpObject *watched, TpEvent *event) override; @@ -41,10 +39,10 @@ private: void slotClearAllApp(bool); // 单个应用点击关闭事件 - void slotKillApp(int32_t pid); + void slotKillApp(const TpString& uuid); // 打开指定应用 - void slotOpenApp(int32_t pid); + void slotOpenApp(const TpString& uuid); private: TpScrollPanel *taskScrollPanel_; @@ -56,8 +54,8 @@ private: TpButton *clearAllBtn_; - // - TpHash allTaskWidgetMap_; + // + TpHash allTaskWidgetMap_; }; #endif \ No newline at end of file -- Gitee From a99a5c4f6c5b3e16a97b03632b211a9938c255d5 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Sat, 11 Oct 2025 10:23:08 +0800 Subject: [PATCH 26/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9cmake?= =?UTF-8?q?=E5=BC=95=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/CMakeLists.txt | 11 ++--------- Application/deskTop/src/DeskScreen.cpp | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/Application/deskTop/CMakeLists.txt b/Application/deskTop/CMakeLists.txt index a13d542..393e835 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/deskTop/CMakeLists.txt @@ -56,15 +56,8 @@ add_executable(PiXDesktop ${SOURCE_FILES}) link_directories("/usr/lib") # 将pthread库链接到可执行目标 -target_link_libraries(PiXDesktop TpAPI TpGUI TpUtils TpExtUtils - - - - - - - -) +target_link_libraries(PiXDesktop TpAPI TpGUI TpUtils TpExtUtils) + # 包含共享模块 include(../../cmake/SetupAppInstallation.cmake) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index 90524a6..b1a69a5 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -975,7 +975,7 @@ uint32_t DeskScreen::findAppIndex(const TpList &pageAppList } findIndex++; - // 防止整数溢出(虽然实际场景中几乎不可能) + // 防止整数溢出 if (findIndex == std::numeric_limits::max()) { break; -- Gitee From 9b004f402b68ab7f2eed08182868e45849a4d8b4 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Mon, 13 Oct 2025 18:38:57 +0800 Subject: [PATCH 27/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9preset?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/calendar/CMakePresets.json | 2 +- Application/deskTop/CMakePresets.json | 2 +- Application/fileManagement/CMakePresets.json | 2 +- Application/mediaPlayer/CMakePresets.json | 2 +- Application/photoAlbum/CMakePresets.json | 2 +- Application/systemSettings/CMakePresets.json | 2 +- CMakePresets.json | 2 +- ComDemoApplication/animationDemo/CMakePresets.json | 2 +- ComDemoApplication/batteryDemo/CMakePresets.json | 2 +- ComDemoApplication/buttonDemo/CMakePresets.json | 2 +- ComDemoApplication/checkBoxDemo/CMakePresets.json | 2 +- ComDemoApplication/comboxDemo/CMakePresets.json | 2 +- ComDemoApplication/flexLayoutDemo/CMakePresets.json | 2 +- ComDemoApplication/labelDemo/CMakePresets.json | 2 +- ComDemoApplication/progressBarDemo/CMakePresets.json | 2 +- ComDemoApplication/sliderDemo/CMakePresets.json | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Application/calendar/CMakePresets.json b/Application/calendar/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/calendar/CMakePresets.json +++ b/Application/calendar/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/Application/deskTop/CMakePresets.json b/Application/deskTop/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/deskTop/CMakePresets.json +++ b/Application/deskTop/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/Application/fileManagement/CMakePresets.json b/Application/fileManagement/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/fileManagement/CMakePresets.json +++ b/Application/fileManagement/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/Application/mediaPlayer/CMakePresets.json b/Application/mediaPlayer/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/mediaPlayer/CMakePresets.json +++ b/Application/mediaPlayer/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/Application/photoAlbum/CMakePresets.json b/Application/photoAlbum/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/photoAlbum/CMakePresets.json +++ b/Application/photoAlbum/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/Application/systemSettings/CMakePresets.json b/Application/systemSettings/CMakePresets.json index 2031345..5c2ea58 100644 --- a/Application/systemSettings/CMakePresets.json +++ b/Application/systemSettings/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/CMakePresets.json b/CMakePresets.json index 5fbd0c8..aaac4bc 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "configurePresets": [ { "name": "base-debug", diff --git a/ComDemoApplication/animationDemo/CMakePresets.json b/ComDemoApplication/animationDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/animationDemo/CMakePresets.json +++ b/ComDemoApplication/animationDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/batteryDemo/CMakePresets.json b/ComDemoApplication/batteryDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/batteryDemo/CMakePresets.json +++ b/ComDemoApplication/batteryDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/buttonDemo/CMakePresets.json b/ComDemoApplication/buttonDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/buttonDemo/CMakePresets.json +++ b/ComDemoApplication/buttonDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/checkBoxDemo/CMakePresets.json b/ComDemoApplication/checkBoxDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/checkBoxDemo/CMakePresets.json +++ b/ComDemoApplication/checkBoxDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/comboxDemo/CMakePresets.json b/ComDemoApplication/comboxDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/comboxDemo/CMakePresets.json +++ b/ComDemoApplication/comboxDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/flexLayoutDemo/CMakePresets.json b/ComDemoApplication/flexLayoutDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/flexLayoutDemo/CMakePresets.json +++ b/ComDemoApplication/flexLayoutDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/labelDemo/CMakePresets.json b/ComDemoApplication/labelDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/labelDemo/CMakePresets.json +++ b/ComDemoApplication/labelDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/progressBarDemo/CMakePresets.json b/ComDemoApplication/progressBarDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/progressBarDemo/CMakePresets.json +++ b/ComDemoApplication/progressBarDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] diff --git a/ComDemoApplication/sliderDemo/CMakePresets.json b/ComDemoApplication/sliderDemo/CMakePresets.json index 2031345..5c2ea58 100644 --- a/ComDemoApplication/sliderDemo/CMakePresets.json +++ b/ComDemoApplication/sliderDemo/CMakePresets.json @@ -1,5 +1,5 @@ { - "version": 8, + "version": 3, "include": [ "../../CMakePresets.json" ] -- Gitee From 768685c02dc37fc5c61cc76504eef7c736999c83 Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Mon, 20 Oct 2025 17:33:03 +0800 Subject: [PATCH 28/36] =?UTF-8?q?feat():=20=E7=A7=BB=E9=99=A4=E9=81=AE?= =?UTF-8?q?=E7=BD=A9=E7=AA=97=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/deskTop/src/DeskScreen.cpp | 42 ++++++++++--------- .../deskTop/src/ToolBar/appSettingBar.cpp | 2 + .../src/toolWindow/appPreviewWidget.cpp | 5 ++- .../src/toolWindow/appTaskManageWindow.cpp | 12 +++--- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/deskTop/src/DeskScreen.cpp index b1a69a5..e3f04dd 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/deskTop/src/DeskScreen.cpp @@ -331,6 +331,8 @@ bool DeskScreen::eventFilter(TpObject *watched, TpEvent *event) void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) { + return; + if (operateBtn) { TpRect btnRect = operateBtn->toScreen(); @@ -490,7 +492,7 @@ void DeskScreen::initData() std::cout << "globalAppTaskWindow init error!" << std::endl; std::exit(0); } - // globalAppTaskWindow->setVisible(false); + globalAppTaskWindow->setVisible(false); mainAppPanel_ = new mainAppScrollPanel(this); if (mainAppPanel_ == nullptr) @@ -501,28 +503,28 @@ void DeskScreen::initData() mainAppPanel_->installEventFilter(this); carouselButton_ = new TpCarouselButton(this); - + carouselButton_->setFixedSize(150, 25); connect(mainAppPanel_, onPageChanged, [=](uint32_t curPage_) { carouselButton_->setCurrentIndex(curPage_); }); - maskWindow_ = new appOperateMaskWindow(); - maskWindow_->installEventFilter(this); - maskWindow_->setVisible(false); - - operateMenu_ = new TpMenu(); - uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); - connect(operateMenu_, onClicked, [=](uint32_t index) - { - std::cout << " index " << index << std::endl; - std::cout << " delIndex " << delIndex << std::endl; - - if (index == delIndex) - { - slotDeleteApp(pressAppBtn_); - // TpMessageBox::information("卸载成功"); - operateMenu_->close(); - maskWindow_->close(); - } }); + // maskWindow_ = new appOperateMaskWindow(); + // maskWindow_->installEventFilter(this); + // maskWindow_->setVisible(false); + + // operateMenu_ = new TpMenu(); + // uint32_t delIndex = operateMenu_->addItem("卸载", applicationDirPath() + "/../res/删除.png"); + // connect(operateMenu_, onClicked, [=](uint32_t index) + // { + // std::cout << " index " << index << std::endl; + // std::cout << " delIndex " << delIndex << std::endl; + + // if (index == delIndex) + // { + // slotDeleteApp(pressAppBtn_); + // // TpMessageBox::information("卸载成功"); + // operateMenu_->close(); + // maskWindow_->close(); + // } }); appInstallPtr_ = new TpAppInstall(""); appInstallTimer_ = new TpTimer(800); diff --git a/Application/deskTop/src/ToolBar/appSettingBar.cpp b/Application/deskTop/src/ToolBar/appSettingBar.cpp index e9bac0d..74f214a 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.cpp +++ b/Application/deskTop/src/ToolBar/appSettingBar.cpp @@ -167,6 +167,7 @@ bool appSettingBar::onResizeEvent(TpResizeEvent *event) void appSettingBar::slotSwitchBluetooth(bool checked) { +#if 0 bool blueIsOpen = false; TpList blueToothDeviceList = TpBluetoothLocal::getAllDevice(); if (blueToothDeviceList.size() == 0) @@ -190,6 +191,7 @@ void appSettingBar::slotSwitchBluetooth(bool checked) { blueDevice.powerOn(); } +#endif } void appSettingBar::slotSwitchWifi(bool checked) diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index 239d043..91ab9c4 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -138,6 +138,7 @@ void appPreviewWidget::init() previewImgLabel_ = new TpLabel(this); previewImgLabel_->setProperty("Debug", "previewImgLabel_"); previewImgLabel_->installEventFilter(this); + // previewImgLabel_->setFixedSize(250, 150); closeBtn_ = new TpButton(this); closeBtn_->setEnableBackGroundColor(false); @@ -157,9 +158,9 @@ void appPreviewWidget::init() titleLayout->addWidget(closeBtn_); TpVBoxLayout *mainLayout = new TpVBoxLayout(); - mainLayout->setSpacing(8); + mainLayout->setSpacing(5); mainLayout->addLayout(titleLayout, 1); - mainLayout->addWidget(previewImgLabel_, 10); + mainLayout->addWidget(previewImgLabel_, 5); setLayout(mainLayout); } diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index c1cf915..54e835d 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -47,6 +47,8 @@ appTaskManageWindow::appTaskManageWindow() })"); setVisible(false); + + setBackGroundColor(_RGB(0, 255, 0)); } appTaskManageWindow::~appTaskManageWindow() @@ -60,9 +62,6 @@ void appTaskManageWindow::setVisible(bool visible) if (!visible) return; - // 获取所有应用列表 - TpVector runAppList = TpSystemApi::Instance()->runAppList(); - // 清空上一次的任务列表 taskScrollPanel_->clearObject(); for (const auto &lastTaskWidget : allTaskWidgetMap_) @@ -71,20 +70,21 @@ void appTaskManageWindow::setVisible(bool visible) } allTaskWidgetMap_.clear(); + // 获取所有应用列表 + TpVector runAppList = TpSystemApi::Instance()->runAppList(); for (int i = 0; i < runAppList.size(); ++i) { TpSystemApi::RunAppInfo appInfo = runAppList.at(i); - appPreviewWidget *previewWidget = new appPreviewWidget(this); + appPreviewWidget *previewWidget = new appPreviewWidget(); previewWidget->setName(appInfo.appInfo.appName()); previewWidget->setIcon(appInfo.appInfo.iconPath()); + previewWidget->setAppUuid(appInfo.appInfo.appUuid()); // 应用抓图,grabWindow TpImage appGrapImage = TpSystemApi::Instance()->appImage(appInfo.appInfo.appUuid()); previewWidget->setPreviewImg(appGrapImage); - previewWidget->setAppUuid(appInfo.appInfo.appUuid()); - connect(previewWidget, signalKillApp, this, &appTaskManageWindow::slotKillApp); connect(previewWidget, signalOpenApp, this, &appTaskManageWindow::slotOpenApp); -- Gitee From c772f91ce9092f769c2e84813cbc1008afe93b1e Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Tue, 21 Oct 2025 11:42:34 +0800 Subject: [PATCH 29/36] =?UTF-8?q?fix():=20=E8=A7=A3=E5=86=B3=E6=A1=8C?= =?UTF-8?q?=E9=9D=A2=E6=8A=93=E5=9B=BE=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/toolWindow/appPreviewWidget.cpp | 22 ++++++++++++------- .../deskTop/src/toolWindow/appPreviewWidget.h | 5 +++-- .../src/toolWindow/appTaskManageWindow.cpp | 2 -- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp index 91ab9c4..5550092 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.cpp @@ -110,13 +110,9 @@ bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool appPreviewWidget::onMouseMoveEvent(TpMouseEvent *event) -{ - return true; -} - -bool appPreviewWidget::onLeaveEvent(TpLeaveEvent *event) +bool appPreviewWidget::onResizeEvent(TpResizeEvent *event) { + refreshUi(); return true; } @@ -138,7 +134,7 @@ void appPreviewWidget::init() previewImgLabel_ = new TpLabel(this); previewImgLabel_->setProperty("Debug", "previewImgLabel_"); previewImgLabel_->installEventFilter(this); - // previewImgLabel_->setFixedSize(250, 150); + // previewImgLabel_->setBackGroundColor(_RGB(255, 255, 255)); closeBtn_ = new TpButton(this); closeBtn_->setEnableBackGroundColor(false); @@ -154,7 +150,7 @@ void appPreviewWidget::init() titleLayout->setContentsMargins(8, 0, 8, 0); titleLayout->addWidget(iconLabel_); titleLayout->addWidget(nameLabel_); - titleLayout->addSpacer(new TpSpacerItem(10, 10, TpSpacerItem::Expanding)); + titleLayout->addSpacer(new TpSpacerItem(10, 5, TpSpacerItem::Expanding)); titleLayout->addWidget(closeBtn_); TpVBoxLayout *mainLayout = new TpVBoxLayout(); @@ -164,3 +160,13 @@ void appPreviewWidget::init() setLayout(mainLayout); } + +void appPreviewWidget::refreshUi() +{ + // iconLabel_->move(8, 0); + // nameLabel_->move(iconLabel_->pos().x() + iconLabel_->width() + 8, 0); + // closeBtn_->move(width() - closeBtn_->width(), 0); + + // previewImgLabel_->move(0, iconLabel_->pos().y() + iconLabel_->height() + 5); + // previewImgLabel_->setSize(width(), height() - previewImgLabel_->pos().y()); +} diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/deskTop/src/toolWindow/appPreviewWidget.h index 7161054..a5f8918 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/deskTop/src/toolWindow/appPreviewWidget.h @@ -50,12 +50,13 @@ protected: virtual bool eventFilter(TpObject *watched, TpEvent *event) override; virtual bool onMousePressEvent(TpMouseEvent *event) override; virtual bool onMouseRleaseEvent(TpMouseEvent *event) override; - virtual bool onMouseMoveEvent(TpMouseEvent *event) override; - virtual bool onLeaveEvent(TpLeaveEvent *event) override; + virtual bool onResizeEvent(TpResizeEvent *event) override; private: void init(); + void refreshUi(); + private: // 图标 TpLabel *iconLabel_; diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp index 54e835d..790b02c 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp @@ -47,8 +47,6 @@ appTaskManageWindow::appTaskManageWindow() })"); setVisible(false); - - setBackGroundColor(_RGB(0, 255, 0)); } appTaskManageWindow::~appTaskManageWindow() -- Gitee From d91d90040c090e41fdf517f4e4da6eea1d1099bb Mon Sep 17 00:00:00 2001 From: hywang <751784947@qq.com> Date: Wed, 22 Oct 2025 09:29:29 +0800 Subject: [PATCH 30/36] =?UTF-8?q?feat():=20=E4=BF=AE=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=A4=A7=E9=A9=BC=E5=B3=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 48 +++++++-------- .../4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json | 2 +- .../{calendar => Calendar}/CMakeLists.txt | 8 +-- .../{calendar => Calendar}/CMakePresets.json | 0 Application/{calendar => Calendar}/Readme.md | 2 +- Application/Calendar/bin/calendar | Bin 0 -> 196128 bytes .../Calendar/conf/\345\215\240\344\275\215" | 0 .../{mediaPlayer => Calendar}/data/style.css | 4 +- .../{calendar => Calendar}/res/icon.png | Bin .../src/CalendarGlobal.h} | 0 .../src/MainWindowService.cpp} | 14 ++--- .../Calendar/src/MainWindowService.h | 6 +- .../{photoAlbum => Calendar}/src/main.cpp | 4 +- .../{deskTop => DeskTop}/CMakeLists.txt | 29 +++++---- .../{deskTop => DeskTop}/CMakePresets.json | 0 Application/{deskTop => DeskTop}/Readme.md | 2 +- Application/{deskTop => DeskTop}/bin/start.sh | 0 .../conf/appIndexConfig.json | 0 .../conf/bottomBarAppConfig.json | 0 .../DeskTop/data/\345\215\240\344\275\215" | 0 .../appOperate/\345\210\240\351\231\244.png" | Bin ...\210\266\351\235\242\346\235\277-WIFI.png" | Bin ...\346\235\277-\344\272\256\345\272\246.png" | Bin ...\346\235\277-\345\205\263\351\227\255.png" | Bin ...\346\235\277-\347\224\265\346\272\220.png" | Bin ...\346\235\277-\350\223\235\347\211\231.png" | Bin ...\346\235\277-\351\224\201\345\256\232.png" | Bin ...\346\235\277-\351\237\263\351\207\217.png" | Bin .../{deskTop => DeskTop}/res/topBar/WIFI.png | Bin .../res/topBar/\350\223\235\347\211\231.png" | Bin .../DeskTop/res/\345\205\263\351\227\255.png" | Bin .../DeskTop/res/\346\251\230\345\255\220.png" | Bin .../DeskTop/res/\346\265\213\350\257\225.png" | Bin .../\347\201\253\351\276\231\346\236\234.png" | Bin .../DeskTop/res/\350\215\211\350\216\223.png" | Bin .../DeskTop/res/\350\217\240\350\220\235.png" | Bin ...351\235\242\350\203\214\346\231\2571x.png" | Bin ...351\235\242\350\203\214\346\231\2573x.png" | Bin .../src/DeskEntry.cpp} | 14 ++--- Application/DeskTop/src/DeskEntry.h | 15 +++++ .../{deskTop => DeskTop}/src/DeskScreen.cpp | 52 ++++++++-------- .../{deskTop => DeskTop}/src/DeskScreen.h | 42 ++++++------- .../src/DeskTopGlobal.hpp} | 12 ++-- .../src/ToolBar/AppSettingBar.cpp} | 50 +++++++-------- .../src/ToolBar/AppSettingBar.h} | 10 +-- .../src/ToolBar/BottomBar.cpp} | 28 ++++----- .../src/ToolBar/BottomBar.h} | 18 +++--- .../src/ToolBar/NavigationBar.cpp} | 28 ++++----- .../src/ToolBar/NavigationBar.h} | 6 +- .../src/ToolBar/PowerManage.cpp} | 14 ++--- .../src/ToolBar/PowerManage.h} | 6 +- .../src/ToolBar/TopBar.cpp} | 30 ++++----- .../topBar.h => DeskTop/src/ToolBar/TopBar.h} | 6 +- .../DeskTop/src/ToolModule/CaculateAppPos.cpp | 32 ++++++++++ .../src/ToolModule/CaculateAppPos.h} | 6 +- .../src/ToolModule/DesktopAppButton.cpp} | 26 ++++---- .../src/ToolModule/DesktopAppButton.h} | 18 +++--- .../src/ToolModule/MainAppScrollPanel.cpp} | 28 ++++----- .../src/ToolModule/MainAppScrollPanel.h} | 8 +-- .../src/ToolWindow/AppOperateMaskWindow.cpp} | 12 ++-- .../src/ToolWindow/AppOperateMaskWindow.h} | 6 +- .../src/ToolWindow/AppPreviewWidget.cpp} | 32 +++++----- .../src/ToolWindow/AppPreviewWidget.h} | 8 +-- .../src/ToolWindow/AppTaskManageWindow.cpp} | 36 +++++------ .../src/ToolWindow/AppTaskManageWindow.h} | 10 +-- .../src/ToolWindow/SysLockWindow.cpp} | 28 ++++----- .../src/ToolWindow/SysLockWindow.h} | 6 +- .../6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json | 2 +- .../CMakeLists.txt | 26 ++++---- .../CMakePresets.json | 0 .../Readme.md | 2 +- Application/FileManagement/bin/fileManagement | Bin 0 -> 2912592 bytes .../conf/\345\215\240\344\275\215" | 0 .../data/cache.data | 0 .../data/style.css | 4 +- ...-\346\234\252\351\200\211\344\270\255.png" | Bin ...\345\244\207-\351\200\211\344\270\255.png" | Bin .../fastAccess/\345\233\276\347\211\207.png" | Bin .../fastAccess/\345\272\224\347\224\250.png" | Bin .../fastAccess/\346\226\207\346\234\254.png" | Bin .../fastAccess/\350\247\206\351\242\221.png" | Bin .../fastAccess/\351\237\263\351\242\221.png" | Bin .../res/fileSource/QQ.png | Bin ...5\344\270\216\346\216\245\346\224\266.png" | Bin .../fileSource/\345\276\256\344\277\241.png" | Bin .../res/icon.png | Bin .../res/\345\205\263\351\227\255.png" | Bin .../res/\345\210\240\351\231\244.png" | Bin ...7\350\203\275\350\256\276\347\275\256.png" | Bin .../res/\346\220\234\347\264\242.png" | Bin .../res/\346\233\264\345\244\232.png" | Bin .../res/\346\234\200\350\277\221-focus.png" | Bin .../res/\346\234\200\350\277\221-normal.png" | Bin .../res/\346\265\217\350\247\210-focus.png" | Bin .../res/\346\265\217\350\247\210-normal.png" | Bin .../res/\346\270\205\347\220\206.png" | Bin .../res/\347\247\273\345\212\250.png" | Bin ...-\345\267\262\345\261\225\345\274\200.png" | Bin ...-\346\234\252\345\261\225\345\274\200.png" | Bin ...7\345\276\204\345\220\216\351\200\200.png" | Bin .../src/BrowserToolWindow/FileListWindow.cpp} | 46 +++++++------- .../src/BrowserToolWindow/FileListWindow.h} | 18 +++--- .../src/BrowserToolWindow/ListFileItem.cpp} | 18 +++--- .../src/BrowserToolWindow/ListFileItem.h} | 8 +-- .../src/BrowserToolWindow/SettingWindow.cpp} | 16 ++--- .../src/BrowserToolWindow/SettingWindow.h} | 6 +- ...5\242\347\232\204\347\252\227\345\217\243" | 0 .../src/FileManagementGlobal.h} | 0 .../src/MainWindowService.cpp} | 30 ++++----- .../src/MainWindowService.h} | 14 ++--- .../RecentlyToolWindow/ClearSpaceWindow.cpp} | 16 ++--- .../RecentlyToolWindow/ClearSpaceWindow.h} | 6 +- .../RecentlyToolWindow/PressPopWindow.cpp} | 12 ++-- .../src/RecentlyToolWindow/PressPopWindow.h} | 6 +- ...5\242\347\232\204\347\252\227\345\217\243" | 0 .../src/SonWindow/BrowseWindow.cpp} | 40 ++++++------ .../src/SonWindow/BrowseWindow.h} | 16 ++--- .../src/SonWindow/RecentlyWindow.cpp} | 24 ++++---- .../src/SonWindow/RecentlyWindow.h} | 18 +++--- .../src/ToolWindow/DiskDeviceCheckBox.cpp} | 22 +++---- .../src/ToolWindow/DiskDeviceCheckBox.h} | 12 ++-- .../src/ToolWindow/UsbPopButton.cpp} | 8 +-- .../src/ToolWindow/UsbPopButton.h} | 8 +-- .../src/main.cpp | 6 +- .../1afd93b7-c938-f604-57be-edc95df6cb36.json | 2 +- .../CMakeLists.txt | 12 ++-- .../CMakePresets.json | 0 .../{mediaPlayer => MediaPlayer}/Readme.md | 2 +- Application/MediaPlayer/bin/mediaPlayer | Bin 0 -> 1467816 bytes .../conf/\345\215\240\344\275\215" | 0 .../{calendar => MediaPlayer}/data/style.css | 4 +- .../{mediaPlayer => MediaPlayer}/res/demo.mp4 | Bin .../{mediaPlayer => MediaPlayer}/res/icon.png | Bin .../\344\270\212\344\270\200\344\270\252.png" | Bin .../\344\270\213\344\270\200\344\270\252.png" | Bin ...3\345\215\203\351\230\231\346\255\214.mp3" | Bin .../res/\345\220\216\351\200\200.png" | Bin .../res/\345\277\253\350\277\233.png" | Bin .../res/\345\277\253\351\200\200.png" | Bin .../res/\346\222\255\346\224\276.png" | Bin ...\350\241\250-\345\205\263\351\227\255.png" | Bin ...7\344\273\266\345\210\227\350\241\250.png" | Bin .../res/\346\232\202\345\201\234.png" | Bin ...6\351\242\221\345\260\201\351\235\242.jpg" | Bin ...3\351\207\217\350\260\203\350\212\202.png" | Bin .../res/\351\237\263\351\242\221.png" | Bin .../src/MainWindowService.cpp} | 58 +++++++++--------- .../src/MainWindowService.h} | 16 ++--- .../src/MediaPlayerGlobal.h} | 0 .../src/ToolBar/BottomBar.cpp} | 26 ++++---- .../src/ToolBar/BottomBar.h} | 8 +-- .../src/ToolBar/TopBar.cpp} | 20 +++--- .../src/ToolBar/TopBar.h} | 6 +- .../{mediaPlayer => MediaPlayer}/src/main.cpp | 4 +- .../8aa1ea99-75af-92d1-0988-998803157aac.json | 2 +- .../{photoAlbum => PhotoAlbum}/CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{photoAlbum => PhotoAlbum}/Readme.md | 2 +- Application/PhotoAlbum/bin/photoAlbum | Bin 0 -> 196136 bytes .../PhotoAlbum/conf/\345\215\240\344\275\215" | 0 .../{photoAlbum => PhotoAlbum}/data/style.css | 4 +- .../{photoAlbum => PhotoAlbum}/res/icon.png | Bin .../src/MainWindowService.cpp} | 14 ++--- .../PhotoAlbum/src/MainWindowService.h | 6 +- .../src/PhotoAlbumGlobal.h} | 0 .../PhotoAlbum}/src/main.cpp | 4 +- .../94301ca4-d753-9ae8-626a-206c15d6abdd.json | 2 +- .../CMakeLists.txt | 14 ++--- .../CMakePresets.json | 0 .../Readme.md | 2 +- Application/SystemSettings/bin/systemSettings | Bin 0 -> 1412496 bytes .../conf/\345\215\240\344\275\215" | 0 Application/SystemSettings/data/style.css | 21 +++++++ .../res/icon.png | Bin .../res/menuItem/WLAN.png | Bin .../\344\273\245\345\244\252\347\275\221.png" | Bin ...1\347\272\270\350\256\276\347\275\256.png" | Bin ...0\351\237\263\350\256\276\347\275\256.png" | Bin ...4\347\224\250\350\256\276\347\275\256.png" | Bin ...6\347\244\272\350\256\276\347\275\256.png" | Bin ...4\345\244\232\350\256\276\347\275\256.png" | Bin ...4\351\235\242\350\256\276\347\275\256.png" | Bin .../menuItem/\347\203\255\347\202\271.png" | Bin .../menuItem/\350\223\235\347\211\231.png" | Bin ...6\345\244\207\344\277\241\346\201\257.png" | Bin .../res/\346\220\234\347\264\242.png" | Bin ...7\345\276\204\345\220\216\351\200\200.png" | Bin .../src/MainWindowService.cpp} | 40 ++++++------ .../src/MainWindowService.h} | 12 ++-- .../SettingWindow/BluetoothSettingWindow.cpp} | 14 ++--- .../SettingWindow/BluetoothSettingWindow.h} | 12 ++-- .../SettingWindow}/InternetSettingWindow.cpp | 2 +- .../SettingWindow}/InternetSettingWindow.h | 6 +- .../src/SettingWindow/SettingBase.cpp} | 14 ++--- .../src/SettingWindow/SettingBase.h} | 8 +-- .../src/SystemSettingsGlobal.h} | 0 .../src/main.cpp | 4 +- Application/deskTop/src/deskEntry.h | 39 ------------ .../deskTop/src/toolModule/caculateAppPos.cpp | 32 ---------- Application/systemSettings/data/style.css | 21 ------- CMakeLists.txt | 30 ++++----- .../88fab468-3413-4fc1-a711-67854fc7a282.json | 2 +- .../CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../Readme.md | 2 +- .../AnimationDemo/bin/animationDemo | Bin 0 -> 395184 bytes .../conf/\345\215\240\344\275\215" | 0 .../AnimationDemo/data/style.css | 21 +++++++ .../res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../AnimationDemo/src/MainWindowService.h | 6 +- .../src/main.cpp | 4 +- .../33406742-ceb3-3833-c0a5-ae7e3a82811f.json | 2 +- .../CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{batteryDemo => BatteryDemo}/Readme.md | 2 +- .../BatteryDemo/bin/batteryDemo | Bin 0 -> 295776 bytes .../conf/\345\215\240\344\275\215" | 0 ComDemoApplication/BatteryDemo/data/style.css | 21 +++++++ .../{batteryDemo => BatteryDemo}/res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../BatteryDemo/src/MainWindowService.h | 6 +- .../BatteryDemo}/src/main.cpp | 4 +- .../{buttonDemo => ButtonDemo}/CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{buttonDemo => ButtonDemo}/Readme.md | 2 +- ComDemoApplication/ButtonDemo/bin/buttonDemo | Bin 0 -> 202096 bytes .../ButtonDemo/conf/\345\215\240\344\275\215" | 0 ComDemoApplication/ButtonDemo/data/style.css | 21 +++++++ .../e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json | 2 +- .../res/btnIcon.png | Bin .../res/btnIcon2.png | Bin .../{buttonDemo => ButtonDemo}/res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../ButtonDemo/src/MainWindowService.h | 22 +++++++ ComDemoApplication/ButtonDemo/src/main.cpp | 13 ++++ .../CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{checkBoxDemo => CheckBoxDemo}/Readme.md | 2 +- .../CheckBoxDemo/bin/checkBoxDemo | Bin 0 -> 197224 bytes .../ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json | 2 +- .../conf/\345\215\240\344\275\215" | 0 .../CheckBoxDemo/data/style.css | 21 +++++++ .../res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../CheckBoxDemo/src/MainWindowService.h | 22 +++++++ ComDemoApplication/CheckBoxDemo/src/main.cpp | 13 ++++ .../2084e4fb-a01d-4404-b515-956c095f042c.json | 2 +- .../{comboxDemo => ComboxDemo}/CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{comboxDemo => ComboxDemo}/Readme.md | 2 +- ComDemoApplication/ComboxDemo/bin/comboxDemo | Bin 0 -> 196776 bytes .../ComboxDemo/conf/\345\215\240\344\275\215" | 0 ComDemoApplication/ComboxDemo/data/style.css | 21 +++++++ .../{comboxDemo => ComboxDemo}/res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../ComboxDemo/src/MainWindowService.h | 22 +++++++ ComDemoApplication/ComboxDemo/src/main.cpp | 13 ++++ .../CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../Readme.md | 2 +- .../FlexLayoutDemo/bin/flexLayoutDemo | Bin 0 -> 199072 bytes .../conf/\345\215\240\344\275\215" | 0 .../FlexLayoutDemo/data/style.css | 21 +++++++ .../ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json | 2 +- .../res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../FlexLayoutDemo/src/MainWindowService.h | 22 +++++++ .../FlexLayoutDemo/src/main.cpp | 13 ++++ .../{labelDemo => LabelDemo}/CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{labelDemo => LabelDemo}/Readme.md | 2 +- ComDemoApplication/LabelDemo/bin/labelDemo | Bin 0 -> 302920 bytes .../LabelDemo/conf/\345\215\240\344\275\215" | 0 ComDemoApplication/LabelDemo/data/style.css | 21 +++++++ .../fb1412cf-84de-4138-b401-215b6e9b1c11.json | 2 +- .../{labelDemo => LabelDemo}/res/icon.png | Bin .../{labelDemo => LabelDemo}/res/test.svg | 0 .../src/MainWindowService.cpp} | 12 ++-- .../LabelDemo/src/MainWindowService.h | 22 +++++++ ComDemoApplication/LabelDemo/src/main.cpp | 13 ++++ .../CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../Readme.md | 2 +- .../ProgressBarDemo/bin/progressBarDemo | Bin 0 -> 194856 bytes .../conf/\345\215\240\344\275\215" | 0 .../ProgressBarDemo/data/style.css | 21 +++++++ .../de288e32-9a68-40c9-81fa-e57609c226e0.json | 2 +- .../res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../ProgressBarDemo/src/MainWindowService.h | 22 +++++++ .../ProgressBarDemo/src/main.cpp | 13 ++++ .../{sliderDemo => SliderDemo}/CMakeLists.txt | 8 +-- .../CMakePresets.json | 0 .../{sliderDemo => SliderDemo}/Readme.md | 2 +- .../bee1bc99-c541-45b4-b3be-2f00145f8106.json | 2 +- ComDemoApplication/SliderDemo/bin/sliderDemo | Bin 0 -> 297992 bytes .../SliderDemo/conf/\345\215\240\344\275\215" | 0 ComDemoApplication/SliderDemo/data/style.css | 21 +++++++ .../{sliderDemo => SliderDemo}/res/icon.png | Bin .../src/MainWindowService.cpp} | 12 ++-- .../SliderDemo/src/MainWindowService.h | 22 +++++++ ComDemoApplication/SliderDemo/src/main.cpp | 13 ++++ .../animationDemo/data/style.css | 21 ------- ComDemoApplication/batteryDemo/data/style.css | 21 ------- ComDemoApplication/buttonDemo/data/style.css | 21 ------- ComDemoApplication/buttonDemo/src/main.cpp | 13 ---- .../buttonDemo/src/mainWindowService.h | 22 ------- .../checkBoxDemo/data/style.css | 21 ------- ComDemoApplication/checkBoxDemo/src/main.cpp | 13 ---- .../checkBoxDemo/src/mainWindowService.h | 22 ------- ComDemoApplication/comboxDemo/data/style.css | 21 ------- ComDemoApplication/comboxDemo/src/main.cpp | 13 ---- .../comboxDemo/src/mainWindowService.h | 22 ------- .../flexLayoutDemo/data/style.css | 21 ------- .../flexLayoutDemo/src/main.cpp | 13 ---- .../flexLayoutDemo/src/mainWindowService.h | 22 ------- ComDemoApplication/labelDemo/data/style.css | 21 ------- ComDemoApplication/labelDemo/src/main.cpp | 13 ---- .../labelDemo/src/mainWindowService.h | 22 ------- .../progressBarDemo/data/style.css | 21 ------- .../progressBarDemo/src/main.cpp | 13 ---- .../progressBarDemo/src/mainWindowService.h | 22 ------- ComDemoApplication/sliderDemo/data/style.css | 21 ------- ComDemoApplication/sliderDemo/src/main.cpp | 13 ---- .../sliderDemo/src/mainWindowService.h | 22 ------- README.md | 12 ++-- 327 files changed, 1328 insertions(+), 1349 deletions(-) rename Application/{calendar => Calendar}/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json (93%) rename Application/{calendar => Calendar}/CMakeLists.txt (88%) rename Application/{calendar => Calendar}/CMakePresets.json (100%) rename Application/{calendar => Calendar}/Readme.md (98%) create mode 100755 Application/Calendar/bin/calendar rename "Application/calendar/conf/\345\215\240\344\275\215" => "Application/Calendar/conf/\345\215\240\344\275\215" (100%) rename Application/{mediaPlayer => Calendar}/data/style.css (88%) rename Application/{calendar => Calendar}/res/icon.png (100%) rename Application/{calendar/src/calendarGlobal.h => Calendar/src/CalendarGlobal.h} (100%) rename Application/{calendar/src/mainWindowService.cpp => Calendar/src/MainWindowService.cpp} (60%) rename ComDemoApplication/animationDemo/src/mainWindowService.h => Application/Calendar/src/MainWindowService.h (83%) rename Application/{photoAlbum => Calendar}/src/main.cpp (64%) rename Application/{deskTop => DeskTop}/CMakeLists.txt (70%) rename Application/{deskTop => DeskTop}/CMakePresets.json (100%) rename Application/{deskTop => DeskTop}/Readme.md (99%) rename Application/{deskTop => DeskTop}/bin/start.sh (100%) rename Application/{deskTop => DeskTop}/conf/appIndexConfig.json (100%) rename Application/{deskTop => DeskTop}/conf/bottomBarAppConfig.json (100%) rename "Application/deskTop/data/\345\215\240\344\275\215" => "Application/DeskTop/data/\345\215\240\344\275\215" (100%) rename "Application/deskTop/res/appOperate/\345\210\240\351\231\244.png" => "Application/DeskTop/res/appOperate/\345\210\240\351\231\244.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" (100%) rename "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" => "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" (100%) rename Application/{deskTop => DeskTop}/res/topBar/WIFI.png (100%) rename "Application/deskTop/res/topBar/\350\223\235\347\211\231.png" => "Application/DeskTop/res/topBar/\350\223\235\347\211\231.png" (100%) rename "Application/deskTop/res/\345\205\263\351\227\255.png" => "Application/DeskTop/res/\345\205\263\351\227\255.png" (100%) rename "Application/deskTop/res/\346\251\230\345\255\220.png" => "Application/DeskTop/res/\346\251\230\345\255\220.png" (100%) rename "Application/deskTop/res/\346\265\213\350\257\225.png" => "Application/DeskTop/res/\346\265\213\350\257\225.png" (100%) rename "Application/deskTop/res/\347\201\253\351\276\231\346\236\234.png" => "Application/DeskTop/res/\347\201\253\351\276\231\346\236\234.png" (100%) rename "Application/deskTop/res/\350\215\211\350\216\223.png" => "Application/DeskTop/res/\350\215\211\350\216\223.png" (100%) rename "Application/deskTop/res/\350\217\240\350\220\235.png" => "Application/DeskTop/res/\350\217\240\350\220\235.png" (100%) rename "Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" => "Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" (100%) rename "Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" => "Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" (100%) rename Application/{deskTop/src/deskEntry.cpp => DeskTop/src/DeskEntry.cpp} (65%) create mode 100644 Application/DeskTop/src/DeskEntry.h rename Application/{deskTop => DeskTop}/src/DeskScreen.cpp (95%) rename Application/{deskTop => DeskTop}/src/DeskScreen.h (84%) rename Application/{deskTop/src/deskTopGlobal.hpp => DeskTop/src/DeskTopGlobal.hpp} (88%) rename Application/{deskTop/src/ToolBar/appSettingBar.cpp => DeskTop/src/ToolBar/AppSettingBar.cpp} (84%) rename Application/{deskTop/src/ToolBar/appSettingBar.h => DeskTop/src/ToolBar/AppSettingBar.h} (93%) rename Application/{deskTop/src/ToolBar/bottomBar.cpp => DeskTop/src/ToolBar/BottomBar.cpp} (72%) rename Application/{deskTop/src/ToolBar/bottomBar.h => DeskTop/src/ToolBar/BottomBar.h} (69%) rename Application/{deskTop/src/ToolBar/navigationBar.cpp => DeskTop/src/ToolBar/NavigationBar.cpp} (85%) rename Application/{deskTop/src/ToolBar/navigationBar.h => DeskTop/src/ToolBar/NavigationBar.h} (93%) rename Application/{deskTop/src/ToolBar/powerManage.cpp => DeskTop/src/ToolBar/PowerManage.cpp} (86%) rename Application/{deskTop/src/ToolBar/powerManage.h => DeskTop/src/ToolBar/PowerManage.h} (88%) rename Application/{deskTop/src/ToolBar/topBar.cpp => DeskTop/src/ToolBar/TopBar.cpp} (90%) rename Application/{deskTop/src/ToolBar/topBar.h => DeskTop/src/ToolBar/TopBar.h} (93%) create mode 100644 Application/DeskTop/src/ToolModule/CaculateAppPos.cpp rename Application/{deskTop/src/toolModule/caculateAppPos.h => DeskTop/src/ToolModule/CaculateAppPos.h} (93%) rename Application/{deskTop/src/toolModule/desktopAppButton.cpp => DeskTop/src/ToolModule/DesktopAppButton.cpp} (68%) rename Application/{deskTop/src/toolModule/desktopAppButton.h => DeskTop/src/ToolModule/DesktopAppButton.h} (68%) rename Application/{deskTop/src/mainAppScrollPanel.cpp => DeskTop/src/ToolModule/MainAppScrollPanel.cpp} (86%) rename Application/{deskTop/src/mainAppScrollPanel.h => DeskTop/src/ToolModule/MainAppScrollPanel.h} (90%) rename Application/{deskTop/src/toolWindow/appOperateMaskWindow.cpp => DeskTop/src/ToolWindow/AppOperateMaskWindow.cpp} (66%) rename Application/{deskTop/src/toolWindow/appOperateMaskWindow.h => DeskTop/src/ToolWindow/AppOperateMaskWindow.h} (87%) rename Application/{deskTop/src/toolWindow/appPreviewWidget.cpp => DeskTop/src/ToolWindow/AppPreviewWidget.cpp} (83%) rename Application/{deskTop/src/toolWindow/appPreviewWidget.h => DeskTop/src/ToolWindow/AppPreviewWidget.h} (90%) rename Application/{deskTop/src/toolWindow/appTaskManageWindow.cpp => DeskTop/src/ToolWindow/AppTaskManageWindow.cpp} (84%) rename Application/{deskTop/src/toolWindow/appTaskManageWindow.h => DeskTop/src/ToolWindow/AppTaskManageWindow.h} (86%) rename Application/{deskTop/src/toolWindow/sysLockWindow.cpp => DeskTop/src/ToolWindow/SysLockWindow.cpp} (90%) rename Application/{deskTop/src/toolWindow/sysLockWindow.h => DeskTop/src/ToolWindow/SysLockWindow.h} (95%) rename Application/{fileManagement => FileManagement}/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json (94%) rename Application/{fileManagement => FileManagement}/CMakeLists.txt (72%) rename Application/{fileManagement => FileManagement}/CMakePresets.json (100%) rename Application/{fileManagement => FileManagement}/Readme.md (99%) create mode 100755 Application/FileManagement/bin/fileManagement rename "Application/fileManagement/conf/\345\215\240\344\275\215" => "Application/FileManagement/conf/\345\215\240\344\275\215" (100%) rename Application/{fileManagement => FileManagement}/data/cache.data (100%) rename Application/{fileManagement => FileManagement}/data/style.css (88%) rename "Application/fileManagement/res/USB\350\256\276\345\244\207-\346\234\252\351\200\211\344\270\255.png" => "Application/FileManagement/res/USB\350\256\276\345\244\207-\346\234\252\351\200\211\344\270\255.png" (100%) rename "Application/fileManagement/res/USB\350\256\276\345\244\207-\351\200\211\344\270\255.png" => "Application/FileManagement/res/USB\350\256\276\345\244\207-\351\200\211\344\270\255.png" (100%) rename "Application/fileManagement/res/fastAccess/\345\233\276\347\211\207.png" => "Application/FileManagement/res/fastAccess/\345\233\276\347\211\207.png" (100%) rename "Application/fileManagement/res/fastAccess/\345\272\224\347\224\250.png" => "Application/FileManagement/res/fastAccess/\345\272\224\347\224\250.png" (100%) rename "Application/fileManagement/res/fastAccess/\346\226\207\346\234\254.png" => "Application/FileManagement/res/fastAccess/\346\226\207\346\234\254.png" (100%) rename "Application/fileManagement/res/fastAccess/\350\247\206\351\242\221.png" => "Application/FileManagement/res/fastAccess/\350\247\206\351\242\221.png" (100%) rename "Application/fileManagement/res/fastAccess/\351\237\263\351\242\221.png" => "Application/FileManagement/res/fastAccess/\351\237\263\351\242\221.png" (100%) rename Application/{fileManagement => FileManagement}/res/fileSource/QQ.png (100%) rename "Application/fileManagement/res/fileSource/\344\270\213\350\275\275\344\270\216\346\216\245\346\224\266.png" => "Application/FileManagement/res/fileSource/\344\270\213\350\275\275\344\270\216\346\216\245\346\224\266.png" (100%) rename "Application/fileManagement/res/fileSource/\345\276\256\344\277\241.png" => "Application/FileManagement/res/fileSource/\345\276\256\344\277\241.png" (100%) rename Application/{fileManagement => FileManagement}/res/icon.png (100%) rename "Application/fileManagement/res/\345\205\263\351\227\255.png" => "Application/FileManagement/res/\345\205\263\351\227\255.png" (100%) rename "Application/fileManagement/res/\345\210\240\351\231\244.png" => "Application/FileManagement/res/\345\210\240\351\231\244.png" (100%) rename "Application/fileManagement/res/\345\212\237\350\203\275\350\256\276\347\275\256.png" => "Application/FileManagement/res/\345\212\237\350\203\275\350\256\276\347\275\256.png" (100%) rename "Application/fileManagement/res/\346\220\234\347\264\242.png" => "Application/FileManagement/res/\346\220\234\347\264\242.png" (100%) rename "Application/fileManagement/res/\346\233\264\345\244\232.png" => "Application/FileManagement/res/\346\233\264\345\244\232.png" (100%) rename "Application/fileManagement/res/\346\234\200\350\277\221-focus.png" => "Application/FileManagement/res/\346\234\200\350\277\221-focus.png" (100%) rename "Application/fileManagement/res/\346\234\200\350\277\221-normal.png" => "Application/FileManagement/res/\346\234\200\350\277\221-normal.png" (100%) rename "Application/fileManagement/res/\346\265\217\350\247\210-focus.png" => "Application/FileManagement/res/\346\265\217\350\247\210-focus.png" (100%) rename "Application/fileManagement/res/\346\265\217\350\247\210-normal.png" => "Application/FileManagement/res/\346\265\217\350\247\210-normal.png" (100%) rename "Application/fileManagement/res/\346\270\205\347\220\206.png" => "Application/FileManagement/res/\346\270\205\347\220\206.png" (100%) rename "Application/fileManagement/res/\347\247\273\345\212\250.png" => "Application/FileManagement/res/\347\247\273\345\212\250.png" (100%) rename "Application/fileManagement/res/\347\256\255\345\244\264-\345\267\262\345\261\225\345\274\200.png" => "Application/FileManagement/res/\347\256\255\345\244\264-\345\267\262\345\261\225\345\274\200.png" (100%) rename "Application/fileManagement/res/\347\256\255\345\244\264-\346\234\252\345\261\225\345\274\200.png" => "Application/FileManagement/res/\347\256\255\345\244\264-\346\234\252\345\261\225\345\274\200.png" (100%) rename "Application/fileManagement/res/\350\267\257\345\276\204\345\220\216\351\200\200.png" => "Application/FileManagement/res/\350\267\257\345\276\204\345\220\216\351\200\200.png" (100%) rename Application/{fileManagement/src/browserToolWindow/fileListWindow.cpp => FileManagement/src/BrowserToolWindow/FileListWindow.cpp} (88%) rename Application/{fileManagement/src/browserToolWindow/fileListWindow.h => FileManagement/src/BrowserToolWindow/FileListWindow.h} (84%) rename Application/{fileManagement/src/browserToolWindow/listFileItem.cpp => FileManagement/src/BrowserToolWindow/ListFileItem.cpp} (92%) rename Application/{fileManagement/src/browserToolWindow/listFileItem.h => FileManagement/src/BrowserToolWindow/ListFileItem.h} (89%) rename Application/{fileManagement/src/browserToolWindow/settingWindow.cpp => FileManagement/src/BrowserToolWindow/SettingWindow.cpp} (91%) rename Application/{fileManagement/src/browserToolWindow/settingWindow.h => FileManagement/src/BrowserToolWindow/SettingWindow.h} (94%) rename "Application/fileManagement/src/browserToolWindow/\346\265\217\350\247\210\351\241\265\351\235\242\347\232\204\347\252\227\345\217\243" => "Application/FileManagement/src/BrowserToolWindow/\346\265\217\350\247\210\351\241\265\351\235\242\347\232\204\347\252\227\345\217\243" (100%) rename Application/{fileManagement/src/fileManagementGlobal.h => FileManagement/src/FileManagementGlobal.h} (100%) rename Application/{fileManagement/src/mainWindowService.cpp => FileManagement/src/MainWindowService.cpp} (79%) rename Application/{fileManagement/src/mainWindowService.h => FileManagement/src/MainWindowService.h} (77%) rename Application/{fileManagement/src/recentlyToolWindow/clearSpaceWindow.cpp => FileManagement/src/RecentlyToolWindow/ClearSpaceWindow.cpp} (92%) rename Application/{fileManagement/src/recentlyToolWindow/clearSpaceWindow.h => FileManagement/src/RecentlyToolWindow/ClearSpaceWindow.h} (89%) rename Application/{fileManagement/src/recentlyToolWindow/pressPopWindow.cpp => FileManagement/src/RecentlyToolWindow/PressPopWindow.cpp} (91%) rename Application/{fileManagement/src/recentlyToolWindow/pressPopWindow.h => FileManagement/src/RecentlyToolWindow/PressPopWindow.h} (91%) rename "Application/fileManagement/src/recentlyToolWindow/\346\234\200\350\277\221\351\241\265\351\235\242\347\232\204\347\252\227\345\217\243" => "Application/FileManagement/src/RecentlyToolWindow/\346\234\200\350\277\221\351\241\265\351\235\242\347\232\204\347\252\227\345\217\243" (100%) rename Application/{fileManagement/src/sonWindow/browseWindow.cpp => FileManagement/src/SonWindow/BrowseWindow.cpp} (92%) rename Application/{fileManagement/src/sonWindow/browseWindow.h => FileManagement/src/SonWindow/BrowseWindow.h} (80%) rename Application/{fileManagement/src/sonWindow/recentlyWindow.cpp => FileManagement/src/SonWindow/RecentlyWindow.cpp} (88%) rename Application/{fileManagement/src/sonWindow/recentlyWindow.h => FileManagement/src/SonWindow/RecentlyWindow.h} (74%) rename Application/{fileManagement/src/toolWindow/diskDeviceCheckBox.cpp => FileManagement/src/ToolWindow/DiskDeviceCheckBox.cpp} (86%) rename Application/{fileManagement/src/toolWindow/diskDeviceCheckBox.h => FileManagement/src/ToolWindow/DiskDeviceCheckBox.h} (78%) rename Application/{fileManagement/src/toolWindow/usbPopButton.cpp => FileManagement/src/ToolWindow/UsbPopButton.cpp} (85%) rename Application/{fileManagement/src/toolWindow/usbPopButton.h => FileManagement/src/ToolWindow/UsbPopButton.h} (66%) rename Application/{fileManagement => FileManagement}/src/main.cpp (60%) rename Application/{mediaPlayer => MediaPlayer}/1afd93b7-c938-f604-57be-edc95df6cb36.json (94%) rename Application/{mediaPlayer => MediaPlayer}/CMakeLists.txt (83%) rename Application/{mediaPlayer => MediaPlayer}/CMakePresets.json (100%) rename Application/{mediaPlayer => MediaPlayer}/Readme.md (99%) create mode 100755 Application/MediaPlayer/bin/mediaPlayer rename "Application/mediaPlayer/conf/\345\215\240\344\275\215" => "Application/MediaPlayer/conf/\345\215\240\344\275\215" (100%) rename Application/{calendar => MediaPlayer}/data/style.css (88%) rename Application/{mediaPlayer => MediaPlayer}/res/demo.mp4 (100%) rename Application/{mediaPlayer => MediaPlayer}/res/icon.png (100%) rename "Application/mediaPlayer/res/\344\270\212\344\270\200\344\270\252.png" => "Application/MediaPlayer/res/\344\270\212\344\270\200\344\270\252.png" (100%) rename "Application/mediaPlayer/res/\344\270\213\344\270\200\344\270\252.png" => "Application/MediaPlayer/res/\344\270\213\344\270\200\344\270\252.png" (100%) rename "Application/mediaPlayer/res/\345\215\203\345\215\203\351\230\231\346\255\214.mp3" => "Application/MediaPlayer/res/\345\215\203\345\215\203\351\230\231\346\255\214.mp3" (100%) rename "Application/mediaPlayer/res/\345\220\216\351\200\200.png" => "Application/MediaPlayer/res/\345\220\216\351\200\200.png" (100%) rename "Application/mediaPlayer/res/\345\277\253\350\277\233.png" => "Application/MediaPlayer/res/\345\277\253\350\277\233.png" (100%) rename "Application/mediaPlayer/res/\345\277\253\351\200\200.png" => "Application/MediaPlayer/res/\345\277\253\351\200\200.png" (100%) rename "Application/mediaPlayer/res/\346\222\255\346\224\276.png" => "Application/MediaPlayer/res/\346\222\255\346\224\276.png" (100%) rename "Application/mediaPlayer/res/\346\226\207\344\273\266\345\210\227\350\241\250-\345\205\263\351\227\255.png" => "Application/MediaPlayer/res/\346\226\207\344\273\266\345\210\227\350\241\250-\345\205\263\351\227\255.png" (100%) rename "Application/mediaPlayer/res/\346\226\207\344\273\266\345\210\227\350\241\250.png" => "Application/MediaPlayer/res/\346\226\207\344\273\266\345\210\227\350\241\250.png" (100%) rename "Application/mediaPlayer/res/\346\232\202\345\201\234.png" => "Application/MediaPlayer/res/\346\232\202\345\201\234.png" (100%) rename "Application/mediaPlayer/res/\346\265\213\350\257\225\350\247\206\351\242\221\345\260\201\351\235\242.jpg" => "Application/MediaPlayer/res/\346\265\213\350\257\225\350\247\206\351\242\221\345\260\201\351\235\242.jpg" (100%) rename "Application/mediaPlayer/res/\351\237\263\351\207\217\350\260\203\350\212\202.png" => "Application/MediaPlayer/res/\351\237\263\351\207\217\350\260\203\350\212\202.png" (100%) rename "Application/mediaPlayer/res/\351\237\263\351\242\221.png" => "Application/MediaPlayer/res/\351\237\263\351\242\221.png" (100%) rename Application/{mediaPlayer/src/mainWindowService.cpp => MediaPlayer/src/MainWindowService.cpp} (85%) rename Application/{mediaPlayer/src/mainWindowService.h => MediaPlayer/src/MainWindowService.h} (89%) rename Application/{mediaPlayer/src/mediaPlayerGlobal.h => MediaPlayer/src/MediaPlayerGlobal.h} (100%) rename Application/{mediaPlayer/src/ToolBar/bottomBar.cpp => MediaPlayer/src/ToolBar/BottomBar.cpp} (89%) rename Application/{mediaPlayer/src/ToolBar/bottomBar.h => MediaPlayer/src/ToolBar/BottomBar.h} (93%) rename Application/{mediaPlayer/src/ToolBar/topBar.cpp => MediaPlayer/src/ToolBar/TopBar.cpp} (85%) rename Application/{mediaPlayer/src/ToolBar/topBar.h => MediaPlayer/src/ToolBar/TopBar.h} (92%) rename Application/{mediaPlayer => MediaPlayer}/src/main.cpp (81%) rename Application/{photoAlbum => PhotoAlbum}/8aa1ea99-75af-92d1-0988-998803157aac.json (92%) rename Application/{photoAlbum => PhotoAlbum}/CMakeLists.txt (87%) rename Application/{photoAlbum => PhotoAlbum}/CMakePresets.json (100%) rename Application/{photoAlbum => PhotoAlbum}/Readme.md (98%) create mode 100755 Application/PhotoAlbum/bin/photoAlbum rename "Application/photoAlbum/conf/\345\215\240\344\275\215" => "Application/PhotoAlbum/conf/\345\215\240\344\275\215" (100%) rename Application/{photoAlbum => PhotoAlbum}/data/style.css (88%) rename Application/{photoAlbum => PhotoAlbum}/res/icon.png (100%) rename Application/{photoAlbum/src/mainWindowService.cpp => PhotoAlbum/src/MainWindowService.cpp} (60%) rename ComDemoApplication/batteryDemo/src/mainWindowService.h => Application/PhotoAlbum/src/MainWindowService.h (83%) rename Application/{photoAlbum/src/photoAlbumGlobal.h => PhotoAlbum/src/PhotoAlbumGlobal.h} (100%) rename {ComDemoApplication/animationDemo => Application/PhotoAlbum}/src/main.cpp (64%) rename Application/{systemSettings => SystemSettings}/94301ca4-d753-9ae8-626a-206c15d6abdd.json (94%) rename Application/{systemSettings => SystemSettings}/CMakeLists.txt (79%) rename Application/{systemSettings => SystemSettings}/CMakePresets.json (100%) rename Application/{systemSettings => SystemSettings}/Readme.md (99%) create mode 100755 Application/SystemSettings/bin/systemSettings rename "Application/systemSettings/conf/\345\215\240\344\275\215" => "Application/SystemSettings/conf/\345\215\240\344\275\215" (100%) create mode 100644 Application/SystemSettings/data/style.css rename Application/{systemSettings => SystemSettings}/res/icon.png (100%) rename Application/{systemSettings => SystemSettings}/res/menuItem/WLAN.png (100%) rename "Application/systemSettings/res/menuItem/\344\273\245\345\244\252\347\275\221.png" => "Application/SystemSettings/res/menuItem/\344\273\245\345\244\252\347\275\221.png" (100%) rename "Application/systemSettings/res/menuItem/\345\243\201\347\272\270\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\345\243\201\347\272\270\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\345\243\260\351\237\263\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\345\243\260\351\237\263\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\345\272\224\347\224\250\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\345\272\224\347\224\250\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\346\230\276\347\244\272\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\346\230\276\347\244\272\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\346\233\264\345\244\232\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\346\233\264\345\244\232\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\346\241\214\351\235\242\350\256\276\347\275\256.png" => "Application/SystemSettings/res/menuItem/\346\241\214\351\235\242\350\256\276\347\275\256.png" (100%) rename "Application/systemSettings/res/menuItem/\347\203\255\347\202\271.png" => "Application/SystemSettings/res/menuItem/\347\203\255\347\202\271.png" (100%) rename "Application/systemSettings/res/menuItem/\350\223\235\347\211\231.png" => "Application/SystemSettings/res/menuItem/\350\223\235\347\211\231.png" (100%) rename "Application/systemSettings/res/menuItem/\350\256\276\345\244\207\344\277\241\346\201\257.png" => "Application/SystemSettings/res/menuItem/\350\256\276\345\244\207\344\277\241\346\201\257.png" (100%) rename "Application/systemSettings/res/\346\220\234\347\264\242.png" => "Application/SystemSettings/res/\346\220\234\347\264\242.png" (100%) rename "Application/systemSettings/res/\350\267\257\345\276\204\345\220\216\351\200\200.png" => "Application/SystemSettings/res/\350\267\257\345\276\204\345\220\216\351\200\200.png" (100%) rename Application/{systemSettings/src/mainWindowService.cpp => SystemSettings/src/MainWindowService.cpp} (90%) rename Application/{systemSettings/src/mainWindowService.h => SystemSettings/src/MainWindowService.h} (90%) rename Application/{systemSettings/src/settingWindow/bluetoothSettingWindow.cpp => SystemSettings/src/SettingWindow/BluetoothSettingWindow.cpp} (86%) rename Application/{systemSettings/src/settingWindow/bluetoothSettingWindow.h => SystemSettings/src/SettingWindow/BluetoothSettingWindow.h} (75%) rename Application/{systemSettings/src/settingWindow => SystemSettings/src/SettingWindow}/InternetSettingWindow.cpp (99%) rename Application/{systemSettings/src/settingWindow => SystemSettings/src/SettingWindow}/InternetSettingWindow.h (93%) rename Application/{systemSettings/src/settingWindow/settingBase.cpp => SystemSettings/src/SettingWindow/SettingBase.cpp} (55%) rename Application/{systemSettings/src/settingWindow/settingBase.h => SystemSettings/src/SettingWindow/SettingBase.h} (88%) rename Application/{systemSettings/src/systemSettingsGlobal.h => SystemSettings/src/SystemSettingsGlobal.h} (100%) rename Application/{systemSettings => SystemSettings}/src/main.cpp (64%) delete mode 100644 Application/deskTop/src/deskEntry.h delete mode 100644 Application/deskTop/src/toolModule/caculateAppPos.cpp delete mode 100644 Application/systemSettings/data/style.css rename ComDemoApplication/{animationDemo => AnimationDemo}/88fab468-3413-4fc1-a711-67854fc7a282.json (92%) rename ComDemoApplication/{animationDemo => AnimationDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{animationDemo => AnimationDemo}/CMakePresets.json (100%) rename ComDemoApplication/{animationDemo => AnimationDemo}/Readme.md (97%) create mode 100755 ComDemoApplication/AnimationDemo/bin/animationDemo rename "ComDemoApplication/animationDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/AnimationDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/AnimationDemo/data/style.css rename ComDemoApplication/{animationDemo => AnimationDemo}/res/icon.png (100%) rename ComDemoApplication/{animationDemo/src/mainWindowService.cpp => AnimationDemo/src/MainWindowService.cpp} (95%) rename Application/calendar/src/mainWindowService.h => ComDemoApplication/AnimationDemo/src/MainWindowService.h (83%) rename ComDemoApplication/{batteryDemo => AnimationDemo}/src/main.cpp (64%) rename ComDemoApplication/{batteryDemo => BatteryDemo}/33406742-ceb3-3833-c0a5-ae7e3a82811f.json (92%) rename ComDemoApplication/{batteryDemo => BatteryDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{batteryDemo => BatteryDemo}/CMakePresets.json (100%) rename ComDemoApplication/{batteryDemo => BatteryDemo}/Readme.md (97%) create mode 100755 ComDemoApplication/BatteryDemo/bin/batteryDemo rename "ComDemoApplication/batteryDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/BatteryDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/BatteryDemo/data/style.css rename ComDemoApplication/{batteryDemo => BatteryDemo}/res/icon.png (100%) rename ComDemoApplication/{batteryDemo/src/mainWindowService.cpp => BatteryDemo/src/MainWindowService.cpp} (81%) rename Application/photoAlbum/src/mainWindowService.h => ComDemoApplication/BatteryDemo/src/MainWindowService.h (83%) rename {Application/calendar => ComDemoApplication/BatteryDemo}/src/main.cpp (64%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/CMakePresets.json (100%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/Readme.md (98%) create mode 100755 ComDemoApplication/ButtonDemo/bin/buttonDemo rename "ComDemoApplication/buttonDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/ButtonDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/ButtonDemo/data/style.css rename ComDemoApplication/{buttonDemo => ButtonDemo}/e8527fe8-e246-c133-75a5-b6d2abb3fd3c.json (93%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/res/btnIcon.png (100%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/res/btnIcon2.png (100%) rename ComDemoApplication/{buttonDemo => ButtonDemo}/res/icon.png (100%) rename ComDemoApplication/{buttonDemo/src/mainWindowService.cpp => ButtonDemo/src/MainWindowService.cpp} (82%) create mode 100644 ComDemoApplication/ButtonDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/ButtonDemo/src/main.cpp rename ComDemoApplication/{checkBoxDemo => CheckBoxDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{checkBoxDemo => CheckBoxDemo}/CMakePresets.json (100%) rename ComDemoApplication/{checkBoxDemo => CheckBoxDemo}/Readme.md (97%) create mode 100755 ComDemoApplication/CheckBoxDemo/bin/checkBoxDemo rename ComDemoApplication/{checkBoxDemo => CheckBoxDemo}/ca63b371-bd0a-77c2-adfa-10bc57a63e4b.json (92%) rename "ComDemoApplication/checkBoxDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/CheckBoxDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/CheckBoxDemo/data/style.css rename ComDemoApplication/{checkBoxDemo => CheckBoxDemo}/res/icon.png (100%) rename ComDemoApplication/{checkBoxDemo/src/mainWindowService.cpp => CheckBoxDemo/src/MainWindowService.cpp} (74%) create mode 100644 ComDemoApplication/CheckBoxDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/CheckBoxDemo/src/main.cpp rename ComDemoApplication/{comboxDemo => ComboxDemo}/2084e4fb-a01d-4404-b515-956c095f042c.json (93%) rename ComDemoApplication/{comboxDemo => ComboxDemo}/CMakeLists.txt (86%) rename ComDemoApplication/{comboxDemo => ComboxDemo}/CMakePresets.json (100%) rename ComDemoApplication/{comboxDemo => ComboxDemo}/Readme.md (98%) create mode 100755 ComDemoApplication/ComboxDemo/bin/comboxDemo rename "ComDemoApplication/comboxDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/ComboxDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/ComboxDemo/data/style.css rename ComDemoApplication/{comboxDemo => ComboxDemo}/res/icon.png (100%) rename ComDemoApplication/{comboxDemo/src/mainWindowService.cpp => ComboxDemo/src/MainWindowService.cpp} (70%) create mode 100644 ComDemoApplication/ComboxDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/ComboxDemo/src/main.cpp rename ComDemoApplication/{flexLayoutDemo => FlexLayoutDemo}/CMakeLists.txt (85%) rename ComDemoApplication/{flexLayoutDemo => FlexLayoutDemo}/CMakePresets.json (100%) rename ComDemoApplication/{flexLayoutDemo => FlexLayoutDemo}/Readme.md (97%) create mode 100755 ComDemoApplication/FlexLayoutDemo/bin/flexLayoutDemo rename "ComDemoApplication/flexLayoutDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/FlexLayoutDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/FlexLayoutDemo/data/style.css rename ComDemoApplication/{flexLayoutDemo => FlexLayoutDemo}/ec71147b-b8c7-8db7-b46b-916a5c30b2b9.json (92%) rename ComDemoApplication/{flexLayoutDemo => FlexLayoutDemo}/res/icon.png (100%) rename ComDemoApplication/{flexLayoutDemo/src/mainWindowService.cpp => FlexLayoutDemo/src/MainWindowService.cpp} (90%) create mode 100644 ComDemoApplication/FlexLayoutDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/FlexLayoutDemo/src/main.cpp rename ComDemoApplication/{labelDemo => LabelDemo}/CMakeLists.txt (88%) rename ComDemoApplication/{labelDemo => LabelDemo}/CMakePresets.json (100%) rename ComDemoApplication/{labelDemo => LabelDemo}/Readme.md (98%) create mode 100755 ComDemoApplication/LabelDemo/bin/labelDemo rename "ComDemoApplication/labelDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/LabelDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/LabelDemo/data/style.css rename ComDemoApplication/{labelDemo => LabelDemo}/fb1412cf-84de-4138-b401-215b6e9b1c11.json (93%) rename ComDemoApplication/{labelDemo => LabelDemo}/res/icon.png (100%) rename ComDemoApplication/{labelDemo => LabelDemo}/res/test.svg (100%) rename ComDemoApplication/{labelDemo/src/mainWindowService.cpp => LabelDemo/src/MainWindowService.cpp} (91%) create mode 100644 ComDemoApplication/LabelDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/LabelDemo/src/main.cpp rename ComDemoApplication/{progressBarDemo => ProgressBarDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{progressBarDemo => ProgressBarDemo}/CMakePresets.json (100%) rename ComDemoApplication/{progressBarDemo => ProgressBarDemo}/Readme.md (97%) create mode 100755 ComDemoApplication/ProgressBarDemo/bin/progressBarDemo rename "ComDemoApplication/progressBarDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/ProgressBarDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/ProgressBarDemo/data/style.css rename ComDemoApplication/{progressBarDemo => ProgressBarDemo}/de288e32-9a68-40c9-81fa-e57609c226e0.json (92%) rename ComDemoApplication/{progressBarDemo => ProgressBarDemo}/res/icon.png (100%) rename ComDemoApplication/{progressBarDemo/src/mainWindowService.cpp => ProgressBarDemo/src/MainWindowService.cpp} (73%) create mode 100644 ComDemoApplication/ProgressBarDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/ProgressBarDemo/src/main.cpp rename ComDemoApplication/{sliderDemo => SliderDemo}/CMakeLists.txt (87%) rename ComDemoApplication/{sliderDemo => SliderDemo}/CMakePresets.json (100%) rename ComDemoApplication/{sliderDemo => SliderDemo}/Readme.md (98%) rename ComDemoApplication/{sliderDemo => SliderDemo}/bee1bc99-c541-45b4-b3be-2f00145f8106.json (92%) create mode 100755 ComDemoApplication/SliderDemo/bin/sliderDemo rename "ComDemoApplication/sliderDemo/conf/\345\215\240\344\275\215" => "ComDemoApplication/SliderDemo/conf/\345\215\240\344\275\215" (100%) create mode 100644 ComDemoApplication/SliderDemo/data/style.css rename ComDemoApplication/{sliderDemo => SliderDemo}/res/icon.png (100%) rename ComDemoApplication/{sliderDemo/src/mainWindowService.cpp => SliderDemo/src/MainWindowService.cpp} (82%) create mode 100644 ComDemoApplication/SliderDemo/src/MainWindowService.h create mode 100644 ComDemoApplication/SliderDemo/src/main.cpp delete mode 100644 ComDemoApplication/animationDemo/data/style.css delete mode 100644 ComDemoApplication/batteryDemo/data/style.css delete mode 100644 ComDemoApplication/buttonDemo/data/style.css delete mode 100644 ComDemoApplication/buttonDemo/src/main.cpp delete mode 100644 ComDemoApplication/buttonDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/checkBoxDemo/data/style.css delete mode 100644 ComDemoApplication/checkBoxDemo/src/main.cpp delete mode 100644 ComDemoApplication/checkBoxDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/comboxDemo/data/style.css delete mode 100644 ComDemoApplication/comboxDemo/src/main.cpp delete mode 100644 ComDemoApplication/comboxDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/flexLayoutDemo/data/style.css delete mode 100644 ComDemoApplication/flexLayoutDemo/src/main.cpp delete mode 100644 ComDemoApplication/flexLayoutDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/labelDemo/data/style.css delete mode 100644 ComDemoApplication/labelDemo/src/main.cpp delete mode 100644 ComDemoApplication/labelDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/progressBarDemo/data/style.css delete mode 100644 ComDemoApplication/progressBarDemo/src/main.cpp delete mode 100644 ComDemoApplication/progressBarDemo/src/mainWindowService.h delete mode 100644 ComDemoApplication/sliderDemo/data/style.css delete mode 100644 ComDemoApplication/sliderDemo/src/main.cpp delete mode 100644 ComDemoApplication/sliderDemo/src/mainWindowService.h diff --git a/.gitignore b/.gitignore index 1cb59dd..eb8859b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,32 +4,32 @@ install/x86_64 install/arm_64 CMakeFiles/ .cmake/ -Application/calendar/bin/calendar -Application/deskTop/bin/PiXDesktop -Application/fileManagement/bin/fileManagement -Application/mediaPlayer/bin/mediaPlayer -Application/photoAlbum/bin/photoAlbum -Application/systemSettings/bin/systemSettings -ComDemoApplication/animationDemo/bin/animationDemo -ComDemoApplication/batteryDemo/bin/batteryDemo -ComDemoApplication/buttonDemo/bin/buttonDemo -ComDemoApplication/checkBoxDemo/bin/checkBoxDemo -ComDemoApplication/comboxDemo/bin/comboxDemo -ComDemoApplication/flexLayoutDemo/bin/flexLayoutDemo -ComDemoApplication/labelDemo/bin/labelDemo -ComDemoApplication/progressBarDemo/bin/progressBarDemo -ComDemoApplication/sliderDemo/bin/sliderDemo +Application/Calendar/bin/Calendar +Application/DeskTop/bin/PiXDesktop +Application/FileManagement/bin/FileManagement +Application/MediaPlayer/bin/MediaPlayer +Application/PhotoAlbum/bin/PhotoAlbum +Application/SystemSettings/bin/SystemSettings +ComDemoApplication/AnimationDemo/bin/AnimationDemo +ComDemoApplication/BatteryDemo/bin/BatteryDemo +ComDemoApplication/ButtonDemo/bin/ButtonDemo +ComDemoApplication/CheckBoxDemo/bin/CheckBoxDemo +ComDemoApplication/ComboxDemo/bin/ComboxDemo +ComDemoApplication/FlexLayoutDemo/bin/FlexLayoutDemo +ComDemoApplication/LabelDemo/bin/LabelDemo +ComDemoApplication/ProgressBarDemo/bin/ProgressBarDemo +ComDemoApplication/SliderDemo/bin/SliderDemo cmake_install.cmake CMakeCache.txt install_manifest.txt Makefile -Application/calendar/Makefile -Application/deskTop/Makefile -Application/fileManagement/Makefile -Application/mediaPlayer/Makefile -Application/photoAlbum/Makefile -Application/systemSettings/Makefile -ComDemoApplication/animationDemo/Makefile -ComDemoApplication/batteryDemo/Makefile -ComDemoApplication/buttonDemo/Makefile +Application/Calendar/Makefile +Application/DeskTop/Makefile +Application/FileManagement/Makefile +Application/MediaPlayer/Makefile +Application/PhotoAlbum/Makefile +Application/SystemSettings/Makefile +ComDemoApplication/AnimationDemo/Makefile +ComDemoApplication/BatteryDemo/Makefile +ComDemoApplication/ButtonDemo/Makefile Application/systemSettingsArm/bin/systemSettingsArm diff --git a/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json b/Application/Calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json similarity index 93% rename from Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json rename to Application/Calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json index 8ab3da1..80269b3 100644 --- a/Application/calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json +++ b/Application/Calendar/4a1a4cb1-5d7b-952f-9ddd-416857b44e84.json @@ -3,7 +3,7 @@ "appName": "日历", "organization": "", "Version": "0.0.1", - "appexecName": "calendar", + "appexecName": "Calendar", "Architecture": "amd64", "Section": "", "Priority": "", diff --git a/Application/calendar/CMakeLists.txt b/Application/Calendar/CMakeLists.txt similarity index 88% rename from Application/calendar/CMakeLists.txt rename to Application/Calendar/CMakeLists.txt index e11ebf5..947c04e 100644 --- a/Application/calendar/CMakeLists.txt +++ b/Application/Calendar/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.20.0) -project(calendar VERSION 1.0.0 LANGUAGES C CXX) +project(Calendar VERSION 1.0.0 LANGUAGES C CXX) # 指定C++标准 set(CMAKE_CXX_STANDARD 11) @@ -18,7 +18,7 @@ link_directories("/usr/lib") # 定义源码路径宏 set(SOURCE_FILES ${SOURCE_PATH}/main.cpp - ${SOURCE_PATH}/mainWindowService.cpp + ${SOURCE_PATH}/MainWindowService.cpp ) include_directories(${SOURCE_PATH}) @@ -32,10 +32,10 @@ include_directories(/usr/include/TinyPiX/TpGUI/Core) include_directories(/usr/include/TinyPiX/TpGUI/Screen) include_directories(/usr/include/TinyPiX/TpGUI/Widgets) -add_executable(calendar ${SOURCE_FILES}) +add_executable(Calendar ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(calendar TpAPI TpGUI TpUtils TpExtUtils +target_link_libraries(Calendar TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/calendar/CMakePresets.json b/Application/Calendar/CMakePresets.json similarity index 100% rename from Application/calendar/CMakePresets.json rename to Application/Calendar/CMakePresets.json diff --git a/Application/calendar/Readme.md b/Application/Calendar/Readme.md similarity index 98% rename from Application/calendar/Readme.md rename to Application/Calendar/Readme.md index debb9f2..f0eb700 100644 --- a/Application/calendar/Readme.md +++ b/Application/Calendar/Readme.md @@ -1,5 +1,5 @@ -# calendar +# Calendar tinyPiXOS 提供的示例日历程序。暂未实现。 diff --git a/Application/Calendar/bin/calendar b/Application/Calendar/bin/calendar new file mode 100755 index 0000000000000000000000000000000000000000..553fa20d073de791a34dca7a05670775df95b925 GIT binary patch literal 196128 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 z zz7bBe1}6PVjzj&&ArvFM(Ro0X1}4!KK-%~yH&D?Um_*M7a97v zWH>1rn91>2|G}Zc6b?^D`nzW#tx5xv;usykIfp!{qN+-zXkgM}1mKC4DAVV|7o~y8 z0-Fzbu}d-1PqhcCG%%T@EkJhoXo?0VC1N>hu&1OjfRs!TI-@cqtl~ z%$?{2ls*n!@+lgaM9%`!!bejyFp2g8GQ>qym6jTxzS=>Glm;ewGr*aDCSHmLCVA_@ z*<)`l&gU`0oGR#l8P*qO2WzEmTRsC=5i2j^++ln zsT!CJ;{o7@J&sh&v{VgDa$W^awLd>FBP~?}lWG1HxOGXzG^c7{l9La-VI@wg1}5uP zXW%_tj%+PwxEh#*ArWUxa$%_!Mp~){COHd%udKuwxCqhH8kpql0=};zC!VT-NzU`Y zU#rAPmB1wDTj0M}|5c+%+uK0mM{~LJXwhR5K zzp+CLWU^d~()ZvmH8#PX#r8D#)uQ|W=PX0k!OHr_lL)~&eiT6%ML(=?nceIiWNv~8@V5+5Nl4y77w9Ih?o(6q0({4^Z4`+ zGp^Am;9>7@s0QXW4sUu#gT=RF8VvuI;Rw_PpplH=VnlQcZ0~jvv!M@X23I35jsiO6 z!QRkkII}TJ?42FF?_vB63j8aVqsle?{o4Rnvlr}8?_;D*L85R3nlga&yY2;A!~O~R z$+Xl3(#S_MQKY@=*zHgvL^}haGM9Gy+ao|5#NOD4=?gOBVjyFE^z|)38^@L-c%oMW zS>U10+82N}v&-Rj9c;G|VUEafZa5#_2)Ly^9NBUZ(6Nee`e=q+6ny~IZw!+A2H<~^ zqSEvXO0jo`XyNk;{TYZkRii3j(_cqr>0KIq6RD>M)d1J8MER9rbc+u~t!s&hl>qKa zij-UWYfN3w_$R2hM27+?_fc-9(7SKuP4}Zu0XhfBLKoFB;ENNz2gYh2#}osUO@Mb+ zqVS!F-h*O|&_YOg6!5c^C?$7-GAz~)wVIR<0Dt9CxY}le`Al5!pcD4t{VsS$hOn5u}u>4*^yja_N zG_Wt-13zHfg9uZkD`_3VjqT|ObSR*472)(5cvS1tELO5d`OU#?At@3kslt6)#-2f* z^g>KG0omrE#j_CQqWFFHtJ-x4z@r2uJBw!_&h6vhJ+8ph0N(aMc|z&aDXSa&W$yk6 zh01Vb`?h3VcXX77zV+1DdsY0mj@L%9=#YW|yLS&De@rVcFS< zf6l_qxO?#cQr11|F?cdy#$~gNvL03C5BzYSYWVD+XDa`+UI8}73iH|;Z-;kCnOqrsGQ z$YRzu3ja!^BrA%@wFqCk8#f)Z*jIE8_h587WiwxTh0~D>Wt}s*$}%84dlPQDWHPBk z!X~5Btxj!tP#&KA9Bz7NEJKD&EMQ)hmBqH*hVc*C^(2l!1JH~aaUgwTZyv%fGp?nc z$b?7HQL`kIYJ|DhU|B!s8h95jU_q4ik35HQIEtc3;s~52-klHRyvRDFzK(0@&WonO zslx&-n-Hvy%Br9vhKue=G7hwWq+F{OAEd`WNu;CX19%Id zyFHjisNu=MUjQEk^o$3yP&GUy7+H%I5J3O(U`e|Qdus4;xc&oB`ei!Oy8n_iO$#o< z*q;Zefd{iHXwRnyUxDlPfVz7yD~E<>1U~^h1ke}{W_8i<%;0T+uK={bgQdl)sLcxA z2zVW!Z5}MGRl%1A58sFJAJ8!mmIV|AUlx3MCFcKt-t%BtrBU$Z!Lx5gHvs6r9xRU; z3cez^V-;$^<@jD0hm@t++Aq*K!Ih|5EdiByu$q!du3Z`2gSIgM&@c~HgPFir1y`W| zoepTO2e#Yb)A5pr#)Diw`dgp7jDcG(cq@{2w2_ zF}MYdXe6LX9&BPxrkla?;0>4?T?=Tb2dDe+ilDI{@BaY0%Yz*sUKw1E8O9MnCpfV;WXs!tKK0;iA6^|Ck9z()px_)g-FZH|Cb<3~%zpvZ_uyJSd{giPgxwBMHxI7w z!#4*nMJ5aeG}?n3`|vHnnrPp%0bS?8XZ!HFV5`URx;vn)9?UVoaGIkImfam(im~JX zpvPP|Wwuv#pWOlD8#~$80l(`~)EaHs{fV0QU=ag>{RD*HN2(&1PFW^NWqT4)P00mZ z&!b4ktSAp8F3^->z&$*Qbk2&hH}SBhTnzXUk0KqkqU=jNuPN67UhYw(lU9`diSe4U z1MnV?qGmvRoG3exn4>8t0Ke=}q_bAO984_JlrI4P8gi7o$23l`qn1 zE6PKOuA0&UaIr^GQ!R8 z`)m4Tk0v@CQEspV$wUxy7*bvZ{GLaVj$TooN@Q$OlwSy6 z?Iv0}dqsIVF<4Xb05|X`(%~!0@x)V_(h+bkk0PDEqMS(NZdL)61D@4*5V&y*NODn(~J&Ftnit<8Y@D4?}5OBFikwHOGUQA5H zn8CQr0ld(o$iSc|FC`Y;q9~gH@AN1#I4H_L60Ok#)0am9KkHFsfKZf|6Dw|1ln(%Z zK18t^8MA_Iq_yph zf;P?W{58NIRHE$Ih92`b+r-#L%5Q+v=DCSh0SV=I`>l0~k`K6{M^OP$K)38a!FTUb zlv2RwkkSruH_}F;T*?Aw@QIu8JZGXC1T@x%cdP^)F@t$~FlhmN4WNZSd@r)8EW-?T zKtefIa8KMje7O24z&U1c2Bw)DCk_L8+=t5^09?Zi-ik`dG2$&i@B8pvB&w{w860s4 zF$eq`puc?hJjA%Hi5VOZ8pnp*`S|()hfdfa%)-iAA?$n6gaEe%)X|4~B1&cL&0uUV zo)J6ZZ(u;fefT)0I%S>B;L|8%jt7?my2^(SpiPwZG=o*pl-Wh!3}~Yde~#|H>|8VW z8luSUc=rQ(*oS{aMK8P148Dch%;nja0lneF^=}6}+zkGHD<1GL(0mW*7azWe(~2=> za55Sl2bsimSOmbK(`_;4lg!{0^x+&}ngc5G;crmi%4V8&H9VBCQk@Iv0w2yf0(h2L zdp8o+5fx-Api6!DtZjf7nD%V+EOfmb&`mx(?|H!2oAzd858-1Ek6)6PNy35OTpy#X9L-LvTVa?^eT0E{Umsqv8SrY;Zh_iDcpRX~KD>qndXs4%)a~qgK+AmiBZhsm zX%AVhTyF<-w-0}R6!1FJj=!kjCjdR;!xy6{%GR6qa?Jc0_6LCe<--pnugf-?b|)RS zu@I969Bw^lMc!=MPa%qQT?Xuq3O53&{by&k74Dv^;EVJ!BVvHb{!-N;kG zU-URVg>&I{a1NQVX^*PDQ!0*FZMX{=W$w`?e~-!pTKm%p9_FAd`j4*l9&lbYWB2Y*{mUHS3q8&t z3F|So#kbA)_xGqyW;5_z9%qz<2K;%CQ!bq8Xx?R?o6%oTJK5cQ z4E$Sc7YI$H4i`jCS0ux{jv6+j<;X8Axl* z?!^d1AHG-h9|M37^Ek3RkoE*ZEDHrsvSc84+7nou0GzcLlOP(UZq%an zfX@Ro#D_nDby;?xYIn@`b^)FV=n5Ym2dlE2K<*HXc@N@xHK27q+>4%94P>w1f>mC? zdjK8u;a$wx+(6E)DCt)LzX0e}ACBGzxLTn4lNj?q0?bd9fArz92LV?PWZ#9TO@dF+ zC0PBzA@d+3?dw&5^8-~cMU$KkxCx+^KD>c&jX>@#=x8qk+y~GAA0GQW;F^Kl<_P3U zz?T4;?!)Yi7pV6828=g=)373KJKnC1MUi_mk-y2r)33!{P*E{8{koZCiw89%(X^=_y|;J_Brzb zEhelcP($hZtU#4-P!%~9xE;`)9vpw52jFG_`?`l!5BeyeX9;uN)s#tGGv{n@&JNgD z+<|`pfqm@a#!S9YR@O3*?N=CsY_`M5Jl;O? zENJdnRLLe=T%a^z&>C7y2M=>wh~lH^sRlrGh_4N z8{u04-R8r^u$G53|Y>hwwKjtY7z_H2&4!_b;=`vj~@S zj_&~d?7=zxkr#c_1NIv*9n_WvI8-h$7G}khkv4Nb=yo8h8v^7rMkmm_(@9h2>0Rb? z=*{}Z04m&8BHM3BV;)24QB##B2n-)pIO=we~B`JP8~0Vs$|X@f2a3kFZE0V#ljc z9_(5_h@#{+0?FB^w4s_+9)f|1juA*){ST1L-*L)7`37dQnn+FOdUr!WLJhfje-N5T&RdfbJjuQ4vmdI=?!{0b8# zw(~&ZG7{ed=@XY|l)s3lo(6p|x&;!K68_X3pOq7ifcS?w?$Cw`Ct{M^EhPcs2WIB=^;-)MS z-p0k!U2E*WjWaS{F6ZPKzm3ebE2-X5mcTL7AO;bb@j!)fN9UGW$M=(GzP_nTD- z#mr5+L0$@b^E;gWa0#l6l6CfiR3&{mGDl_IRH0Uf=iPCrpem+WbueNlHHTM5@?Vd^ zqulgQkqyeD@$@J#7M@J^Jlc&bV~^PcsR`FgfA5&$BHJbld4)&ZMivn~b=oB6=@r820!B}dmH8z4vHop-VFgUgCSeq?2|m66qgwx> zC8vmAPW(DxOMJY=PT*M|VSoxGW)a^8>^>J)U1stN%nkZiN&b#_tC})XqH+?nmtCrn zdF2COb(oGe8Ax;`;VWRjxVU;3Ly_8ljph|dbRnq<#)uX;B-JU+oH?Uz86?(7XH37; z=-;IJDGX|S-3JZ0L}GCs91n3lFfyOXKr9+AMcoc0ibcCc(acjV02D*C**y5Pq&eQt$mI4;%!u zf7Zh&daiy367@(obI=v$<4{GP$?m;>?p9`9qBaR_fDLeQ@v71Z+tRThvumI+2NF4S zGYS05JvXw#lDP@3sehlmtt2H#S_Q%_F3Ct9MDyt1v+74rfgs(BBhll+;bET@LnG+l zz3LPDT$U}Yx54x- zn#p(Iol4UrGJnI7hQ%fo`f*|QMxQ^%Om2mtm=npY2iDmh^Ce-%VL#YRUV?=3BxXjv^jpCL5ymDduo8uK;U7MP}nS(Nasz>S)w~#6=`+24R;+lJ(KtdXHoM z(X4xFw_$t?{{x93Wby^mlP=R}{4cc0c4lu3N`b^+;-3Qh-o?#t7_r7Z(A-*^T`@ET z5`#!`HsG-ihsqH~*2pbJoo{I-PkZ&@LNbfMDt4Jh?&FBe*=9~NlsRXRfy4zQaVewR zBQ>6gme9mJc|Y;Cy1#ks{Ulw1*?(EG;$w9 zkCAKU^gwQ^#GXr1PZ0Wfq{g$56Bz_jK4lZuep~~CjyXfiCf6bnXm?`gikZukIx7_6$ znPJqV^zZ+CmLxwt8-JAsWVAmfbhFV;-p;1zXqCS`sw7^kGO%BN}zcdsT<%> zHRM;xlsTv&>HGJ~XxV|RQV{qSs3NH$>YvDn^as91yALGVlQb5D>6J)hm>s*nL2(5V z?MPY*!iEYYJw*L_JD7K6ceu};owSwcJq+$+F5k#3It{Bxb4(bT{%KeO31L81Gd4 zTS%Z!f%}}xH!=(GaGt(=DvC3ZXimb%z`k{H?bS%;*V62f$RXv`+2U0OD=`k86+f_Q zFaGQZy=q26b6_1@TzmBzx`OltSvxT(s;p=#UJV7U+@%_sogM;fUSp~MO-PsvY>|uW ztPs-GhtM+z5@(TgI|zF`Qc70vQocKJq97xm^uR4R)!=)O@ zS66{`LDn_Tx~w|F8V|-4pH-73)H{0tx_FiOHHEbtjGKH`4q3gjbJ0>1tA?=lfpN%Z zea~*OIOkQ2WBm6!kfy(ivxx zP!m{vA8)e>c!RqRF_Jo>xu!+yL=wfvt3L z^}VdTW+4MehS^Da-@att1=b;t$^1~gS59~4_*~PThTJ*@!W$k*rkJ@S?!iRlc|ud?S7lJd9Vk8d2R8nnZhV&v9={b)1!<#R4`0+~I) z8t5^v73Lt+y>c^oI|^C(IgZR3U|r=gpAx2X49mx6vc+RAb1az~!Mf99+UUrQ+zW}p$O(1()w z1z0~-WG3%8h01eI^`)2$agT*SBA-k%8(C5vhi(=xJPua(SEX50C!q*fXBRi=(nv1j z*wQWeG;&G>nkQbBgEro!8kt+z!nzJbu?G^>NSF`oMi*CA`tmenMtW%y6(^9$C25;S z$j38|`lQ?l5wTf3p~rE`cml-|;+!VK*o&*vym|_qL+CwTtwq0;ap_68;IujNIZv{d z!T0Af`k}7MnoQ{2$+-OhITwlIfh)8V{YEV=c;1L!s3~mP;E?r;t5C#P^#HUEy=zZc zk4S~uQROL=tRb&l9x&G|#@jEz)e1|9VoEmeYvthTSS$RCiJO~nh~KktVH`BO*?9EF zrP{QFt1PmcrBRC-Op9aq2OQwZR7Yxk;6ZaLK=R+G>r!}T#P(lc7z29Xlh5;Dg$g26 zwZDh#mhzDK%=74s#*>VWFMuEQj^ttyufBYB9#}J_URpuQ z?L_0e50QXcB))+WbP`NTK(%aXbp5^qUZYdIWDKUAN(E`5&A1 z&}9Eo!gVXomcQM!W6KSwbl*4d`BmipSGz=(^L*)c3QFeen?;uHp8~eWKU3-0O}~US z`sG_C%O4}le!L#{WqA}Jx8+Z7lPvwnGK1FzI|~}B!K!l0f8~aDZiD?FuV1UPJciyo zd*6hY--D!%59;&*q>l{)wf%lNmSayxtf;W#D%zdGK64{n{xIk!`m z>sPU*@ck_Q?Wau6z6x6ZY5by#*f}@P+clm0(0z)_wuLTb@A@r#JVIGMkADgJ;q2Rn zEPsh#|BQcJ@>BRR_BJ5$JJ#;vTikPe-xzRB_~x(l>nY!dI`&Z*I44J!j?Gd=eV17J z!$6FSb$nmMKcIs7@{M>w54YU{^n>s3=NEXhOhxGF$rIpz z@cjXLo`Kc`-}mF+e#-4^{5-brmUmzOFdklw ze_WC_uvLX&H~wghLPz*p`wpO7Tq;M<{d6dR;C&<&8wm`|MZu5_N#%S zJ*5KdPy3n4f2Pn=%Hyl<{Qcjg$3=NOb0=9`ySEqRap6ufCU$Rc zvL*4ExjUbOXx6>`P4c$e*-NIeucLKmGhl!xjt1^c_#x`rO<1V=@cv%a@qOHF>i7Us z`=~t8BF_8e--W!3REnuXe+T3XdC3pcQL)Zv{`x6rH(5@99ZxrwBm?#b|0SL!kmhwHu7o(P1RXwYCn2?7v z&Tg{V{sU@ye`pxjek3phe~h7b_1;T5AqL$Sp2OZjri-d*zve#=0YMx)p0FvqFQbMAne}z9w>eBbRtv> z2}|KxmJ$c3damWSsg_@VKWZUi?El46f2bA`q{6j4p4d;-b1gR@#|@AD3Th!iZ4ghp zLbZ^P6|TiiyppQtT0V+7-A(da6Ddxp0+PML6}%>KkZR@%K1daiSoaG^`Rf&#OK(m| zBnwyY>cl~+nJf4Le%x^6qp0PdQ44u*elAqYF1!xc@>t>kRZq3-CLwSXxjr5$yAWCS z(L{xZ$Vqv73a* zf5eYksFoc+8&%6fVwkGu-ji6FLM{sHM1S7g&qS7eBr#~plAu{eu1Qta!y!)w$~wDA z()cEqG*nP0G=LwaO>v)pu_$;cW zKSixDZC|H43eKh{?;u_dWB-7e0nMYAI*a z(jC%~sh-*Zo?anOC%DR@>ee<@HdAPU+xG1b_0)ID_I_QK9Tr~4Jhy)+)kF5kEkZ@la??KxBWZ>^Nxd%+V0>0 z%$<+FN8WuhLEP@ARe>8+flWvE_C11hOnToWf3NN*CKn9T3*QY_fbFC|yYV%Wn}X)i zU*g#cwUV2MG`xj=c0TjD>ZcNG#fr1(u4_rM?tJD~tH*D@1C)I0ITY%A<}+1^nEeLi z{$-ZVzuDz%P*f^}b9@?!@5Mjn5%!<=F(*{uGHAsAjqg8DP?y-4ljDxO*G`zx*&oIk~m z9LAfDllTbKdlz3^<{YAuueui8F23)0wN&^HQ}1^mwU4WK=0x8SJajzskhAyKQSaO7 z;fL{I>U9oL?lWLepQm@KE^o}gfz&=OhA|J&?aE(zl{9phY47im=alPSbk0M)CHuh{ zp!=0Sp|aj-vhIe8i?ilCI4(CJ!5N_YmfxbXj+m^II_sQOE8V~Rh{`%-vQ~B06IQKs zA2UTXr$28zKZ>l7y)HT(U*pRRr~?;%7p>l`vhI-*Sndn&LkpW!GPWK6C7%72#0Rc{ z)bnRpuU#Kb-168Q9;V;P4}GWb0I{q>Z(cdNnMx#*PG%=&mcE8|12*n;IyeN=w6$`5X6Ha};_&Xm&II0Vz8NJXE7jC>o%J||in{Hx znVpAsQ=w~aaJKe#Q~oXXYpPn;yY(LK*|kGdUvEOU{NV1xyZ3BeLszfcrt7%g)Per$ zCT_431AX3R-l_3OueSS>twHWEZ_q;Jdh5;3yPU0Ck8JI{9;kt*3^me}-DFS80OsLl ze-*l$wnfqO;2x_32+1=;xr1RK&yJT)~Fr_b%+F7|?CjVA{rF!o6pwe!=CLPex z-L^B)dHvR{l0*yea#N6JKo`9IAPQ3BJ=S|_TPCO%uhCiT>W)Btcbfb>LEbXnWe|=mn(9Gmy!(3-YUho4Tch_r8Vv7^>u7Hr;$HRM_sU*uBHD%b?@Z|BuUt?4<~IlN z=J1en9M2D^hI%_`Zf-IghVmXE7`?xDv&;-l#Dht!&O_3^ny|Iq^kSSLueXD?t1Qpa zLsXa-=Q=10)f46zxM&act`}9Mtzps{@|@+>IFG4iW9&na1$ui_@BI@PDW-c=`bI+q zd{B@P7pi?vkJD>niQUD0TbRWR8hic7X z2tK5?q%ol&5ZSAF%C9jBl=0gWcVEAAYv=8^-oALt_QW=XB3@;7zBRFR3~j^gNt==}5YnMo@ygSNmK}D<^niDyp4=Yff71U-kics_ zqDJ%iIy`o3Bu5Fa_vVTopW-^y3<>V1K*62-% zn-Wybn-li{df$R4p*7!?xCzhSoiL5^d`RtYl~lz~8G!g6G)}-5$*waQEl~4VW7S>F>D{0it!)hH zQ4IEWqMyQ=2KZmVPjA8xKs!zApdve%if{%`P`J^`fx*fG-((U^|7b-$W|@<%K^uOV zxQ$(^G*}Z=T=&ascDL}Gnj}!|FY|czTQx_!$8i7aZr2ouYVBdl zWih6`HtP$XS@YI++I$HO<1WpYl9c1Iuy?C`7@DwB;Fgsb#(mUFx!2~X@AZ(PU`46yt;Gn@h2bujrQ^?G@ z5WgXhd5>Y4?Wv`e7{xR?WA?;?3D&Elu?Gzhj4%k1kA;6Fcf%qK7PuWYUBt>L3FH9} z48R-n+6njIE!~5rN(Glzl@DogWLz)%A!50WIC9kRwiBjtH9uSnjbc*48iNMdXB$$W zu8Ngpj>~3OEIYv-@z0j{o-s{op3;*=9=6^EWs#E}775BCQ^F?p8ChgHD2vQ6+Qll) ziYzjR5^6aFDL$g9>b&6wvuXw~GlcvW>|OpkCNPV>v5I(dic8tz$!VW>a>f=<&f1Lq zqefPF%$kOftnw<4;eWN^f_asQX1+#EHYW&UHnQ5^5p_=?VW*z!S-^ z%e|X{grPA(F3lA8ewGUNULTN5o4RgVGu{%4{^&(pR~cvxtTk0r32QJdsxT)|iS%|* zn-}~N%*C(-bIFrno)ih@wSEcabyl-HVlBbE-v7cc!3cw_kO8wc%pQhVWW%q$0p0b~ zO2i>YRc|DWHwIn{_lfu(36D`%Ld~01)(Ut(S+BPww4C!@7Hi9b&UYuw(qUtXq~m9? zv1}NM>B#qZ9YFy-QhtpiDHiKbuSlr^_dhFDq>s1h6jg;S1HB!cRZ0(FCnE&C!<#P@ zBBonyP&|2J(9>S;7^tZ0w0e3F_wmKku<3Cf0jChMDjSP&Ubq)Ve|&1ejH7S z4D?)t4D_Bz8R#bhIYq(sUey4BkcPDXi>5&hnmX~5{`xRH_|I6AsiEn8yq-jhs4f^w ze4PigyVaJZemd}0b{VzzfxsK;7o~sDOE*idRiqyZyc5YyHpPe4J8z6s+ebnr?B4xM z;H_U4q!Yn@5THKN5nw_zqWt|i1_w_P{Fs!mfGH?l{=BMFi*>(Xp3TDl7nS76e!m!! z{XUL7LD}z@s51t(U?)NztpE}};1gUbN&@_3NCNznu8kp`_@iGoGU2aq%>d|EfvO~N zFZ8cM-o8vbpEnyVvmd&dnYVDfPi_t4`3`WVDV=Mnlifsal6_7wdp;-ljiI?jms9@7K=-0o|M<+e*ppRaB zbPUk1BlMA>$4BVn41GLKY2@9x=?(PwUG(c+^y|I!>r?dWxA1Yz=kVct5g%K=LLYxc zAD8LlU+Lo;^ikV{K3{{6EjQs~(>?guO5NBxLcb>Qv3Z(4XsFko!mlkkdMx21d69m7 zCw=U~+s$vKv>(Dp=X3bD?)~)fF?=L`3m=<5hmVdw$4Bz7@o{~!%ekgQThTh-dR-#< ziZ>jpVlOpGfZcan#kZDbf9=%d*nOt^!lq>MuFel^>OPaaqnR9S zqRIO@UwCa#GI4MiX*>TWx$E=EyQ%hvle_5a^Z4l8{4hQ@HM!H9H=jw~d@{MS3@WJ;`e zyQ(kG`}*>HY+vp`UtUCBG`!irLD4a(J_!X z{KjsAi!KHcgz4XekIkHqF)ri9XOQOM-Y&wuU4(nP2={jT zaql$|xOdByac>mbT_()@F0>nofEnWku&_bETMYufmJsl@gn+Ll1bi(a;A;s1UrPwM zn-K7|1_5732>3cez}FE1?j{7>O$hjULcrG&0`4XR+(ihun-Fj}A>eL8z+FF%p5DM% znDFd2!otZ9Ag%Lb^zkYB_-*?5BTmEH#Fy}EGvVlNgQL6t4|>*nHlE$7lWyp!u zjmf*4$$JTRKcCz|#Hssfd?q({_u;GSEBvZ!vk<1P=aaWk>L-&ofD|MEI6Ib-_jWU7 z-F!HC_hu#n9r&5p+-fAb_&M)BYiOb0u-&^e--1!3D9=n{J^1aoL$DMzIx8s+S$9-?L zOLOO+;_U;MlM}wT+HJb?&+zua%gMCwt@g_9{PU={+UdLVOL%+oa`F*hS?yTf`QPyN zm6wy_zPH+Wz4O20ZKzk;LB8`Z@zyt@o3RSo>Av%Ao#4j14=0axpXt~vTn0gf_UG^H zNhF6a%ldUOyy%kzz+lPg?l;=6UQiC`op&X`?I>`OQu>%f=iLcn@cPw2MO$Tw*d^ zSuYps7|2?wO#LpTQv>DPMYnjdR;?5(&9u`fHrJ|{nj&}GR5aYIX7IYC>KVi-yJoeF ziZCz5%(?V%1LG*B&!LThakUvjJULb2|+%O$u2SGgQb(c}Q8r%@``)=JAIghi#9 z%AQD1O*ze~D^q%@hQ=v*;>7s8J3W5JsZ^V8vAXQ6VT_qdp?Gn2*(p{Ejnk#(s?#jH zjbdIp*6Mnt2Hf#AjMrT)p|cZ1>AC!DcF^^YJ#}bFKxCmhW#A@#&RNYh+ycf{FS~2i zMuYpT;cfg_+C8>7GqI4Foyqc>MKhXwwOq^9iT%K|Ph?=YQ>IJu4#f9RoyN+CAviugX4Pl{pfC^9< zO!Mi~aG(M#%IMl!p|l}2M1#t3vsAfMDK;AJQgNA<+d1aWo}Nk1yK|XInlr26!AkLh zG|dpM7XGP)+I(@Pc+t_IuQt$OTKOJqyhd~15vN|mDvt*O%6c=p$|Hmf?O7>z}XI zF7cLY0PM4Xh+%a1_|)vt@hO}sUte-FZW#li7ES>mLVJE76@ugo#oYPy{J97;K>Im8 zm7Z8|+{S9P-dtK==DEp^pGr@zwiDw`T zMyPmw#ftR4+Qf z;`QY<;PYI41^1oS5J513m2x_%9fxjUph^=FpTs95(87Wmt%~Ecy^klIPz5^6I zpJs3aZm&h4VTknr3xm$ z)Vzef3vvK1#i>`clVClYjGHdx!TnSK zHIY2YuGpZw)aONX*g}6HOi`PXz8Q)?F_6aU#MYh~DwisT!%p?5oiY$X%Wdm#8`bq!)dy>7y45qhUuhu70dd4gydnHyiw{{_Sso@r%SkJAYF+;+as#P_z zR<~5D9~+`jY9Np=cfT#(Y*aBo*i*s_fEfS;%}lv7iZf{)fQP}Ipi9`L5bPS&{Gmhc z#`1+mUhxnf)DhhU#|n{b+AYy9%)~ST?qH!kZZvf$LevHP2AD}+@*@tmc%ET}w(cxs zvS^@LPAiJe%tP%GF%gX#7)2C2HR5Kb<^~7c*<;5B2c&{l*JdQwXp~ke0wY-waGvr3 z5I1#nJe$_C0t87*>>aHaYikgbWL*^X3Na?j=~T*sau6ljB4ed0 z)GXM|qu}W(F^AXlG_j@8OZw87F9VGK^y@(~k98FBkPMlQiFyuolbfLJkz7jjz zsZkO&X-YsvD=Y2{c;cAM*w3+a*NM12LU(R5hJMjQ$Y(X*AcOYIFEU{cNt2^{eh8*Ok-BY7=>lQeu9 zf?pMKBUX2TWxecK#d~7iFVvyeZ~?^Y8z3^8uWJ~AUZqi7E9RRnm^{+37#-Ph(UG-L zed(e?e=Q?mvl?Xu7r>|xEt|zQ_Y`xwvZ?CDO0JB00QRV{AW+YEEwFM!Gz-wY2w=8D z39L~7k$GxYwOUuxP>g_%tQ48O=O3P0vd!fl5ow5dG#+tKb^=x%_PWX1VPHB!0=5nY zYL;0@y+{VbND5!#8HtsGphZf3Ej5FuTc#;yJ@9fpmj~ZU=+h|?-flvlD%?mLo7LlA z_3C)2srZD_V1iGEbX2bb5$hqO+>Gdv)EL@XRU2bDtWe|Sup|Po8zDt0>Z=0B(#u=SyF#HY;1vMlEh&(ZCBw3u@dMT z7(&{GbMu*5XqeC9_lfl6BAAQgj4;Y5cuQA)R1!IHZ3|fVjNof6?+IsT>S&3*- z+Q0>=5mH#XWT_+z9khP5e@N%HUI)p{!+>|GyaZWY>^FK!GE-@Hd;vy{ql*h^*h0WX zK++S{i-i%xRyCS&Or@wj*{E_=&2^i`W?o!cznMqV^RtASj2zrLQc4Z-G%c6vm?z8; z@vLpl_aI4ggxi-e?P9!RARBNe#Q2W2gbfRH(gi=(aKUcpi=bz1HW%!-tS!%e5gS3a zO7`sZ)a>jWbNh_Q*Vhp36(M1vL&ct?HE(OIF|b9owY~x(Mi05d%_#=fS+9_qp;+kA zTcGudwTR6eg--`Um;(L>N{ehzUpu>Oz}sbNhcP!)%nuJAa_YH4>7wIF1!PeX)HD5v zJ3E)2;gz8+n#ISeMw|eR27Dk0vM(;z86d5#7sZUUxs#wlh9U@zGiiO%Gc-sc)7k?H zO9zP=Zx0sGAt8ITy$9UIximavDl0wwfvv+kDx02$sFt2q;x2M7W>3u9s`3EiKfoMh zp3$+-3*j)^>dpFSLp*^T?AeMgIONdaE@P2cEzlN>YxRdWIM|KT|z!RBC{8^=?n~pEZxKqS5{(e-Q;xyzlhVI(fA^LA0c(9{^l0R8-Ul^sB%Y%WW%S0 zc`4{~vzRSU->o_oW~yxaj4T`pvuJC4L8J|3V8gh;Y#N7wr=Ti^=Z>st=J?F`6uJg{ z^wPk3xkRwu4uS%|5D?ciCo<}(n2%QI;)&hjk$X z`z&k$v|%V)>{N;? zxn>FWapE8ts9C$#9wd(vxWR}IA&M&?#lHwZT0a=<7j!OzeiI1*g62ka%gQy*TaK}2 zb&_4E060(C?qbs6NVf$50&_Jl6`(O=0JlD4ln-esj1btYiX2IpyA2-ALllIXueQC= zDw`sfn?d69X5dSz(tZ{g?N5oUuBy^%P?m_v4YaaNalt0WFbAx&$h3KJ9&J59LYX}9_JuH3Kzf5 zov)?685m*5no8=lgJM&-y zoN;I$x5QC02aOq(tt3df5T@p*JyA~y>( zv29=tkBed9DBAxiHGpYn!3J7OeL)~JK~U-#es3X$THe3_5>o#ftz0`SX&YDocCB$CS?vAJ?4_v8jC(VW89uG#&%lxiD{O@fwK~j0 zBs?hZi99gSQ{==zRT(w}*jUMl7A=Io1X+a&qyi^ETY%Zx2ubkWIz2mo(o!*E50jvb zY9md>XhP~ao?bXU@6Nk~>7+WQHbJICTOrUdfO^@1gDz`DAqle53@v$tT%?x~9!Texj2g!f~*UVy5{4JCshlLq$<_tst z&S|V&lpQ#oL3FM( zl@%mP((A{bS|X27AP&JB>G3I=Z)|v_S0Jck67NoqFO0Lt7AAM$%o(XV0>)C-tGyH_V`8QhNE2r*_&gMhPhf~N%#K$s z;lLITv|-#K7Q`I_tU-u(xgs8G3wp+kADL)(M1B@!peW|(Ov%JJI8x=fX*1MOs^9iB z3AHAsrM(T13ah-qg-wW`6bXz(B0~oNMPgOxgx`XWY4^peAiVa52xk?A`=d}sNJJOs zs*v9uPBRkq)W>HEFq|G`Uti_L&R!teX^kHYscvs88E*tZf6U;vj->$0(;%ayb0DLp zcH4=XiNLu_0t#zALNeSK`3q=Y>lhv<)$ci-03pYqEp=uHJ}ePzg3Y_bE|Om(+2&s5 zA$FhBTrD-IV#7^N&~Z+psI1boICi)hk&etis&C&$f@i7r+m2*G)gZyvL=18{kMo*E zvN$)ZFwLQpVX<&Tt)Q`~1XX3J0sFwJr!X54EdTfgWI$UuDUGqP!`eT-Y0M+?G^Yi-M8uLe310Y7@`265a9P=SJMMkB!0 z=ZjPQ3@iigF`R34=NI7`Nt55Il#?35=#`JRi?PEK3$hNW7TT-NaPcqRO(Z);C;tHW z>RYpW-O4+G%jC3(L1xf8*5zDd9w}t8Gr`9%eVS{-5+VnhG%^(ue zL0e71v8RJ#9dyKg4uuK@_*2qkMdDYmHv{%GrY%`X6pQXM-2TbZoT)SyYEG?+1KZ%u z&^1`0s_IqbY<;^M6Sr1ev|a@RmJl~SLB!C){@cb$8mn%$ZecAw*EXXTX}64|F}9{g zPF=zOom7>;xH9dnV#Z-EE=*>WH*Pj5fgi9RDM2r+6XBH>+I@WNU7y*N9Qc7TH;o=*eI^bMR!6iXjYO<4wEV$s!+>=~tAH^<35^3GGp{($X}P($*pqiYPK zA!$ssdGt zteAYV8M7S3M2poVRWA!95v~^t)MOe`+~UN-?7T~^7UL3dgQJl!Nl?0E&)DA1WF10h z)xjY^ec9+3_!z8_LRbQW7KhiJ)s%qHONHDe8a3y zF+pJ=$DG)Z(;DrpmFa-ueIuCwAPjVeJm*uv;{+2jJB6KdJxPRf@=r3Qp?IgZ*Kg!#HEm) zUd1IE?Cm5ol@YuiX`=$-a64*8(vPxts)ur-e6OXuaYnAeQQJPrs1vaeB>sw);SgPe z5Gnb0Gae4|t~jP{oaoUPiY6qHI&21}bwDY165)s0-(24E%z$zR! z1PkGHbxcJiB5z|}p;lXF-H`Zcvu8^jej+)809Vr$U?^A*_>2|Xl*lk3$MrlWR$Qw5 zkPzPHtgt5LA_tRvk(5aa)nc!5(>-Uo!%G9YK&)MQ$+)!zn_>tJGanYJME!8YO4*{jM(|&-3BZN zlO*}6C^H&q)*4k8Vc`lU>_)3AIV{1cXzH-l;P|V8I}m7VV&mksb~eiX5);BkBvfVL zF@Zs>jS=Ud(+>p*)E?v>ghNCr*Wle&hc+Tu3kSPtC9IZ1oTQ+63K#@vfj{(_jB-@R zV=x#bgp6{TLJ>yNT{6d%QLCO8Q$)I6Ov3QW`!Xs@LlsxF~@Q&oZoLum!Kb! z(({^LUa53&=~Nc>5_oA7 zl}Ct=^B|E#A=|_^!^Luqqc#adhp77%EkM475MO%mrRT`E1re}{7a^0k*{!IvQvyKj z&5R=x;yhq;imfl-Fk7C$q`?lOd=~;baebmOJC~VJM>D|7;(sTjowqrB7*^TuuxWzk z@w~Ra<-{*b`}VX!NQ@#>DQ$T6lsEzxE5uP$M_5|!n~okKnAPmWVfL?}_2;H05EIBf zoz5ITvET*0$b;(VH^8@HzTogRcRJwkWh?yAuYi*R0zb5)22`PM+akw99{b(K8VnKX zR5Fbq0gV6vLCvbzJk10`3%ZDiGj$Z;*W&t0hZA)v4pg)Xmw$vjl|1L=OB*J`f?$dq zZ;bwe4{6D1Qboc-8~#d&SLthbPn&L!h`C)2Q>ofcrgf;37|Svrp%)wvkK=Z+gx}9W zq29K3T#AJP&GV3<&>axoA={(~RtSGQe{#Wv?TpQ5fL{b+0I#q>+E(onNyD%>jTjyW zPQd{q4|6*t`fApPH^|iNaUh+5pcY=?L&lqdmVo(^INgFTz9|Jdp%|y$`Fw6QJ2!rM z#z+qPAJ8WrS$!U}m|6lR2GJLLiCP>RKeFM`7wW%7W3BFvW)HA!GYh^g0k8 z#wlts)!)VzHHSyMBLe&P14PYFC)Cpn%M*kZy5wY7B$0ZuH1QbjTD$4=#V zsqOpf4=J{n96AAE5^-jHVq$i2W`SI4X>~cQ6?sw^e=cGf`5cgP-KT8AW15I$N5|*q zGaOeK%ISI?Iuk+S6k~u;j%tp>PD3+3-R5KlskYvbh+2)~K6&6F6{iGGVDcfkNVpIL z1fXXz_$xZ9f`%A68gf45*$CThp%RIRrvlh82y3{3fa2`P&)O1FTNq)H0&~%hrofzL z6C60;=s<4{fKiiH85G36R|g69jM8r+?j4&Gbh|kYHUVE&?^1) zv{K5pKqo@OK^zV|;Psy)Kew?t#EIXmBFG3C+1pjSSi&ZIq^NLhJd=wYGmkA-0Q`ls zb6`+#V2*qxW{*CM6GN;FjKm);+1WJmChPy~qSP9>a1i7ye*z#GbW2umaVCR6(tr~> zl)~vIZX2vR5{1!=!Pq)es?Ri{TT!QKxM_<1ZU?Rn0-ktX%Yhd79`GUFfSrv7fjns5Rl2mLpY z3g09l`fJ+!ra4Qa#yWkgBdU98<+dV+g)n!lpMmO~MjKUSFG8`9z<4{J0 zGH`3T!Z2+;LU317?Bl`4pBiP?FILld*0!%$V% z8o-p;UoQVGBW(sESBZ z9e?u+08K@jz_jt1C{{XyJzUPMufa!}qMy{NYo)wImh;8kZgr30=rqIytO!E9@H%O} zgKH(adR$b3pYH#{gm+RY(gSwMSJ@BJ4*9{S>iRoQWY* z`Z4>}FE)AU-1N#*u>`{Q4FBc-7sgO_l|_z2EZK8HN? zZi9jVJMIGCSk~VDAbpw_o}PA?XOA+Gb9@4bi4Ph{8}l3Im@@*;0aXYNU#TcK)Vr$y zQ=3|2I*du`9_GkjswRYEF!z0lUm!<6WRlS;X^SvONw~bL^uJ9`o)v%kBr%I~q>7`{ z;U*e8t&eDa&O*j#b;5=|a^bSO$7u^PU$kzQ>dXaW??h)~;Y=!jB- z5E#8M$!d@Km3X2N)yk0#r5(Y=Ay8d|uhTJxJgFDHUUqnKI;$Jut}U9VXmNZ9Vq~L+ zi&OYAA$8_h7&38yg7yZQPKV8(Jai+B8-I^^gS#Od01Hr%3Yb91(Mc96Lg5$G#tZ0^ zR$R@D;u%eFH%r7)m4;Yv){rYjB5g8t6^X-oOb}Q9i4oEvGsT5|$GRC%pH*oUqiEFx ztbJabKYjL`9d)4=Dm4n^jRjbS)?<90wH^p2CU$8AW`H-z+IqQNEBg?g52Wd9hfnjO z(4Z4^nWDQ~QCfR!fB(uO&Xa`PWzLf&gz-62MUtvdOSpau2XKk<`f8o$P}jG-*ll}A z_(rh`Oyl+>_`g#BA!>P~HD^cuah zXcASpEjS@H4#*K`S9<;m!MU|(eIe?wC_&5sM^&6kPo|GKtob1GOoiMim!UvmCF)8U z?gq<{@Q5A?>Xd0|d2ebTCpD`j)Fa9yL(b`EDLXUUo+1a|W0k=5y#~9D#yhf0s>v*|r9+R$Ln9qucWy zjfklOXU%~6IesDU4l$USvrHk#g1t!jPHD)(E+|rTUXAYQ9y)eNjQ!+ZL%tk!vm)*0g6pdrc~f44NXJt_!UDX`|?L=;$Q*qQeVBACw}Y0S?Xe6>byOs7DslDi9<& z=jvO!jzRf&d>VTXkfUSSTAo1O&cX%G;JTHLEJDX+1@UX0=z&17R};IqQ0yPv^E+M> zjwO9&Zr;UZqn`gIQ!st+qOnl5x6Dx<=Ik^~tRlF7aqBe1OM4dT__uQ>;L^fpPH2Ni zZcMo@(z5IDq6tyFiVV@7jH)B%+KTm%y3z~jNAwws&nF12_zR+K<5!BUz&NucW^>wn z`gr<`@j(Kav`*6t5^j}{w6ou1gcjf}GHp>m%*yesx1rKwdeH{{8|Hhc6o1d53MtU5 zcGzgy1O&T_<$f(rNHfs^^gN}=_$eDcvB=X$VcwPK<(Qk`U3Hiu#?_Hv4E?zH@F^)y z#h_IB8Pu)hW`+)M`)t$TgS()R5%-@f$l~y~2uwIbY%Ad)zWXy|=BK_d!n@Nbc#PMG zx)auliA7$U$S>-XpyGZI@_YKC(jNHzIz2AA9g$)nhr6=`^20WqD>I1f34`OvDxNI& zUJN%=>Eq)QXE{MQd=geql2bm&Q4LY0aU{|&({f&gp4p6HY!B@Wiuhj@$3%^-?On~M z9JzNs^zFfq9l?5bW=c82M6qTeF`hQN+zw)Gc&+N;m~SLwOxfn5wzx5K6OQfAuhu-s zwia;5B?qy>Mte!nJR>xY7)W|!4o?iIKQRkJ>30uob;(+jKuPzYaDRJvA3h;uGa)Hl zZY|XTD5*NFolB*l{L`UuAru<4&JZ4d#6PS~=0VG9>U?*{e)tHH~#Ce^SqI;p3 zqgWq6b>iftSSr3W$2Kd)LR|Q!;N@kwCGr82NTjatQuOujOd%rnpXI)0++b96Y~^97 zk8Ij^xl)WoT#&Irv!JeMrg5}ESrw**CBfV(U*&i?K!xIf39(b(eI_@CE0et(D93K$ zSr!zF80dp6rq=woyJ*Fvb#-o}Qqj8m*^b=hxEpLKGwe8)H8Xc=BxddCvTRR4MP6`P zI^?NagP(^SRpHY=B!YTlmkL{jNo`<8OU%hZGV!6QI4@-il^hp}2FwHOvTaIx*d#Hw zaI~1<)s_PS2Z9rn2@KAQ1GAgLp1%J`xp?xz9uZ2Z? zUi7M3Ax^YbtyKs!`dQ{6ggw)@H9<<&@f4kf>LNDe$j~@@AQKcW)K2BNwSpBk%H7FLVpBCrcEX?lZvljc&O62VkwVa`20 zO^55;V^g!^taKWI(Fx}7(fVqUZkU%52U{4aR;FPFFHTboXjT8fLXFe-nHD;gTBsc> zT@(}67)aLmT5UClQ7{Tt?Ubj|%Z{pT4$8WQS3EGPA=EIPyI3l(m#KrOM^yp;d-ArL zf?~3c8I*enWCkHQn;w9roI{ZBrgN%DV2;dmLJW6!Y~Xr2nDHIKn-p1;dmm_i5Y3~m zB26-45vs_!!HF5HR*u1GfR3ohtfLkyfnwOFE95j#I9jdakjg}L4L8wjpWngM5%m8&;x$PiY&Ngd3rAt*dN5*nGcG}L-)=}7qCnFLkvX0k-A z6Uv|9HOEX*QwG=c=s>Gc^D=^BSeA8ECZ&05%5HrO0O|mI*&)K*mqSzzdXJa$ zNpF;+rN%K*AIb}2Y}f#r8j!^qhZ{UW9QF0EXe9VtiiXurDbED7i~~5{V!^04v0w%^^k^t`H`jzTwa2t&wVQqgrTQ%~%gnVX%L+ zX^}W9)O@mt8;Lb|(CFoil09%q36EK&%WyIGN9*8%%#AAE++)A;y7Sh-pfgR?c=l3b zio3Z{syEkjYbT4Bma4gWAyYxL-3XW%z%F1^AX{+)^yR$X4KaQ-|;NwzEm+-d)QZ)%}@%X$UQ?0XLlk6NR zc#!wvaGt1uj5W~V0qU?&3~!=k{B-R&VGRMGF+ob1NmQfdITlUr1CGPT_HT!$BT4*7;J{ z`@omNJclnOyxI78g)a~5d3-4Ws*Kjd+m1QSz(T^c$0PVyBP{Fu$`X&xKpJiW#x@mh zB)vpg0&DJ(Q>^R}Mkf?@2HpiJBDMk#9=~-ZP6eS25w$n4zYti7dzD_rpXSP@;K*ok zW|W0?`$V-4gDFo(V5p-Ko$d@(PDgN@5Jg3LW55Td>~4yxd2bSX2en>h6CdPA9s0Mc(Jz0_+sTpL2HsL>ps|6VJEIu03g0d8ZCNtmG z=x0$Xg;*jShZT3^Nz^k$2uTl-oDN$S!dv-=1o2)GdZq*mxZPFGum$qvH`dT!gU*Pm zix(*XAbh#;x21Rn#Vi1+|){Hlox8%7ru110zOUL3|!N%*pDS9wE^%Mf!jH8D1>jTuo@S0 zWpgP4&2pODh$;;pr@yxlnrZb_SA~Kw{fHg! zDh`9PkQu-WG;R@Rq_Qh@sFa5Cl_8#@c3yCn$W>fpkKiFwdvXHk>9}Cr*OfN2b4N@J65=3#KE~ZlV-~TNi^}OeZ zQzrQd3xFkT!1<5$HF~4#u4kKTjSQ$@Aha983E&8ubVBXROdfO*k=&I>WMIexDa9)I zd9DzZ?+o2jrWjul9Dt)#{9%UFR*A|)FZA;J2Fp<$rkA`>~pCX}o}T0uC46-XAs_huyk z@;Gv-w4AiGo^p?yx0RQ}#M>zU+SuBf;0mDe$>I1N_;**JvWi*8_` zA6Hl6aub+gm{mPiT7&i*lUc1ml{YT|CyhcQg0rS6p63v!oJ*$IO7IPW`o)yPQhY|u zb`;MG1&eTx2TR;tJ4jyPAINoRiYwT}TkO=bgk4U_eQqt>HnN*;3 zf=@c6YSv8%M744n3O|{9yz=mqDB4paG)jvx0>4blK8EU!#%oO!`=o?M>yV=fa6C2^qHW^FB#4-;!Nl251O2eaTV^t%fwD7#3YojVC4 zj&S=M#jCL#N5DhqeYwwzIMc&k(!dq0p7l_igV-YL^@=zedozQOa5OM?P0T_b@Q+1o zZ0rI5iZSN}C>O~IJhiZqre6miU>=<O8^3eISdS& z8MuknV*WhlW&R{*(UlXu;T4fVs*Pupc|Tk+3Ty{N2wWvNv27D%EE6^fN-`{hVl@!6 zs^&@tM*D%61X}%_D?Wiy1d$7R98l6DCBQHtB_K~DC7`57Nx4DoK zP}?J=Y%ts5!~PNAWk7?E6lOau`kUWa5@@i}=-?Z`a)h)fxKo+!vs5(!u9&D(vZz{G z#XGCGsK8K~DVEoLlG&L$2|k@zN1VE{hIXrbenVmahCq)TXFUEK)t4G+idRdDGKOyI zq*W1YEdlQddauNjLn?6gLRHo|ifshtrpOax4m?gOMLOQ(s~!d zdObmrCCML-Dh%WwzQ8^gJa-0DXbk6LilOr)(b_jDRG~NHK!i&8Zk_0$c0QTGYc{5( z|6p&40gjksuM1cMqWYL)&A9vLFg4^i*J3K!S6=5GiOpaxLikM=w z=@a_}P%+seLco0Gv4iq1utozRMp-kGz7G31w?GxCVRY9PV+D;^&?~&$ASt#PGbp&l z9%j4*g{IasYBDxZzbM^RSwZ#~?*y9;B6?fCYDL4C~pC4`vZB9YDHkqgBaQV z@#+}Q?q;ag%GMrH^!XtX`_T4(l;QaZWQs6Mu*&r6 zxsq1&iH=Y-5FyP3xF9itVA%@9BqDYMGj`S(ut-e(m|E*Crs)(h`oaSb(fH6obZ3SR zIYN7}ICFCL^o%wITkI6uwJ?#G={y_R-P$r*7lusRVtvfLw^RTQ-3eL>e@B@NlU&_M z;hs5W;0^28!@B_59JoADFIiA8lX{2DF$P39J=c(BwstBdLJhnY*&7P; z>b>h1sPX_bK)GmlC=Mhw2nR^{t!>)gh}caa!W$dK#dni#KM>Z5xp|~d`%TRNN~XzJ zX_Agp{rtq9jzO#09HfMr7WM(|r)hrF* z?Pd&TW@Ml9}3fNDVR4nGa( zmmT7nRD6?9yG7h^A$Pb-gzW%1!7&N1?m2>CQ0Ej*7PW4m0PQUCkz%)IqF}-d!k3c!ldub%mWESQ+#!|r$Kh9 zSEe^H=@1=>^ybtOt59F$QmltfSZp*cjEVg=jIbl}kj6*ZC=Va*5!H2`PU69VqSR~% zWkM!&K>M#pti|YtMnI5ojA6lHGYn<7P#ZG=8rq=*VTM6Aoev~wKQb{U$1T`MjL!~r z#d6rC>J2ux1Z}oIM_OtKZQzW{)c9FkWtlTSV*VuYSHkM~r(8M5NR!q= zvkF%@yGU|oFmKBC;buQmOoqZ%BeL0~a%&ny>`#qg9$9;5AV4n91H>@wi3yPU8(hH@ z^iA5&3$+_GZZ;5Yf+Nmcsd9<#zz$WQ-1AF-cV+{_IXD`=2O$ji!Co8!wnM1i((z&g zHXc~BAs#@q1Of{s`zBor^Z}(R$lf_;Qbn4MV;*sKLd98aPHQQT-Qtx;eYc1ud_FZ-^lB7l)j;16`C=*f(qchMX^0}EG%|c!vK$r*o6Jg3hF+x#^lQ*)3B3Ve zu>#}9_BCk+6hd|s`^ucKvPy=J0{Twx&|c%iK3d)mf~)ClJ5#H%PVkV39+R-T zOl^&u^BDFI`_l$zjz{Go4fx`Q`|7pHM6K_k#>y7D*`GOnh%+y zW73<}xk$f-nhX>9S&B4;xpsXhu`|=0~iw-cXqJa`dX?OfJ2Vfa4z6JyU zddgccxR5x|&F3kt;|8*v)`4ridGu);@hRY1?y0nWtbaDV5bE3?ULo*N({;3ncp-c94zjB|)%E!5D7IKJM|U*`woAPTG)0BYQ;FfY%zAQvM?2cF%Qt=J(ckSVwx`N7gY(oDtz7g}@W{;;V%8Sn zY#`k9X-kGz={oQRAGoEh&1W1iFphdbm4B-&gjQ%79wpW99f`oiid`tMD41&HLu`4( zTLfQe7+AJ$3RA1Yk5n6clnAU7=^$VWV(^r?k~D12r>5bpbsAB6s~57x`bH^Vqz*){ zP}rr@%&Rdj_)FU~HY~|vaz$T;7Of$HH>SOU88HA$;=Q{3g&M#NimJlLMw`^ZdW?UY z@34i{A|PLx#iDrr2s1(K6opTRVUQjdMdPqBtYMT`f1%!Zh9>`Op;}hA^BZ)gfs~q& zw`;>f<)2vcI3_Ma#9dXi;2d17mWu~ha~IAZoWrInR`Jmq%FBmW#Juf*N!Vt~crjOO^cEdZBnQzkmP1RLY;GdVO%Aw%9DK zHT*B7z`-SGN&PQy=ZrftbO2YytY18U+h)R9u982tX7!>_Tv}g|I@U@{2Uqg>gP}H4 zDLt~QG)DbD*u+taz$jE(#Pa**Db!NqQlO+aYsVKe2XQLA=&wP&ch+#L4(2Xj&NWxT zk_dO*M?ZPC@hivoTXD>6JT;nYh!3|?g{r5BM_ex|*a$``fZzfAt8gxUBE;)GA|3a= z(hDaq7xiIyh_k+2TEQzCz0!9(UeGi`=+bB{SE8Rh?NpPe9;YX|yaRND>c?tGJ5@N% zkSnq%(UD8kQ|K^E$9M$&ZOSbR5`Yb3qc_VJ3iPsy>k?#)=qz>9vv4L@7PS&Z_+tup?z z@sfWx35OrpPqow2=!#`W<*q?8liYYBjE*lr7C?;Qy)nrvE378xX9kXcDKV9Q3svNw z%s%rkQ}3G`$4NTf_;j4E`xg1z`Qmk5n_eY9cXZvXe(mWRP`_^PdPMyi>UxX%HPZD7 z_3O^AFR5R5b#=U2YPr4Z4)yCDiLQ^Tp95WAR=-ltk0q>b-1r(P^#j{q%5J=WSz6iG z^#|(L?Om7EuUopdtjOCNyI!t-?d%#*zjky@nzS?O*DYN&^XskV*K_9A$IY+LnO}cx zemSes+AUqX%&&g)>xB9BxcPNa{p#;}zxuVa>yzr&o~{?vuN%Am&b)O>(#FoN8_lnX zrRdtL-k$8Lt6w{$VEiW*&)MXB?VG_I*B~K*H*f2dH$5uDPJBn@e>u`SoNZ2RL1k25 zJu3aVK>DCc|BFC+2I&cBk2Cik{NUg6P2inyZgIxmCC~cvb@)N;_9*z*>2Jl4gmbgg z6UhHQq(}Atqnv+-v#lmI(7e#!@8BQxXCcs^Kjrit&h|k5|E1D*1k(RarQfL1H{qH7 z?nFb>f4zTyR5g4U-_-6I)vnIJqVoU7DJg%Sd^xY@{5zZzs{U@3{-0I;zf<|&jA#1$ zn94sF=+7Uj{IxTZuded{jmm!}P=8m4^#99eC4W)AoLiBeaCSJ42kJkh@*jUxGCrpA zPpkAFR0*oP&g)hB|5WL_RsLs?ex-H%oN8Bf->l=S-Xj(0biIzhAIPuQ@ecy&dL92L zFfP508UY5^@p08|a2-G5N`Hdu*!_g02iNfnDt~Ytx2gQPe!Y&5<)ohAI_?V8uh;Rj zOOijhjy-|;^*RpZC4X=o#}qo&>-avkj_*+EdL85N$?qe7!nx7;3)QpZ=C;S z&eQMqXZ}Y{-|f_%^{4*_(j8}~GgSAdZwJ2X?YPz1_MD{a`9Fa4C}es%CcTFAJFu?} z8CA`^4ebKUI6tA_|LZFKJ5_!|c2xS^+a>=)3Qyjn(mz4%c5HXvTv7?@>(^90hTy66 zzo-2Eto+mgfT4aGBCqn?q|yyJQt3lTkE&-yURC>D4a@mn&cDt1mx81mP%nNmrk-DkN&h0! zx1;`to|6i;DMa?QnEdx`j-H3fnDkOi`rBgCe+KCUKZf;C4>4pJR>3!pz<%r)c;gW`nzJ% zKOB?(nV9r%#H8Q7C3?KWG3hfg>9v^j567hcHqwEjLw{e4$-j4NbU&wK(wAe>e-i1m zjz)-6J?KSedYoGw=Q)3uem16_FCd-Z{2|3BYdHUBq;Cfu><-kk`P%6I?~h4;Ez*1Z zUE!x6L^}1~lOrY52V?5F9FuB+0qNb|nCsn!;P*wWpW9sR; zA-dgRq|-bbkzCdDTBH;F?0QZmsITvisplgx>7R~C|5v0_yGDpt^$%>Ler|Jucy$`- zJ^rrnQ%U8&T$Go`RG#OMen&+9PjLS5i$9A=PhdY%KaB{lir$X&Z4vwQ6-bX--;Aoq zC>~Tjuj6|5gy#9JD!)+^sQm9%=|<6^(*G3cQSELK2-iuq|-cqC@^momER~$ zRQ~sJe)V8|{c=qD-^Qfh0D*z}6XY{{kd7juzuB1dCenLCxgF3@uL>c3IZ&U&W+vyCu5ak(l)F;PkK@@uM;MKN*w$*_iY%A)V%J*Q!hm9{KM!Fa}ZU zcswTk>6r8nQhEo7`JAd)ef?}q{y&LH|Hqj09Z)Pp_47bX`aIHUyg~Z)E|qT7wyK|> zjj89~V$%1%ESf)j4Czt*d@a(cKSqVD+WkOG{;$WRUk4VD>M;s^RnKmuN3}a1lU|8Q z|Dl-l55%N@F(&<=W72Qk6Wz~&nDkRI=@(P%qzNZR^|WSG5NPcLC^B+yHrN#P3Z4Fq({NS$(ZyU z(y5=u>><@S?^NkQ!^1zT^gCWH8Q-DuJ1}E4Q+>ED+08AL*ck{3IEb;l+?R*7w_aR< z{SOx?;<9#*-T;qRw@`Ig*yiUJ5Y`c9*Y%6A2$o@QZ59iCI6M@U!=?MtaM^Y}cge*G zkNPENxeg1WTUalbaZ5OEO*T)sOs&-PWi@UQbl_|%b*NS<=8G3fjUsM^!x3LHx56s} zuf}kvEv~aEsmIiyF$vQ>-;!qpceav2p4?4b7tRS37Dy@b2y6P!tQ$Bts&S$ z{t~&sPNl{W#y~r4sQaMErv-0@12<%Eq*J4?nLe>z%oL8x<=O1yACXfk7;4sztv~tX zC3SQW_k-)p)41i(>&Q~e%U3LgOT)RdgQ~3zyU7Py3cQRe5opCb?qJ^#rpR|fgB_y+b-w6ux3rUW;Twkv=aeckGE=;7z%hg_!zJZiOm(9ah>Aa-71APO1!+;KeG7v$2 z^}M^BE3KKAyo|mXqH_#%z$mmBCU}Ngcoh^&&H(ZCL2wuYKICu_5im^v6j81J@V3lL z_=G=>n^0f~d$198@x7V)T&wLs?z@*MJT!CqFZ@a$&9h?dgfoRASx07(h*)w|lV&3O zZ46Y223z+&#ZtpldC0YAl|U$>_jK0Oz7+%o{l`@cYw5YD<&BI2&0Z*xk&w;t1it&R zxmvGYcnAn*{Ak8a^$kY!EZ`;|*on43=Rzg|C?jg*!~DJ|!R7!H&Sx%G;4)QkafWie zTzu&G!~}35qf>A1UM&O#-52sA!y4IfFziETfnoB|2`{`g7KgE^>C&k0P;ansFhCTR zpGpcEl}(#%4wo90Tt%ZV!MpaAM5+)Y1wx_TiDdhYInFDIQq5IQI$!Y=VQ@5l{4F8M z;Aqc3_Fzo)lm$ zo;D9N095UjCm?NOcc(a(-HX}W-icw^nY@wZ(0l~d501Ju=Y9qyTrn(UB5u@Udx32I1CM|}Y`vrAWSFd`9qEpM)&?!T_e`V^y*#|r z11oLc`xI*W#l&2rJD>g1@B_Z-#26%N*+dK=eMu$gvlNOS@8T2A2_6=uI;*n#YpZPl2_5F-IdK zCh5hT)uUn&N28eJ(T?_X27x^tRqU#f1ccN;(t!~6Bv=O$r95I|Cc{9Kef}{#K+48J zu6%pQx3`HBS~v32O>H>==?EaXV%TRI+c9{m)13km(gKTQB>)94H5#UFh4Ls=vW4=3 zfZx(3qJd2ljzww_u0UQo+ULcll>Op8^HhX^fJSV^$v`QL*h+|)!PJYpGuaQ`_APyZ zeuu{>%nTD}fQxLg*sCAxogE{3Me^p-NaR+Gh#>2(l%W9;JjsW*4IGDV^i`}D9i*UR z2Igc&fWJ2*i;74aiCsCOP{a6`-V92`q*_^&`l>n^k~ExqbhGB4t)Ml5``Ii^qT3}v8!jnaMjP;DwU=qA_J>TU8P z(9uGX5~bdW088eopg;@U_8pNkB4|}x{Uczop+zeV!gw?eY=UQ&EvBJz0pZ=zEs@ip zNM#S6D5BzA@ErL=meiTqm}0 zY9`gsk(*&B+DHxHccTQ8P!22%pB;pBT21@V6>ABWaVK9a*$VddDtA+~4q{N&MeaF2 zKjDQp(kh!MQ7Af8W6Yc*+=qo)tmsj}A&;u?eEw^YoAr8rwH{=5gJrKA$;Jj`+_y)E zCMklTx}zL#1y_J$fNoC3KIUj#qE6O;EE1a+e1thrGgPWLBZk)3~Cs}Y05|qd(_=e5yK+!7;Ei?xKrFsV5zJ&x+H;Q;k zbU?Up0Fl2X3F`L)6kLO|ujU%7PG8|t1x?5|?nC1@8?Z6LAnJQ?@vdH6%TWRKtG3p3 z`j`Ut;b-4U6_50zQOrAi9F(e$?SXv=AW!UUUvX8L)K?3rO+TTTd|u&WSo=xa#op7fhxJnxpE0@N$rqaoj%z7%M{DKk57f8SPs%I(&do|g8rRbTB;W}^b;&? zXjXDzg7r^IhE!yp>y?!?I3F~$tHQVP4fhr&fq#752;aMK4u}5qH{3^jf0Wn$yAuyM zx?swWsq*@}-_DHRI1b?Z8^M!ZepQv%-*@?P)0sN|UnWpqp9j_7J^t*W@~83se}D6v zRXzTXs`mBw>(qd8T!jCE{m&s4uIOg`{YlBEzaN6%D*e$IsVZF_?qU2_!Y4JU+pob7 zkN))c!|>a(|AO=X1YUmA>i_cxCAa>r1^Tbs(ce!Y`+r#F`%_Y0e?KRW+<)q)?!QWQ z-i{x%Cc3`Qsq*^!qwp)Izu^4o@&7R1QTd~k34d>R(ErVogCr^sS2EMSF8>~+(GYe0 z#&1vg?-6|4e?jH>l$`92gpZ?wxC?8zEF9yobHKn}%erEt+1CP#E1LeQ+Iw`NeX@A*& zG*|ZDKj8sK5;T~a^V~gem0TK5bs62h{_aGDI4WSu>+|Dds=Uq@SN;Z+r#>mPWzNYw zq{{aPCagzSq`vo{Fzp>(UY|p)y-hOosQD-SMSr?KdL2KAG`oF$zV&J4NOy)_T7SB{ z{=OUU?eflZD)ZCw9XEfv%Ka!zb?N>;^qeZE%HJDk{~>v8KKoVs{U$|z>{8_q1k!bN z`umV7AIRpURrxpQj;Rc~oX&qDru=XIfaJJwufK%<$#E89%Kyppl5^-P^kXTe{B?gM zg7hd4Dd)`NYSi z{5=8uq1)B@={b;vU;Xv-l1hH!^mh;bjpCn%TMd^u?q^^RKh598Ka}#<-foikN3i|v VNDY7p=X>*IDgPsZ0)a>8{{!DX)5QP) literal 0 HcmV?d00001 diff --git "a/Application/calendar/conf/\345\215\240\344\275\215" "b/Application/Calendar/conf/\345\215\240\344\275\215" similarity index 100% rename from "Application/calendar/conf/\345\215\240\344\275\215" rename to "Application/Calendar/conf/\345\215\240\344\275\215" diff --git a/Application/mediaPlayer/data/style.css b/Application/Calendar/data/style.css similarity index 88% rename from Application/mediaPlayer/data/style.css rename to Application/Calendar/data/style.css index 4363d1e..04ffc06 100644 --- a/Application/mediaPlayer/data/style.css +++ b/Application/Calendar/data/style.css @@ -1,6 +1,6 @@ @charset "UTF-8"; -diskDeviceCheckBox{ +DiskDeviceCheckBox{ min-height: 60dp; max-height: 60dp; width: 400dp; @@ -15,7 +15,7 @@ diskDeviceCheckBox{ border-radius: 20; } -diskDeviceCheckBox:checked{ +DiskDeviceCheckBox:checked{ background-color: rgb(243, 230, 255); color: rgb(140, 29, 235); } diff --git a/Application/calendar/res/icon.png b/Application/Calendar/res/icon.png similarity index 100% rename from Application/calendar/res/icon.png rename to Application/Calendar/res/icon.png diff --git a/Application/calendar/src/calendarGlobal.h b/Application/Calendar/src/CalendarGlobal.h similarity index 100% rename from Application/calendar/src/calendarGlobal.h rename to Application/Calendar/src/CalendarGlobal.h diff --git a/Application/calendar/src/mainWindowService.cpp b/Application/Calendar/src/MainWindowService.cpp similarity index 60% rename from Application/calendar/src/mainWindowService.cpp rename to Application/Calendar/src/MainWindowService.cpp index 5d037bb..3fc8b0b 100644 --- a/Application/calendar/src/mainWindowService.cpp +++ b/Application/Calendar/src/MainWindowService.cpp @@ -1,7 +1,7 @@ -#include "mainWindowService.h" -#include "calendarGlobal.h" +#include "MainWindowService.h" +#include "CalendarGlobal.h" -mainWindowService::mainWindowService() +MainWindowService::MainWindowService() : TpFixScreen() { setStyleSheet(applicationDirPath() + "/../data/style.css"); @@ -10,25 +10,25 @@ mainWindowService::mainWindowService() setVisible(true); } -mainWindowService::~mainWindowService() +MainWindowService::~MainWindowService() { } -bool mainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) +bool MainWindowService::appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) { std::cout << "systemSetting::appChange" << std::endl; return true; } -bool mainWindowService::onResizeEvent(TpResizeEvent *event) +bool MainWindowService::onResizeEvent(TpResizeEvent *event) { std::cout << "systemSetting::onResizeEvent" << std::endl; return true; } -bool mainWindowService::onActiveEvent(TpActiveEvent *event) +bool MainWindowService::onActiveEvent(TpActiveEvent *event) { std::cout << "systemSetting::onActiveEvent" << std::endl; diff --git a/ComDemoApplication/animationDemo/src/mainWindowService.h b/Application/Calendar/src/MainWindowService.h similarity index 83% rename from ComDemoApplication/animationDemo/src/mainWindowService.h rename to Application/Calendar/src/MainWindowService.h index 3d9739f..01923df 100644 --- a/ComDemoApplication/animationDemo/src/mainWindowService.h +++ b/Application/Calendar/src/MainWindowService.h @@ -3,12 +3,12 @@ #include "TpFixScreen.h" -class mainWindowService +class MainWindowService : public TpFixScreen { public: - mainWindowService(); - virtual ~mainWindowService(); + MainWindowService(); + virtual ~MainWindowService(); public: virtual bool appChange(int32_t id, int32_t pid, int32_t visible, int32_t active, int32_t color, uint8_t alpha, int32_t require) override; diff --git a/Application/photoAlbum/src/main.cpp b/Application/Calendar/src/main.cpp similarity index 64% rename from Application/photoAlbum/src/main.cpp rename to Application/Calendar/src/main.cpp index 1d532fb..923018d 100644 --- a/Application/photoAlbum/src/main.cpp +++ b/Application/Calendar/src/main.cpp @@ -1,11 +1,11 @@ #include "TpApp.h" -#include "mainWindowService.h" +#include "MainWindowService.h" int32_t main(int32_t argc, char *argv[]) { TpApp app(argc, argv); - mainWindowService *mainWindow = new mainWindowService(); + MainWindowService *mainWindow = new MainWindowService(); app.bindVScreen(mainWindow); mainWindow->update(); diff --git a/Application/deskTop/CMakeLists.txt b/Application/DeskTop/CMakeLists.txt similarity index 70% rename from Application/deskTop/CMakeLists.txt rename to Application/DeskTop/CMakeLists.txt index 393e835..408de15 100644 --- a/Application/deskTop/CMakeLists.txt +++ b/Application/DeskTop/CMakeLists.txt @@ -18,23 +18,26 @@ set(SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/src") # 定义源码路径宏 set(SOURCE_FILES - ${SOURCE_PATH}/deskEntry.cpp + ${SOURCE_PATH}/DeskEntry.cpp ${SOURCE_PATH}/DeskScreen.cpp - ${SOURCE_PATH}/mainAppScrollPanel.cpp - ${SOURCE_PATH}/ToolBar/topBar.cpp - ${SOURCE_PATH}/ToolBar/bottomBar.cpp - ${SOURCE_PATH}/ToolBar/appSettingBar.cpp - ${SOURCE_PATH}/ToolBar/powerManage.cpp - ${SOURCE_PATH}/ToolBar/navigationBar.cpp - ${SOURCE_PATH}/toolWindow/sysLockWindow.cpp - ${SOURCE_PATH}/toolWindow/appTaskManageWindow.cpp - ${SOURCE_PATH}/toolWindow/appOperateMaskWindow.cpp - ${SOURCE_PATH}/toolWindow/appPreviewWidget.cpp - ${SOURCE_PATH}/toolModule/caculateAppPos.cpp - ${SOURCE_PATH}/toolModule/desktopAppButton.cpp + ${SOURCE_PATH}/ToolBar/TopBar.cpp + ${SOURCE_PATH}/ToolBar/BottomBar.cpp + ${SOURCE_PATH}/ToolBar/AppSettingBar.cpp + ${SOURCE_PATH}/ToolBar/PowerManage.cpp + ${SOURCE_PATH}/ToolBar/NavigationBar.cpp + ${SOURCE_PATH}/ToolWindow/SysLockWindow.cpp + ${SOURCE_PATH}/ToolWindow/AppTaskManageWindow.cpp + ${SOURCE_PATH}/ToolWindow/AppOperateMaskWindow.cpp + ${SOURCE_PATH}/ToolWindow/AppPreviewWidget.cpp + ${SOURCE_PATH}/ToolModule/MainAppScrollPanel.cpp + ${SOURCE_PATH}/ToolModule/CaculateAppPos.cpp + ${SOURCE_PATH}/ToolModule/DesktopAppButton.cpp ) include_directories(${SOURCE_PATH}) +include_directories(${SOURCE_PATH}/ToolBar) +include_directories(${SOURCE_PATH}/ToolModule) +include_directories(${SOURCE_PATH}/ToolWindow) include_directories(/usr/include) include_directories(/usr/include/TpWM) include_directories(/usr/include/TinyPiX) diff --git a/Application/deskTop/CMakePresets.json b/Application/DeskTop/CMakePresets.json similarity index 100% rename from Application/deskTop/CMakePresets.json rename to Application/DeskTop/CMakePresets.json diff --git a/Application/deskTop/Readme.md b/Application/DeskTop/Readme.md similarity index 99% rename from Application/deskTop/Readme.md rename to Application/DeskTop/Readme.md index dc59d7b..b0a7396 100644 --- a/Application/deskTop/Readme.md +++ b/Application/DeskTop/Readme.md @@ -1,5 +1,5 @@ -# deskTop +# DeskTop tinyPiXOS 提供的示例桌面程序。 diff --git a/Application/deskTop/bin/start.sh b/Application/DeskTop/bin/start.sh similarity index 100% rename from Application/deskTop/bin/start.sh rename to Application/DeskTop/bin/start.sh diff --git a/Application/deskTop/conf/appIndexConfig.json b/Application/DeskTop/conf/appIndexConfig.json similarity index 100% rename from Application/deskTop/conf/appIndexConfig.json rename to Application/DeskTop/conf/appIndexConfig.json diff --git a/Application/deskTop/conf/bottomBarAppConfig.json b/Application/DeskTop/conf/bottomBarAppConfig.json similarity index 100% rename from Application/deskTop/conf/bottomBarAppConfig.json rename to Application/DeskTop/conf/bottomBarAppConfig.json diff --git "a/Application/deskTop/data/\345\215\240\344\275\215" "b/Application/DeskTop/data/\345\215\240\344\275\215" similarity index 100% rename from "Application/deskTop/data/\345\215\240\344\275\215" rename to "Application/DeskTop/data/\345\215\240\344\275\215" diff --git "a/Application/deskTop/res/appOperate/\345\210\240\351\231\244.png" "b/Application/DeskTop/res/appOperate/\345\210\240\351\231\244.png" similarity index 100% rename from "Application/deskTop/res/appOperate/\345\210\240\351\231\244.png" rename to "Application/DeskTop/res/appOperate/\345\210\240\351\231\244.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-WIFI.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\344\272\256\345\272\246.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\345\205\263\351\227\255.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\347\224\265\346\272\220.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\350\223\235\347\211\231.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\224\201\345\256\232.png" diff --git "a/Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" "b/Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" similarity index 100% rename from "Application/deskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" rename to "Application/DeskTop/res/controlPanel/\346\216\247\345\210\266\351\235\242\346\235\277-\351\237\263\351\207\217.png" diff --git a/Application/deskTop/res/topBar/WIFI.png b/Application/DeskTop/res/topBar/WIFI.png similarity index 100% rename from Application/deskTop/res/topBar/WIFI.png rename to Application/DeskTop/res/topBar/WIFI.png diff --git "a/Application/deskTop/res/topBar/\350\223\235\347\211\231.png" "b/Application/DeskTop/res/topBar/\350\223\235\347\211\231.png" similarity index 100% rename from "Application/deskTop/res/topBar/\350\223\235\347\211\231.png" rename to "Application/DeskTop/res/topBar/\350\223\235\347\211\231.png" diff --git "a/Application/deskTop/res/\345\205\263\351\227\255.png" "b/Application/DeskTop/res/\345\205\263\351\227\255.png" similarity index 100% rename from "Application/deskTop/res/\345\205\263\351\227\255.png" rename to "Application/DeskTop/res/\345\205\263\351\227\255.png" diff --git "a/Application/deskTop/res/\346\251\230\345\255\220.png" "b/Application/DeskTop/res/\346\251\230\345\255\220.png" similarity index 100% rename from "Application/deskTop/res/\346\251\230\345\255\220.png" rename to "Application/DeskTop/res/\346\251\230\345\255\220.png" diff --git "a/Application/deskTop/res/\346\265\213\350\257\225.png" "b/Application/DeskTop/res/\346\265\213\350\257\225.png" similarity index 100% rename from "Application/deskTop/res/\346\265\213\350\257\225.png" rename to "Application/DeskTop/res/\346\265\213\350\257\225.png" diff --git "a/Application/deskTop/res/\347\201\253\351\276\231\346\236\234.png" "b/Application/DeskTop/res/\347\201\253\351\276\231\346\236\234.png" similarity index 100% rename from "Application/deskTop/res/\347\201\253\351\276\231\346\236\234.png" rename to "Application/DeskTop/res/\347\201\253\351\276\231\346\236\234.png" diff --git "a/Application/deskTop/res/\350\215\211\350\216\223.png" "b/Application/DeskTop/res/\350\215\211\350\216\223.png" similarity index 100% rename from "Application/deskTop/res/\350\215\211\350\216\223.png" rename to "Application/DeskTop/res/\350\215\211\350\216\223.png" diff --git "a/Application/deskTop/res/\350\217\240\350\220\235.png" "b/Application/DeskTop/res/\350\217\240\350\220\235.png" similarity index 100% rename from "Application/deskTop/res/\350\217\240\350\220\235.png" rename to "Application/DeskTop/res/\350\217\240\350\220\235.png" diff --git "a/Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" "b/Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" similarity index 100% rename from "Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" rename to "Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2571x.png" diff --git "a/Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" "b/Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" similarity index 100% rename from "Application/deskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" rename to "Application/DeskTop/res/\351\273\230\350\256\244\346\241\214\351\235\242\350\203\214\346\231\2573x.png" diff --git a/Application/deskTop/src/deskEntry.cpp b/Application/DeskTop/src/DeskEntry.cpp similarity index 65% rename from Application/deskTop/src/deskEntry.cpp rename to Application/DeskTop/src/DeskEntry.cpp index 762eacc..974977f 100644 --- a/Application/deskTop/src/deskEntry.cpp +++ b/Application/DeskTop/src/DeskEntry.cpp @@ -1,8 +1,8 @@ -#include "deskEntry.h" +#include "DeskEntry.h" #include "TpApp.h" #include "DeskScreen.h" -#include "ToolBar/topBar.h" -#include "ToolBar/bottomBar.h" +#include "ToolBar/TopBar.h" +#include "ToolBar/BottomBar.h" DeskScreen::DeskScreen() : TpFixScreen("tinyPiX_DeskTop_0x43ef3dc14"), pressAppBtn_(nullptr) , isMoveMode_(false), installingApp_(nullptr) @@ -20,12 +20,12 @@ DeskScreen::~DeskScreen() int main(int argc, char *argv[]) { TpApp app(argc, argv); - DeskScreen *deskTop = new DeskScreen(); + DeskScreen *deskTopMainWindow = new DeskScreen(); - if (deskTop) + if (deskTopMainWindow) { - app.bindVScreen(deskTop); - deskTop->update(); + app.bindVScreen(deskTopMainWindow); + deskTopMainWindow->update(); return app.run(); } diff --git a/Application/DeskTop/src/DeskEntry.h b/Application/DeskTop/src/DeskEntry.h new file mode 100644 index 0000000..8e705b3 --- /dev/null +++ b/Application/DeskTop/src/DeskEntry.h @@ -0,0 +1,15 @@ +#ifndef __DESK_ENTRY_H +#define __DESK_ENTRY_H + +#ifdef __cplusplus +extern "C"{ +#endif + +// int deskEntry_Start(int argc, char *argv[]); +int main(int argc, char *argv[]); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Application/deskTop/src/DeskScreen.cpp b/Application/DeskTop/src/DeskScreen.cpp similarity index 95% rename from Application/deskTop/src/DeskScreen.cpp rename to Application/DeskTop/src/DeskScreen.cpp index e3f04dd..fff2c70 100644 --- a/Application/deskTop/src/DeskScreen.cpp +++ b/Application/DeskTop/src/DeskScreen.cpp @@ -1,7 +1,7 @@ #include "DeskScreen.h" #include "TpImage.h" #include "TpEvent.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #include "TpJsonDocument.h" #include "TpFile.h" #include "TpDir.h" @@ -21,9 +21,9 @@ #define APP_FILES_SON_PATH "app/" #endif -sysLockWindow *globalSysLockWindow = nullptr; -appTaskManageWindow *globalAppTaskWindow = nullptr; -appSettingBar *globalTopSettingBar_ = nullptr; +SysLockWindow *globalSysLockWindow = nullptr; +AppTaskManageWindow *globalAppTaskWindow = nullptr; +AppSettingBar *globalTopSettingBar_ = nullptr; TpScreen *globalMainScreen_ = nullptr; @@ -76,7 +76,7 @@ void DeskScreen::construct() uint32_t mainAppPanelHeight = mainAppPanel_->rect().height(); uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; - desktopAppButton *testBtn = new desktopAppButton(); + DesktopAppButton *testBtn = new DesktopAppButton(); testBtn->font()->setFontSize(APP_FONT_SIZE); testBtn->setIconSize(APP_WIDTH_HEIGHT, APP_WIDTH_HEIGHT); @@ -329,7 +329,7 @@ bool DeskScreen::eventFilter(TpObject *watched, TpEvent *event) return false; } -void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) +void DeskScreen::slotOperateApp(DesktopAppButton *operateBtn) { return; @@ -352,7 +352,7 @@ void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) TpList appList = mainAppPanel_->objectList(); for (const auto &appButton : appList) { - desktopAppButton *iconButton = dynamic_cast(appButton); + DesktopAppButton *iconButton = dynamic_cast(appButton); if (!iconButton) continue; @@ -364,7 +364,7 @@ void DeskScreen::slotOperateApp(desktopAppButton *operateBtn) isMoveMode_ = true; } -void DeskScreen::slotDeleteApp(desktopAppButton *operateBtn) +void DeskScreen::slotDeleteApp(DesktopAppButton *operateBtn) { if (!operateBtn) { @@ -446,7 +446,7 @@ void DeskScreen::slotTimeoutInstallApp() void DeskScreen::initData() { - globalTopSettingBar_ = new appSettingBar(); + globalTopSettingBar_ = new AppSettingBar(); if (globalTopSettingBar_ == nullptr) { std::cout << "topSettingBar init error!" << std::endl; @@ -454,7 +454,7 @@ void DeskScreen::initData() } globalTopSettingBar_->setVisible(false); - topFloatBar_ = new topBar(); + topFloatBar_ = new TopBar(); if (topFloatBar_ == nullptr) { std::cout << "topbar init error!" << std::endl; @@ -462,15 +462,15 @@ void DeskScreen::initData() } topFloatBar_->installEventFilter(this); - bottomFloatBar_ = new bottomBar(this); + bottomFloatBar_ = new BottomBar(this); if (bottomFloatBar_ == nullptr) { - std::cout << "bottomBar init error!" << std::endl; + std::cout << "BottomBar init error!" << std::endl; std::exit(0); } bottomFloatBar_->installEventFilter(this); - navigationFloatBar_ = new navigationBar(); + navigationFloatBar_ = new NavigationBar(); if (navigationFloatBar_ == nullptr) { std::cout << "navigationFloatBar_ init error!" << std::endl; @@ -478,15 +478,15 @@ void DeskScreen::initData() } navigationFloatBar_->installEventFilter(this); - // globalSysLockWindow = new sysLockWindow(); + // globalSysLockWindow = new SysLockWindow(); // if (globalSysLockWindow == nullptr) // { - // std::cout << "sysLockWindow init error!" << std::endl; + // std::cout << "SysLockWindow init error!" << std::endl; // std::exit(0); // } // globalSysLockWindow->setVisible(false); - globalAppTaskWindow = new appTaskManageWindow(); + globalAppTaskWindow = new AppTaskManageWindow(); if (globalAppTaskWindow == nullptr) { std::cout << "globalAppTaskWindow init error!" << std::endl; @@ -494,7 +494,7 @@ void DeskScreen::initData() } globalAppTaskWindow->setVisible(false); - mainAppPanel_ = new mainAppScrollPanel(this); + mainAppPanel_ = new MainAppScrollPanel(this); if (mainAppPanel_ == nullptr) { std::cout << "mainAppPanel_ init error!" << std::endl; @@ -507,7 +507,7 @@ void DeskScreen::initData() connect(mainAppPanel_, onPageChanged, [=](uint32_t curPage_) { carouselButton_->setCurrentIndex(curPage_); }); - // maskWindow_ = new appOperateMaskWindow(); + // maskWindow_ = new AppOperateMaskWindow(); // maskWindow_->installEventFilter(this); // maskWindow_->setVisible(false); @@ -687,7 +687,7 @@ void DeskScreen::createAppBtn() uint32_t panelHMargin = (mainAppPanelWidth - BOTTOM_BAR_WIDTH) / 2.0; // 最后一个按钮的指针,用于获取按钮的宽高 - desktopAppButton *finalBtn = nullptr; + DesktopAppButton *finalBtn = nullptr; // 将每一页的APP都添加到滚动窗口,按页码计算X偏移量 for (const auto &pageAppInfoIter : allAppInfoMap_) @@ -700,7 +700,7 @@ void DeskScreen::createAppBtn() // 解析应用图标、名称信息 TpAppConfigIO configIO(appInfoSptrIter->appUuid); - desktopAppButton *appBtn = createDeskAppBtn(appInfoSptrIter, configIO.iconPath(), configIO.appName()); + DesktopAppButton *appBtn = createDeskAppBtn(appInfoSptrIter, configIO.iconPath(), configIO.appName()); if (!appBtn) continue; // appBtn->setInstallProgress(40); @@ -735,13 +735,13 @@ void DeskScreen::createAppBtn() } // 创建工具栏的图标 - TpList bottomAppList; + TpList bottomAppList; for (const auto &bottomAppInfo : bottomBarAppList_) { // 解析应用图标、名称信息 TpAppConfigIO configIO(bottomAppInfo->appUuid); - desktopAppButton *appBtn = configAppBtn(bottomAppInfo->appUuid, configIO.iconPath(), configIO.appName()); + DesktopAppButton *appBtn = configAppBtn(bottomAppInfo->appUuid, configIO.iconPath(), configIO.appName()); bottomAppList.emplace_back(appBtn); } bottomFloatBar_->setBottomAppBtn(bottomAppList); @@ -806,9 +806,9 @@ void DeskScreen::refreshBar() } -desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName) +DesktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName) { - desktopAppButton *appBtn = configAppBtn(appInfo->appUuid, iconPath, appName); + DesktopAppButton *appBtn = configAppBtn(appInfo->appUuid, iconPath, appName); if (!appBtn) return nullptr; @@ -837,10 +837,10 @@ desktopAppButton *DeskScreen::createDeskAppBtn(ApplicationInfoSPtr appInfo, cons return appBtn; } -desktopAppButton *DeskScreen::configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName) +DesktopAppButton *DeskScreen::configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName) { // 根据APP uuid去查询App配置文件 - desktopAppButton *appBtn = new desktopAppButton(iconPath, appName, nullptr); + DesktopAppButton *appBtn = new DesktopAppButton(iconPath, appName, nullptr); appBtn->setProperty("UUID", appUuid); connect(appBtn, onClicked, [=](bool) diff --git a/Application/deskTop/src/DeskScreen.h b/Application/DeskTop/src/DeskScreen.h similarity index 84% rename from Application/deskTop/src/DeskScreen.h rename to Application/DeskTop/src/DeskScreen.h index 3f3e2a1..6d67032 100644 --- a/Application/deskTop/src/DeskScreen.h +++ b/Application/DeskTop/src/DeskScreen.h @@ -7,22 +7,22 @@ #include "TpScrollPanel.h" #include "TpDisplay.h" #include "TpGridLayout.h" -#include "mainAppScrollPanel.h" +#include "MainAppScrollPanel.h" #include "TpMenu.h" #include "TpCarouselButton.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #include "TpNetDataGlobal.h" #include "TpGateway.h" #include "TpAppInstall.h" #include "TpTimer.h" -#include "toolWindow/sysLockWindow.h" -#include "toolWindow/appOperateMaskWindow.h" -#include "ToolBar/topBar.h" -#include "ToolBar/bottomBar.h" -#include "ToolBar/navigationBar.h" -#include "toolModule/caculateAppPos.h" -#include "toolModule/desktopAppButton.h" +#include "SysLockWindow.h" +#include "AppOperateMaskWindow.h" +#include "ToolBar/TopBar.h" +#include "ToolBar/BottomBar.h" +#include "ToolBar/NavigationBar.h" +#include "CaculateAppPos.h" +#include "DesktopAppButton.h" /* 该类就是桌面类,在桌面中增加各种组件可以使用该类完成,需要注意的事: @@ -68,10 +68,10 @@ public: private: /// @brief 长按桌面或图标,触发卸载/移动事件;长按桌面operateBtn为空 - void slotOperateApp(desktopAppButton *operateBtn); + void slotOperateApp(DesktopAppButton *operateBtn); // 卸载APP - void slotDeleteApp(desktopAppButton *operateBtn); + void slotDeleteApp(DesktopAppButton *operateBtn); // 安装APP;定时获取安装进度 void slotTimeoutInstallApp(); @@ -95,11 +95,11 @@ private: void refreshBar(); /// @brief 创建桌面图标;放置在桌面窗体内;内部会初始化按钮;并根据页码索引放置在对应位置 - desktopAppButton *createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName); + DesktopAppButton *createDeskAppBtn(ApplicationInfoSPtr appInfo, const TpString &iconPath, const TpString &appName); // 给入APPuuid创建配置app按钮;配置按钮信息、绑定信号槽等;工具栏按钮和桌面按钮均通过此函数创建 // UUID、应用图标绝对路径、应用名称 - desktopAppButton *configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName); + DesktopAppButton *configAppBtn(const TpString &appUuid, const TpString &iconPath, const TpString &appName); // 指定应用UUID启动应用;若已在后台则唤醒 void startApp(const TpString &uuid, const TpVector &argList = TpVector()); @@ -112,15 +112,15 @@ private: private: // 顶部和底部工具栏 - topBar *topFloatBar_ = nullptr; - bottomBar *bottomFloatBar_ = nullptr; - navigationBar *navigationFloatBar_ = nullptr; + TopBar *topFloatBar_ = nullptr; + BottomBar *bottomFloatBar_ = nullptr; + NavigationBar *navigationFloatBar_ = nullptr; TpAppInstall *appInstallPtr_; TpTimer *appInstallTimer_; // APP显示主区域 - mainAppScrollPanel *mainAppPanel_; + MainAppScrollPanel *mainAppPanel_; // 菜单轮播按钮 TpCarouselButton *carouselButton_; @@ -147,19 +147,19 @@ private: // 应用长按操作菜单 TpMenu *operateMenu_; // 应用长按遮罩层 - appOperateMaskWindow *maskWindow_; + AppOperateMaskWindow *maskWindow_; // 鼠标按下时的APP对象,鼠标释放时置空 - desktopAppButton *pressAppBtn_; + DesktopAppButton *pressAppBtn_; TpRect pressBtnRect_; // 当前正在安装的APP - desktopAppButton *installingApp_; + DesktopAppButton *installingApp_; // 是否是APP移动模式 bool isMoveMode_; // 用于拖拽APP过程中计算APP吸附位置及移动其他APP图标 - caculateAppPos caculateAppPosPtr_; + CaculateAppPos caculateAppPosPtr_; }; #endif diff --git a/Application/deskTop/src/deskTopGlobal.hpp b/Application/DeskTop/src/DeskTopGlobal.hpp similarity index 88% rename from Application/deskTop/src/deskTopGlobal.hpp rename to Application/DeskTop/src/DeskTopGlobal.hpp index 886810d..2eb0ffa 100644 --- a/Application/deskTop/src/deskTopGlobal.hpp +++ b/Application/DeskTop/src/DeskTopGlobal.hpp @@ -2,9 +2,9 @@ #define DESKTOP_GLOBAL_HEADER #include -#include "toolWindow/sysLockWindow.h" -#include "toolWindow/appTaskManageWindow.h" -#include "ToolBar/appSettingBar.h" +#include "SysLockWindow.h" +#include "AppTaskManageWindow.h" +#include "ToolBar/AppSettingBar.h" #include "TpDisplay.h" #include "tinyPiXUtils.h" #include "tinyPiXSys.h" @@ -16,13 +16,13 @@ const uint32_t globalDesktopMaxPageNum = 10; extern bool globalSystemLockStatus; // app任务管理窗 -extern appTaskManageWindow *globalAppTaskWindow; +extern AppTaskManageWindow *globalAppTaskWindow; // 锁屏窗口 -extern sysLockWindow *globalSysLockWindow; +extern SysLockWindow *globalSysLockWindow; // 下拉菜单 -extern appSettingBar *globalTopSettingBar_; +extern AppSettingBar *globalTopSettingBar_; // 主窗体 extern TpScreen *globalMainScreen_; diff --git a/Application/deskTop/src/ToolBar/appSettingBar.cpp b/Application/DeskTop/src/ToolBar/AppSettingBar.cpp similarity index 84% rename from Application/deskTop/src/ToolBar/appSettingBar.cpp rename to Application/DeskTop/src/ToolBar/AppSettingBar.cpp index 74f214a..b073130 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.cpp +++ b/Application/DeskTop/src/ToolBar/AppSettingBar.cpp @@ -1,6 +1,6 @@ -#include "appSettingBar.h" -#include "topBar.h" -#include "deskTopGlobal.hpp" +#include "AppSettingBar.h" +#include "TopBar.h" +#include "DeskTopGlobal.hpp" #include #include "TpString.h" #include "TpVariant.h" @@ -12,7 +12,7 @@ #define SETTING_BAR_COLOR _RGBA(93, 97, 208, 204) #endif -appSettingBar::appSettingBar() +AppSettingBar::AppSettingBar() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { this->setEnabledBorderColor(false); @@ -32,7 +32,7 @@ appSettingBar::appSettingBar() powerOffBtn_->setTextVisible(false); powerOffBtn_->setEnableBackGroundColor(false); powerOffBtn_->setEnabledBorderColor(false); - connect(powerOffBtn_, onClicked, this, &appSettingBar::slotPowerOff); + connect(powerOffBtn_, onClicked, this, &AppSettingBar::slotPowerOff); // 声音进度条 voiceProgessBar_ = new TpSlideProgressBar(this); @@ -40,7 +40,7 @@ appSettingBar::appSettingBar() voiceProgessBar_->setRange(0, 100); voiceProgessBar_->setValue(50); voiceProgessBar_->setFixedSize(globalMainScreen_->screenWidth() * 0.2824, globalMainScreen_->screenHeight() * 0.0888); - connect(voiceProgessBar_, onValueChanged, this, &appSettingBar::slotChangeVoice); + connect(voiceProgessBar_, onValueChanged, this, &AppSettingBar::slotChangeVoice); // // 亮度进度条 lightProgessBar_ = new TpSlideProgressBar(this); @@ -49,21 +49,21 @@ appSettingBar::appSettingBar() lightProgessBar_->setValue(100); lightProgessBar_->setEnabled(false); lightProgessBar_->setFixedSize(globalMainScreen_->screenWidth() * 0.2824, globalMainScreen_->screenHeight() * 0.0888); - connect(lightProgessBar_, onValueChanged, this, &appSettingBar::slotChangelight); + connect(lightProgessBar_, onValueChanged, this, &AppSettingBar::slotChangelight); wifiBtn_ = new TpPanelSwitchButton(this); wifiBtn_->setCheckable(true); wifiBtn_->setText("WIFI"); wifiBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-WIFI.png"); wifiBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); - connect(wifiBtn_, onClicked, this, &appSettingBar::slotSwitchWifi); + connect(wifiBtn_, onClicked, this, &AppSettingBar::slotSwitchWifi); bluetoothBtn_ = new TpPanelSwitchButton(this); bluetoothBtn_->setCheckable(true); bluetoothBtn_->setText("蓝牙"); bluetoothBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-蓝牙.png"); bluetoothBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); - connect(bluetoothBtn_, onClicked, this, &appSettingBar::slotSwitchBluetooth); + connect(bluetoothBtn_, onClicked, this, &AppSettingBar::slotSwitchBluetooth); sysLockBtn_ = new TpPanelSwitchButton(this); sysLockBtn_->setCheckable(true); @@ -71,18 +71,18 @@ appSettingBar::appSettingBar() sysLockBtn_->setFixedSize(globalMainScreen_->screenWidth() * 0.14166, globalMainScreen_->screenWidth() * 0.14166); sysLockBtn_->setIcon(applicationDirPath() + "/../res/controlPanel/控制面板-锁定.png"); - powerManageWindow_ = new powerManage(); + powerManageWindow_ = new PowerManage(); setRect(0, 0, globalMainScreen_->width(), globalMainScreen_->height()); resizeOperatorBtn(); } -appSettingBar::~appSettingBar() +AppSettingBar::~AppSettingBar() { } -void appSettingBar::setVisible(bool visible) +void AppSettingBar::setVisible(bool visible) { TpDialog::setVisible(visible); @@ -111,17 +111,17 @@ void appSettingBar::setVisible(bool visible) // sysLockBtn_->setVisible(visible); } -void appSettingBar::updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const TpString &weekDay) +void AppSettingBar::updateTime(const int32_t &year, const int32_t &month, const int32_t &day, const TpString &weekDay) { dateTimeLabel_->setText(TpString::number(year) + "年" + TpString::number(month) + "月" + TpString::number(day) + "日" + weekDay); } -void appSettingBar::setBluetoothStatus(const bool &status) +void AppSettingBar::setBluetoothStatus(const bool &status) { bluetoothBtn_->setChecked(status); } -bool appSettingBar::onMousePressEvent(TpMouseEvent *event) +bool AppSettingBar::onMousePressEvent(TpMouseEvent *event) { mouseLeftPress_ = event->state(); pressPoint_ = event->globalPos(); @@ -129,14 +129,14 @@ bool appSettingBar::onMousePressEvent(TpMouseEvent *event) return true; } -bool appSettingBar::onMouseRleaseEvent(TpMouseEvent *event) +bool AppSettingBar::onMouseRleaseEvent(TpMouseEvent *event) { mouseLeftPress_ = event->state(); return true; } -bool appSettingBar::onMouseMoveEvent(TpMouseEvent *event) +bool AppSettingBar::onMouseMoveEvent(TpMouseEvent *event) { // TpDialog::onMouseMoveEvent(event); @@ -151,21 +151,21 @@ bool appSettingBar::onMouseMoveEvent(TpMouseEvent *event) this->setVisible(false); - // std::cout << "appSettingBar visible false " << std::endl; + // std::cout << "AppSettingBar visible false " << std::endl; } } return true; } -bool appSettingBar::onResizeEvent(TpResizeEvent *event) +bool AppSettingBar::onResizeEvent(TpResizeEvent *event) { resizeOperatorBtn(); return true; } -void appSettingBar::slotSwitchBluetooth(bool checked) +void AppSettingBar::slotSwitchBluetooth(bool checked) { #if 0 bool blueIsOpen = false; @@ -194,11 +194,11 @@ void appSettingBar::slotSwitchBluetooth(bool checked) #endif } -void appSettingBar::slotSwitchWifi(bool checked) +void AppSettingBar::slotSwitchWifi(bool checked) { } -void appSettingBar::slotChangeVoice(int32_t value) +void AppSettingBar::slotChangeVoice(int32_t value) { // TODO ; ARM暂时屏蔽音量修改 return; @@ -212,11 +212,11 @@ void appSettingBar::slotChangeVoice(int32_t value) } } -void appSettingBar::slotChangelight(int32_t value) +void AppSettingBar::slotChangelight(int32_t value) { } -void appSettingBar::resizeOperatorBtn() +void AppSettingBar::resizeOperatorBtn() { TpRect settingBarRect = this->rect(); uint32_t panelHMargin = (settingBarRect.width() - BOTTOM_BAR_WIDTH) / 2.0; @@ -240,7 +240,7 @@ void appSettingBar::resizeOperatorBtn() wifiBtn_->move(bluetoothBtn_->pos().x() - wifiBtn_->width() - globalMainScreen_->screenHeight() * 0.03472, secondRowY); } -void appSettingBar::slotPowerOff(bool checked) +void AppSettingBar::slotPowerOff(bool checked) { powerManageWindow_->setVisible(true); powerManageWindow_->update(); diff --git a/Application/deskTop/src/ToolBar/appSettingBar.h b/Application/DeskTop/src/ToolBar/AppSettingBar.h similarity index 93% rename from Application/deskTop/src/ToolBar/appSettingBar.h rename to Application/DeskTop/src/ToolBar/AppSettingBar.h index d27bcc0..4501e01 100644 --- a/Application/deskTop/src/ToolBar/appSettingBar.h +++ b/Application/DeskTop/src/ToolBar/AppSettingBar.h @@ -9,14 +9,14 @@ #include "TpSlideProgressBar.h" #include "TpLabel.h" #include "TpPanelSwitchButton.h" -#include "powerManage.h" +#include "PowerManage.h" -class appSettingBar +class AppSettingBar : public TpDialog { public: - appSettingBar(); - virtual ~appSettingBar(); + AppSettingBar(); + virtual ~AppSettingBar(); virtual void setVisible(bool visible) override; @@ -77,7 +77,7 @@ private: TpPanelSwitchButton *sysLockBtn_; // 电源管理窗口 - powerManage *powerManageWindow_; + PowerManage *powerManageWindow_; // TpVector operatorBtnList_; }; diff --git a/Application/deskTop/src/ToolBar/bottomBar.cpp b/Application/DeskTop/src/ToolBar/BottomBar.cpp similarity index 72% rename from Application/deskTop/src/ToolBar/bottomBar.cpp rename to Application/DeskTop/src/ToolBar/BottomBar.cpp index a05a432..428f52c 100644 --- a/Application/deskTop/src/ToolBar/bottomBar.cpp +++ b/Application/DeskTop/src/ToolBar/BottomBar.cpp @@ -1,4 +1,4 @@ -#include "bottomBar.h" +#include "BottomBar.h" #include "TpDisplay.h" #ifndef BOTTOM_CONTENT_MARGIN @@ -11,24 +11,24 @@ // #define BOTTOM_BAR_COLOR _RGBA(255, 255, 255, 128) #endif -bottomBar::bottomBar(TpScreen *topScreen) +BottomBar::BottomBar(TpScreen *topScreen) : TpChildWidget(topScreen), topScreen_(topScreen) { setEnabledBorderColor(false); setBackGroundColor(BOTTOM_BAR_COLOR); } -bottomBar::~bottomBar() +BottomBar::~BottomBar() { } -void bottomBar::setVisible(bool visible) +void BottomBar::setVisible(bool visible) { - // std::cout << "bottomBar::setVisible " << visible << std::endl; + // std::cout << "BottomBar::setVisible " << visible << std::endl; TpChildWidget::setVisible(visible); } -void bottomBar::setBottomAppBtn(const TpList &appList) +void BottomBar::setBottomAppBtn(const TpList &appList) { systemAppBtnList_ = appList; @@ -42,13 +42,13 @@ void bottomBar::setBottomAppBtn(const TpList &appList) update(); } -TpList bottomBar::bottomAppBtnList() +TpList BottomBar::bottomAppBtnList() { // TODO: 在此处插入 return 语句 return systemAppBtnList_; } -void bottomBar::removeApp(desktopAppButton *removeBtn) +void BottomBar::removeApp(DesktopAppButton *removeBtn) { for (const auto &curApp : systemAppBtnList_) { @@ -63,29 +63,29 @@ void bottomBar::removeApp(desktopAppButton *removeBtn) } } -bool bottomBar::onResizeEvent(TpResizeEvent *event) +bool BottomBar::onResizeEvent(TpResizeEvent *event) { return true; } -bool bottomBar::onMoveEvent(TpMoveEvent *event) +bool BottomBar::onMoveEvent(TpMoveEvent *event) { caculateBottomAppPos(); return true; } -bool bottomBar::onMousePressEvent(TpMouseEvent *event) +bool BottomBar::onMousePressEvent(TpMouseEvent *event) { return true; } -bool bottomBar::onMouseRleaseEvent(TpMouseEvent *event) +bool BottomBar::onMouseRleaseEvent(TpMouseEvent *event) { return true; } -void bottomBar::caculateBottomAppPos() +void BottomBar::caculateBottomAppPos() { uint32_t bottomAppCount = systemAppBtnList_.size(); @@ -97,7 +97,7 @@ void bottomBar::caculateBottomAppPos() // 因为按钮是以顶层窗口为父类,所以坐标要叠加bittomBar的XY坐标 for (int32_t i = 0; i < systemAppBtnList_.size(); ++i) { - desktopAppButton *bottomAppBtn = systemAppBtnList_.at(i); + DesktopAppButton *bottomAppBtn = systemAppBtnList_.at(i); bottomAppBtn->move(appStartX + (APP_WIDTH_HEIGHT + BOTTOM_CONTENT_MARGIN) * i, appStartY); } } diff --git a/Application/deskTop/src/ToolBar/bottomBar.h b/Application/DeskTop/src/ToolBar/BottomBar.h similarity index 69% rename from Application/deskTop/src/ToolBar/bottomBar.h rename to Application/DeskTop/src/ToolBar/BottomBar.h index b5203be..d7258d5 100644 --- a/Application/deskTop/src/ToolBar/bottomBar.h +++ b/Application/DeskTop/src/ToolBar/BottomBar.h @@ -3,28 +3,28 @@ #include "TpDialog.h" #include "TpList.h" -#include "deskTopGlobal.hpp" -#include "toolModule/desktopAppButton.h" +#include "DeskTopGlobal.hpp" +#include "DesktopAppButton.h" -class bottomBar +class BottomBar : public TpChildWidget { public: // 顶层窗口指针 - bottomBar(TpScreen* topScreen); - virtual ~bottomBar(); + BottomBar(TpScreen* topScreen); + virtual ~BottomBar(); virtual void setVisible(bool visible = true) override; // 设置工具栏按钮列表 - void setBottomAppBtn(const TpList& appList); + void setBottomAppBtn(const TpList& appList); /// @brief 获取底部工具栏APP按钮列表 /// @return - TpList bottomAppBtnList(); + TpList bottomAppBtnList(); // 卸载应用 - void removeApp(desktopAppButton* removeBtn); + void removeApp(DesktopAppButton* removeBtn); protected: virtual bool onResizeEvent(TpResizeEvent *event) override; @@ -39,7 +39,7 @@ private: TpScreen* topScreen_; // 系统底部应用图标信息 - TpList systemAppBtnList_; + TpList systemAppBtnList_; // 所有在底部的icon列表 // TpList bottomAppInfoList_; diff --git a/Application/deskTop/src/ToolBar/navigationBar.cpp b/Application/DeskTop/src/ToolBar/NavigationBar.cpp similarity index 85% rename from Application/deskTop/src/ToolBar/navigationBar.cpp rename to Application/DeskTop/src/ToolBar/NavigationBar.cpp index 8b78ac3..11e598e 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.cpp +++ b/Application/DeskTop/src/ToolBar/NavigationBar.cpp @@ -1,12 +1,12 @@ -#include "navigationBar.h" +#include "NavigationBar.h" #include "TpPainter.h" #include "TpDisplay.h" #include "TpAnimation.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #include "TpApp.h" #include "Service/TpSystemApi.h" -navigationBar::navigationBar() +NavigationBar::NavigationBar() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { const uint32_t navigationLineWidth = globalMainScreen_->screenWidth() * 0.3; @@ -28,15 +28,15 @@ navigationBar::navigationBar() lastAnimationTime_ = TpTime::currentTime(); } -navigationBar::~navigationBar() +NavigationBar::~NavigationBar() { } -void navigationBar::setColor(const int32_t &appColor) +void NavigationBar::setColor(const int32_t &appColor) { } -bool navigationBar::onResizeEvent(TpResizeEvent *event) +bool NavigationBar::onResizeEvent(TpResizeEvent *event) { int32_t lienY = (height() - lineLabel_->height()) / 2.0; lineLabel_->move(0, lienY); @@ -44,7 +44,7 @@ bool navigationBar::onResizeEvent(TpResizeEvent *event) return true; } -bool navigationBar::onMousePressEvent(TpMouseEvent *event) +bool NavigationBar::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); mousePressTime_ = TpTime::currentTime(); @@ -52,9 +52,9 @@ bool navigationBar::onMousePressEvent(TpMouseEvent *event) return true; } -bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) +bool NavigationBar::onMouseRleaseEvent(TpMouseEvent *event) { - // std::cout << "navigationBar::onMouseRleaseEvent " << std::endl; + // std::cout << "NavigationBar::onMouseRleaseEvent " << std::endl; TpPoint curPos = event->globalPos(); if (std::abs(curPos.x() - mousePressPoint_.x()) < 5 && std::abs(curPos.y() - mousePressPoint_.y()) < 5) { @@ -115,10 +115,10 @@ bool navigationBar::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool navigationBar::onMouseMoveEvent(TpMouseEvent *event) +bool NavigationBar::onMouseMoveEvent(TpMouseEvent *event) { static int aaa = 0; - // std::cout << "navigationBar::onMouseMoveEvent" << aaa++ << std::endl; + // std::cout << "NavigationBar::onMouseMoveEvent" << aaa++ << std::endl; // if (event->state()) // { @@ -128,18 +128,18 @@ bool navigationBar::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool navigationBar::onLeaveEvent(TpLeaveEvent *event) +bool NavigationBar::onLeaveEvent(TpLeaveEvent *event) { return true; } -bool navigationBar::onPaintEvent(TpPaintEvent *event) +bool NavigationBar::onPaintEvent(TpPaintEvent *event) { TpDialog::onPaintEvent(event); return true; } -bool navigationBar::eventFilter(TpObject *watched, TpEvent *event) +bool NavigationBar::eventFilter(TpObject *watched, TpEvent *event) { if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { diff --git a/Application/deskTop/src/ToolBar/navigationBar.h b/Application/DeskTop/src/ToolBar/NavigationBar.h similarity index 93% rename from Application/deskTop/src/ToolBar/navigationBar.h rename to Application/DeskTop/src/ToolBar/NavigationBar.h index 6e65663..9de4279 100644 --- a/Application/deskTop/src/ToolBar/navigationBar.h +++ b/Application/DeskTop/src/ToolBar/NavigationBar.h @@ -10,12 +10,12 @@ #include "TpEvent.h" #include "TpTime.h" -class navigationBar +class NavigationBar : public TpDialog { public: - navigationBar(); - virtual ~navigationBar(); + NavigationBar(); + virtual ~NavigationBar(); /// @brief 设置导航条颜色 /// @param appColor 应用底部颜色,根据应用颜色,选择设置导航条是黑色/白色 diff --git a/Application/deskTop/src/ToolBar/powerManage.cpp b/Application/DeskTop/src/ToolBar/PowerManage.cpp similarity index 86% rename from Application/deskTop/src/ToolBar/powerManage.cpp rename to Application/DeskTop/src/ToolBar/PowerManage.cpp index a7ec17a..44b8070 100644 --- a/Application/deskTop/src/ToolBar/powerManage.cpp +++ b/Application/DeskTop/src/ToolBar/PowerManage.cpp @@ -1,10 +1,10 @@ -#include "powerManage.h" +#include "PowerManage.h" #include "TpVariant.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #define POWER_MANAGE_BG_COLOR _RGBA(0, 0, 0, 153) -powerManage::powerManage() +PowerManage::PowerManage() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { setBackGroundColor(POWER_MANAGE_BG_COLOR); @@ -42,23 +42,23 @@ powerManage::powerManage() setVisible(false); } -powerManage::~powerManage() +PowerManage::~PowerManage() { } -bool powerManage::onMousePressEvent(TpMouseEvent *event) +bool PowerManage::onMousePressEvent(TpMouseEvent *event) { setVisible(false); return true; } -bool powerManage::onMouseRleaseEvent(TpMouseEvent *event) +bool PowerManage::onMouseRleaseEvent(TpMouseEvent *event) { return true; } -bool powerManage::onResizeEvent(TpResizeEvent *event) +bool PowerManage::onResizeEvent(TpResizeEvent *event) { return true; } diff --git a/Application/deskTop/src/ToolBar/powerManage.h b/Application/DeskTop/src/ToolBar/PowerManage.h similarity index 88% rename from Application/deskTop/src/ToolBar/powerManage.h rename to Application/DeskTop/src/ToolBar/PowerManage.h index fd385d9..24201a3 100644 --- a/Application/deskTop/src/ToolBar/powerManage.h +++ b/Application/DeskTop/src/ToolBar/PowerManage.h @@ -5,12 +5,12 @@ #include "TpButton.h" #include "TpEvent.h" -class powerManage +class PowerManage : public TpDialog { public: - powerManage(); - virtual ~powerManage(); + PowerManage(); + virtual ~PowerManage(); protected: virtual bool onMousePressEvent(TpMouseEvent *event) override; diff --git a/Application/deskTop/src/ToolBar/topBar.cpp b/Application/DeskTop/src/ToolBar/TopBar.cpp similarity index 90% rename from Application/deskTop/src/ToolBar/topBar.cpp rename to Application/DeskTop/src/ToolBar/TopBar.cpp index c23c4be..baa1c19 100644 --- a/Application/deskTop/src/ToolBar/topBar.cpp +++ b/Application/DeskTop/src/ToolBar/TopBar.cpp @@ -1,7 +1,7 @@ -#include "topBar.h" +#include "TopBar.h" #include "TpFont.h" #include "TpString.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #include "TpDisplay.h" #include "TpTime.h" #include "TpDate.h" @@ -18,7 +18,7 @@ bool globalSystemLockStatus = false; #define TOP_BAR_COLOR _RGBA(255, 255, 255, 0) #endif -topBar::topBar() +TopBar::TopBar() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { setBackGroundColor(TOP_BAR_COLOR); @@ -26,15 +26,15 @@ topBar::topBar() initUI(); } -topBar::~topBar() +TopBar::~TopBar() { } -void topBar::setColor(const int32_t &appColor) +void TopBar::setColor(const int32_t &appColor) { } -bool topBar::onResizeEvent(TpResizeEvent *event) +bool TopBar::onResizeEvent(TpResizeEvent *event) { TpDialog::onResizeEvent(event); @@ -47,7 +47,7 @@ bool topBar::onResizeEvent(TpResizeEvent *event) return true; } -bool topBar::onMousePressEvent(TpMouseEvent *event) +bool TopBar::onMousePressEvent(TpMouseEvent *event) { TpDialog::onMousePressEvent(event); @@ -56,7 +56,7 @@ bool topBar::onMousePressEvent(TpMouseEvent *event) return true; } -bool topBar::onLeaveEvent(TpLeaveEvent *event) +bool TopBar::onLeaveEvent(TpLeaveEvent *event) { if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) { @@ -69,7 +69,7 @@ bool topBar::onLeaveEvent(TpLeaveEvent *event) return true; } -void topBar::initUI() +void TopBar::initUI() { sysTimeLabel_ = new TpLabel(this); sysTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); @@ -87,12 +87,12 @@ void topBar::initUI() wifiLabel_ = new TpLabel(this); wifiLabel_->setSize(TpDisplay::dp2Px(17), TpDisplay::dp2Px(17)); - wifiLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/WIFI.png")); + wifiLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/TopBar/WIFI.png")); wifiLabel_->setVisible(false); blueToothLabel_ = new TpLabel(this); blueToothLabel_->setSize(TpDisplay::dp2Px(17), TpDisplay::dp2Px(17)); - blueToothLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/topBar/蓝牙.png")); + blueToothLabel_->setBackGroundImage(TpImage(applicationDirPath() + "/../res/TopBar/蓝牙.png")); blueToothLabel_->setVisible(false); elecBattery_ = new TpBattery(this); @@ -101,14 +101,14 @@ void topBar::initUI() elecBattery_->setValue(100); updateTimetimer_ = new TpTimer(50000); - connect(updateTimetimer_, timeout, this, &topBar::slotUpdateSystemTime); + connect(updateTimetimer_, timeout, this, &TopBar::slotUpdateSystemTime); updateTimetimer_->start(); // 系统启动就要刷新一下时间 slotUpdateSystemTime(); } -void topBar::caculateTopAppPos() +void TopBar::caculateTopAppPos() { TpRect topBarRect = rect(); @@ -128,7 +128,7 @@ void topBar::caculateTopAppPos() blueToothLabel_->move(wifiLabel_->pos().x() - blueToothLabel_->width() - TpDisplay::dp2Px(5), (topBarRect.height() - blueToothLabel_->height()) / 2.0); } -void topBar::slotUpdateSystemTime() +void TopBar::slotUpdateSystemTime() { // 更新时间 TpTime currentTime = TpTime::currentTime(); @@ -173,7 +173,7 @@ void topBar::slotUpdateSystemTime() } } -TpString topBar::transWeekData(const int32_t &dayOfWeek) +TpString TopBar::transWeekData(const int32_t &dayOfWeek) { switch (dayOfWeek) { diff --git a/Application/deskTop/src/ToolBar/topBar.h b/Application/DeskTop/src/ToolBar/TopBar.h similarity index 93% rename from Application/deskTop/src/ToolBar/topBar.h rename to Application/DeskTop/src/ToolBar/TopBar.h index 7559d19..6704446 100644 --- a/Application/deskTop/src/ToolBar/topBar.h +++ b/Application/DeskTop/src/ToolBar/TopBar.h @@ -7,11 +7,11 @@ #include "TpEvent.h" #include "TpBattery.h" -class topBar : public TpDialog +class TopBar : public TpDialog { public: - topBar(); - virtual ~topBar(); + TopBar(); + virtual ~TopBar(); /// @brief 设置顶部工具栏颜色 /// @param appColor 应用底部颜色,根据应用颜色,选择设置工具栏是黑色/白色 diff --git a/Application/DeskTop/src/ToolModule/CaculateAppPos.cpp b/Application/DeskTop/src/ToolModule/CaculateAppPos.cpp new file mode 100644 index 0000000..f0dad40 --- /dev/null +++ b/Application/DeskTop/src/ToolModule/CaculateAppPos.cpp @@ -0,0 +1,32 @@ +#include "CaculateAppPos.h" + +CaculateAppPos::CaculateAppPos() + : curPage_(0) +{ +} + +CaculateAppPos::~CaculateAppPos() +{ +} + +void CaculateAppPos::setCurPage(const int32_t &pageNum, const TpVector &curPageAppList) +{ + curPage_ = pageNum; + appList_ = curPageAppList; +} + +void CaculateAppPos::setRowY(const TpVector &yList) +{ +} + +void CaculateAppPos::setColumnX(const TpVector &xList) +{ +} + +void CaculateAppPos::moveBtn(const TpPoint &curPoint) +{ +} + +void CaculateAppPos::releaseBtn() +{ +} diff --git a/Application/deskTop/src/toolModule/caculateAppPos.h b/Application/DeskTop/src/ToolModule/CaculateAppPos.h similarity index 93% rename from Application/deskTop/src/toolModule/caculateAppPos.h rename to Application/DeskTop/src/ToolModule/CaculateAppPos.h index 1e2b7d9..b5cd120 100644 --- a/Application/deskTop/src/toolModule/caculateAppPos.h +++ b/Application/DeskTop/src/ToolModule/CaculateAppPos.h @@ -8,11 +8,11 @@ #include "TpVector.h" #include "TpIconTopButton.h" -class caculateAppPos +class CaculateAppPos { public: - caculateAppPos(); - virtual ~caculateAppPos(); + CaculateAppPos(); + virtual ~CaculateAppPos(); // 设置当前在第几页移动的 void setCurPage(const int32_t& pageNum, const TpVector& curPageAppList); diff --git a/Application/deskTop/src/toolModule/desktopAppButton.cpp b/Application/DeskTop/src/ToolModule/DesktopAppButton.cpp similarity index 68% rename from Application/deskTop/src/toolModule/desktopAppButton.cpp rename to Application/DeskTop/src/ToolModule/DesktopAppButton.cpp index c50516d..7327db8 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.cpp +++ b/Application/DeskTop/src/ToolModule/DesktopAppButton.cpp @@ -1,32 +1,32 @@ -#include "desktopAppButton.h" +#include "DesktopAppButton.h" #include "TpPainter.h" -desktopAppButton::desktopAppButton(TpChildWidget *parent) +DesktopAppButton::DesktopAppButton(TpChildWidget *parent) : TpIconTopButton(parent) { - hollowWidget_ = new hollowWidget(this); + hollowWidget_ = new HollowWidget(this); hollowWidget_->setVisible(false); } -desktopAppButton::desktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent) +DesktopAppButton::DesktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent) : TpIconTopButton(iconPath, text, parent) { - hollowWidget_ = new hollowWidget(this); + hollowWidget_ = new HollowWidget(this); hollowWidget_->setVisible(false); } -desktopAppButton::~desktopAppButton() +DesktopAppButton::~DesktopAppButton() { hollowWidget_->deleteLater(); } -void desktopAppButton::setRoundCorners(const uint32_t &round) +void DesktopAppButton::setRoundCorners(const uint32_t &round) { TpIconTopButton::setRoundCorners(round); hollowWidget_->setRoundCorners(round); } -void desktopAppButton::setInstallProgress(const uint32_t &progress) +void DesktopAppButton::setInstallProgress(const uint32_t &progress) { hollowWidget_->setInstallProgress(progress); @@ -36,7 +36,7 @@ void desktopAppButton::setInstallProgress(const uint32_t &progress) hollowWidget_->setVisible(true); } -bool desktopAppButton::onResizeEvent(TpResizeEvent *event) +bool DesktopAppButton::onResizeEvent(TpResizeEvent *event) { TpIconTopButton::onResizeEvent(event); @@ -45,21 +45,21 @@ bool desktopAppButton::onResizeEvent(TpResizeEvent *event) return true; } -hollowWidget::hollowWidget(TpChildWidget *parent) +HollowWidget::HollowWidget(TpChildWidget *parent) : TpChildWidget(parent), installProgress_(100) { } -hollowWidget::~hollowWidget() +HollowWidget::~HollowWidget() { } -void hollowWidget::setInstallProgress(const uint32_t &progress) +void HollowWidget::setInstallProgress(const uint32_t &progress) { installProgress_ = progress; } -bool hollowWidget::onPaintEvent(TpPaintEvent *event) +bool HollowWidget::onPaintEvent(TpPaintEvent *event) { TpChildWidget::onPaintEvent(event); diff --git a/Application/deskTop/src/toolModule/desktopAppButton.h b/Application/DeskTop/src/ToolModule/DesktopAppButton.h similarity index 68% rename from Application/deskTop/src/toolModule/desktopAppButton.h rename to Application/DeskTop/src/ToolModule/DesktopAppButton.h index 3ea688a..7197192 100644 --- a/Application/deskTop/src/toolModule/desktopAppButton.h +++ b/Application/DeskTop/src/ToolModule/DesktopAppButton.h @@ -8,15 +8,15 @@ #include "TpVector.h" #include "TpIconTopButton.h" -class hollowWidget; -class desktopAppButton : public TpIconTopButton +class HollowWidget; +class DesktopAppButton : public TpIconTopButton { public: - desktopAppButton(TpChildWidget *parent = nullptr); + DesktopAppButton(TpChildWidget *parent = nullptr); - desktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent); + DesktopAppButton(const TpString &iconPath, const TpString &text, TpChildWidget *parent); - virtual ~desktopAppButton(); + virtual ~DesktopAppButton(); /// @brief 设置边框圆角 /// @param roundPercent px @@ -30,14 +30,14 @@ protected: virtual bool onResizeEvent(TpResizeEvent *event) override; private: - hollowWidget *hollowWidget_; + HollowWidget *hollowWidget_; }; -class hollowWidget : public TpChildWidget +class HollowWidget : public TpChildWidget { public: - hollowWidget(TpChildWidget *parent = nullptr); - ~hollowWidget(); + HollowWidget(TpChildWidget *parent = nullptr); + ~HollowWidget(); /// @brief 设置安装进度 /// @param progress 0-100 diff --git a/Application/deskTop/src/mainAppScrollPanel.cpp b/Application/DeskTop/src/ToolModule/MainAppScrollPanel.cpp similarity index 86% rename from Application/deskTop/src/mainAppScrollPanel.cpp rename to Application/DeskTop/src/ToolModule/MainAppScrollPanel.cpp index f9b7276..e9a3179 100644 --- a/Application/deskTop/src/mainAppScrollPanel.cpp +++ b/Application/DeskTop/src/ToolModule/MainAppScrollPanel.cpp @@ -1,32 +1,32 @@ -#include "mainAppScrollPanel.h" -#include "deskTopGlobal.hpp" +#include "MainAppScrollPanel.h" +#include "DeskTopGlobal.hpp" #include "math.h" -mainAppScrollPanel::mainAppScrollPanel(TpChildWidget *parent) +MainAppScrollPanel::MainAppScrollPanel(TpChildWidget *parent) : TpScrollPanel(parent), maxPageCount_(globalDesktopMaxPageNum), mouseLeftPress_(false), isSwitchPage_(false) { this->setEnableBackGroundColor(false); // this->setBackGroundColor(tpColors::Gold); } -mainAppScrollPanel::~mainAppScrollPanel() +MainAppScrollPanel::~MainAppScrollPanel() { } -void mainAppScrollPanel::setMaxPage(const uint32_t &maxPage) +void MainAppScrollPanel::setMaxPage(const uint32_t &maxPage) { maxPageCount_ = maxPage; } -void mainAppScrollPanel::setPage(const uint32_t &page) +void MainAppScrollPanel::setPage(const uint32_t &page) { } -void mainAppScrollPanel::setMoveAppRect(const TpRect &rect, const int32_t &round) +void MainAppScrollPanel::setMoveAppRect(const TpRect &rect, const int32_t &round) { } -bool mainAppScrollPanel::eventFilter(TpObject *watched, TpEvent *event) +bool MainAppScrollPanel::eventFilter(TpObject *watched, TpEvent *event) { if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { @@ -75,7 +75,7 @@ bool mainAppScrollPanel::eventFilter(TpObject *watched, TpEvent *event) return false; } -bool mainAppScrollPanel::onMousePressEvent(TpMouseEvent *event) +bool MainAppScrollPanel::onMousePressEvent(TpMouseEvent *event) { // 鼠标左键点击,记录点击坐标 mouseLeftPress_ = true; @@ -87,7 +87,7 @@ bool mainAppScrollPanel::onMousePressEvent(TpMouseEvent *event) return true; } -bool mainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) +bool MainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) { mouseLeftPress_ = false; @@ -129,14 +129,14 @@ bool mainAppScrollPanel::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool mainAppScrollPanel::onMouseLongPressEvent(TpMouseEvent *event) +bool MainAppScrollPanel::onMouseLongPressEvent(TpMouseEvent *event) { onLongPress.emit(); return false; } -bool mainAppScrollPanel::onWheelEvent(TpWheelEvent *event) +bool MainAppScrollPanel::onWheelEvent(TpWheelEvent *event) { if (event->angleDelta() > 0) { @@ -169,7 +169,7 @@ bool mainAppScrollPanel::onWheelEvent(TpWheelEvent *event) return true; } -bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) +bool MainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { @@ -207,7 +207,7 @@ bool mainAppScrollPanel::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool mainAppScrollPanel::onLeaveEvent(TpLeaveEvent *event) +bool MainAppScrollPanel::onLeaveEvent(TpLeaveEvent *event) { if (!event->leave()) { diff --git a/Application/deskTop/src/mainAppScrollPanel.h b/Application/DeskTop/src/ToolModule/MainAppScrollPanel.h similarity index 90% rename from Application/deskTop/src/mainAppScrollPanel.h rename to Application/DeskTop/src/ToolModule/MainAppScrollPanel.h index ef2fc06..b0900b2 100644 --- a/Application/deskTop/src/mainAppScrollPanel.h +++ b/Application/DeskTop/src/ToolModule/MainAppScrollPanel.h @@ -4,13 +4,13 @@ #include "TpScrollPanel.h" #include "TpEvent.h" -/// @brief -class mainAppScrollPanel +/// @brief 应用显示滚动窗 +class MainAppScrollPanel : public TpScrollPanel { public: - mainAppScrollPanel(TpChildWidget *parent = nullptr); - ~mainAppScrollPanel(); + MainAppScrollPanel(TpChildWidget *parent = nullptr); + ~MainAppScrollPanel(); void setMaxPage(const uint32_t &maxPage); diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp b/Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.cpp similarity index 66% rename from Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp rename to Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.cpp index b3c224e..132ec9c 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.cpp +++ b/Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.cpp @@ -1,31 +1,31 @@ -#include "appOperateMaskWindow.h" +#include "AppOperateMaskWindow.h" #include "TpPainter.h" -appOperateMaskWindow::appOperateMaskWindow() +AppOperateMaskWindow::AppOperateMaskWindow() : TpDialog() { setAlpha(204); setVisible(false); } -appOperateMaskWindow::~appOperateMaskWindow() +AppOperateMaskWindow::~AppOperateMaskWindow() { } -void appOperateMaskWindow::setAppRect(const TpRect &rect, const uint32_t &roundCorners) +void AppOperateMaskWindow::setAppRect(const TpRect &rect, const uint32_t &roundCorners) { appRect_ = rect; roundCorners_ = roundCorners; update(); } -bool appOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) +bool AppOperateMaskWindow::onMouseRleaseEvent(TpMouseEvent *event) { close(); return true; } -bool appOperateMaskWindow::onPaintEvent(TpPaintEvent *event) +bool AppOperateMaskWindow::onPaintEvent(TpPaintEvent *event) { TpPainter *painter = event->painter(); diff --git a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h b/Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.h similarity index 87% rename from Application/deskTop/src/toolWindow/appOperateMaskWindow.h rename to Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.h index 441c8df..f6cb082 100644 --- a/Application/deskTop/src/toolWindow/appOperateMaskWindow.h +++ b/Application/DeskTop/src/ToolWindow/AppOperateMaskWindow.h @@ -9,12 +9,12 @@ #include "TpEvent.h" #include "TpUtils.h" -class appOperateMaskWindow +class AppOperateMaskWindow : public TpDialog { public: - appOperateMaskWindow(); - virtual ~appOperateMaskWindow(); + AppOperateMaskWindow(); + virtual ~AppOperateMaskWindow(); /// @brief 设置APP的区域,坐标为相对于屏幕左上角的XY坐标 /// @param rect 坐标区域 diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp b/Application/DeskTop/src/ToolWindow/AppPreviewWidget.cpp similarity index 83% rename from Application/deskTop/src/toolWindow/appPreviewWidget.cpp rename to Application/DeskTop/src/ToolWindow/AppPreviewWidget.cpp index 5550092..e8be543 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.cpp +++ b/Application/DeskTop/src/ToolWindow/AppPreviewWidget.cpp @@ -1,18 +1,18 @@ -#include "appPreviewWidget.h" +#include "AppPreviewWidget.h" #include "TpDisplay.h" #include "TpFont.h" #include "TpHBoxLayout.h" #include "TpVBoxLayout.h" #include "TpImage.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" -appPreviewWidget::appPreviewWidget(TpChildWidget *parent) +AppPreviewWidget::AppPreviewWidget(TpChildWidget *parent) : TpChildWidget(parent) { init(); } -appPreviewWidget::~appPreviewWidget() +AppPreviewWidget::~AppPreviewWidget() { // delete iconLabel_; // delete nameLabel_; @@ -32,37 +32,37 @@ appPreviewWidget::~appPreviewWidget() closeBtn_ = nullptr; } -void appPreviewWidget::setIcon(const TpString &iconPath) +void AppPreviewWidget::setIcon(const TpString &iconPath) { iconLabel_->setBackGroundImage(TpImage(iconPath)); } -void appPreviewWidget::setName(const TpString &name) +void AppPreviewWidget::setName(const TpString &name) { nameLabel_->setText(name); } -void appPreviewWidget::setPreviewImg(const TpString &path) +void AppPreviewWidget::setPreviewImg(const TpString &path) { previewImgLabel_->setBackGroundImage(TpImage(path)); } -void appPreviewWidget::setPreviewImg(TpImage image) +void AppPreviewWidget::setPreviewImg(TpImage image) { previewImgLabel_->setBackGroundImage(image); } -void appPreviewWidget::setAppUuid(const TpString &uuid) +void AppPreviewWidget::setAppUuid(const TpString &uuid) { appUuid_ = uuid; } -TpString appPreviewWidget::appUuid() +TpString AppPreviewWidget::appUuid() { return appUuid_; } -bool appPreviewWidget::eventFilter(TpObject *watched, TpEvent *event) +bool AppPreviewWidget::eventFilter(TpObject *watched, TpEvent *event) { if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { @@ -91,14 +91,14 @@ bool appPreviewWidget::eventFilter(TpObject *watched, TpEvent *event) return false; } -bool appPreviewWidget::onMousePressEvent(TpMouseEvent *event) +bool AppPreviewWidget::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); return true; } -bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) +bool AppPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) { // 鼠标如果按下过程中拖动,则不触发打开事件 TpPoint curPoint = event->globalPos(); @@ -110,13 +110,13 @@ bool appPreviewWidget::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool appPreviewWidget::onResizeEvent(TpResizeEvent *event) +bool AppPreviewWidget::onResizeEvent(TpResizeEvent *event) { refreshUi(); return true; } -void appPreviewWidget::init() +void AppPreviewWidget::init() { iconLabel_ = new TpLabel(this); iconLabel_->setFixedSize(TpDisplay::dp2Px(38), TpDisplay::dp2Px(38)); @@ -161,7 +161,7 @@ void appPreviewWidget::init() setLayout(mainLayout); } -void appPreviewWidget::refreshUi() +void AppPreviewWidget::refreshUi() { // iconLabel_->move(8, 0); // nameLabel_->move(iconLabel_->pos().x() + iconLabel_->width() + 8, 0); diff --git a/Application/deskTop/src/toolWindow/appPreviewWidget.h b/Application/DeskTop/src/ToolWindow/AppPreviewWidget.h similarity index 90% rename from Application/deskTop/src/toolWindow/appPreviewWidget.h rename to Application/DeskTop/src/ToolWindow/AppPreviewWidget.h index a5f8918..01a5e31 100644 --- a/Application/deskTop/src/toolWindow/appPreviewWidget.h +++ b/Application/DeskTop/src/ToolWindow/AppPreviewWidget.h @@ -10,12 +10,12 @@ #include "TpEvent.h" #include "TpLabel.h" -class appPreviewWidget +class AppPreviewWidget : public TpChildWidget { public: - appPreviewWidget(TpChildWidget *parent = nullptr); - virtual ~appPreviewWidget(); + AppPreviewWidget(TpChildWidget *parent = nullptr); + virtual ~AppPreviewWidget(); // 设置应用图标 void setIcon(const TpString &iconPath); @@ -34,7 +34,7 @@ public: /// @brief 组件类名,子类实现,返回子类类名字符串,用于匹配CSS中对应样式 /// @return 类名字符串 - virtual TpString pluginType() override { return TO_STRING(appPreviewWidget); } + virtual TpString pluginType() override { return TO_STRING(AppPreviewWidget); } public signals: diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp b/Application/DeskTop/src/ToolWindow/AppTaskManageWindow.cpp similarity index 84% rename from Application/deskTop/src/toolWindow/appTaskManageWindow.cpp rename to Application/DeskTop/src/ToolWindow/AppTaskManageWindow.cpp index 790b02c..e9d4b14 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.cpp +++ b/Application/DeskTop/src/ToolWindow/AppTaskManageWindow.cpp @@ -1,6 +1,6 @@ -#include "appTaskManageWindow.h" +#include "AppTaskManageWindow.h" #include "TpImage.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" #include "TpGraphicsBlurEffect.h" #include "Service/TpSystemApi.h" @@ -13,7 +13,7 @@ static const uint32_t topBottomMargin = TpDisplay::dp2Px(35); static const uint32_t taskHInterval = TpDisplay::dp2Px(63); static const uint32_t taskVInterval = TpDisplay::dp2Px(29); -appTaskManageWindow::appTaskManageWindow() +AppTaskManageWindow::AppTaskManageWindow() : TpDialog("tinyPiX_SYS_Float_0531acbf04") { this->setBackGroundColor(TASK_MANAGER_COLOR); @@ -32,7 +32,7 @@ appTaskManageWindow::appTaskManageWindow() clearAllBtn_ = new TpButton(this); clearAllBtn_->setProperty("type", "TaskManageClearButton"); clearAllBtn_->setText("清除全部"); - connect(clearAllBtn_, onClicked, this, &appTaskManageWindow::slotClearAllApp); + connect(clearAllBtn_, onClicked, this, &AppTaskManageWindow::slotClearAllApp); clearAllBtn_->setStyleSheet(R"(TpButton[type="TaskManageClearButton"] { \ height: 38dp; \ @@ -49,11 +49,11 @@ appTaskManageWindow::appTaskManageWindow() setVisible(false); } -appTaskManageWindow::~appTaskManageWindow() +AppTaskManageWindow::~AppTaskManageWindow() { } -void appTaskManageWindow::setVisible(bool visible) +void AppTaskManageWindow::setVisible(bool visible) { TpDialog::setVisible(visible); @@ -74,7 +74,7 @@ void appTaskManageWindow::setVisible(bool visible) { TpSystemApi::RunAppInfo appInfo = runAppList.at(i); - appPreviewWidget *previewWidget = new appPreviewWidget(); + AppPreviewWidget *previewWidget = new AppPreviewWidget(); previewWidget->setName(appInfo.appInfo.appName()); previewWidget->setIcon(appInfo.appInfo.iconPath()); previewWidget->setAppUuid(appInfo.appInfo.appUuid()); @@ -83,8 +83,8 @@ void appTaskManageWindow::setVisible(bool visible) TpImage appGrapImage = TpSystemApi::Instance()->appImage(appInfo.appInfo.appUuid()); previewWidget->setPreviewImg(appGrapImage); - connect(previewWidget, signalKillApp, this, &appTaskManageWindow::slotKillApp); - connect(previewWidget, signalOpenApp, this, &appTaskManageWindow::slotOpenApp); + connect(previewWidget, signalKillApp, this, &AppTaskManageWindow::slotKillApp); + connect(previewWidget, signalOpenApp, this, &AppTaskManageWindow::slotOpenApp); allTaskWidgetMap_[appInfo.appInfo.appUuid()] = previewWidget; @@ -97,7 +97,7 @@ void appTaskManageWindow::setVisible(bool visible) } } -bool appTaskManageWindow::eventFilter(TpObject *watched, TpEvent *event) +bool AppTaskManageWindow::eventFilter(TpObject *watched, TpEvent *event) { if (event->eventType() == TpEvent::EVENT_MOUSE_PRESS_TYPE) { @@ -130,14 +130,14 @@ bool appTaskManageWindow::eventFilter(TpObject *watched, TpEvent *event) return TpDialog::eventFilter(watched, event); } -bool appTaskManageWindow::onMousePressEvent(TpMouseEvent *event) +bool AppTaskManageWindow::onMousePressEvent(TpMouseEvent *event) { mousePressPoint_ = event->globalPos(); return true; } -bool appTaskManageWindow::onMouseRleaseEvent(TpMouseEvent *event) +bool AppTaskManageWindow::onMouseRleaseEvent(TpMouseEvent *event) { TpPoint curPoint = event->globalPos(); if (std::abs(curPoint.x() - mousePressPoint_.x()) < 5 && std::abs(curPoint.y() - mousePressPoint_.y()) < 5) @@ -149,12 +149,12 @@ bool appTaskManageWindow::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool appTaskManageWindow::onMouseMoveEvent(TpMouseEvent *event) +bool AppTaskManageWindow::onMouseMoveEvent(TpMouseEvent *event) { return true; } -bool appTaskManageWindow::onResizeEvent(TpResizeEvent *event) +bool AppTaskManageWindow::onResizeEvent(TpResizeEvent *event) { taskScrollPanel_->setRect(0, 0, width(), height() - topBottomMargin - clearAllBtn_->height()); @@ -168,12 +168,12 @@ bool appTaskManageWindow::onResizeEvent(TpResizeEvent *event) return true; } -bool appTaskManageWindow::onLeaveEvent(TpLeaveEvent *event) +bool AppTaskManageWindow::onLeaveEvent(TpLeaveEvent *event) { return true; } -void appTaskManageWindow::slotClearAllApp(bool) +void AppTaskManageWindow::slotClearAllApp(bool) { TpSystemApi::Instance()->killAllApp(); @@ -187,7 +187,7 @@ void appTaskManageWindow::slotClearAllApp(bool) allTaskWidgetMap_.clear(); } -void appTaskManageWindow::slotKillApp(const TpString &uuid) +void AppTaskManageWindow::slotKillApp(const TpString &uuid) { if (allTaskWidgetMap_.contains(uuid)) { @@ -206,7 +206,7 @@ void appTaskManageWindow::slotKillApp(const TpString &uuid) } } -void appTaskManageWindow::slotOpenApp(const TpString &uuid) +void AppTaskManageWindow::slotOpenApp(const TpString &uuid) { TpSystemApi::Instance()->startApp(uuid); } diff --git a/Application/deskTop/src/toolWindow/appTaskManageWindow.h b/Application/DeskTop/src/ToolWindow/AppTaskManageWindow.h similarity index 86% rename from Application/deskTop/src/toolWindow/appTaskManageWindow.h rename to Application/DeskTop/src/ToolWindow/AppTaskManageWindow.h index 8b0c3d6..7d18e84 100644 --- a/Application/deskTop/src/toolWindow/appTaskManageWindow.h +++ b/Application/DeskTop/src/ToolWindow/AppTaskManageWindow.h @@ -10,15 +10,15 @@ #include "TpEvent.h" #include "TpScrollPanel.h" #include "TpVector.h" -#include "toolWindow/appPreviewWidget.h" +#include "AppPreviewWidget.h" #include "TpHash.h" -class appTaskManageWindow +class AppTaskManageWindow : public TpDialog { public: - appTaskManageWindow(); - virtual ~appTaskManageWindow(); + AppTaskManageWindow(); + virtual ~AppTaskManageWindow(); virtual void setVisible(bool visible = true) override; @@ -55,7 +55,7 @@ private: TpButton *clearAllBtn_; // - TpHash allTaskWidgetMap_; + TpHash allTaskWidgetMap_; }; #endif \ No newline at end of file diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.cpp b/Application/DeskTop/src/ToolWindow/SysLockWindow.cpp similarity index 90% rename from Application/deskTop/src/toolWindow/sysLockWindow.cpp rename to Application/DeskTop/src/ToolWindow/SysLockWindow.cpp index bcd2cb5..fcfd8ff 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.cpp +++ b/Application/DeskTop/src/ToolWindow/SysLockWindow.cpp @@ -1,10 +1,10 @@ -#include "sysLockWindow.h" +#include "SysLockWindow.h" #include "TpImage.h" #include "TpString.h" #include "TpFont.h" -#include "deskTopGlobal.hpp" +#include "DeskTopGlobal.hpp" -sysLockWindow::sysLockWindow() +SysLockWindow::SysLockWindow() : TpDialog(), mouseLeftPress_(false) { initUi(); @@ -12,11 +12,11 @@ sysLockWindow::sysLockWindow() setVisible(false); } -sysLockWindow::~sysLockWindow() +SysLockWindow::~SysLockWindow() { } -void sysLockWindow::setVisible(bool visible) +void SysLockWindow::setVisible(bool visible) { if (visible) { @@ -39,7 +39,7 @@ void sysLockWindow::setVisible(bool visible) TpDialog::setVisible(visible); } -void sysLockWindow::resizeLockWindow(const TpRect &mainWindowRect) +void SysLockWindow::resizeLockWindow(const TpRect &mainWindowRect) { this->setRect(0, 0, mainWindowRect.width(), mainWindowRect.height()); @@ -72,7 +72,7 @@ void sysLockWindow::resizeLockWindow(const TpRect &mainWindowRect) #endif } -bool sysLockWindow::onMousePressEvent(TpMouseEvent *event) +bool SysLockWindow::onMousePressEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 mouseLeftPress_ = event->state(); @@ -81,7 +81,7 @@ bool sysLockWindow::onMousePressEvent(TpMouseEvent *event) return true; } -bool sysLockWindow::onMouseRleaseEvent(TpMouseEvent *event) +bool SysLockWindow::onMouseRleaseEvent(TpMouseEvent *event) { // 记录鼠标点击坐标 mouseLeftPress_ = event->state(); @@ -89,7 +89,7 @@ bool sysLockWindow::onMouseRleaseEvent(TpMouseEvent *event) return true; } -bool sysLockWindow::onMouseMoveEvent(TpMouseEvent *event) +bool SysLockWindow::onMouseMoveEvent(TpMouseEvent *event) { if (mouseLeftPress_) { @@ -107,7 +107,7 @@ bool sysLockWindow::onMouseMoveEvent(TpMouseEvent *event) return true; } -bool sysLockWindow::onLeaveEvent(TpLeaveEvent *event) +bool SysLockWindow::onLeaveEvent(TpLeaveEvent *event) { // if (event->eventType() == TpEvent::EVENT_OBJECT_LEAVE_TYPE) // { @@ -122,7 +122,7 @@ bool sysLockWindow::onLeaveEvent(TpLeaveEvent *event) return true; } -void sysLockWindow::initUi() +void SysLockWindow::initUi() { systemDateTimeLabel_ = new TpLabel(this); systemDateTimeLabel_->font()->setFontForeColor(_RGB(255, 255, 255)); @@ -170,7 +170,7 @@ void sysLockWindow::initUi() { slotLogin(); }); } -void sysLockWindow::refreshLockWindow(const bool &windowStatus) +void SysLockWindow::refreshLockWindow(const bool &windowStatus) { std::cout << "refreshLockWindow : " << windowStatus << std::endl; @@ -189,7 +189,7 @@ void sysLockWindow::refreshLockWindow(const bool &windowStatus) update(); } -void sysLockWindow::slotLogin() +void SysLockWindow::slotLogin() { // TODO,验证登录密码 @@ -199,7 +199,7 @@ void sysLockWindow::slotLogin() update(); } -void sysLockWindow::slotUpdateSystemTime() +void SysLockWindow::slotUpdateSystemTime() { // 获取当前时间 time_t rawtime; diff --git a/Application/deskTop/src/toolWindow/sysLockWindow.h b/Application/DeskTop/src/ToolWindow/SysLockWindow.h similarity index 95% rename from Application/deskTop/src/toolWindow/sysLockWindow.h rename to Application/DeskTop/src/ToolWindow/SysLockWindow.h index 1330cfc..8a1b6a8 100644 --- a/Application/deskTop/src/toolWindow/sysLockWindow.h +++ b/Application/DeskTop/src/ToolWindow/SysLockWindow.h @@ -8,12 +8,12 @@ #include "TpTimer.h" #include "TpLineEdit.h" -class sysLockWindow +class SysLockWindow : public TpDialog { public: - sysLockWindow(); - virtual ~sysLockWindow(); + SysLockWindow(); + virtual ~SysLockWindow(); virtual void setVisible(bool visible = true) override; diff --git a/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json b/Application/FileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json similarity index 94% rename from Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json rename to Application/FileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json index 033f420..844db33 100644 --- a/Application/fileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json +++ b/Application/FileManagement/6e3aaf4e-7a62-46d7-172d-e244038c4ae7.json @@ -3,7 +3,7 @@ "appName": "文件管理", "organization": "", "Version": "0.0.1", - "appexecName": "fileManagement", + "appexecName": "FileManagement", "Architecture": "amd64", "Section": "", "Priority": "", diff --git a/Application/fileManagement/CMakeLists.txt b/Application/FileManagement/CMakeLists.txt similarity index 72% rename from Application/fileManagement/CMakeLists.txt rename to Application/FileManagement/CMakeLists.txt index 72dd224..8f9153d 100644 --- a/Application/fileManagement/CMakeLists.txt +++ b/Application/FileManagement/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.20.0) -project(fileManagement VERSION 1.0.0 LANGUAGES C CXX) +project(FileManagement VERSION 1.0.0 LANGUAGES C CXX) # 指定C++标准 set(CMAKE_CXX_STANDARD 11) @@ -32,16 +32,16 @@ link_directories("/usr/lib") # 定义源码路径宏 set(SOURCE_FILES ${SOURCE_PATH}/main.cpp - ${SOURCE_PATH}/mainWindowService.cpp - ${SOURCE_PATH}/sonWindow/recentlyWindow.cpp - ${SOURCE_PATH}/sonWindow/browseWindow.cpp - ${SOURCE_PATH}/toolWindow/diskDeviceCheckBox.cpp - ${SOURCE_PATH}/toolWindow/usbPopButton.cpp - ${SOURCE_PATH}/browserToolWindow/fileListWindow.cpp - ${SOURCE_PATH}/browserToolWindow/settingWindow.cpp - ${SOURCE_PATH}/browserToolWindow/listFileItem.cpp - ${SOURCE_PATH}/recentlyToolWindow/clearSpaceWindow.cpp - ${SOURCE_PATH}/recentlyToolWindow/pressPopWindow.cpp + ${SOURCE_PATH}/MainWindowService.cpp + ${SOURCE_PATH}/SonWindow/RecentlyWindow.cpp + ${SOURCE_PATH}/SonWindow/BrowseWindow.cpp + ${SOURCE_PATH}/ToolWindow/DiskDeviceCheckBox.cpp + ${SOURCE_PATH}/ToolWindow/UsbPopButton.cpp + ${SOURCE_PATH}/BrowserToolWindow/FileListWindow.cpp + ${SOURCE_PATH}/BrowserToolWindow/SettingWindow.cpp + ${SOURCE_PATH}/BrowserToolWindow/ListFileItem.cpp + ${SOURCE_PATH}/RecentlyToolWindow/ClearSpaceWindow.cpp + ${SOURCE_PATH}/RecentlyToolWindow/PressPopWindow.cpp ) include_directories(${SOURCE_PATH}) @@ -56,10 +56,10 @@ include_directories(/usr/include/TinyPiX/TpGUI/Core) include_directories(/usr/include/TinyPiX/TpGUI/Screen) include_directories(/usr/include/TinyPiX/TpGUI/Widgets) -add_executable(fileManagement ${SOURCE_FILES}) +add_executable(FileManagement ${SOURCE_FILES}) # 将pthread库链接到可执行目标 -target_link_libraries(fileManagement TpAPI TpGUI TpUtils TpExtUtils +target_link_libraries(FileManagement TpAPI TpGUI TpUtils TpExtUtils ) # 包含共享模块 diff --git a/Application/fileManagement/CMakePresets.json b/Application/FileManagement/CMakePresets.json similarity index 100% rename from Application/fileManagement/CMakePresets.json rename to Application/FileManagement/CMakePresets.json diff --git a/Application/fileManagement/Readme.md b/Application/FileManagement/Readme.md similarity index 99% rename from Application/fileManagement/Readme.md rename to Application/FileManagement/Readme.md index 1e8531f..fd8c3db 100644 --- a/Application/fileManagement/Readme.md +++ b/Application/FileManagement/Readme.md @@ -1,5 +1,5 @@ -# fileManagement +# FileManagement tinyPiXOS 提供的示例文件管理器程序。 diff --git a/Application/FileManagement/bin/fileManagement b/Application/FileManagement/bin/fileManagement new file mode 100755 index 0000000000000000000000000000000000000000..5ab6360741f6069befd4c2d7cabea9323ab16c2f GIT binary patch literal 2912592 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