Skip to content

fix: show filename during file transfer progress - #845

Draft
pppanghu77 wants to merge 1 commit into
linuxdeepin:release/v20from
pppanghu77:agent/fix-357375
Draft

pppanghu77 wants to merge 1 commit into
linuxdeepin:release/v20from
pppanghu77:agent/fix-357375

Conversation

@pppanghu77

@pppanghu77 pppanghu77 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

fix: show filename during file transfer progress

  1. Root cause: IPC FileStatus struct already carries filename in
    param.name (full filepath from daemon), but three frontend handlers
    (TransferHelper, CooperationProxy, MainController) parsed progress
    data and ignored param.name, leaving UI with no filename display
  2. Fix: extract filename via QFileInfo(param.name.c_str()).fileName()
    in all three onFileTransStatusChanged handlers, pass through
    updateProgress chain to TransferDialog, CooperationTransDialog and
    system notification respectively
  3. Impact: all updateProgress/setProgress/updateProgressData signatures
    gain filename param with default QString(), existing callers
    unaffected; new fileNameLabel added to TransferDialog and
    ProgressWidget UI

Log: Show current transferring filename in progress dialog and notification

Influence:

  1. Test file transfer from UOS to Windows, verify filename shown
  2. Test file transfer from Windows to UOS, verify filename shown
  3. Test batch transfer, verify filename updates per file
  4. Verify notification shows filename when receiving files
  5. Verify empty filename falls back to original progress display

fix: 文件传输过程中显示当前传输文件名

  1. 根因:IPC FileStatus 结构体已通过 param.name 携带文件名(daemon 填充
    完整路径),但三个前端处理函数(TransferHelper、CooperationProxy、
    MainController)解析进度数据时忽略了 param.name,导致界面不显示文件名
  2. 方案:在三个 onFileTransStatusChanged 处理函数中通过
    QFileInfo(param.name.c_str()).fileName() 提取文件名,经
    updateProgress 调用链传递至 TransferDialog、CooperationTransDialog
    和系统通知
  3. 影响:所有 updateProgress/setProgress/updateProgressData 签名新增
    filename 参数并使用默认值 QString(),现有调用者不受影响;
    TransferDialog 和 ProgressWidget 界面新增 fileNameLabel 控件

Log: 传输进度界面和通知中显示当前传输的文件名

Influence:

  1. 测试 UOS 向 Windows 传输文件,验证进度界面显示文件名
  2. 测试 Windows 向 UOS 传输文件,验证进度界面显示文件名
  3. 测试批量传输,验证文件名随当前传输文件动态更新
  4. 验证接收文件时系统通知显示文件名
  5. 验证文件名为空时退化为原有进度显示

PMS: BUG-357375

Summary by Sourcery

Show the active filename throughout file-transfer progress reporting while retaining existing behavior when filename data is unavailable.

New Features:

  • Display the current filename in transfer progress dialogs and receiving-file system notifications.

Bug Fixes:

  • Restore filename propagation from file-transfer status updates so filenames appear during individual and batch transfers.

Enhancements:

  • Preserve the existing progress display when no filename is available and elide long filenames for readable presentation.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, we are unable to review this pull request

The GitHub API does not allow us to fetch diffs exceeding 20000 lines

@pppanghu77
pppanghu77 marked this pull request as draft October 29, 2026 20:23
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: pppanghu77

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

Copy link
Copy Markdown

TAG Bot

TAG: 0.8.9
EXISTED: no
DISTRIBUTION: unstable

1. Root cause: IPC FileStatus struct already carries filename in
   param.name (full filepath from daemon), but three frontend handlers
   (TransferHelper, CooperationProxy, MainController) parsed progress
   data and ignored param.name, leaving UI with no filename display
2. Fix: extract filename via QFileInfo(param.name.c_str()).fileName()
   in all three onFileTransStatusChanged handlers, pass through
   updateProgress chain to TransferDialog, CooperationTransDialog and
   system notification respectively
3. Impact: all updateProgress/setProgress/updateProgressData signatures
   gain filename param with default QString(), existing callers
   unaffected; new fileNameLabel added to TransferDialog and
   ProgressWidget UI

Log: Show current transferring filename in progress dialog and notification

Influence:
1. Test file transfer from UOS to Windows, verify filename shown
2. Test file transfer from Windows to UOS, verify filename shown
3. Test batch transfer, verify filename updates per file
4. Verify notification shows filename when receiving files
5. Verify empty filename falls back to original progress display

fix: 文件传输过程中显示当前传输文件名

1. 根因:IPC FileStatus 结构体已通过 param.name 携带文件名(daemon 填充
   完整路径),但三个前端处理函数(TransferHelper、CooperationProxy、
   MainController)解析进度数据时忽略了 param.name,导致界面不显示文件名
2. 方案:在三个 onFileTransStatusChanged 处理函数中通过
   QFileInfo(param.name.c_str()).fileName() 提取文件名,经
   updateProgress 调用链传递至 TransferDialog、CooperationTransDialog
   和系统通知
3. 影响:所有 updateProgress/setProgress/updateProgressData 签名新增
   filename 参数并使用默认值 QString(),现有调用者不受影响;
   TransferDialog 和 ProgressWidget 界面新增 fileNameLabel 控件

Log: 传输进度界面和通知中显示当前传输的文件名

Influence:
1. 测试 UOS 向 Windows 传输文件,验证进度界面显示文件名
2. 测试 Windows 向 UOS 传输文件,验证进度界面显示文件名
3. 测试批量传输,验证文件名随当前传输文件动态更新
4. 验证接收文件时系统通知显示文件名
5. 验证文件名为空时退化为原有进度显示

Bug: 357375
@pppanghu77
pppanghu77 changed the base branch from master to release/v20 October 29, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants