core.git: i18nutil/source sw/qa

2025-02-02 Thread Mike Kaganski (via logerrit)
 i18nutil/source/utility/unicode.cxx |4 ++--
 sw/qa/extras/uiwriter/uiwriter7.cxx |   13 +
 2 files changed, 15 insertions(+), 2 deletions(-)

New commits:
commit 6d78861299331fdfa51a070ced1ce498ceff342f
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 14:37:34 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 12:01:13 2025 +0100

tdf#164989: Disallow combining characters when a hex already appeared

We either expect a single (maybe combined) character to convert into "U+"
notation, or a sequence of hexadecimal numbers (possibly with U+) for
conversion to characters. If we already saw a hexadecimal ASCII character,
it can't be preceded by a character combining with it, so stop as soon as
such an unexpected character appears.

Change-Id: Ic480fe8f173240eb263d5a77286b149c933049a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181007
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/i18nutil/source/utility/unicode.cxx 
b/i18nutil/source/utility/unicode.cxx
index d2d54e53623c..c9bfbeeb0a80 100644
--- a/i18nutil/source/utility/unicode.cxx
+++ b/i18nutil/source/utility/unicode.cxx
@@ -1065,7 +1065,7 @@ bool ToggleUnicodeCodepoint::AllowMoreInput(sal_uInt32 
uChar)
 switch ( unicode::getUnicodeType(uChar) )
 {
 case css::i18n::UnicodeType::SURROGATE:
-if( bPreventNonHex )
+if (bPreventNonHex || mbIsHexString)
 {
 mbAllowMoreChars = false;
 return false;
@@ -1096,7 +1096,7 @@ bool ToggleUnicodeCodepoint::AllowMoreInput(sal_uInt32 
uChar)
 
 case css::i18n::UnicodeType::NON_SPACING_MARK:
 case css::i18n::UnicodeType::COMBINING_SPACING_MARK:
-if( bPreventNonHex )
+if (bPreventNonHex || mbIsHexString)
 {
 mbAllowMoreChars = false;
 return false;
diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx 
b/sw/qa/extras/uiwriter/uiwriter7.cxx
index 909d31d70249..abb115312b0b 100644
--- a/sw/qa/extras/uiwriter/uiwriter7.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter7.cxx
@@ -2411,6 +2411,19 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, 
testUnicodeNotationToggle)
 // - Actual  : xyz侮U+e0101
 // i.e., one codepoint to the left of the combining codepoint was not 
converted
 CPPUNIT_ASSERT_EQUAL(sWithCombiningSMPName, sDocString);
+
+pWrtShell->SplitNode();
+// Given a combined character "è", consisting of U+0065 and U+0300, 
followed by a HEX
+// without a U+ for the conversion into the next character "n"
+pWrtShell->Insert2(u"è006E"_ustr);
+dispatchCommand(mxComponent, u".uno:UnicodeNotationToggle"_ustr, 
aPropertyValues);
+sDocString = 
pWrtShell->GetCursor()->GetPointNode().GetTextNode()->GetText();
+// Before tdf#164989 fix, this failed with
+// - Expected: èn
+// - Actual  : è006U+0300
+// i.e., it converted the last combined character *before* the HEX code 
*to HEX*, replacing
+// the last character of the HEX; not the expected conversion of the code 
itself *from HEX*.
+CPPUNIT_ASSERT_EQUAL(u"\u0065\u0300n"_ustr, sDocString);
 }
 
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf34957)


core.git: include/i18nutil

2025-02-02 Thread Mike Kaganski (via logerrit)
 include/i18nutil/unicode.hxx |6 ++
 1 file changed, 6 insertions(+)

New commits:
commit e33613b16223b22640304c2ca63b49ce2957fb49
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 15:15:25 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 12:50:24 2025 +0100

Add a comment to clarify what kind of inputs the class handles

Change-Id: Ic9d343a590a8c94a2545bca2c5442c484dd60190
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181008
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins

diff --git a/include/i18nutil/unicode.hxx b/include/i18nutil/unicode.hxx
index ddb75784784f..0ee7d1c30d37 100644
--- a/include/i18nutil/unicode.hxx
+++ b/include/i18nutil/unicode.hxx
@@ -105,6 +105,12 @@ public:
 Build an input string of valid UTF16/UCS4 units to toggle.
 -do not call the other functions until the input process is complete
 -build string from Right to Left.  (Start from the character to the 
left of the cursor: move left.)
+- accepted input:
+  - a sequence of 2 to 8 hex characters not preceded by U+, to convert 
to Unicode;
+  - a sequence of up to 256 concatenated U+ notation - like 
u+U+, where  and
+ are sequences of 2 to 8 hexadecimal digits - to convert it 
all to Unicode;
+  - a single (maybe combined) "symbol" - i.e., one or several 
codepoints that constitute
+one glyph - to convert from Unicode to U+ notation.
 */
 bool AllowMoreInput(sal_uInt32 uChar);
 


core.git: include/sal jvmfwk/plugins

2025-02-02 Thread Manish Bera (via logerrit)
 include/sal/log-areas.dox|1 +
 jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx |   11 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

New commits:
commit 663f46379e06df0ee30d2648739ada2926cc2fef
Author: Manish Bera 
AuthorDate: Wed Jan 1 10:25:31 2025 +0530
Commit: Stephan Bergmann 
CommitDate: Sun Feb 2 17:23:47 2025 +0100

tdf#130924 use SAL_INFO/WARN instead of f/printf

Change-Id: I43ce33f470153e9f8c69851d44d3ba05faaad8ff
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179487
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann 

diff --git a/include/sal/log-areas.dox b/include/sal/log-areas.dox
index d0b89aff5eef..425edb201d41 100644
--- a/include/sal/log-areas.dox
+++ b/include/sal/log-areas.dox
@@ -316,6 +316,7 @@ certain functionality.
 @li @c jfw
 @li @c jfw.level1
 @li @c jfw.level2
