diff options
Diffstat (limited to 'offapi/com')
-rwxr-xr-x | offapi/com/sun/star/system/windows/JumpList.idl | 33 | ||||
-rwxr-xr-x | offapi/com/sun/star/system/windows/JumpListItem.idl | 55 | ||||
-rwxr-xr-x | offapi/com/sun/star/system/windows/XJumpList.idl | 125 |
3 files changed, 213 insertions, 0 deletions
diff --git a/offapi/com/sun/star/system/windows/JumpList.idl b/offapi/com/sun/star/system/windows/JumpList.idl new file mode 100755 index 000000000000..82becd522b69 --- /dev/null +++ b/offapi/com/sun/star/system/windows/JumpList.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_system_windows_JumpList_idl__ +#define __com_sun_star_system_windows_JumpList_idl__ + + +module com { module sun { module star { module system { module windows { + + +interface XJumpList; + +/** Specifies a Jump List service. Allows to add custom commands to the Windows Jump List. + + @since LibreOffice 7.4 + + @see com::sun::star::system::windows::XJumpList +*/ + +service JumpList : XJumpList; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/system/windows/JumpListItem.idl b/offapi/com/sun/star/system/windows/JumpListItem.idl new file mode 100755 index 000000000000..30a8bdd6f7e4 --- /dev/null +++ b/offapi/com/sun/star/system/windows/JumpListItem.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_system_windows_JumpListItem_idl__ +#define __com_sun_star_system_windows_JumpListItem_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/uno/Sequence.idl> + + +module com { module sun { module star { module system { module windows { + +/** Specifies an item for com::sun::star::system::windows::XJumpList . + + @since LibreOffice 7.4 +*/ + +struct JumpListItem +{ + /** Item name. Appears in the JumpList. + Has to be unique per category. + Must not include embedded NULs ('\\0'). */ + string name; + + /** Item description, appears as tooltip. + Must not include embedded NULs ('\\0'). + */ + string description; + + /** Arguments to be passed to LibreOffice. + This can be a file to be loaded, or any command line parameter supported by LibreOffice, and any combination of the two. + Add multiple arguments separated by space. + Must not include embedded NULs ('\\0'). + */ + string arguments; + + /** Icon to be displayed along the name. + Must be a local path name like `C:\\path\\to\\icon.ico`. + Icon must be in ICO format. + */ + string iconPath; +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/offapi/com/sun/star/system/windows/XJumpList.idl b/offapi/com/sun/star/system/windows/XJumpList.idl new file mode 100755 index 000000000000..80fef03b60aa --- /dev/null +++ b/offapi/com/sun/star/system/windows/XJumpList.idl @@ -0,0 +1,125 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_system_windows_XJumpList_idl__ +#define __com_sun_star_system_windows_XJumpList_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/system/SystemShellExecuteException.idl> + + +module com { module sun { module star { module system { module windows { + +/** Specifies an interface for adding custom jump lists to the task bar (Windows only) + + @since LibreOffice 7.4 +*/ +interface XJumpList: com::sun::star::uno::XInterface +{ + /** Add (or update) a jump list category. + + Note that it is only possible to have one jump list category per `application`. + + When there is already a jump list for the given `application`, + that jump list will be cleared, and the new `category` and `jumpListItems` will be added. + + @param category + Specifies the category name. It will appear as the title of the custom jump list. + Must not include embedded NULs ('\\0') + + @param jumpListItems + Specifies a list of com::sun::star::system::JumpListItem. + Must contain at least one item. + These will be added as entries below the category name in the custom jump list. + + Make sure you don't add items which the user has removed before + (check the result of `getRemovedItems` before updating a category). + If you try to add items which the user removed before, + they will be silently ignored and not added to the list. + + @param application + Used to map the jump list to the correct application. Use one of the following values: + <ul> + <li>Writer</li> + <li>Calc</li> + <li>Impress</li> + <li>Draw</li> + <li>Math</li> + <li>Base</li> + <li>Startcenter</li> + </ul> + + "Startcenter" will map to the generic "LibreOffice" icon. + + @throws com::sun::star::lang::IllegalArgumentException + When one of the following applies: + <ul> + <li>`category` is empty</li> + <li>`jumpListItems` is empty or contains only items which were removed by the user</li> + <li>`application` is invalid</li> + </ul> + */ + void appendCategory( [in] string category, + [in] sequence<com::sun::star::system::windows::JumpListItem> jumpListItems, + [in] string application ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + /** Delete a jump list category + + @param application + Used to map the jump list to the correct application. Use one of the following values: + <ul> + <li>Writer</li> + <li>Calc</li> + <li>Impress</li> + <li>Draw</li> + <li>Math</li> + <li>Base</li> + <li>Startcenter</li> + </ul> + + "Startcenter" will map to the generic "LibreOffice" icon. + + @throws com::sun::star::lang::IllegalArgumentException + When `application` is invalid + */ + void deleteCategory( [in] string application ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + /** Returns items that were removed from the jump list by the user. + + `appendCategory` will ignore items which were removed by the user before. + Use this method to learn which items were removed by the user. + + @param application + Used to map the jump list to the correct application. Use one of the following values: + <ul> + <li>Writer</li> + <li>Calc</li> + <li>Impress</li> + <li>Draw</li> + <li>Math</li> + <li>Base</li> + <li>Startcenter</li> + </ul> + + "Startcenter" will map to the generic "LibreOffice" icon. + + @return List of removed items. + */ + sequence<com::sun::star::system::windows::JumpListItem> getRemovedItems([in] string application); +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ |