Bug 150094 - File properties dialog does not update with programmatically added Custom Fields
Summary: File properties dialog does not update with programmatically added Custom Fields
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.2.7.2 release
Hardware: All All
: medium minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Macro File-Properties
  Show dependency treegraph
 
Reported: 2022-07-21 22:25 UTC by wpeaton4
Modified: 2023-01-25 19:28 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description wpeaton4 2022-07-21 22:25:24 UTC
This is not that serious. But if you happen to add a new custom property via the API 

    doc.getDocumentProperties().getUserDefinedProperties().addProperty('MyProp', 0, 'LibreOffice is the best')

The newly created property will not show up in the File properties dialog until the file is saved and reloaded.

Newly created properties created with the dialog will be displayed in the File properties dialog on subsequent views.

The only workaround I have found is to save and reload file.
Comment 1 Buovjaga 2023-01-25 13:57:25 UTC
Can you share the full code, so we can quickly test?

Set to NEEDINFO.
Change back to UNCONFIRMED after you have provided the code.
Comment 2 wpeaton4 2023-01-25 19:20:08 UTC
Full code (in Python) is as follows:

==============================================
import uno
import unohelper

g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation( None,"org.openoffice.script.MyImplementationForPythonScripts", ("org.openoffice.script.MyServiceForPythonScripts",),)

def properties_test(aaa=1):
    doc= XSCRIPTCONTEXT.getDocument()
    doc.getDocumentProperties().getUserDefinedProperties().addProperty('MyProp', 0, 'LibreOffice is the best')
===============================================

To reproduce.

1. Run code
2. Look at file Properties (custom tab) --> no property there
3. Save and reload file.
4. Look at file Properties (custome tab) --> property is shown

tested on 7.2.7.2 Writer, Calc, Impress, Draw
Comment 3 Buovjaga 2023-01-25 19:28:50 UTC
Thanks, added it as a .py file in share/Scripts/python and ran. I reproduce.

Arch Linux 64-bit, X11
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 4172fcb7514ff8a9e9740ff0939e9a2f611edbce
CPU threads: 8; OS: Linux 6.1; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 25 January 2023