sw/source/ui/dialog/swdlgfact.cxx | 3 - sw/source/ui/misc/translatelangselect.cxx | 71 ++++++++++++++------------- sw/source/uibase/inc/translatelangselect.hxx | 3 - 3 files changed, 40 insertions(+), 37 deletions(-)
New commits: commit 92d3627b5b2b3cf9da1e0eea2a8724e6936d25e3 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Tue Mar 14 11:25:32 2023 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Tue Mar 14 14:07:08 2023 +0000 language list in SwTranslateLangSelectDlg can be static Change-Id: Ica911ec651e536e399491c0c28765aeb9e021548 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148843 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/ui/dialog/swdlgfact.cxx b/sw/source/ui/dialog/swdlgfact.cxx index ecf45ec06109..9b00fa7ee676 100644 --- a/sw/source/ui/dialog/swdlgfact.cxx +++ b/sw/source/ui/dialog/swdlgfact.cxx @@ -852,8 +852,7 @@ sal_uInt16 AbstractMailMergeWizard_Impl::GetRestartPage() const std::optional<SwLanguageListItem> AbstractSwTranslateLangSelectDlg_Impl::GetSelectedLanguage() { #if !ENABLE_WASM_STRIP_EXTRA - SwTranslateLangSelectDlg* pDlg = dynamic_cast<SwTranslateLangSelectDlg*>(m_xDlg.get()); - return pDlg->GetSelectedLanguage(); + return SwTranslateLangSelectDlg::GetSelectedLanguage(); #else return {}; #endif diff --git a/sw/source/ui/misc/translatelangselect.cxx b/sw/source/ui/misc/translatelangselect.cxx index b8fd0718e7d3..2d438edf59d1 100644 --- a/sw/source/ui/misc/translatelangselect.cxx +++ b/sw/source/ui/misc/translatelangselect.cxx @@ -39,6 +39,41 @@ #include <com/sun/star/task/XStatusIndicatorFactory.hpp> #include <linguistic/translate.hxx> +static const std::vector<SwLanguageListItem>& getLanguageVec() +{ + static const std::vector<SwLanguageListItem> gLanguageVec{ + SwLanguageListItem("BG", "Bulgarian"), + SwLanguageListItem("CS", "Czech"), + SwLanguageListItem("DA", "Danish"), + SwLanguageListItem("DE", "German"), + SwLanguageListItem("EL", "Greek"), + SwLanguageListItem("EN-GB", "English (British)"), + SwLanguageListItem("EN-US", "English (American)"), + SwLanguageListItem("ES", "Spanish"), + SwLanguageListItem("ET", "Estonian"), + SwLanguageListItem("FI", "Finnish"), + SwLanguageListItem("FR", "French"), + SwLanguageListItem("HU", "Hungarian"), + SwLanguageListItem("ID", "Indonesian"), + SwLanguageListItem("IT", "Italian"), + SwLanguageListItem("JA", "Japanese"), + SwLanguageListItem("LT", "Lithuanian"), + SwLanguageListItem("LV", "Latvian"), + SwLanguageListItem("NL", "Dutch"), + SwLanguageListItem("PL", "Polish"), + SwLanguageListItem("PT-BR", "Portuguese (Brazilian)"), + SwLanguageListItem("PT-PT", "Portuguese (European)"), + SwLanguageListItem("RO", "Romanian"), + SwLanguageListItem("RU", "Russian"), + SwLanguageListItem("SK", "Slovak"), + SwLanguageListItem("SL", "Slovenian"), + SwLanguageListItem("SV", "Swedish"), + SwLanguageListItem("TR", "Turkish"), + SwLanguageListItem("ZH", "Chinese (simplified)") + }; + return gLanguageVec; +} + int SwTranslateLangSelectDlg::selectedLangIdx = -1; SwTranslateLangSelectDlg::SwTranslateLangSelectDlg(weld::Window* pParent, SwWrtShell& rSh) : GenericDialogController(pParent, "modules/swriter/ui/translationdialog.ui", @@ -47,36 +82,6 @@ SwTranslateLangSelectDlg::SwTranslateLangSelectDlg(weld::Window* pParent, SwWrtS , m_xLanguageListBox(m_xBuilder->weld_combo_box("combobox1")) , m_xBtnCancel(m_xBuilder->weld_button("cancel")) , m_xBtnTranslate(m_xBuilder->weld_button("translate")) - , m_xLanguageVec({ - SwLanguageListItem("BG", "Bulgarian"), - SwLanguageListItem("CS", "Czech"), - SwLanguageListItem("DA", "Danish"), - SwLanguageListItem("DE", "German"), - SwLanguageListItem("EL", "Greek"), - SwLanguageListItem("EN-GB", "English (British)"), - SwLanguageListItem("EN-US", "English (American)"), - SwLanguageListItem("ES", "Spanish"), - SwLanguageListItem("ET", "Estonian"), - SwLanguageListItem("FI", "Finnish"), - SwLanguageListItem("FR", "French"), - SwLanguageListItem("HU", "Hungarian"), - SwLanguageListItem("ID", "Indonesian"), - SwLanguageListItem("IT", "Italian"), - SwLanguageListItem("JA", "Japanese"), - SwLanguageListItem("LT", "Lithuanian"), - SwLanguageListItem("LV", "Latvian"), - SwLanguageListItem("NL", "Dutch"), - SwLanguageListItem("PL", "Polish"), - SwLanguageListItem("PT-BR", "Portuguese (Brazilian)"), - SwLanguageListItem("PT-PT", "Portuguese (European)"), - SwLanguageListItem("RO", "Romanian"), - SwLanguageListItem("RU", "Russian"), - SwLanguageListItem("SK", "Slovak"), - SwLanguageListItem("SL", "Slovenian"), - SwLanguageListItem("SV", "Swedish"), - SwLanguageListItem("TR", "Turkish"), - SwLanguageListItem("ZH", "Chinese (simplified)"), - }) , m_bTranslationStarted(false) , m_bCancelTranslation(false) { @@ -84,7 +89,7 @@ SwTranslateLangSelectDlg::SwTranslateLangSelectDlg(weld::Window* pParent, SwWrtS m_xBtnCancel->connect_clicked(LINK(this, SwTranslateLangSelectDlg, LangSelectCancelHdl)); m_xBtnTranslate->connect_clicked(LINK(this, SwTranslateLangSelectDlg, LangSelectTranslateHdl)); - for (const auto& item : m_xLanguageVec) + for (const auto& item : getLanguageVec()) { m_xLanguageListBox->append_text(OStringToOUString(item.getName(), RTL_TEXTENCODING_UTF8)); } @@ -99,7 +104,7 @@ std::optional<SwLanguageListItem> SwTranslateLangSelectDlg::GetSelectedLanguage( { if (SwTranslateLangSelectDlg::selectedLangIdx != -1) { - return m_xLanguageVec.at(SwTranslateLangSelectDlg::selectedLangIdx); + return getLanguageVec().at(SwTranslateLangSelectDlg::selectedLangIdx); } return {}; @@ -143,7 +148,7 @@ IMPL_LINK_NOARG(SwTranslateLangSelectDlg, LangSelectTranslateHdl, weld::Button&, const OString aAuthKey = OUStringToOString(rDeeplOptions.getAuthKey(), RTL_TEXTENCODING_UTF8).trim(); const auto aTargetLang - = m_xLanguageVec.at(SwTranslateLangSelectDlg::selectedLangIdx).getLanguage(); + = getLanguageVec().at(SwTranslateLangSelectDlg::selectedLangIdx).getLanguage(); m_bTranslationStarted = true; diff --git a/sw/source/uibase/inc/translatelangselect.hxx b/sw/source/uibase/inc/translatelangselect.hxx index e8920786ea93..bd1c8c85e6f0 100644 --- a/sw/source/uibase/inc/translatelangselect.hxx +++ b/sw/source/uibase/inc/translatelangselect.hxx @@ -49,14 +49,13 @@ class SwTranslateLangSelectDlg final : public weld::GenericDialogController public: static int selectedLangIdx; SwTranslateLangSelectDlg(weld::Window* pParent, SwWrtShell& rSh); - std::optional<SwLanguageListItem> GetSelectedLanguage(); + static std::optional<SwLanguageListItem> GetSelectedLanguage(); private: SwWrtShell& m_rWrtSh; std::unique_ptr<weld::ComboBox> m_xLanguageListBox; std::unique_ptr<weld::Button> m_xBtnCancel; std::unique_ptr<weld::Button> m_xBtnTranslate; - std::vector<SwLanguageListItem> m_xLanguageVec; bool m_bTranslationStarted; bool m_bCancelTranslation;