From 22de6444db0c7ae9a2f3746a68850ef4b1a25798 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Mon, 21 Nov 2022 09:26:54 +0100 Subject: [PATCH] allow for arbitrary placeholder position in ext. tools --- src/librssguard/gui/settings/settingsbrowsermail.cpp | 4 ++-- src/librssguard/gui/settings/settingsbrowsermail.ui | 4 ++-- src/librssguard/miscellaneous/externaltool.cpp | 9 ++++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/librssguard/gui/settings/settingsbrowsermail.cpp b/src/librssguard/gui/settings/settingsbrowsermail.cpp index 97c3d84c4..ea5f694be 100644 --- a/src/librssguard/gui/settings/settingsbrowsermail.cpp +++ b/src/librssguard/gui/settings/settingsbrowsermail.cpp @@ -20,7 +20,7 @@ SettingsBrowserMail::SettingsBrowserMail(Settings* settings, QWidget* parent) : SettingsPanel(settings, parent), m_proxyDetails(new NetworkProxyDetails(this)), m_ui(new Ui::SettingsBrowserMail) { m_ui->setupUi(this); - m_ui->m_tabBrowserProxy->addTab(m_proxyDetails, tr("Network proxy")); + m_ui->m_tabBrowserProxy->insertTab(1, m_proxyDetails, tr("Network proxy")); m_ui->m_lblExternalBrowserInfo->setHelpText(tr("Note that \"%1\" (without quotation marks) " "is placeholder for URL of selected message."), @@ -82,7 +82,7 @@ SettingsBrowserMail::SettingsBrowserMail(Settings* settings, QWidget* parent) #if !defined(USE_WEBENGINE) // Remove WebEngine tab. - m_ui->m_tabBrowserProxy->removeTab(1); + m_ui->m_tabBrowserProxy->removeTab(2); #else connect(m_ui->m_txtWebEngineChromiumFlags, &QPlainTextEdit::textChanged, this, &SettingsBrowserMail::dirtifySettings); connect(m_ui->m_txtWebEngineChromiumFlags, &QPlainTextEdit::textChanged, this, &SettingsBrowserMail::requireRestart); diff --git a/src/librssguard/gui/settings/settingsbrowsermail.ui b/src/librssguard/gui/settings/settingsbrowsermail.ui index 996290476..f94097cdc 100644 --- a/src/librssguard/gui/settings/settingsbrowsermail.ui +++ b/src/librssguard/gui/settings/settingsbrowsermail.ui @@ -175,7 +175,7 @@ - + External e-mail client @@ -292,7 +292,7 @@ - + External tools diff --git a/src/librssguard/miscellaneous/externaltool.cpp b/src/librssguard/miscellaneous/externaltool.cpp index a7925b809..542fdcdaa 100644 --- a/src/librssguard/miscellaneous/externaltool.cpp +++ b/src/librssguard/miscellaneous/externaltool.cpp @@ -75,7 +75,14 @@ bool ExternalTool::run(const QString& target) { } else { auto pars = parameters(); - pars += QSL(" \"%1\"").arg(target); + + if (pars.contains(QSL("%1"))) { + // We replace existing target placeholder. + pars = pars.replace(QSL("%1"), target); + } + else { + pars += QSL(" \"%1\"").arg(target); + } auto params = TextFactory::tokenizeProcessArguments(pars);