From 9dc9a43f40ad41a6b6f819aac3104f43a0665c8d Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 28 Jul 2023 14:49:05 +0200 Subject: [PATCH] Adapt find tool bar input fields to searched widget's font Adapt the font of the search and replace input fields to the font of the widget that is searched. This makes it use the text editor font when searching in the text editor but keeps the "application font" when searching in other widgets. Change-Id: I8bd3b5dd3d14ab0e774f7272be236c35abd12de0 Reviewed-by: Reviewed-by: David Schulz --- src/plugins/coreplugin/find/currentdocumentfind.cpp | 5 +++++ src/plugins/coreplugin/find/currentdocumentfind.h | 2 ++ src/plugins/coreplugin/find/findtoolbar.cpp | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/src/plugins/coreplugin/find/currentdocumentfind.cpp b/src/plugins/coreplugin/find/currentdocumentfind.cpp index 232c8904c0e..ed5803b24e2 100644 --- a/src/plugins/coreplugin/find/currentdocumentfind.cpp +++ b/src/plugins/coreplugin/find/currentdocumentfind.cpp @@ -240,6 +240,11 @@ bool CurrentDocumentFind::eventFilter(QObject *obj, QEvent *event) return QObject::eventFilter(obj, event); } +QWidget *CurrentDocumentFind::currentWidget() const +{ + return m_currentWidget.get(); +} + void CurrentDocumentFind::aggregationChanged() { if (m_currentWidget) { diff --git a/src/plugins/coreplugin/find/currentdocumentfind.h b/src/plugins/coreplugin/find/currentdocumentfind.h index 31fbefa2baa..241d9d54e62 100644 --- a/src/plugins/coreplugin/find/currentdocumentfind.h +++ b/src/plugins/coreplugin/find/currentdocumentfind.h @@ -45,6 +45,8 @@ public: bool eventFilter(QObject *obj, QEvent *event) override; + QWidget *currentWidget() const; + signals: void changed(); void candidateChanged(); diff --git a/src/plugins/coreplugin/find/findtoolbar.cpp b/src/plugins/coreplugin/find/findtoolbar.cpp index 96a99f6eba7..7a4157e5975 100644 --- a/src/plugins/coreplugin/find/findtoolbar.cpp +++ b/src/plugins/coreplugin/find/findtoolbar.cpp @@ -490,6 +490,12 @@ void FindToolBar::adaptToCandidate() updateActions(); if (findToolBarPlaceHolder() == FindToolBarPlaceHolder::getCurrent()) { m_currentDocumentFind->acceptCandidate(); + if (QWidget *widget = m_currentDocumentFind->currentWidget()) { + QFont f = font(); + f.setFamily(widget->font().family()); + m_findEdit->setFont(f); + m_replaceEdit->setFont(f); + } if (isVisible() && m_currentDocumentFind->isEnabled()) m_currentDocumentFind->highlightAll(getFindText(), effectiveFindFlags()); }