From cf69850bff950146babfc19c7101683ad707f823 Mon Sep 17 00:00:00 2001 From: lh <2334563547@qq.com> Date: Thu, 22 Oct 2026 09:51:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(nmNum):=20=E7=A7=BB=E9=99=A4=20PEBI=20?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E8=A7=86=E5=9B=BE=E7=9A=84=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除输入修改后显示旧结果的黄色提示栏 - 调整错误提示优先级,过期结果仍正常显示操作错误 - 清理对应中文翻译并重新生成 qm 文件 - 同步更新提示栏相关注释 --- Bin/Config/Lang/cn/nmNum_cn.qm | Bin 158443 -> 158280 bytes Bin/Config/Lang/cn/nmNum_cn.ts | 1 - .../nmNum/nmSubWxs/nmWxPebiResultViewWidget.h | 8 ++++---- .../nmSubWxs/nmWxPebiResultViewWidget.cpp | 15 +++------------ 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/Bin/Config/Lang/cn/nmNum_cn.qm b/Bin/Config/Lang/cn/nmNum_cn.qm index 9fbf221573fcae9bbff431cb9bc4c5fdd0b2482e..5ca53d6493831b86278be7aa52713b386b5913d8 100644 GIT binary patch delta 3468 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 NH5h#GXBRBZ{2v(^c@zKu diff --git a/Bin/Config/Lang/cn/nmNum_cn.ts b/Bin/Config/Lang/cn/nmNum_cn.ts index aae1c227..4f9c377a 100644 --- a/Bin/Config/Lang/cn/nmNum_cn.ts +++ b/Bin/Config/Lang/cn/nmNum_cn.ts @@ -2989,7 +2989,6 @@ Reason: %1 Well Names井名 Unable to display the latest result.无法显示最新结果。 Unable to display the latest result: %1无法显示最新结果:%1 - Current inputs have changed. Showing the last successful result.当前输入已修改,正在显示上一次成功求解的结果。 Export Animation导出动画 Another result animation export is already in progress.已有结果动画正在导出。 Unable to read the result animation timeline.无法读取结果动画时间轴。 diff --git a/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h b/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h index c4fe2585..1feeebb1 100644 --- a/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h +++ b/Include/nmNum/nmSubWxs/nmWxPebiResultViewWidget.h @@ -58,9 +58,9 @@ private slots: void onDataManagerDestroyed(QObject* pObject); /** @brief 将业务显隐 QAction 追加到通用右键菜单。 */ void appendContextMenuActions(QMenu* pMenu); - /** @brief 转发非阻塞操作错误,但不覆盖绑定失败或过期提示。 */ + /** @brief 转发非阻塞操作错误,但不覆盖绑定失败提示。 */ void onControlOperationFailed(const QString& sError); - /** @brief 明确操作成功后清除旧普通错误,不影响绑定失败或过期状态。 */ + /** @brief 明确操作成功后清除旧普通错误,不影响绑定失败状态。 */ void onControlOperationSucceeded(); /** @brief 将 QVTK 视口尺寸同步给结果场景,不主动触发额外渲染。 */ void onViewportSizeChanged(int nWidth, int nHeight); @@ -90,7 +90,7 @@ private: bool bCurrent); /** @brief 从 SceneController 镜像三个业务 QAction 的勾选和可用状态。 */ void synchronizeBusinessActions(); - /** @brief 根据“绑定失败、过期、操作错误”的固定优先级刷新提示栏。 */ + /** @brief 按绑定失败、操作错误的优先级刷新提示栏,无错误时隐藏。 */ void refreshStatusBar(); /** @brief 断开当前 Manager 的两个连接,不访问已经析构的对象。 */ void disconnectDataManager(); @@ -100,7 +100,7 @@ private: nmPebiResultSceneController* m_pSceneController; ///< 唯一结果场景控制器。 nmWxPebiResultControlBar* m_pControlBar; ///< 独占回放控制器和 Timer 的底栏。 QToolBar* m_pToolBar; ///< Qt 父对象拥有的右侧竖向工具栏。 - QLabel* m_pStatusLabel; ///< 过期或错误的非阻塞提示栏。 + QLabel* m_pStatusLabel; ///< 绑定失败或操作错误的非阻塞提示栏。 QAction* m_pScalarBarAction; ///< 色标显隐动作。 QAction* m_pScaleGridAction; ///< 比例网格显隐动作。 diff --git a/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp b/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp index 03ba6a54..0c0d15a0 100644 --- a/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp +++ b/Src/nmNum/nmSubWxs/nmWxPebiResultViewWidget.cpp @@ -238,9 +238,8 @@ void nmWxPebiResultViewWidget::appendContextMenuActions(QMenu* pMenu) void nmWxPebiResultViewWidget::onControlOperationFailed( const QString& sError) { - // 高优先级状态存在时丢弃普通错误,避免其在过期提示解除后突然出现。 - if(!m_sBindingError.isEmpty() || - (m_bObservedStateValid && !m_bObservedSnapshotCurrent)) { + // 绑定失败优先显示;输入修改不再提示,也不屏蔽后续真实操作错误。 + if(!m_sBindingError.isEmpty()) { return; } m_sOperationError = sError; @@ -252,7 +251,7 @@ void nmWxPebiResultViewWidget::onControlOperationSucceeded() if(m_sOperationError.isEmpty()) { return; } - // 这里只清除最低优先级的普通操作错误;刷新函数仍优先显示绑定失败和过期。 + // 这里只清除普通操作错误;刷新函数仍优先显示绑定失败。 m_sOperationError.clear(); refreshStatusBar(); } @@ -720,14 +719,6 @@ void nmWxPebiResultViewWidget::refreshStatusBar() m_pStatusLabel->show(); return; } - if(m_bObservedStateValid && !m_bObservedSnapshotCurrent) { - m_pStatusLabel->setStyleSheet( - "QLabel { color: #6b5200; background: #fff4bf; } "); - m_pStatusLabel->setText(tr( - "Current inputs have changed. Showing the last successful result.")); - m_pStatusLabel->show(); - return; - } if(!m_sOperationError.isEmpty()) { m_pStatusLabel->setStyleSheet( "QLabel { color: #a32626; background: #fdecec; } ");