Re: Request for [API CHANGE] in spell checking: add new options to disable rule-based compounding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stephan, Hi All,

Stephan Bergmann <sbergman@xxxxxxxxxx> ezt írta (időpont: 2023. jan. 5., Cs, 10:32):
On 04/01/2023 14:18, Németh László wrote:
> I've started to add two new spell checking options to
> css.linguistic2.XLinguProperties
[...]
> Commit:https://git.libreoffice.org/core/+/57d79744c77eef96b4c2bd3b16e0a04317ffcf9e%5E%21 <https://git.libreoffice.org/core/+/57d79744c77eef96b4c2bd3b16e0a04317ffcf9e%5E%21>

So this is about the addition of

>     /** defines whether spell checking should be accept rule-based
>          closed compounding of dictionary words.
>
>         @since LibreOffice 7.6
>     */
>     [attribute] boolean IsSpellClosedCompound;
>
>     /** defines whether spell checking should be accept rule-based
>          hyphenated compounding of dictionary words.
>
>         @since LibreOffice 7.6
>     */
>     [attribute] boolean IsSpellHyphenatedCompound;

to the published interface css.linguistic2.XLinguProperties in
<https://git.libreoffice.org/core/+/57d79744c77eef96b4c2bd3b16e0a04317ffcf9e%5E%21>
"tdf#136306 offapi linguistic: add options to disable rule-based
compounding", which is an ABI-breaking change.

But looking closer, when
<https://git.libreoffice.org/core/+/ef0af5032ad283ffb3b4521eb097a118d58f332a%5E!/>
"fdo#46808, Convert linguistic2::LingProperties to new style" introduced
that css.linguistic2.XLinguProperties interface, it gave it various
interface attributes (IsUseDictionaryList, IsIgnoreControlCharacters,
IsSpellUpperCase, etc.) for no compelling reason:  XLinguProperties is
meant to be the implementation interface of the service LinguProperties,
which was changed by that commit from an old-style to a new-style
service.  The original old-style service implemented XPropertySet and
listed a number of supported properties.  The XLinguProperties interface
also inherits from XPropertySet, and that should arguably have been all
that is necessary to make LinguProperties a new-style service.  But that
commit also added (some of) the properties of the old-style
LinguProperties service as attributes to XLinguProperties, for no
compelling reason.  All those entities should be available through the
XPropertySet interface, so there is no need to also have them available
through attribute getters and setters.

Thus I would suggest to:

* Revert the addition of the two new attributes, instead adding
documentation to offapi/com/sun/star/linguistic2/XLinguProperties.idl
that those two properties are available through the XPropertySet
interface since LibreOffice 7.6.

* Optionally, also mark all the other attributes of XLinguProperties as
deprecated, stating in the documentation that they should instead be
accessed via the XPropertySet interface.

Ah, OK. So I only missed the proposed API. I'm going to make the proposed changes.

Many thanks for the detailed description!

Best regards,
László


 

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux