summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorLeonid Ryzhov <leoryzhov@gmail.com>2024-03-20 23:21:18 +0300
committerAndras Timar <andras.timar@collabora.com>2024-04-22 08:28:28 +0200
commitdd7a4b519e5dcc6943f0c49c1e04b88a2c282969 (patch)
tree64ac755deba0bedf67e2a0459300dc90dd3e8e36 /cui
parent6cb6c3f5ffaa2f769e47a30afbdcf844ab291885 (diff)
tdf#159395-LanguageTool use correct default URL when username/APIkey set
Change-Id: I31e1c2f1dfd96d87f60b6be1e5abce4837827a76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165079 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 155a6af93a8ac90cab15968f5dd499ab77ad9f72) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166097 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Diffstat (limited to 'cui')
-rw-r--r--cui/source/options/optlanguagetool.cxx35
1 files changed, 22 insertions, 13 deletions
diff --git a/cui/source/options/optlanguagetool.cxx b/cui/source/options/optlanguagetool.cxx
index 8c56a40e728f..3979b42c0521 100644
--- a/cui/source/options/optlanguagetool.cxx
+++ b/cui/source/options/optlanguagetool.cxx
@@ -25,6 +25,7 @@
using LanguageToolCfg = officecfg::Office::Linguistic::GrammarChecking::LanguageTool;
constexpr OUString LANGUAGETOOL_DEFAULT_URL = u"https://api.languagetool.org/v2"_ustr;
+constexpr OUString LANGUAGETOOLPLUS_DEFAULT_URL = u"https://api.languagetoolplus.com/v2"_ustr;
OptLanguageToolTabPage::OptLanguageToolTabPage(weld::Container* pPage,
weld::DialogController* pController,
@@ -81,20 +82,21 @@ IMPL_LINK_NOARG(OptLanguageToolTabPage, CheckHdl, weld::Toggleable&, void)
void OptLanguageToolTabPage::Reset(const SfxItemSet*)
{
// tdf#150494 If no URL has been set, use the default URL
- OUString aBaseURL = LanguageToolCfg::BaseURL::get().value_or("");
- if (aBaseURL.isEmpty())
- m_xBaseURLED->set_text(LANGUAGETOOL_DEFAULT_URL);
- else
- m_xBaseURLED->set_text(aBaseURL);
+ OUString aUsername = LanguageToolCfg::Username::get().value_or("");
+ OUString aApiKey = LanguageToolCfg::ApiKey::get().value_or("");
+ OUString aBaseURL = LanguageToolCfg::BaseURL::get().value_or(
+ (aUsername.isEmpty() && aApiKey.isEmpty()) ? LANGUAGETOOL_DEFAULT_URL
+ : LANGUAGETOOLPLUS_DEFAULT_URL);
+ m_xBaseURLED->set_text(aBaseURL);
m_xBaseURLED->set_sensitive(!LanguageToolCfg::BaseURL::isReadOnly());
m_xBaseURLImg->set_visible(LanguageToolCfg::BaseURL::isReadOnly());
- m_xUsernameED->set_text(LanguageToolCfg::Username::get().value_or(""));
+ m_xUsernameED->set_text(aUsername);
m_xUsernameED->set_sensitive(!LanguageToolCfg::Username::isReadOnly());
m_xUsernameImg->set_visible(LanguageToolCfg::Username::isReadOnly());
- m_xApiKeyED->set_text(LanguageToolCfg::ApiKey::get().value_or(""));
+ m_xApiKeyED->set_text(aApiKey);
m_xApiKeyED->set_sensitive(!LanguageToolCfg::ApiKey::isReadOnly());
m_xApiKeyImg->set_visible(LanguageToolCfg::ApiKey::isReadOnly());
@@ -139,14 +141,21 @@ bool OptLanguageToolTabPage::FillItemSet(SfxItemSet*)
auto batch(comphelper::ConfigurationChanges::create());
// tdf#150494 If no URL has been set, then save the default URL
+ // tdf#159395 If Username and ApiKey are set, then save the default URL for paid service
OUString aBaseURL = m_xBaseURLED->get_text();
- if (aBaseURL.isEmpty())
- LanguageToolCfg::BaseURL::set(LANGUAGETOOL_DEFAULT_URL, batch);
- else
- LanguageToolCfg::BaseURL::set(aBaseURL, batch);
+ OUString aUsername = m_xUsernameED->get_text();
+ OUString aApiKey = m_xApiKeyED->get_text();
- LanguageToolCfg::Username::set(m_xUsernameED->get_text(), batch);
- LanguageToolCfg::ApiKey::set(m_xApiKeyED->get_text(), batch);
+ if (aBaseURL.isEmpty()
+ || (aUsername.isEmpty() && aApiKey.isEmpty() && aBaseURL == LANGUAGETOOLPLUS_DEFAULT_URL))
+ aBaseURL = LANGUAGETOOL_DEFAULT_URL;
+
+ if (!aUsername.isEmpty() && !aApiKey.isEmpty() && aBaseURL == LANGUAGETOOL_DEFAULT_URL)
+ aBaseURL = LANGUAGETOOLPLUS_DEFAULT_URL;
+
+ LanguageToolCfg::BaseURL::set(aBaseURL, batch);
+ LanguageToolCfg::Username::set(aUsername, batch);
+ LanguageToolCfg::ApiKey::set(aApiKey, batch);
LanguageToolCfg::RestProtocol::set(m_xRestProtocol->get_text(), batch);
LanguageToolCfg::SSLCertVerify::set(!m_xSSLDisableVerificationBox->get_active(), batch);
batch->commit();