From b895a5372c1c2f016d96e6ab4b84b214e5221398 Mon Sep 17 00:00:00 2001 From: ZhangTingan Date: Tue, 16 Dec 2025 15:00:51 +0800 Subject: [PATCH] Fix: Show search menu option for XPS files Add XPS file type support to search menu visibility in TitleMenu and BrowserMenu contexts. Log: as title Bug: https://pms.uniontech.com/bug-view-343523.html --- reader/browser/BrowserMenu.cpp | 18 ++++++++++++++---- reader/uiframe/TitleMenu.cpp | 6 +++++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/reader/browser/BrowserMenu.cpp b/reader/browser/BrowserMenu.cpp index 3933c2d4..a28d916f 100644 --- a/reader/browser/BrowserMenu.cpp +++ b/reader/browser/BrowserMenu.cpp @@ -88,8 +88,14 @@ void BrowserMenu::initActions(DocSheet *sheet, int index, SheetMenuType_e type, } } else if (type == DOC_MENU_KEY) { qCDebug(appLog) << "BrowserMenu::initActions() - Processing DOC_MENU_KEY"; - createAction(tr("Search"), "Search"); - this->addSeparator(); + if (sheet->fileType() == Dr::FileType::PDF || sheet->fileType() == Dr::FileType::DOCX +#ifdef XPS_SUPPORT_ENABLED + || sheet->fileType() == Dr::FileType::XPS +#endif + ) { + createAction(tr("Search"), "Search"); + this->addSeparator(); + } if (sheet->hasBookMark(index)) { qCDebug(appLog) << "BrowserMenu::initActions() - Adding remove bookmark action"; @@ -138,8 +144,12 @@ void BrowserMenu::initActions(DocSheet *sheet, int index, SheetMenuType_e type, createAction(tr("Document info"), "DocumentInfo"); } else { qCDebug(appLog) << "BrowserMenu::initActions() - Processing default menu type"; - if (sheet->fileType() == Dr::FileType::PDF || sheet->fileType() == Dr::FileType::DOCX) { - qCDebug(appLog) << "BrowserMenu::initActions() - Adding search action for PDF/DOCX"; + if (sheet->fileType() == Dr::FileType::PDF || sheet->fileType() == Dr::FileType::DOCX +#ifdef XPS_SUPPORT_ENABLED + || sheet->fileType() == Dr::FileType::XPS +#endif + ) { + qCDebug(appLog) << "BrowserMenu::initActions() - Adding search action for PDF/DOCX/XPS"; createAction(tr("Search"), "Search"); this->addSeparator(); } diff --git a/reader/uiframe/TitleMenu.cpp b/reader/uiframe/TitleMenu.cpp index 2e1ce550..6d250cf6 100644 --- a/reader/uiframe/TitleMenu.cpp +++ b/reader/uiframe/TitleMenu.cpp @@ -64,7 +64,11 @@ void TitleMenu::onCurSheetChanged(DocSheet *sheet) QAction *searchAction = this->findChild("Search"); if (searchAction) { - if (sheet->fileType() == Dr::PDF || sheet->fileType() == Dr::DOCX) { + if (sheet->fileType() == Dr::PDF || sheet->fileType() == Dr::DOCX +#ifdef XPS_SUPPORT_ENABLED + || sheet->fileType() == Dr::XPS +#endif + ) { qCDebug(appLog) << "Enabling search for PDF/DOCX"; searchAction->setVisible(true); } else {