Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions reader/browser/SheetBrowser.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright (C) 2019 ~ 2020 Uniontech Software Technology Co.,Ltd.
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2019 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -1735,6 +1734,15 @@ void SheetBrowser::jumpToPrevSearchResult()
}
}

void SheetBrowser::hideFindWidget()
{
if (!m_findWidget.isNull()) {
m_findWidget->hide();
m_findWidget->deleteLater();
m_findWidget = nullptr;
}
}

void SheetBrowser::handleSearchStart()
{
m_searchCurIndex = 0;
Expand Down
9 changes: 7 additions & 2 deletions reader/browser/SheetBrowser.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright (C) 2019 ~ 2020 Uniontech Software Technology Co.,Ltd.
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2019 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -262,6 +261,12 @@ class SheetBrowser : public Dtk::Widget::DGraphicsView
*/
void handlePrepareSearch();

/**
* @brief hideFindWidget
* 隐藏并销毁搜索框,切换标签页时调用,防止搜索串档
*/
void hideFindWidget();

/**
* @brief jumpToNextSearchResult
* 跳到下一个搜索条目中
Expand Down
8 changes: 6 additions & 2 deletions reader/uiframe/CentralDocPage.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright (C) 2019 ~ 2020 Uniontech Software Technology Co.,Ltd.
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2019 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -275,6 +274,11 @@ void CentralDocPage::onOpened(DocSheet *sheet, deepin_reader::Document::Error er
void CentralDocPage::onTabChanged(DocSheet *sheet)
{
if (nullptr != sheet) {
// 关闭前一个 sheet 的搜索框,防止切换标签后搜索串档
QPointer<DocSheet> prevSheet = qobject_cast<DocSheet *>(m_stackedLayout->currentWidget());
if (prevSheet && prevSheet != sheet && prevSheet->opened()) {
prevSheet->closeFindWidget();
}
m_stackedLayout->setCurrentWidget(sheet);

sheet->defaultFocus();
Expand Down
10 changes: 8 additions & 2 deletions reader/uiframe/DocSheet.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright (C) 2019 ~ 2020 Uniontech Software Technology Co.,Ltd.
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2019 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -1129,6 +1128,13 @@ void DocSheet::jumpToPrevSearchResult()
m_browser->jumpToPrevSearchResult();
}

void DocSheet::closeFindWidget()
{
stopSearch();
if (m_browser)
m_browser->hideFindWidget();
}

void DocSheet::stopSearch()
{
m_searchTask->stopSearch();
Expand Down
9 changes: 7 additions & 2 deletions reader/uiframe/DocSheet.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
// Copyright (C) 2019 ~ 2020 Uniontech Software Technology Co.,Ltd.
// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
// SPDX-FileCopyrightText: 2019 - 2026 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -576,6 +575,12 @@ class DocSheet : public Dtk::Widget::DSplitter
*/
void jumpToPrevSearchResult();

/**
* @brief closeFindWidget
* 关闭搜索框并停止搜索,切换标签页时调用
*/
void closeFindWidget();

/**
* @brief showEncryPage
* 显示解锁页面
Expand Down
Loading