From c715d2c7adcb8983a2639c3f969e048810ec5889 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 13 May 2021 15:01:54 +0100 Subject: [PATCH] Pre-populate selected text in shader find dialog when pressing ctrl-f --- qrenderdoc/Widgets/FindReplace.cpp | 10 ++++++++++ qrenderdoc/Widgets/FindReplace.h | 2 ++ qrenderdoc/Windows/ShaderViewer.cpp | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/qrenderdoc/Widgets/FindReplace.cpp b/qrenderdoc/Widgets/FindReplace.cpp index 9014531c5..780318507 100644 --- a/qrenderdoc/Widgets/FindReplace.cpp +++ b/qrenderdoc/Widgets/FindReplace.cpp @@ -96,11 +96,21 @@ bool FindReplace::regexp() return ui->regexp->isChecked(); } +void FindReplace::setFindText(QString text) +{ + ui->findText->setCurrentText(text); +} + QString FindReplace::findText() { return ui->findText->currentText(); } +void FindReplace::setReplaceText(QString text) +{ + ui->replaceText->setCurrentText(text); +} + QString FindReplace::replaceText() { return ui->replaceText->currentText(); diff --git a/qrenderdoc/Widgets/FindReplace.h b/qrenderdoc/Widgets/FindReplace.h index 172a2c918..6f0ab3c9d 100644 --- a/qrenderdoc/Widgets/FindReplace.h +++ b/qrenderdoc/Widgets/FindReplace.h @@ -61,7 +61,9 @@ public: bool matchWord(); bool regexp(); + void setFindText(QString text); QString findText(); + void setReplaceText(QString text); QString replaceText(); public slots: diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index 5289cd086..315ec5427 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -1230,6 +1230,11 @@ void ShaderViewer::readonly_keyPressed(QKeyEvent *event) { m_FindReplace->setReplaceMode(false); on_findReplace_clicked(); + + ScintillaEdit *edit = qobject_cast(QObject::sender()); + + if(edit) + m_FindReplace->setFindText(QString::fromUtf8(edit->getSelText())); } if(event->key() == Qt::Key_F3)