diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d53f9b..2357669 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,14 +70,17 @@ FetchContent_MakeAvailable(qtkeychain) set(ELAWIDGETTOOLS_BUILD_STATIC_LIB ON CACHE BOOL "" FORCE) FetchContent_Declare(elawidgettools GIT_REPOSITORY https://github.com/RainbowCandyX/ElaWidgetTools.git - GIT_TAG main + GIT_TAG b80eadc4a199186e14656dce09959b3216a593be # 钉定提交,构建可复现(review H1) SOURCE_SUBDIR ElaWidgetTools) FetchContent_MakeAvailable(elawidgettools) add_subdirectory(src) -# ElaWidgetTools 评估 spike(隔离 demo,不属于产品 geopro_desktop;评估完删分支即弃)。 -add_subdirectory(spike/ela) +# ElaWidgetTools 评估 spike(隔离 demo,默认不编;评估用 -DGEOPRO_BUILD_ELA_SPIKE=ON 开启,review M4)。 +option(GEOPRO_BUILD_ELA_SPIKE "Build ElaWidgetTools evaluation spike" OFF) +if(GEOPRO_BUILD_ELA_SPIKE) + add_subdirectory(spike/ela) +endif() enable_testing() add_subdirectory(tests) diff --git a/src/app/main.cpp b/src/app/main.cpp index 193ea73..e842a3b 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1019,13 +1019,13 @@ int main(int argc, char* argv[]) QWidget* topLevel = nullptr; if (qEnvironmentVariable("GEOPRO_UI_SHELL") == QLatin1String("ela")) { eApp->init(); // ElaApplication:Fluent 主题/字体/动画基建 - auto* inner = new QMainWindow; - buildWorkbench(*inner, repo, projectRepo, nav); auto* ela = new ElaWindow; ela->setWindowTitle(kTitle); ela->resize(1280, 800); ela->setMinimumSize(1024, 680); ela->setIsNavigationBarEnable(false); // 纯中心内容,不显示左侧导航栏 + auto* inner = new QMainWindow(ela); // 以 ela 为父,避免无父期调色板/DPI 抖动(review H3) + buildWorkbench(*inner, repo, projectRepo, nav); ela->setCentralCustomWidget(inner); // 工作台作为 ElaWindow 中心内容 topLevel = ela; } else {