+@li @c jvmfwk.javaenvsetup
 
 @section LanguageTool
 
diff --git a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx 
b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
index 9a39f2131940..fbf6f02c7509 100644
--- a/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
+++ b/jvmfwk/plugins/sunmajor/javaenvsetup/javaldx.cxx
@@ -27,6 +27,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -65,7 +66,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
 }
 else if (errcode != JFW_E_NONE && errcode != JFW_E_DIRECT_MODE)
 {
-fprintf(stderr,"javaldx failed!
");
+SAL_WARN("jvmfwk.javaenvsetup", "javaldx failed!");
 return -1;
 }
 
@@ -74,7 +75,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
 
 if (errcode != JFW_E_NONE && errcode != JFW_E_INVALID_SETTINGS)
 {
-fprintf(stderr,"javaldx failed!
");
+SAL_WARN("jvmfwk.javaenvsetup", "javaldx failed!");
 return -1;
 }
 
@@ -95,7 +96,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv)
 }
 else
 {
-fprintf(stderr, "javaldx: Could not determine if JRE still 
exist
");
+SAL_WARN("jvmfwk.javaenvsetup", "javaldx: Could not determine 
if JRE still exist");
 return -1;
 }
 }
@@ -145,12 +146,12 @@ static bool findAndSelect(std::unique_ptr * 
ppInfo)
 javaFrameworkError errcode = jfw_findAndSelectJRE(ppInfo);
 if (errcode == JFW_E_NO_JAVA_FOUND)
 {
-fprintf(stderr,"javaldx: Could not find a Java Runtime Environment!
");
+SAL_WARN("jvmfwk.javaenvsetup", "javaldx: Could not find a Java 
Runtime Environment!");
 return false;
 }
 else if (errcode != JFW_E_NONE && errcode != JFW_E_DIRECT_MODE)
 {
-fprintf(stderr,"javaldx failed!
");
+SAL_WARN("jvmfwk.javaenvsetup", "javaldx failed!");
 return false;
 }
 return true;


core.git: 2 commits - sc/source sc/workben

2025-02-02 Thread Mike Kaganski (via logerrit)
 dev/null  |binary
 sc/source/core/inc/cellkeytranslator.hxx  |1 
 sc/source/core/tool/cellkeytranslator.cxx |   90 +++--
 sc/source/core/tool/cellkeywords.inl  |  199 -
 sc/workben/celltrans/parse.py |  202 --
 5 files changed, 76 insertions(+), 416 deletions(-)

New commits:
commit f329c6da61d8b48b6b3e37557df0e7aebcfa7282
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 19:10:30 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 17:27:47 2025 +0100

Inline cellkeywords.inl, and drop its generating machinery

Now that we have UTF-8-encoded CXX, we can simplify the initialization
of ScCellKeywordTranslator, by inlining all the translation pairs.

Change-Id: I5dedf71d5694c919f09c8c538bd4dba6cce391ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181010
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/source/core/inc/cellkeytranslator.hxx 
b/sc/source/core/inc/cellkeytranslator.hxx
index 953e0c99ed59..06dbee933f75 100644
--- a/sc/source/core/inc/cellkeytranslator.hxx
+++ b/sc/source/core/inc/cellkeytranslator.hxx
@@ -72,7 +72,6 @@ private:
 
 void addToMap(const OUString& rKey, const char* pName, const 
css::lang::Locale& rLocale,
   OpCode eOpCode);
-void addToMap(const TransItem* pItems, const css::lang::Locale& rLocale);
 
 static ::std::unique_ptr spInstance;
 ScCellKeywordHashMap maStringNameMap;
diff --git a/sc/source/core/tool/cellkeytranslator.cxx 
b/sc/source/core/tool/cellkeytranslator.cxx
index 4f4a1dd4179d..30f46444eff3 100644
--- a/sc/source/core/tool/cellkeytranslator.cxx
+++ b/sc/source/core/tool/cellkeytranslator.cxx
@@ -182,17 +182,85 @@ ScCellKeywordTranslator::ScCellKeywordTranslator() :
 maTransWrapper( ::comphelper::getProcessComponentContext(),
 TransliterationFlags::LOWERCASE_UPPERCASE )
 {
-// The file below has been autogenerated by sc/workben/celltrans/parse.py.
-// To add new locale keywords, edit sc/workben/celltrans/keywords_utf16.txt
-// and re-run the parse.py script.
-//
 // All keywords must be uppercase, and the mapping must be from the
 // localized keyword to the English keyword.
-//
-// Make sure that the original keyword file (keywords_utf16.txt) is
-// encoded in UCS-2/UTF-16!
 
-#include "cellkeywords.inl"
+// French language locale
+
+static const lang::Locale aFr(u"fr"_ustr, u""_ustr, u""_ustr);
+
+static const TransItem pFr[] = {
+{ u"ADRESSE", "ADDRESS", ocCell },
+{ u"COLONNE", "COL", ocCell },
+{ u"CONTENU", "CONTENTS", ocCell },
+{ u"COULEUR", "COLOR", ocCell },
+{ u"LARGEUR", "WIDTH", ocCell },
+{ u"LIGNE", "ROW", ocCell },
+{ u"NOMFICHIER", "FILENAME", ocCell },
+{ u"PREFIXE", "PREFIX", ocCell },
+{ u"PROTEGE", "PROTECT", ocCell },
+{ u"NBFICH", "NUMFILE", ocInfo },
+{ u"RECALCUL", "RECALC", ocInfo },
+{ u"SYSTEXPL", "SYSTEM", ocInfo },
+{ u"VERSION", "RELEASE", ocInfo },
+{ u"VERSIONSE", "OSVERSION", ocInfo },
+};
+
+for (const auto& element : pFr)
+addToMap(OUString(element.from), element.to, aFr, element.func);
+
+// Hungarian language locale
+
+static const lang::Locale aHu(u"hu"_ustr, u""_ustr, u""_ustr);
+
+static const TransItem pHu[] = {
+{ u"CÍM", "ADDRESS", ocCell },
+{ u"OSZLOP", "COL", ocCell },
+{ u"SZÍN", "COLOR", ocCell },
+{ u"TARTALOM", "CONTENTS", ocCell },
+{ u"SZÉLES", "WIDTH", ocCell },
+{ u"SOR", "ROW", ocCell },
+{ u"FILENÉV", "FILENAME", ocCell },
+{ u"PREFIX", "PREFIX", ocCell },
+{ u"VÉDETT", "PROTECT", ocCell },
+{ u"KOORD", "COORD", ocCell },
+{ u"FORMA", "FORMAT", ocCell },
+{ u"ZÁRÓJELEK", "PARENTHESES", ocCell },
+{ u"LAP", "SHEET", ocCell },
+{ u"TÍPUS", "TYPE", ocCell },
+{ u"FILESZÁM", "NUMFILE", ocInfo },
+{ u"SZÁMOLÁS", "RECALC", ocInfo },
+{ u"RENDSZER", "SYSTEM", ocInfo },
+{ u"VERZIÓ", "RELEASE", ocInfo },
+{ u"OPRENDSZER", "OSVERSION", ocInfo },
+};
+
+for (const auto& element : pHu)
+addToMap(OUString(element.from), element.to, aHu, element.func);
+
+// German language locale
+
+static const lang::Locale aDe(u"de"_ustr, u""_ustr, u""_ustr);
+
+static const TransItem pDe[] = {
+{ u"ZEILE", "ROW", ocCell },
+{ u"SPALTE", "COL", ocCell },
+{ u"BREITE", "WIDTH", ocCell },
+{ u"ADRESSE", "ADDRESS", ocCell },
+{ u"DATEINAME", "FILENAME", ocCell },
+{ u"FARBE", "COLOR", ocCell },
+{ u"FORMAT", "FORMAT", ocCell },
+{ u"INHALT", "CONTENTS", ocCell },
+{ u"KLAMMERN", "PARENTHESES", ocCell },
+{ u"SCHUTZ", "PROTECT", ocCell },
+{ u"TYP", "TYPE", 

core.git: sc/source

2025-02-02 Thread Mike Kaganski (via logerrit)
 sc/source/core/tool/cellkeytranslator.cxx |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 47690d9fbeb1e1650145c272972fc92a6e7d01ef
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 19:27:45 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 17:28:06 2025 +0100

The first entry must not be the default best match

This is based on code reading; I see no reason to assume that the
front has the best match, that should be used when the following
iterations didn't choose it explicitly.

Change-Id: I2f90e56d00c25737c58e1e90642618a88f1fa2ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181011
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins

diff --git a/sc/source/core/tool/cellkeytranslator.cxx 
b/sc/source/core/tool/cellkeytranslator.cxx
index 30f46444eff3..6183ab9f85c7 100644
--- a/sc/source/core/tool/cellkeytranslator.cxx
+++ b/sc/source/core/tool/cellkeytranslator.cxx
@@ -98,7 +98,7 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 }
 
 LanguageTag aLanguageTag( pLocale ? *pLocale : 
lang::Locale(u""_ustr,u""_ustr,u""_ustr));
-const char* aBestMatchName = itr->second.front().mpName;
+const char* aBestMatchName = nullptr;
 LocaleMatch eLocaleMatchLevel = LOCALE_MATCH_NONE;
 bool bOpCodeMatched = false;
 
@@ -156,7 +156,8 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 }
 
 // No preferred strings found.  Return the best matching name.
-rName = OUString::createFromAscii(aBestMatchName);
+if (aBestMatchName)
+rName = OUString::createFromAscii(aBestMatchName);
 }
 
 void ScCellKeywordTranslator::transKeyword(OUString& rName, const 
lang::Locale* pLocale, OpCode eOpCode)


core.git: Branch 'distro/collabora/co-24.04' - sw/source

2025-02-02 Thread Mike Kaganski (via logerrit)
 sw/source/filter/ww8/docxattributeoutput.cxx |6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

New commits:
commit 9263a8bae05356e241af0b6b53d0dbc315bf7669
Author: Mike Kaganski 
AuthorDate: Wed Jan 29 10:28:18 2025 +0100
Commit: Caolán McNamara 
CommitDate: Sun Feb 2 22:42:02 2025 +0100

Speed up the iteration further

... after commit 1a938482fbe10065d670e05257a62d8fcfff3793 (use
getFastAttributeTokens and getValueByIndex, 2025-01-29), which
has avoided Sequence construction overhead.

This avoids conversion of value strings from UTF-8 to UTF-16
and back.

Change-Id: Ie832002c5ef4fb6e5390e4b17b752714c09cf471
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180889
Tested-by: Jenkins CollaboraOffice 
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx 
b/sw/source/filter/ww8/docxattributeoutput.cxx
index f2b611b9e2a9..68e8e4f48489 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -775,11 +775,9 @@ void SdtBlockHelper::WriteSdtBlock(const 
::sax_fastparser::FSHelperPtr& pSeriali
 }
 
 if (m_nSdtPrToken == FSNS(XML_w, XML_date) || m_nSdtPrToken == 
FSNS(XML_w, XML_docPartObj) || m_nSdtPrToken == FSNS(XML_w, XML_docPartList) || 
m_nSdtPrToken == FSNS(XML_w14, XML_checkbox)) {
-const std::vector& rAttributeTokens = 
m_pTokenChildren->getFastAttributeTokens();
-for (size_t i = 0, n = rAttributeTokens.size(); i < n; ++i)
+for (auto& it : *m_pTokenChildren)
 {
-pSerializer->singleElement(rAttributeTokens[i], FSNS(XML_w, 
XML_val),
-   
m_pTokenChildren->getValueByIndex(i));
+pSerializer->singleElement(it.getToken(), FSNS(XML_w, 
XML_val), it.toCString());
 }
 }
 


Re: Add Instrumentation to the LibreOffice JVM

2025-02-02 Thread Noel Grandin
Sounds quite reasonable to add this to the core product behind an option.

On Sat, 01 Feb 2025 at 21:18, Pierre Vacher  wrote:

> Hi all,
>
> I would like to add the Java Instrumentation
> 
> API to the extensions running under LibreOffice and written in Java.
>
> After some testing, I manage to load the Instrumentation
> 
> agent at JVM startup, having taken care to add the necessary startup option
> (ie:
> -javaagent:/home/prrvchr/github/jdbcDriverOOo/source/UnoAgent/dist/UnoAgent.jar)
> and put this archive in the classpath (ie: Tools -> Options -> LibreOffice
> -> Advanced -> Java Options).
>
> UnoAgent.jar is an archive containing only one class which itself contains
> only two methods and this gives access to code injection and the
> possibility of modifying the search path of the system bootloader. This
> currently allows me to be able to deploy an SPI service type like
> System.LoggerFinder,  and to be able to be the provider for the
> System.Logger
> 
> interface for all running applications on the JVM.
>
> If we want to make this feature accessible to any extension written in
> Java, it is necessary to make three modifications: - Add the UnoAgent.jar
> archive to the SDK. - Add an entry in the LibreOffice configuration (ie:
> xcu file) to enable or disable instrumentation. - Load the JVM with the
> parameters needed for instrumentation depending on the configuration.
>
> Please let me know what you think about this.
>
> Pierre
>
>


core.git: cui/inc cui/source

2025-02-02 Thread bruh (via logerrit)
 cui/inc/dlgname.hxx   |9 +
 cui/source/dialogs/MacroManagerDialog.cxx |  139 +++---
 cui/source/dialogs/dlgname.cxx|3 
 3 files changed, 83 insertions(+), 68 deletions(-)

New commits:
commit cda4965ea65ff9fa0e63e53344f46aeac91848a9
Author: bruh 
AuthorDate: Sun Feb 2 02:42:40 2025 +0530
Commit: Samuel Mehrbrodt 
CommitDate: Mon Feb 3 07:39:00 2025 +0100

tdf#158280 Replace usage of InputDialog with SvxNameDialog

Change-Id: I02309ea7c01369429de08be0b2bd78725602a837
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181002
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt 

diff --git a/cui/inc/dlgname.hxx b/cui/inc/dlgname.hxx
index d12b8edb1bea..366f57454917 100644
--- a/cui/inc/dlgname.hxx
+++ b/cui/inc/dlgname.hxx
@@ -29,6 +29,7 @@ private:
 std::unique_ptr m_xEdtName;
 std::unique_ptr m_xFtDescription;
 std::unique_ptr m_xBtnOK;
+std::function m_aCheckName;
 
 Link m_aCheckNameHdl;
 Link m_aCheckNameTooltipHdl;
@@ -41,6 +42,8 @@ public:
 
 OUString GetName() const { return m_xEdtName->get_text(); }
 
+void SetCheckName(const std::function& rFunc) { 
m_aCheckName = rFunc; }
+
 /** add a callback Link that is called whenever the content of the edit
 field is changed.  The Link result determines whether the OK
 Button is enabled (> 0) or disabled (== 0).
@@ -60,6 +63,12 @@ public:
 m_xBtnOK->set_tooltip_text(rLink.Call(*this));
 }
 
+void SetNameText(const OUString& aName)
+{
+m_xEdtName->set_text(aName);
+m_xEdtName->set_position(-1);
+}
+
 void SetEditHelpId(const OUString& aHelpId) { 
m_xEdtName->set_help_id(aHelpId); }
 };
 
diff --git a/cui/source/dialogs/MacroManagerDialog.cxx 
b/cui/source/dialogs/MacroManagerDialog.cxx
index ebc07902dcb3..26d1eba324b1 100644
--- a/cui/source/dialogs/MacroManagerDialog.cxx
+++ b/cui/source/dialogs/MacroManagerDialog.cxx
@@ -28,7 +28,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -41,6 +40,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 
@@ -1228,11 +1228,12 @@ void 
MacroManagerDialog::BasicScriptsCreateLibrary(const basctl::ScriptDocument&
  aLibName = CuiResId(STR_LIBRARY) + OUString::number(++i))
 ;
 
-InputDialog aInputDlg(m_xDialog.get(), 
CuiResId(STR_INPUTDIALOG_NEWLIBRARYLABEL));
-aInputDlg.set_title(CuiResId(STR_INPUTDIALOG_NEWLIBRARYTITLE));
-aInputDlg.SetEntryText(aLibName);
-aInputDlg.HideHelpBtn();
-aInputDlg.setCheckEntry([&](OUString sNewName) {
+OUString aDesc = CuiResId(STR_INPUTDIALOG_NEWLIBRARYLABEL);
+
+SvxNameDialog aNameDialog(m_xDialog.get(), aLibName, aDesc,
+  CuiResId(STR_INPUTDIALOG_NEWLIBRARYTITLE));
+
+aNameDialog.SetCheckName([&](OUString sNewName) -> bool {
 if (sNewName.isEmpty() || rDocument.hasLibrary(basctl::E_SCRIPTS, 
sNewName)
 || rDocument.hasLibrary(basctl::E_DIALOGS, sNewName) || 
sNewName.getLength() > 30
 || !basctl::IsValidSbxName(sNewName))
@@ -1240,10 +1241,10 @@ void 
MacroManagerDialog::BasicScriptsCreateLibrary(const basctl::ScriptDocument&
 return true;
 });
 
-if (!aInputDlg.run())
+if (aNameDialog.run() != RET_OK)
 return;
 
-aLibName = aInputDlg.GetEntryText();
+aLibName = aNameDialog.GetName();
 
 try
 {
@@ -1295,21 +1296,22 @@ void MacroManagerDialog::BasicScriptsCreateModule(const 
basctl::ScriptDocument&
  aModName = CuiResId(STR_MODULE) + OUString::number(++i))
 ;
 
-InputDialog aInputDlg(m_xDialog.get(), 
CuiResId(STR_INPUTDIALOG_NEWMODULELABEL));
-aInputDlg.set_title(CuiResId(STR_INPUTDIALOG_NEWMODULETITLE));
-aInputDlg.SetEntryText(aModName);
-aInputDlg.HideHelpBtn();
-aInputDlg.setCheckEntry([&](OUString sNewName) {
+OUString aDesc = CuiResId(STR_INPUTDIALOG_NEWMODULELABEL);
+
+SvxNameDialog aNameDialog(m_xDialog.get(), aModName, aDesc,
+  CuiResId(STR_INPUTDIALOG_NEWMODULETITLE));
+
+aNameDialog.SetCheckName([&](OUString sNewName) -> bool {
 if (sNewName.isEmpty() || rDocument.hasModule(aLibName, sNewName)
 || sNewName.getLength() > 30 || !basctl::IsValidSbxName(sNewName))
 return false;
 return true;
 });
 
-if (!aInputDlg.run())
+if (!aNameDialog.run())
 return;
 
-aModName = aInputDlg.GetEntryText();
+aModName = aNameDialog.GetName();
 
 OUString sModuleCode;
 if (!rDocument.createModule(aLibName, aModName, true /*create main sub*/, 
sModuleCode))
@@ -1339,21 +1341,22 @@ void MacroManagerDialog::BasicScriptsCreateDialog(const 
basctl::ScriptDocument&
  sDialogName = CuiResId(STR_DIALOG) + OUString::number(++i))
 ;
 
-InputDialog aInputDlg(m_xDialog.get(), 
CuiResId(STR_INPUTDIALOG_NEWDIALOGLABEL));
-aInputDlg.set_title(CuiResI

core.git: vcl/source

2025-02-02 Thread Christopher Sherlock (via logerrit)
 vcl/source/control/ctrl.cxx |   12 
 1 file changed, 4 insertions(+), 8 deletions(-)

New commits:
commit 6ec3ff63dfae1e6af2e776f48068eadb9a46011f
Author: Christopher Sherlock 
AuthorDate: Wed Dec 11 00:28:05 2024 +1100
Commit: Noel Grandin 
CommitDate: Mon Feb 3 08:46:24 2025 +0100

vcl: remove unnecessary includes in ctrl.cxx

Change-Id: I62f7ab6b3e3bcc1fcf1994a142e0d444344d76c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178225
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 4f7a42badffc..d4ba507f33e0 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -18,19 +18,15 @@
  */
 
 #include 
-#include 
-#include 
-#include 
+
+#include 
 #include 
 #include 
+#include 
 #include 
-#include 
-#include 
-#include 
-#include 
 
-#include 
 #include 
+#include 
 
 using namespace vcl;
 


core.git: vcl/inc vcl/source

2025-02-02 Thread Christopher Sherlock (via logerrit)
 vcl/inc/hyperlabel.hxx|2 --
 vcl/source/control/hyperlabel.cxx |   19 +++
 2 files changed, 7 insertions(+), 14 deletions(-)

New commits:
commit 01f48ef20173a305752ce2605d1d581a663357da
Author: Christopher Sherlock 
AuthorDate: Mon Dec 23 17:36:44 2024 +1100
Commit: Noel Grandin 
CommitDate: Mon Feb 3 08:45:47 2025 +0100

vcl: remove implInit() from HyperLabel

Change-Id: I45d1f519f812529f0913d4a4453201a59d984163
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179191
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/vcl/inc/hyperlabel.hxx b/vcl/inc/hyperlabel.hxx
index 6415742616fb..fa69d30f83f1 100644
--- a/vcl/inc/hyperlabel.hxx
+++ b/vcl/inc/hyperlabel.hxx
@@ -32,8 +32,6 @@ namespace vcl
 virtual voidGetFocus() override;
 virtual voidLoseFocus() override;
 
-voidimplInit();
-
 using FixedText::CalcMinimumSize;
 
 public:
diff --git a/vcl/source/control/hyperlabel.cxx 
b/vcl/source/control/hyperlabel.cxx
index 34f10750ae2b..01aaf47609c9 100644
--- a/vcl/source/control/hyperlabel.cxx
+++ b/vcl/source/control/hyperlabel.cxx
@@ -32,7 +32,13 @@ namespace vcl
 , bInteractive(false)
 , m_bHyperMode(false)
 {
-implInit();
+ToggleBackgroundColor( COL_TRANSPARENT );
+
+WinBits nWinStyle = GetStyle();
+nWinStyle |= WB_EXTRAOFFSET;
+SetStyle( nWinStyle );
+
+Show();
 }
 
 Size const & HyperLabel::CalcMinimumSize( tools::Long nMaxWidth )
@@ -45,17 +51,6 @@ namespace vcl
 return m_aMinSize;
 }
 
-void HyperLabel::implInit()
-{
-ToggleBackgroundColor( COL_TRANSPARENT );
-
-WinBits nWinStyle = GetStyle();
-nWinStyle |= WB_EXTRAOFFSET;
-SetStyle( nWinStyle );
-
-Show();
-}
-
 void HyperLabel::ToggleBackgroundColor( const Color& _rGBColor )
 {
 SetControlBackground( _rGBColor );


core.git: vcl/source

2025-02-02 Thread Christopher Sherlock (via logerrit)
 vcl/source/control/fmtfield.cxx |   23 ++-
 1 file changed, 6 insertions(+), 17 deletions(-)

New commits:
commit 1dd3ab8842be49afe9357402d0cd5506ff72bb2b
Author: Christopher Sherlock 
AuthorDate: Mon Dec 23 00:27:08 2024 +1100
Commit: Noel Grandin 
CommitDate: Mon Feb 3 08:46:05 2025 +0100

vcl: remove unnecessary includes in fmtfield.cxxx

Change-Id: I8b08a8ca072040c5ebf9c667d618ffb0d0b21c71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179182
Reviewed-by: Noel Grandin 
Tested-by: Jenkins

diff --git a/vcl/source/control/fmtfield.cxx b/vcl/source/control/fmtfield.cxx
index ec8f5569ecab..7f6ad855efd3 100644
--- a/vcl/source/control/fmtfield.cxx
+++ b/vcl/source/control/fmtfield.cxx
@@ -17,32 +17,21 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#include 
-#include 
+#include 
+#include 
 #include 
 #include 
-#include 
+#include 
+
 #include 
 #include 
-#include 
 #include 
-#include 
-#include 
 #include 
-#include 
 #include 
-#include 
 #include 
-#include 
-#include 
+#include 
+
 #include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
-#include 
 
 using namespace ::com::sun::star::lang;
 


core.git: vcl/source

2025-02-02 Thread Christopher Sherlock (via logerrit)
 vcl/source/control/combobox.cxx |   27 +++
 1 file changed, 15 insertions(+), 12 deletions(-)

New commits:
commit a838bac7b7eb36890aaa441a76ae40b5be5e391a
Author: Christopher Sherlock 
AuthorDate: Tue Dec 10 20:17:11 2024 +1100
Commit: Noel Grandin 
CommitDate: Mon Feb 3 08:47:02 2025 +0100

vcl: aType -> eType

Change-Id: Iceca9108d9cba3c3f5680ebb78926f430b29f73a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178210
Tested-by: Jenkins
Reviewed-by: Noel Grandin 

diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index e8d93f1ea52c..984138ac0e14 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -118,11 +118,13 @@ void ComboBox::ImplCalcEditHeight()
 if ( !IsDropDownBox() )
 m_nDDHeight += 4;
 
-tools::Rectangle aCtrlRegion( Point( 0, 0 ), Size( 10, 10 ) );
-tools::Rectangle aBoundRegion, aContentRegion;
+const tools::Rectangle aCtrlRegion(Point(0, 0), Size(10, 10));
+tools::Rectangle aBoundRegion;
+tools::Rectangle aContentRegion;
 ImplControlValue aControlValue;
-ControlType aType = IsDropDownBox() ? ControlType::Combobox : 
ControlType::Editbox;
-if( GetNativeControlRegion( aType, ControlPart::Entire,
+const ControlType eType = IsDropDownBox() ? ControlType::Combobox : 
ControlType::Editbox;
+
+if( GetNativeControlRegion( eType, ControlPart::Entire,
 aCtrlRegion,
 ControlState::ENABLED,
 aControlValue,
@@ -136,7 +138,8 @@ void ComboBox::ImplCalcEditHeight()
 
 void ComboBox::ImplInit( vcl::Window* pParent, WinBits nStyle )
 {
-bool bNoBorder = ( nStyle & WB_NOBORDER ) != 0;
+const bool bNoBorder = ( nStyle & WB_NOBORDER ) != 0;
+
 if ( !(nStyle & WB_DROPDOWN) )
 {
 nStyle &= ~WB_BORDER;
@@ -260,7 +263,7 @@ IMPL_LINK_NOARG(ComboBox, ImplPopupModeEndHdl, 
FloatingWindow*, void)
 m_pFloatWin->GetPopupModeStartSaveSelection()))
 {
 
m_pImplLB->SelectEntry(m_pFloatWin->GetPopupModeStartSaveSelection(), true);
-bool bTravelSelect = m_pImplLB->IsTravelSelect();
+const bool bTravelSelect = m_pImplLB->IsTravelSelect();
 m_pImplLB->SetTravelSelect( true );
 Select();
 m_pImplLB->SetTravelSelect( bTravelSelect );
@@ -277,12 +280,12 @@ IMPL_LINK_NOARG(ComboBox, ImplPopupModeEndHdl, 
FloatingWindow*, void)
 
 IMPL_LINK(ComboBox, ImplAutocompleteHdl, Edit&, rEdit, void)
 {
-Selection   aSel = rEdit.GetSelection();
+const Selection aSel = rEdit.GetSelection();
 
 {
-OUStringaFullText = rEdit.GetText();
-OUStringaStartText = aFullText.copy( 0, 
static_cast(aSel.Max()) );
-sal_Int32   nStart = m_pImplLB->GetCurrentPos();
+const OUString aFullText = rEdit.GetText();
+const OUString aStartText = aFullText.copy( 0, 
static_cast(aSel.Max()) );
+sal_Int32 nStart = m_pImplLB->GetCurrentPos();
 
 if ( nStart == LISTBOX_ENTRY_NOTFOUND )
 nStart = 0;
@@ -306,7 +309,7 @@ IMPL_LINK(ComboBox, ImplAutocompleteHdl, Edit&, rEdit, void)
 
 if ( nPos != LISTBOX_ENTRY_NOTFOUND )
 {
-OUString aText = m_pImplLB->GetEntryList().GetEntryText( nPos );
+const OUString aText = m_pImplLB->GetEntryList().GetEntryText( 
nPos );
 Selection aSelection( aText.getLength(), aStartText.getLength() );
 rEdit.SetText( aText, aSelection );
 }
@@ -315,7 +318,7 @@ IMPL_LINK(ComboBox, ImplAutocompleteHdl, Edit&, rEdit, void)
 
 IMPL_LINK_NOARG(ComboBox, ImplSelectHdl, LinkParamNone*, void)
 {
-bool bPopup = IsInDropDown();
+const bool bPopup = IsInDropDown();
 bool bCallSelect = false;
 if (m_pImplLB->IsSelectionChanged() || bPopup)
 {


core.git: desktop/source

2025-02-02 Thread Caolán McNamara (via logerrit)
 desktop/source/app/cmdlineargs.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit efda1fa20d2309fae15354dada32867cf5ccfd7b
Author: Caolán McNamara 
AuthorDate: Thu Jan 30 20:37:38 2025 +
Commit: Caolán McNamara 
CommitDate: Sun Feb 2 16:17:19 2025 +0100

Filter out more unwanted command URIs

Change-Id: I24c95d73b4fee89bdf044d5dd6efc9cd89627c54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180970
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 
Reviewed-by: Caolán McNamara 

diff --git a/desktop/source/app/cmdlineargs.cxx 
b/desktop/source/app/cmdlineargs.cxx
index fcb31520fd4d..e5f457fb7539 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -165,7 +165,7 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, 
CommandLineEvent cur
 if (nURIlen < 0)
 nURIlen = rest2.getLength();
 auto const uri = rest2.subView(0, nURIlen);
-if (INetURLObject(uri).GetProtocol() == INetProtocol::Macro) {
+if (INetURLObject(uri).IsExoticProtocol()) {
 // Let the "Open" machinery process the full command URI (leading to 
failure, by intention,
 // as the "Open" machinery does not know about those command URI 
schemes):
 curEvt = CommandLineEvent::Open;


core.git: Branch 'distro/collabora/co-24.04' - sw/source

2025-02-02 Thread Rashesh (via logerrit)
 sw/source/uibase/lingu/olmenu.cxx |7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

New commits:
commit 769de908b837d8fca0109cd833f7b4f64a5e8ff4
Author: Rashesh 
AuthorDate: Fri Jan 31 14:00:21 2025 +0530
Commit: Caolán McNamara 
CommitDate: Sun Feb 2 16:20:20 2025 +0100

sw: lokit: don't activate standard.dic

- in online, standard.dic is not required and causes confusion to the
  user

Change-Id: I79a66e3479a35a0ace90dc4c30f3c479526f0fb7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180979
Tested-by: Jenkins CollaboraOffice 
Tested-by: Caolán McNamara 
Reviewed-by: Caolán McNamara 

diff --git a/sw/source/uibase/lingu/olmenu.cxx 
b/sw/source/uibase/lingu/olmenu.cxx
index 4292aa285bb0..4557608545f0 100644
--- a/sw/source/uibase/lingu/olmenu.cxx
+++ b/sw/source/uibase/lingu/olmenu.cxx
@@ -320,7 +320,7 @@ SwSpellPopup::SwSpellPopup(
 // words could be added.
 uno::Reference< linguistic2::XDictionary >  xDic( 
LinguMgr::GetStandardDic() );
 if (xDic.is())
-xDic->setActive( true );
+xDic->setActive(!comphelper::LibreOfficeKit::isActive());
 
 m_aDics = xDicList->getDictionaries();
 
@@ -362,8 +362,9 @@ SwSpellPopup::SwSpellPopup(
 }
 }
 
-m_xPopupMenu->EnableItem(m_nAddMenuId, (nItemId - MN_DICTIONARIES_START) > 
1);
-m_xPopupMenu->EnableItem(m_nAddId, (nItemId - MN_DICTIONARIES_START) == 1);
+sal_uInt16 nDiff = nItemId - MN_DICTIONARIES_START;
+m_xPopupMenu->EnableItem(m_nAddMenuId, nDiff > 2);
+m_xPopupMenu->EnableItem(m_nAddId, nDiff == 2);
 
 //ADD NEW LANGUAGE MENU ITEM
 


core.git: sc/source

2025-02-02 Thread Mike Kaganski (via logerrit)
 sc/source/core/inc/cellkeytranslator.hxx  |6 -
 sc/source/core/tool/cellkeytranslator.cxx |  134 +++---
 2 files changed, 70 insertions(+), 70 deletions(-)

New commits:
commit eca5475de85bed4dc0b4026a9d6558547721287e
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 19:34:51 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 17:53:50 2025 +0100

Use OUString instead of run-time conversion from char arrays

Change-Id: I94bd75121796b84b8ea44f5e3bed1893d0b02edf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181012
Reviewed-by: Mike Kaganski 
Tested-by: Jenkins

diff --git a/sc/source/core/inc/cellkeytranslator.hxx 
b/sc/source/core/inc/cellkeytranslator.hxx
index 06dbee933f75..f2a30d77d72d 100644
--- a/sc/source/core/inc/cellkeytranslator.hxx
+++ b/sc/source/core/inc/cellkeytranslator.hxx
@@ -34,11 +34,11 @@ struct TransItem;
 
 struct ScCellKeyword
 {
-const char* mpName;
+OUString msName;
 OpCode meOpCode;
 const css::lang::Locale& mrLocale;
 
-ScCellKeyword(const char* pName, OpCode eOpCode, const css::lang::Locale& 
rLocale);
+ScCellKeyword(const OUString& sName, OpCode eOpCode, const 
css::lang::Locale& rLocale);
 };
 
 typedef std::unordered_map> 
ScCellKeywordHashMap;
@@ -70,7 +70,7 @@ public:
 private:
 ScCellKeywordTranslator();
 
-void addToMap(const OUString& rKey, const char* pName, const 
css::lang::Locale& rLocale,
+void addToMap(const OUString& rKey, const OUString& pName, const 
css::lang::Locale& rLocale,
   OpCode eOpCode);
 
 static ::std::unique_ptr spInstance;
diff --git a/sc/source/core/tool/cellkeytranslator.cxx 
b/sc/source/core/tool/cellkeytranslator.cxx
index 6183ab9f85c7..801d0358b151 100644
--- a/sc/source/core/tool/cellkeytranslator.cxx
+++ b/sc/source/core/tool/cellkeytranslator.cxx
@@ -70,8 +70,8 @@ static LocaleMatch lclLocaleCompare(const lang::Locale& 
rLocale1, const Language
 return eMatchLevel;
 }
 
-ScCellKeyword::ScCellKeyword(const char* pName, OpCode eOpCode, const 
lang::Locale& rLocale) :
-mpName(pName),
+ScCellKeyword::ScCellKeyword(const OUString& sName, OpCode eOpCode, const 
lang::Locale& rLocale) :
+msName(sName),
 meOpCode(eOpCode),
 mrLocale(rLocale)
 {
@@ -93,12 +93,12 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 {
 // Since no locale nor opcode matching is needed, simply return
 // the first item on the list.
-rName = OUString::createFromAscii( itr->second.front().mpName );
+rName = itr->second.front().msName;
 return;
 }
 
 LanguageTag aLanguageTag( pLocale ? *pLocale : 
lang::Locale(u""_ustr,u""_ustr,u""_ustr));
-const char* aBestMatchName = nullptr;
+const OUString* aBestMatchName = nullptr;
 LocaleMatch eLocaleMatchLevel = LOCALE_MATCH_NONE;
 bool bOpCodeMatched = false;
 
@@ -112,18 +112,18 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 if ( eLevel == LOCALE_MATCH_ALL )
 {
 // Name with matching opcode and locale found.
-rName = OUString::createFromAscii( elem.mpName );
+rName = elem.msName;
 return;
 }
 else if ( eLevel > eLocaleMatchLevel )
 {
 // Name with a better matching locale.
 eLocaleMatchLevel = eLevel;
-aBestMatchName = elem.mpName;
+aBestMatchName = &elem.msName;
 }
 else if ( !bOpCodeMatched )
 // At least the opcode matches.
-aBestMatchName = elem.mpName;
+aBestMatchName = &elem.msName;
 
 bOpCodeMatched = true;
 }
@@ -133,7 +133,7 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 if ( elem.meOpCode == eOpCode )
 {
 // Name with a matching opcode preferred.
-rName = OUString::createFromAscii( elem.mpName );
+rName = elem.msName;
 return;
 }
 }
@@ -143,21 +143,21 @@ static void lclMatchKeyword(OUString& rName, const 
ScCellKeywordHashMap& aMap,
 if ( eLevel == LOCALE_MATCH_ALL )
 {
 // Name with matching locale preferred.
-rName = OUString::createFromAscii( elem.mpName );
+rName = elem.msName;
 return;
 }
 else if ( eLevel > eLocaleMatchLevel )
 {
 // Name with a better matching locale.
 eLocaleMatchLevel = eLevel;
-aBestMatchName = elem.mpName;
+aBestMatchName = &elem.msName;
 }
 }
 }
 
 // No preferred strings found.  Return the best matching name.
   

core.git: sc/source

2025-02-02 Thread Mike Kaganski (via logerrit)
 sc/source/core/tool/cellkeytranslator.cxx |2 --
 1 file changed, 2 deletions(-)

New commits:
commit ad5cb7e99f574c17811ef7d5419b35a95ed82696
Author: Mike Kaganski 
AuthorDate: Sun Feb 2 19:35:29 2025 +0500
Commit: Mike Kaganski 
CommitDate: Sun Feb 2 17:54:26 2025 +0100

Drop some needless mappings to identical strings

Change-Id: Ia9aac22c8bf6872636bd225f693950f9924071c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181013
Tested-by: Jenkins
Reviewed-by: Mike Kaganski 

diff --git a/sc/source/core/tool/cellkeytranslator.cxx 
b/sc/source/core/tool/cellkeytranslator.cxx
index 801d0358b151..c54dd50bbc13 100644
--- a/sc/source/core/tool/cellkeytranslator.cxx
+++ b/sc/source/core/tool/cellkeytranslator.cxx
@@ -222,7 +222,6 @@ ScCellKeywordTranslator::ScCellKeywordTranslator() :
 { u"SZÉLES"_ustr, u"WIDTH"_ustr, ocCell },
 { u"SOR"_ustr, u"ROW"_ustr, ocCell },
 { u"FILENÉV"_ustr, u"FILENAME"_ustr, ocCell },
-{ u"PREFIX"_ustr, u"PREFIX"_ustr, ocCell },
 { u"VÉDETT"_ustr, u"PROTECT"_ustr, ocCell },
 { u"KOORD"_ustr, u"COORD"_ustr, ocCell },
 { u"FORMA"_ustr, u"FORMAT"_ustr, ocCell },
@@ -250,7 +249,6 @@ ScCellKeywordTranslator::ScCellKeywordTranslator() :
 { u"ADRESSE"_ustr, u"ADDRESS"_ustr, ocCell },
 { u"DATEINAME"_ustr, u"FILENAME"_ustr, ocCell },
 { u"FARBE"_ustr, u"COLOR"_ustr, ocCell },
-{ u"FORMAT"_ustr, u"FORMAT"_ustr, ocCell },
 { u"INHALT"_ustr, u"CONTENTS"_ustr, ocCell },
 { u"KLAMMERN"_ustr, u"PARENTHESES"_ustr, ocCell },
 { u"SCHUTZ"_ustr, u"PROTECT"_ustr, ocCell },