addonsoptions.cxx (5758ad8c) addonsoptions.cxx (fdaa53df)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 66 unchanged lines hidden (view full) ---

75#define PROPERTYNAME_TITLE ADDONSMENUITEM_PROPERTYNAME_TITLE
76#define PROPERTYNAME_TARGET ADDONSMENUITEM_PROPERTYNAME_TARGET
77#define PROPERTYNAME_IMAGEIDENTIFIER ADDONSMENUITEM_PROPERTYNAME_IMAGEIDENTIFIER
78#define PROPERTYNAME_CONTEXT ADDONSMENUITEM_PROPERTYNAME_CONTEXT
79#define PROPERTYNAME_SUBMENU ADDONSMENUITEM_PROPERTYNAME_SUBMENU
80#define PROPERTYNAME_CONTROLTYPE ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE
81#define PROPERTYNAME_WIDTH ADDONSMENUITEM_PROPERTYNAME_WIDTH
82
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 66 unchanged lines hidden (view full) ---

75#define PROPERTYNAME_TITLE ADDONSMENUITEM_PROPERTYNAME_TITLE
76#define PROPERTYNAME_TARGET ADDONSMENUITEM_PROPERTYNAME_TARGET
77#define PROPERTYNAME_IMAGEIDENTIFIER ADDONSMENUITEM_PROPERTYNAME_IMAGEIDENTIFIER
78#define PROPERTYNAME_CONTEXT ADDONSMENUITEM_PROPERTYNAME_CONTEXT
79#define PROPERTYNAME_SUBMENU ADDONSMENUITEM_PROPERTYNAME_SUBMENU
80#define PROPERTYNAME_CONTROLTYPE ADDONSMENUITEM_PROPERTYNAME_CONTROLTYPE
81#define PROPERTYNAME_WIDTH ADDONSMENUITEM_PROPERTYNAME_WIDTH
82
83#define PROPERTYNAME_ALIGN STATUSBARITEM_PROPERTYNAME_ALIGN
84#define PROPERTYNAME_AUTOSIZE STATUSBARITEM_PROPERTYNAME_AUTOSIZE
85#define PROPERTYNAME_OWNERDRAW STATUSBARITEM_PROPERTYNAME_OWNERDRAW
86
83#define PROPERTYNAME_IMAGESMALL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmall" ))
84#define PROPERTYNAME_IMAGEBIG ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBig" ))
85#define PROPERTYNAME_IMAGESMALLHC ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallHC" ))
86#define PROPERTYNAME_IMAGEBIGHC ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigHC" ))
87#define PROPERTYNAME_IMAGESMALL_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallURL" ))
88#define PROPERTYNAME_IMAGEBIG_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigURL" ))
89#define PROPERTYNAME_IMAGESMALLHC_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallHCURL" ))
90#define PROPERTYNAME_IMAGEBIGHC_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigHCURL" ))

--- 12 unchanged lines hidden (view full) ---

103#define PROPERTYNAME_MERGETOOLBAR_TOOLBAR ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeToolBar" ))
104#define PROPERTYNAME_MERGETOOLBAR_MERGEPOINT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergePoint" ))
105#define PROPERTYNAME_MERGETOOLBAR_MERGECOMMAND ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommand" ))
106#define PROPERTYNAME_MERGETOOLBAR_MERGECOMMANDPARAMETER ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommandParameter" ))
107#define PROPERTYNAME_MERGETOOLBAR_MERGEFALLBACK ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeFallback" ))
108#define PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeContext" ))
109#define PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ToolBarItems" ))
110
87#define PROPERTYNAME_IMAGESMALL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmall" ))
88#define PROPERTYNAME_IMAGEBIG ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBig" ))
89#define PROPERTYNAME_IMAGESMALLHC ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallHC" ))
90#define PROPERTYNAME_IMAGEBIGHC ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigHC" ))
91#define PROPERTYNAME_IMAGESMALL_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallURL" ))
92#define PROPERTYNAME_IMAGEBIG_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigURL" ))
93#define PROPERTYNAME_IMAGESMALLHC_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageSmallHCURL" ))
94#define PROPERTYNAME_IMAGEBIGHC_URL ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImageBigHCURL" ))

--- 12 unchanged lines hidden (view full) ---

107#define PROPERTYNAME_MERGETOOLBAR_TOOLBAR ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeToolBar" ))
108#define PROPERTYNAME_MERGETOOLBAR_MERGEPOINT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergePoint" ))
109#define PROPERTYNAME_MERGETOOLBAR_MERGECOMMAND ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommand" ))
110#define PROPERTYNAME_MERGETOOLBAR_MERGECOMMANDPARAMETER ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommandParameter" ))
111#define PROPERTYNAME_MERGETOOLBAR_MERGEFALLBACK ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeFallback" ))
112#define PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeContext" ))
113#define PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ToolBarItems" ))
114
115#define PROPERTYNAME_MERGESTATUSBAR_MERGEPOINT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergePoint" ))
116#define PROPERTYNAME_MERGESTATUSBAR_MERGECOMMAND ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommand" ))
117#define PROPERTYNAME_MERGESTATUSBAR_MERGECOMMANDPARAMETER ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeCommandParameter" ))
118#define PROPERTYNAME_MERGESTATUSBAR_MERGEFALLBACK ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeFallback" ))
119#define PROPERTYNAME_MERGESTATUSBAR_MERGECONTEXT ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("MergeContext" ))
120#define PROPERTYNAME_MERGESTATUSBAR_STATUSBARITEMS ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("StatusBarItems" ))
121
111// The following order is mandatory. Please add properties at the end!
122// The following order is mandatory. Please add properties at the end!
112#define INDEX_URL 0
113#define INDEX_TITLE 1
114#define INDEX_IMAGEIDENTIFIER 2
115#define INDEX_TARGET 3
116#define INDEX_CONTEXT 4
117#define INDEX_SUBMENU 5
118#define INDEX_CONTROLTYPE 6
119#define INDEX_WIDTH 7
120#define PROPERTYCOUNT_INDEX 8
123#define INDEX_URL 0
124#define INDEX_TITLE 1
125#define INDEX_IMAGEIDENTIFIER 2
126#define INDEX_TARGET 3
127#define INDEX_CONTEXT 4
128#define INDEX_SUBMENU 5
129#define INDEX_CONTROLTYPE 6
130#define INDEX_WIDTH 7
131#define INDEX_ALIGN 8
132#define INDEX_AUTOSIZE 9
133#define INDEX_OWNERDRAW 10
134#define PROPERTYCOUNT_INDEX 11
121
122// The following order is mandatory. Please add properties at the end!
123#define PROPERTYCOUNT_MENUITEM 6
124#define OFFSET_MENUITEM_URL 0
125#define OFFSET_MENUITEM_TITLE 1
126#define OFFSET_MENUITEM_IMAGEIDENTIFIER 2
127#define OFFSET_MENUITEM_TARGET 3
128#define OFFSET_MENUITEM_CONTEXT 4

--- 12 unchanged lines hidden (view full) ---

141#define OFFSET_TOOLBARITEM_TITLE 1
142#define OFFSET_TOOLBARITEM_IMAGEIDENTIFIER 2
143#define OFFSET_TOOLBARITEM_TARGET 3
144#define OFFSET_TOOLBARITEM_CONTEXT 4
145#define OFFSET_TOOLBARITEM_CONTROLTYPE 5
146#define OFFSET_TOOLBARITEM_WIDTH 6
147
148// The following order is mandatory. Please add properties at the end!
135
136// The following order is mandatory. Please add properties at the end!
137#define PROPERTYCOUNT_MENUITEM 6
138#define OFFSET_MENUITEM_URL 0
139#define OFFSET_MENUITEM_TITLE 1
140#define OFFSET_MENUITEM_IMAGEIDENTIFIER 2
141#define OFFSET_MENUITEM_TARGET 3
142#define OFFSET_MENUITEM_CONTEXT 4

--- 12 unchanged lines hidden (view full) ---

155#define OFFSET_TOOLBARITEM_TITLE 1
156#define OFFSET_TOOLBARITEM_IMAGEIDENTIFIER 2
157#define OFFSET_TOOLBARITEM_TARGET 3
158#define OFFSET_TOOLBARITEM_CONTEXT 4
159#define OFFSET_TOOLBARITEM_CONTROLTYPE 5
160#define OFFSET_TOOLBARITEM_WIDTH 6
161
162// The following order is mandatory. Please add properties at the end!
163#define PROPERTYCOUNT_STATUSBARITEM 7
164#define OFFSET_STATUSBARITEM_URL 0
165#define OFFSET_STATUSBARITEM_TITLE 1
166#define OFFSET_STATUSBARITEM_CONTEXT 2
167#define OFFSET_STATUSBARITEM_ALIGN 3
168#define OFFSET_STATUSBARITEM_AUTOSIZE 4
169#define OFFSET_STATUSBARITEM_OWNERDRAW 5
170#define OFFSET_STATUSBARITEM_WIDTH 6
171
172
173// The following order is mandatory. Please add properties at the end!
149#define PROPERTYCOUNT_IMAGES 8
150#define PROPERTYCOUNT_EMBEDDED_IMAGES 4
151#define OFFSET_IMAGES_SMALL 0
152#define OFFSET_IMAGES_BIG 1
153#define OFFSET_IMAGES_SMALLHC 2
154#define OFFSET_IMAGES_BIGHC 3
155#define OFFSET_IMAGES_SMALL_URL 4
156#define OFFSET_IMAGES_BIG_URL 5

--- 12 unchanged lines hidden (view full) ---

169#define OFFSET_MERGETOOLBAR_TOOLBAR 0
170#define OFFSET_MERGETOOLBAR_MERGEPOINT 1
171#define OFFSET_MERGETOOLBAR_MERGECOMMAND 2
172#define OFFSET_MERGETOOLBAR_MERGECOMMANDPARAMETER 3
173#define OFFSET_MERGETOOLBAR_MERGEFALLBACK 4
174#define OFFSET_MERGETOOLBAR_MERGECONTEXT 5
175#define OFFSET_MERGETOOLBAR_TOOLBARITEMS 6
176
174#define PROPERTYCOUNT_IMAGES 8
175#define PROPERTYCOUNT_EMBEDDED_IMAGES 4
176#define OFFSET_IMAGES_SMALL 0
177#define OFFSET_IMAGES_BIG 1
178#define OFFSET_IMAGES_SMALLHC 2
179#define OFFSET_IMAGES_BIGHC 3
180#define OFFSET_IMAGES_SMALL_URL 4
181#define OFFSET_IMAGES_BIG_URL 5

--- 12 unchanged lines hidden (view full) ---

194#define OFFSET_MERGETOOLBAR_TOOLBAR 0
195#define OFFSET_MERGETOOLBAR_MERGEPOINT 1
196#define OFFSET_MERGETOOLBAR_MERGECOMMAND 2
197#define OFFSET_MERGETOOLBAR_MERGECOMMANDPARAMETER 3
198#define OFFSET_MERGETOOLBAR_MERGEFALLBACK 4
199#define OFFSET_MERGETOOLBAR_MERGECONTEXT 5
200#define OFFSET_MERGETOOLBAR_TOOLBARITEMS 6
201
202#define PROPERTYCOUNT_MERGE_STATUSBAR 6
203#define OFFSET_MERGESTATUSBAR_MERGEPOINT 0
204#define OFFSET_MERGESTATUSBAR_MERGECOMMAND 1
205#define OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER 2
206#define OFFSET_MERGESTATUSBAR_MERGEFALLBACK 3
207#define OFFSET_MERGESTATUSBAR_MERGECONTEXT 4
208#define OFFSET_MERGESTATUSBAR_STATUSBARITEMS 5
209
177#define EXPAND_PROTOCOL "vnd.sun.star.expand:"
178
179const Size aImageSizeSmall( 16, 16 );
180const Size aImageSizeBig( 26, 26 );
181
182//_________________________________________________________________________________________________________________
183// private declarations!
184//_________________________________________________________________________________________________________________

--- 77 unchanged lines hidden (view full) ---

262 const Sequence< Sequence< PropertyValue > >& GetAddonsMenu () const ;
263 const Sequence< Sequence< PropertyValue > >& GetAddonsMenuBarPart () const ;
264 const Sequence< Sequence< PropertyValue > >& GetAddonsToolBarPart ( sal_uInt32 nIndex ) const ;
265 const ::rtl::OUString GetAddonsToolbarResourceName( sal_uInt32 nIndex ) const;
266 const Sequence< Sequence< PropertyValue > >& GetAddonsHelpMenu () const ;
267 Image GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const;
268 const MergeMenuInstructionContainer& GetMergeMenuInstructions() const;
269 bool GetMergeToolbarInstructions( const ::rtl::OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbarInstructions ) const;
210#define EXPAND_PROTOCOL "vnd.sun.star.expand:"
211
212const Size aImageSizeSmall( 16, 16 );
213const Size aImageSizeBig( 26, 26 );
214
215//_________________________________________________________________________________________________________________
216// private declarations!
217//_________________________________________________________________________________________________________________

--- 77 unchanged lines hidden (view full) ---

295 const Sequence< Sequence< PropertyValue > >& GetAddonsMenu () const ;
296 const Sequence< Sequence< PropertyValue > >& GetAddonsMenuBarPart () const ;
297 const Sequence< Sequence< PropertyValue > >& GetAddonsToolBarPart ( sal_uInt32 nIndex ) const ;
298 const ::rtl::OUString GetAddonsToolbarResourceName( sal_uInt32 nIndex ) const;
299 const Sequence< Sequence< PropertyValue > >& GetAddonsHelpMenu () const ;
300 Image GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const;
301 const MergeMenuInstructionContainer& GetMergeMenuInstructions() const;
302 bool GetMergeToolbarInstructions( const ::rtl::OUString& rToolbarName, MergeToolbarInstructionContainer& rToolbarInstructions ) const;
270
303 const MergeStatusbarInstructionContainer& GetMergeStatusbarInstructions() const;
271 void ReadConfigurationData();
272
273 //-------------------------------------------------------------------------------------------------------------
274 // private methods
275 //-------------------------------------------------------------------------------------------------------------
276
277 private:
278

--- 32 unchanged lines hidden (view full) ---

311 @return A list of configuration key names is returned.
312
313 @onerror -
314 *//*-*****************************************************************************************************/
315
316 sal_Bool ReadAddonMenuSet( Sequence< Sequence< PropertyValue > >& aAddonMenuSeq );
317 sal_Bool ReadOfficeMenuBarSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeMenuBarSeq );
318 sal_Bool ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars, std::vector< rtl::OUString >& rAddonOfficeToolBarResNames );
304 void ReadConfigurationData();
305
306 //-------------------------------------------------------------------------------------------------------------
307 // private methods
308 //-------------------------------------------------------------------------------------------------------------
309
310 private:
311

--- 32 unchanged lines hidden (view full) ---

344 @return A list of configuration key names is returned.
345
346 @onerror -
347 *//*-*****************************************************************************************************/
348
349 sal_Bool ReadAddonMenuSet( Sequence< Sequence< PropertyValue > >& aAddonMenuSeq );
350 sal_Bool ReadOfficeMenuBarSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeMenuBarSeq );
351 sal_Bool ReadOfficeToolBarSet( AddonToolBars& rAddonOfficeToolBars, std::vector< rtl::OUString >& rAddonOfficeToolBarResNames );
319 sal_Bool ReadToolBarItemSet( const rtl::OUString rToolBarItemSetNodeName, Sequence< Sequence< PropertyValue > >& aAddonOfficeToolBarSeq );
352 sal_Bool ReadToolBarItemSet( const rtl::OUString rToolBarItemSetNodeName, Sequence< Sequence< PropertyValue > >& aAddonOfficeToolBarSeq );
320 sal_Bool ReadOfficeHelpSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeHelpMenuSeq );
321 sal_Bool ReadImages( ImageManager& aImageManager );
322 sal_Bool ReadMenuMergeInstructions( MergeMenuInstructionContainer& rContainer );
323 sal_Bool ReadToolbarMergeInstructions( ToolbarMergingInstructions& rToolbarMergeMap );
353 sal_Bool ReadOfficeHelpSet( Sequence< Sequence< PropertyValue > >& aAddonOfficeHelpMenuSeq );
354 sal_Bool ReadImages( ImageManager& aImageManager );
355 sal_Bool ReadMenuMergeInstructions( MergeMenuInstructionContainer& rContainer );
356 sal_Bool ReadToolbarMergeInstructions( ToolbarMergingInstructions& rToolbarMergeMap );
357 sal_Bool ReadStatusbarMergeInstructions( MergeStatusbarInstructionContainer& rContainer );
324
325 sal_Bool ReadMergeMenuData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeMenu );
326 sal_Bool ReadMergeToolbarData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeToolbarItems );
358
359 sal_Bool ReadMergeMenuData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeMenu );
360 sal_Bool ReadMergeToolbarData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeToolbarItems );
361 sal_Bool ReadMergeStatusbarData( const ::rtl::OUString& aMergeAddonInstructionBase, Sequence< Sequence< PropertyValue > >& rMergeStatusbar );
327 sal_Bool ReadMenuItem( const ::rtl::OUString& aMenuItemNodeName, Sequence< PropertyValue >& aMenuItem, sal_Bool bIgnoreSubMenu = sal_False );
328 sal_Bool ReadPopupMenu( const ::rtl::OUString& aPopupMenuNodeName, Sequence< PropertyValue >& aPopupMenu );
329 sal_Bool AppendPopupMenu( Sequence< PropertyValue >& aTargetPopupMenu, const Sequence< PropertyValue >& rSourcePopupMenu );
330 sal_Bool ReadToolBarItem( const ::rtl::OUString& aToolBarItemNodeName, Sequence< PropertyValue >& aToolBarItem );
362 sal_Bool ReadMenuItem( const ::rtl::OUString& aMenuItemNodeName, Sequence< PropertyValue >& aMenuItem, sal_Bool bIgnoreSubMenu = sal_False );
363 sal_Bool ReadPopupMenu( const ::rtl::OUString& aPopupMenuNodeName, Sequence< PropertyValue >& aPopupMenu );
364 sal_Bool AppendPopupMenu( Sequence< PropertyValue >& aTargetPopupMenu, const Sequence< PropertyValue >& rSourcePopupMenu );
365 sal_Bool ReadToolBarItem( const ::rtl::OUString& aToolBarItemNodeName, Sequence< PropertyValue >& aToolBarItem );
366 sal_Bool ReadStatusBarItem( const ::rtl::OUString& aStatusbarItemNodeName, Sequence< PropertyValue >& aStatusbarItem );
331 sal_Bool ReadImagesItem( const ::rtl::OUString& aImagesItemNodeName, Sequence< PropertyValue >& aImagesItem );
332 ImageEntry* ReadImageData( const ::rtl::OUString& aImagesNodeName );
333 void ReadAndAssociateImages( const ::rtl::OUString& aURL, const ::rtl::OUString& aImageId );
334 void ReadImageFromURL( ImageSize nImageSize, const ::rtl::OUString& aURL, Image& aImage, Image& aNoScaleImage );
335 sal_Bool HasAssociatedImages( const ::rtl::OUString& aURL );
336 void SubstituteVariables( ::rtl::OUString& aURL );
337
338 sal_Bool ReadSubMenuEntries( const Sequence< ::rtl::OUString >& aSubMenuNodeNames, Sequence< Sequence< PropertyValue > >& rSubMenu );
339 void InsertToolBarSeparator( Sequence< Sequence< PropertyValue > >& rAddonOfficeToolBarSeq );
340 ::rtl::OUString GeneratePrefixURL();
341
342 Sequence< ::rtl::OUString > GetPropertyNamesMergeMenuInstruction( const ::rtl::OUString& aPropertyRootName ) const;
343 Sequence< ::rtl::OUString > GetPropertyNamesMenuItem( const ::rtl::OUString& aPropertyRootNode ) const;
344 Sequence< ::rtl::OUString > GetPropertyNamesPopupMenu( const ::rtl::OUString& aPropertyRootNode ) const;
345 Sequence< ::rtl::OUString > GetPropertyNamesToolBarItem( const ::rtl::OUString& aPropertyRootNode ) const;
367 sal_Bool ReadImagesItem( const ::rtl::OUString& aImagesItemNodeName, Sequence< PropertyValue >& aImagesItem );
368 ImageEntry* ReadImageData( const ::rtl::OUString& aImagesNodeName );
369 void ReadAndAssociateImages( const ::rtl::OUString& aURL, const ::rtl::OUString& aImageId );
370 void ReadImageFromURL( ImageSize nImageSize, const ::rtl::OUString& aURL, Image& aImage, Image& aNoScaleImage );
371 sal_Bool HasAssociatedImages( const ::rtl::OUString& aURL );
372 void SubstituteVariables( ::rtl::OUString& aURL );
373
374 sal_Bool ReadSubMenuEntries( const Sequence< ::rtl::OUString >& aSubMenuNodeNames, Sequence< Sequence< PropertyValue > >& rSubMenu );
375 void InsertToolBarSeparator( Sequence< Sequence< PropertyValue > >& rAddonOfficeToolBarSeq );
376 ::rtl::OUString GeneratePrefixURL();
377
378 Sequence< ::rtl::OUString > GetPropertyNamesMergeMenuInstruction( const ::rtl::OUString& aPropertyRootName ) const;
379 Sequence< ::rtl::OUString > GetPropertyNamesMenuItem( const ::rtl::OUString& aPropertyRootNode ) const;
380 Sequence< ::rtl::OUString > GetPropertyNamesPopupMenu( const ::rtl::OUString& aPropertyRootNode ) const;
381 Sequence< ::rtl::OUString > GetPropertyNamesToolBarItem( const ::rtl::OUString& aPropertyRootNode ) const;
382 Sequence< ::rtl::OUString > GetPropertyNamesStatusbarItem( const ::rtl::OUString& aPropertyRootNode ) const;
346 Sequence< ::rtl::OUString > GetPropertyNamesImages( const ::rtl::OUString& aPropertyRootNode ) const;
347 sal_Bool CreateImageFromSequence( Image& rImage, sal_Bool bBig, Sequence< sal_Int8 >& rBitmapDataSeq ) const;
348
349 //-------------------------------------------------------------------------------------------------------------
350 // private member
351 //-------------------------------------------------------------------------------------------------------------
352
353 private:
354 ImageEntry* ReadOptionalImageData( const ::rtl::OUString& aMenuNodeName );
355
356 sal_Int32 m_nRootAddonPopupMenuId;
357 ::rtl::OUString m_aPropNames[PROPERTYCOUNT_INDEX];
358 ::rtl::OUString m_aPropImagesNames[PROPERTYCOUNT_IMAGES];
359 ::rtl::OUString m_aPropMergeMenuNames[PROPERTYCOUNT_MERGE_MENUBAR];
360 ::rtl::OUString m_aPropMergeToolbarNames[PROPERTYCOUNT_MERGE_TOOLBAR];
383 Sequence< ::rtl::OUString > GetPropertyNamesImages( const ::rtl::OUString& aPropertyRootNode ) const;
384 sal_Bool CreateImageFromSequence( Image& rImage, sal_Bool bBig, Sequence< sal_Int8 >& rBitmapDataSeq ) const;
385
386 //-------------------------------------------------------------------------------------------------------------
387 // private member
388 //-------------------------------------------------------------------------------------------------------------
389
390 private:
391 ImageEntry* ReadOptionalImageData( const ::rtl::OUString& aMenuNodeName );
392
393 sal_Int32 m_nRootAddonPopupMenuId;
394 ::rtl::OUString m_aPropNames[PROPERTYCOUNT_INDEX];
395 ::rtl::OUString m_aPropImagesNames[PROPERTYCOUNT_IMAGES];
396 ::rtl::OUString m_aPropMergeMenuNames[PROPERTYCOUNT_MERGE_MENUBAR];
397 ::rtl::OUString m_aPropMergeToolbarNames[PROPERTYCOUNT_MERGE_TOOLBAR];
398 ::rtl::OUString m_aPropMergeStatusbarNames[PROPERTYCOUNT_MERGE_STATUSBAR];
361 ::rtl::OUString m_aEmpty;
362 ::rtl::OUString m_aPathDelimiter;
363 ::rtl::OUString m_aSeparator;
364 ::rtl::OUString m_aRootAddonPopupMenuURLPrexfix;
365 ::rtl::OUString m_aPrivateImageURL;
366 Sequence< Sequence< PropertyValue > > m_aCachedMenuProperties;
367 Sequence< Sequence< PropertyValue > > m_aCachedMenuBarPartProperties;
368 AddonToolBars m_aCachedToolBarPartProperties;
369 std::vector< rtl::OUString > m_aCachedToolBarPartResourceNames;
370 Sequence< Sequence< PropertyValue > > m_aCachedHelpMenuProperties;
371 Reference< com::sun::star::util::XMacroExpander > m_xMacroExpander;
372 ImageManager m_aImageManager;
373 Sequence< Sequence< PropertyValue > > m_aEmptyAddonToolBar;
374 MergeMenuInstructionContainer m_aCachedMergeMenuInsContainer;
375 ToolbarMergingInstructions m_aCachedToolbarMergingInstructions;
399 ::rtl::OUString m_aEmpty;
400 ::rtl::OUString m_aPathDelimiter;
401 ::rtl::OUString m_aSeparator;
402 ::rtl::OUString m_aRootAddonPopupMenuURLPrexfix;
403 ::rtl::OUString m_aPrivateImageURL;
404 Sequence< Sequence< PropertyValue > > m_aCachedMenuProperties;
405 Sequence< Sequence< PropertyValue > > m_aCachedMenuBarPartProperties;
406 AddonToolBars m_aCachedToolBarPartProperties;
407 std::vector< rtl::OUString > m_aCachedToolBarPartResourceNames;
408 Sequence< Sequence< PropertyValue > > m_aCachedHelpMenuProperties;
409 Reference< com::sun::star::util::XMacroExpander > m_xMacroExpander;
410 ImageManager m_aImageManager;
411 Sequence< Sequence< PropertyValue > > m_aEmptyAddonToolBar;
412 MergeMenuInstructionContainer m_aCachedMergeMenuInsContainer;
413 ToolbarMergingInstructions m_aCachedToolbarMergingInstructions;
414 MergeStatusbarInstructionContainer m_aCachedStatusbarMergingInstructions;
376};
377
378//_________________________________________________________________________________________________________________
379// definitions
380//_________________________________________________________________________________________________________________
381
382//*****************************************************************************************************************
383// constructor

--- 11 unchanged lines hidden (view full) ---

395 m_aPropNames[ INDEX_URL ] = PROPERTYNAME_URL;
396 m_aPropNames[ INDEX_TITLE ] = PROPERTYNAME_TITLE;
397 m_aPropNames[ INDEX_TARGET ] = PROPERTYNAME_TARGET;
398 m_aPropNames[ INDEX_IMAGEIDENTIFIER ] = PROPERTYNAME_IMAGEIDENTIFIER;
399 m_aPropNames[ INDEX_CONTEXT ] = PROPERTYNAME_CONTEXT;
400 m_aPropNames[ INDEX_SUBMENU ] = PROPERTYNAME_SUBMENU; // Submenu set!
401 m_aPropNames[ INDEX_CONTROLTYPE ] = PROPERTYNAME_CONTROLTYPE;
402 m_aPropNames[ INDEX_WIDTH ] = PROPERTYNAME_WIDTH;
415};
416
417//_________________________________________________________________________________________________________________
418// definitions
419//_________________________________________________________________________________________________________________
420
421//*****************************************************************************************************************
422// constructor

--- 11 unchanged lines hidden (view full) ---

434 m_aPropNames[ INDEX_URL ] = PROPERTYNAME_URL;
435 m_aPropNames[ INDEX_TITLE ] = PROPERTYNAME_TITLE;
436 m_aPropNames[ INDEX_TARGET ] = PROPERTYNAME_TARGET;
437 m_aPropNames[ INDEX_IMAGEIDENTIFIER ] = PROPERTYNAME_IMAGEIDENTIFIER;
438 m_aPropNames[ INDEX_CONTEXT ] = PROPERTYNAME_CONTEXT;
439 m_aPropNames[ INDEX_SUBMENU ] = PROPERTYNAME_SUBMENU; // Submenu set!
440 m_aPropNames[ INDEX_CONTROLTYPE ] = PROPERTYNAME_CONTROLTYPE;
441 m_aPropNames[ INDEX_WIDTH ] = PROPERTYNAME_WIDTH;
442 m_aPropNames[ INDEX_ALIGN ] = PROPERTYNAME_ALIGN;
443 m_aPropNames[ INDEX_AUTOSIZE ] = PROPERTYNAME_AUTOSIZE;
444 m_aPropNames[ INDEX_OWNERDRAW ] = PROPERTYNAME_OWNERDRAW;
403
404 // initialize array with fixed images property names
405 m_aPropImagesNames[ OFFSET_IMAGES_SMALL ] = PROPERTYNAME_IMAGESMALL;
406 m_aPropImagesNames[ OFFSET_IMAGES_BIG ] = PROPERTYNAME_IMAGEBIG;
407 m_aPropImagesNames[ OFFSET_IMAGES_SMALLHC ] = PROPERTYNAME_IMAGESMALLHC;
408 m_aPropImagesNames[ OFFSET_IMAGES_BIGHC ] = PROPERTYNAME_IMAGEBIGHC;
409 m_aPropImagesNames[ OFFSET_IMAGES_SMALL_URL ] = PROPERTYNAME_IMAGESMALL_URL;
410 m_aPropImagesNames[ OFFSET_IMAGES_BIG_URL ] = PROPERTYNAME_IMAGEBIG_URL;

--- 11 unchanged lines hidden (view full) ---

422 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBAR ] = PROPERTYNAME_MERGETOOLBAR_TOOLBAR;
423 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGEPOINT ] = PROPERTYNAME_MERGETOOLBAR_MERGEPOINT;
424 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECOMMAND ] = PROPERTYNAME_MERGETOOLBAR_MERGECOMMAND;
425 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECOMMANDPARAMETER ] = PROPERTYNAME_MERGETOOLBAR_MERGECOMMANDPARAMETER;
426 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGEFALLBACK ] = PROPERTYNAME_MERGETOOLBAR_MERGEFALLBACK;
427 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECONTEXT ] = PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT;
428 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBARITEMS ] = PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS;
429
445
446 // initialize array with fixed images property names
447 m_aPropImagesNames[ OFFSET_IMAGES_SMALL ] = PROPERTYNAME_IMAGESMALL;
448 m_aPropImagesNames[ OFFSET_IMAGES_BIG ] = PROPERTYNAME_IMAGEBIG;
449 m_aPropImagesNames[ OFFSET_IMAGES_SMALLHC ] = PROPERTYNAME_IMAGESMALLHC;
450 m_aPropImagesNames[ OFFSET_IMAGES_BIGHC ] = PROPERTYNAME_IMAGEBIGHC;
451 m_aPropImagesNames[ OFFSET_IMAGES_SMALL_URL ] = PROPERTYNAME_IMAGESMALL_URL;
452 m_aPropImagesNames[ OFFSET_IMAGES_BIG_URL ] = PROPERTYNAME_IMAGEBIG_URL;

--- 11 unchanged lines hidden (view full) ---

464 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBAR ] = PROPERTYNAME_MERGETOOLBAR_TOOLBAR;
465 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGEPOINT ] = PROPERTYNAME_MERGETOOLBAR_MERGEPOINT;
466 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECOMMAND ] = PROPERTYNAME_MERGETOOLBAR_MERGECOMMAND;
467 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECOMMANDPARAMETER ] = PROPERTYNAME_MERGETOOLBAR_MERGECOMMANDPARAMETER;
468 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGEFALLBACK ] = PROPERTYNAME_MERGETOOLBAR_MERGEFALLBACK;
469 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_MERGECONTEXT ] = PROPERTYNAME_MERGETOOLBAR_MERGECONTEXT;
470 m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBARITEMS ] = PROPERTYNAME_MERGETOOLBAR_TOOLBARITEMS;
471
472 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGEPOINT ] = PROPERTYNAME_MERGESTATUSBAR_MERGEPOINT;
473 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECOMMAND ] = PROPERTYNAME_MERGESTATUSBAR_MERGECOMMAND;
474 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER ] = PROPERTYNAME_MERGESTATUSBAR_MERGECOMMANDPARAMETER;
475 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGEFALLBACK ] = PROPERTYNAME_MERGESTATUSBAR_MERGEFALLBACK;
476 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_MERGECONTEXT ] = PROPERTYNAME_MERGESTATUSBAR_MERGECONTEXT;
477 m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_STATUSBARITEMS ] = PROPERTYNAME_MERGESTATUSBAR_STATUSBARITEMS;
478
430 Reference< XComponentContext > xContext;
431 Reference< com::sun::star::beans::XPropertySet > xProps( ::comphelper::getProcessServiceFactory(), UNO_QUERY );
432 xProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))) >>= xContext;
433 if ( xContext.is() )
434 {
435 m_xMacroExpander = Reference< com::sun::star::util::XMacroExpander >( xContext->getValueByName(
436 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/singletons/com.sun.star.util.theMacroExpander"))),
437 UNO_QUERY );

--- 28 unchanged lines hidden (view full) ---

466 m_aCachedToolBarPartProperties = AddonToolBars();
467 m_aCachedHelpMenuProperties = Sequence< Sequence< PropertyValue > >();
468 m_aCachedToolBarPartResourceNames.clear();
469 m_aImageManager = ImageManager();
470
471 ReadAddonMenuSet( m_aCachedMenuProperties );
472 ReadOfficeMenuBarSet( m_aCachedMenuBarPartProperties );
473 ReadOfficeToolBarSet( m_aCachedToolBarPartProperties, m_aCachedToolBarPartResourceNames );
479 Reference< XComponentContext > xContext;
480 Reference< com::sun::star::beans::XPropertySet > xProps( ::comphelper::getProcessServiceFactory(), UNO_QUERY );
481 xProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" ))) >>= xContext;
482 if ( xContext.is() )
483 {
484 m_xMacroExpander = Reference< com::sun::star::util::XMacroExpander >( xContext->getValueByName(
485 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/singletons/com.sun.star.util.theMacroExpander"))),
486 UNO_QUERY );

--- 28 unchanged lines hidden (view full) ---

515 m_aCachedToolBarPartProperties = AddonToolBars();
516 m_aCachedHelpMenuProperties = Sequence< Sequence< PropertyValue > >();
517 m_aCachedToolBarPartResourceNames.clear();
518 m_aImageManager = ImageManager();
519
520 ReadAddonMenuSet( m_aCachedMenuProperties );
521 ReadOfficeMenuBarSet( m_aCachedMenuBarPartProperties );
522 ReadOfficeToolBarSet( m_aCachedToolBarPartProperties, m_aCachedToolBarPartResourceNames );
523
474 ReadOfficeHelpSet( m_aCachedHelpMenuProperties );
475 ReadImages( m_aImageManager );
476
477 m_aCachedMergeMenuInsContainer.clear();
478 m_aCachedToolbarMergingInstructions.clear();
524 ReadOfficeHelpSet( m_aCachedHelpMenuProperties );
525 ReadImages( m_aImageManager );
526
527 m_aCachedMergeMenuInsContainer.clear();
528 m_aCachedToolbarMergingInstructions.clear();
529 m_aCachedStatusbarMergingInstructions.clear();
479
480 ReadMenuMergeInstructions( m_aCachedMergeMenuInsContainer );
481 ReadToolbarMergeInstructions( m_aCachedToolbarMergingInstructions );
530
531 ReadMenuMergeInstructions( m_aCachedMergeMenuInsContainer );
532 ReadToolbarMergeInstructions( m_aCachedToolbarMergingInstructions );
533 ReadStatusbarMergeInstructions( m_aCachedStatusbarMergingInstructions );
482}
483
484//*****************************************************************************************************************
485// public method
486//*****************************************************************************************************************
487void AddonsOptions_Impl::Notify( const Sequence< ::rtl::OUString >& /*lPropertyNames*/ )
488{
489 Application::PostUserEvent( STATIC_LINK( 0, AddonsOptions, Notify ) );

--- 97 unchanged lines hidden (view full) ---

587 {
588 rToolbarInstructions = pIter->second;
589 return true;
590 }
591 else
592 return false;
593}
594
534}
535
536//*****************************************************************************************************************
537// public method
538//*****************************************************************************************************************
539void AddonsOptions_Impl::Notify( const Sequence< ::rtl::OUString >& /*lPropertyNames*/ )
540{
541 Application::PostUserEvent( STATIC_LINK( 0, AddonsOptions, Notify ) );

--- 97 unchanged lines hidden (view full) ---

639 {
640 rToolbarInstructions = pIter->second;
641 return true;
642 }
643 else
644 return false;
645}
646
647const MergeStatusbarInstructionContainer& AddonsOptions_Impl::GetMergeStatusbarInstructions() const
648{
649 return m_aCachedStatusbarMergingInstructions;
650}
651
595//*****************************************************************************************************************
596// public method
597//*****************************************************************************************************************
598Image AddonsOptions_Impl::GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const
599{
600 Image aImage;
601
602 ImageManager::const_iterator pIter = m_aImageManager.find( aURL );

--- 239 unchanged lines hidden (view full) ---

842 aToolBarItem[ OFFSET_TOOLBARITEM_IMAGEIDENTIFIER ].Value <<= m_aEmpty;
843 aToolBarItem[ OFFSET_TOOLBARITEM_CONTEXT ].Value <<= m_aEmpty;
844
845 sal_uInt32 nToolBarItemCount = rAddonOfficeToolBarSeq.getLength();
846 rAddonOfficeToolBarSeq.realloc( nToolBarItemCount+1 );
847 rAddonOfficeToolBarSeq[nToolBarItemCount] = aToolBarItem;
848}
849
652//*****************************************************************************************************************
653// public method
654//*****************************************************************************************************************
655Image AddonsOptions_Impl::GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const
656{
657 Image aImage;
658
659 ImageManager::const_iterator pIter = m_aImageManager.find( aURL );

--- 239 unchanged lines hidden (view full) ---

899 aToolBarItem[ OFFSET_TOOLBARITEM_IMAGEIDENTIFIER ].Value <<= m_aEmpty;
900 aToolBarItem[ OFFSET_TOOLBARITEM_CONTEXT ].Value <<= m_aEmpty;
901
902 sal_uInt32 nToolBarItemCount = rAddonOfficeToolBarSeq.getLength();
903 rAddonOfficeToolBarSeq.realloc( nToolBarItemCount+1 );
904 rAddonOfficeToolBarSeq[nToolBarItemCount] = aToolBarItem;
905}
906
907
850//*****************************************************************************************************************
851// private method
852//*****************************************************************************************************************
853sal_Bool AddonsOptions_Impl::ReadImages( ImageManager& aImageManager )
854{
855 // Read the user-defined Images set and fill image manager
856 ::rtl::OUString aAddonImagesNodeName( RTL_CONSTASCII_USTRINGPARAM( "AddonUI/Images" ));
857 Sequence< ::rtl::OUString > aAddonImagesNodeSeq = GetNodeNames( aAddonImagesNodeName );

--- 231 unchanged lines hidden (view full) ---

1089 ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
1090 aBuffer.append( m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBARITEMS ] );
1091
1092 ::rtl::OUString aMergeToolbarBaseNode = aBuffer.makeStringAndClear();
1093
1094 return ReadToolBarItemSet( aMergeToolbarBaseNode, rMergeToolbarItems );
1095}
1096
908//*****************************************************************************************************************
909// private method
910//*****************************************************************************************************************
911sal_Bool AddonsOptions_Impl::ReadImages( ImageManager& aImageManager )
912{
913 // Read the user-defined Images set and fill image manager
914 ::rtl::OUString aAddonImagesNodeName( RTL_CONSTASCII_USTRINGPARAM( "AddonUI/Images" ));
915 Sequence< ::rtl::OUString > aAddonImagesNodeSeq = GetNodeNames( aAddonImagesNodeName );

--- 231 unchanged lines hidden (view full) ---

1147 ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
1148 aBuffer.append( m_aPropMergeToolbarNames[ OFFSET_MERGETOOLBAR_TOOLBARITEMS ] );
1149
1150 ::rtl::OUString aMergeToolbarBaseNode = aBuffer.makeStringAndClear();
1151
1152 return ReadToolBarItemSet( aMergeToolbarBaseNode, rMergeToolbarItems );
1153}
1154
1155
1156sal_Bool AddonsOptions_Impl::ReadStatusbarMergeInstructions( MergeStatusbarInstructionContainer& aContainer )
1157{
1158 const ::rtl::OUString aStatusbarMergeRootName( RTL_CONSTASCII_USTRINGPARAM( "AddonUI/OfficeStatusbarMerging/" ));
1159
1160 Sequence< ::rtl::OUString > aAddonMergeNodesSeq = GetNodeNames( aStatusbarMergeRootName );
1161 ::rtl::OUString aAddonMergeNode( aStatusbarMergeRootName );
1162 sal_uInt32 nCount = aAddonMergeNodesSeq.getLength();
1163
1164 Sequence< ::rtl::OUString > aNodePropNames( 5 );
1165 ::rtl::OUString aURL;
1166
1167 for ( sal_uInt32 i = 0; i < nCount; i++ )
1168 {
1169 ::rtl::OUString aMergeAddonInstructions( aAddonMergeNode + aAddonMergeNodesSeq[i] );
1170
1171 Sequence< ::rtl::OUString > aAddonInstMergeNodesSeq = GetNodeNames( aMergeAddonInstructions );
1172 sal_uInt32 nCountAddons = aAddonInstMergeNodesSeq.getLength();
1173
1174 for ( sal_uInt32 j = 0; j < nCountAddons; j++ )
1175 {
1176 ::rtl::OUStringBuffer aMergeAddonInstructionBase( aMergeAddonInstructions );
1177 aMergeAddonInstructionBase.append( m_aPathDelimiter );
1178 aMergeAddonInstructionBase.append( aAddonInstMergeNodesSeq[j] );
1179 aMergeAddonInstructionBase.append( m_aPathDelimiter );
1180
1181 // Create sequence for data access
1182 ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
1183 aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGEPOINT ] );
1184 aNodePropNames[0] = aBuffer.makeStringAndClear();
1185
1186 aBuffer = aMergeAddonInstructionBase;
1187 aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECOMMAND ] );
1188 aNodePropNames[1] = aBuffer.makeStringAndClear();
1189
1190 aBuffer = aMergeAddonInstructionBase;
1191 aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECOMMANDPARAMETER ] );
1192 aNodePropNames[2] = aBuffer.makeStringAndClear();
1193
1194 aBuffer = aMergeAddonInstructionBase;
1195 aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGEFALLBACK ] );
1196 aNodePropNames[3] = aBuffer.makeStringAndClear();
1197
1198 aBuffer = aMergeAddonInstructionBase;
1199 aBuffer.append( m_aPropMergeMenuNames[ OFFSET_MERGESTATUSBAR_MERGECONTEXT ] );
1200 aNodePropNames[4] = aBuffer.makeStringAndClear();
1201
1202 Sequence< Any > aNodePropValues = GetProperties( aNodePropNames );
1203
1204 MergeStatusbarInstruction aMergeStatusbarInstruction;
1205 aNodePropValues[0] >>= aMergeStatusbarInstruction.aMergePoint;
1206 aNodePropValues[1] >>= aMergeStatusbarInstruction.aMergeCommand;
1207 aNodePropValues[2] >>= aMergeStatusbarInstruction.aMergeCommandParameter;
1208 aNodePropValues[3] >>= aMergeStatusbarInstruction.aMergeFallback;
1209 aNodePropValues[4] >>= aMergeStatusbarInstruction.aMergeContext;
1210
1211 ReadMergeStatusbarData( aMergeAddonInstructionBase.makeStringAndClear(),
1212 aMergeStatusbarInstruction.aMergeStatusbarItems );
1213
1214 aContainer.push_back( aMergeStatusbarInstruction );
1215 }
1216 }
1217
1218 return sal_True;
1219}
1220
1221sal_Bool AddonsOptions_Impl::ReadMergeStatusbarData(
1222 const ::rtl::OUString& aMergeAddonInstructionBase,
1223 Sequence< Sequence< PropertyValue > >& rMergeStatusbarItems )
1224{
1225 sal_uInt32 nStatusbarItemCount = rMergeStatusbarItems.getLength();
1226
1227 ::rtl::OUStringBuffer aBuffer( aMergeAddonInstructionBase );
1228 aBuffer.append( m_aPropMergeStatusbarNames[ OFFSET_MERGESTATUSBAR_STATUSBARITEMS ] );
1229 ::rtl::OUString aMergeStatusbarBaseNode = aBuffer.makeStringAndClear();
1230
1231 ::rtl::OUString aAddonStatusbarItemSetNode( aMergeStatusbarBaseNode + m_aPathDelimiter );
1232 Sequence< ::rtl::OUString > aAddonStatusbarItemSetNodeSeq = GetNodeNames( aMergeStatusbarBaseNode );
1233
1234 Sequence< PropertyValue > aStatusbarItem( PROPERTYCOUNT_STATUSBARITEM );
1235 aStatusbarItem[ OFFSET_STATUSBARITEM_URL ].Name = m_aPropNames[ INDEX_URL ];
1236 aStatusbarItem[ OFFSET_STATUSBARITEM_TITLE ].Name = m_aPropNames[ INDEX_TITLE ];
1237 aStatusbarItem[ OFFSET_STATUSBARITEM_CONTEXT ].Name = m_aPropNames[ INDEX_CONTEXT ];
1238 aStatusbarItem[ OFFSET_STATUSBARITEM_ALIGN ].Name = m_aPropNames[ INDEX_ALIGN ];
1239 aStatusbarItem[ OFFSET_STATUSBARITEM_AUTOSIZE ].Name = m_aPropNames[ INDEX_AUTOSIZE ];
1240 aStatusbarItem[ OFFSET_STATUSBARITEM_OWNERDRAW ].Name = m_aPropNames[ INDEX_OWNERDRAW ];
1241 aStatusbarItem[ OFFSET_STATUSBARITEM_WIDTH ].Name = m_aPropNames[ INDEX_WIDTH ];
1242
1243 sal_uInt32 nCount = aAddonStatusbarItemSetNodeSeq.getLength();
1244 for ( sal_uInt32 n = 0; n < nCount; n++ )
1245 {
1246 ::rtl::OUString aStatusbarItemNode( aAddonStatusbarItemSetNode + aAddonStatusbarItemSetNodeSeq[n] );
1247
1248 if ( ReadStatusBarItem( aStatusbarItemNode, aStatusbarItem ) )
1249 {
1250 sal_uInt32 nAddonCount = rMergeStatusbarItems.getLength();
1251 rMergeStatusbarItems.realloc( nAddonCount+1 );
1252 rMergeStatusbarItems[nAddonCount] = aStatusbarItem;
1253 }
1254 }
1255
1256 return ( (sal_uInt32)rMergeStatusbarItems.getLength() > nStatusbarItemCount );
1257}
1258
1259sal_Bool AddonsOptions_Impl::ReadStatusBarItem(
1260 const ::rtl::OUString& aStatusarItemNodeName,
1261 Sequence< PropertyValue >& aStatusbarItem )
1262{
1263 sal_Bool bResult( sal_False );
1264 ::rtl::OUString aURL;
1265 ::rtl::OUString aAddonStatusbarItemTreeNode( aStatusarItemNodeName + m_aPathDelimiter );
1266 Sequence< Any > aStatusbarItemNodePropValues;
1267
1268 aStatusbarItemNodePropValues = GetProperties( GetPropertyNamesStatusbarItem( aAddonStatusbarItemTreeNode ) );
1269
1270 // Command URL is required
1271 if (( aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_URL ] >>= aURL ) && aURL.getLength() > 0 )
1272 {
1273 aStatusbarItem[ OFFSET_STATUSBARITEM_URL ].Value <<= aURL;
1274 aStatusbarItem[ OFFSET_STATUSBARITEM_TITLE ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_TITLE ];
1275 aStatusbarItem[ OFFSET_STATUSBARITEM_CONTEXT ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_CONTEXT ];
1276 aStatusbarItem[ OFFSET_STATUSBARITEM_ALIGN ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_ALIGN ];
1277 aStatusbarItem[ OFFSET_STATUSBARITEM_AUTOSIZE ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_AUTOSIZE ];;
1278 aStatusbarItem[ OFFSET_STATUSBARITEM_OWNERDRAW ].Value <<= aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_OWNERDRAW ];
1279
1280 // Configuration uses hyper for long. Therefore transform into sal_Int32
1281 sal_Int64 nValue( 0 );
1282 aStatusbarItemNodePropValues[ OFFSET_STATUSBARITEM_WIDTH ] >>= nValue;
1283 aStatusbarItem[ OFFSET_STATUSBARITEM_WIDTH ].Value <<= sal_Int32( nValue );
1284
1285 bResult = sal_True;
1286 }
1287
1288 return bResult;
1289}
1290
1097//*****************************************************************************************************************
1098// private method
1099//*****************************************************************************************************************
1100sal_Bool AddonsOptions_Impl::ReadMenuItem( const ::rtl::OUString& aMenuNodeName, Sequence< PropertyValue >& aMenuItem, sal_Bool bIgnoreSubMenu )
1101{
1102 sal_Bool bResult = sal_False;
1103 ::rtl::OUString aStrValue;
1104 ::rtl::OUString aAddonMenuItemTreeNode( aMenuNodeName + m_aPathDelimiter );

--- 524 unchanged lines hidden (view full) ---

1629 lResult[3] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TARGET ] );
1630 lResult[4] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTEXT ] );
1631 lResult[5] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTROLTYPE ] );
1632 lResult[6] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_WIDTH ] );
1633
1634 return lResult;
1635}
1636
1291//*****************************************************************************************************************
1292// private method
1293//*****************************************************************************************************************
1294sal_Bool AddonsOptions_Impl::ReadMenuItem( const ::rtl::OUString& aMenuNodeName, Sequence< PropertyValue >& aMenuItem, sal_Bool bIgnoreSubMenu )
1295{
1296 sal_Bool bResult = sal_False;
1297 ::rtl::OUString aStrValue;
1298 ::rtl::OUString aAddonMenuItemTreeNode( aMenuNodeName + m_aPathDelimiter );

--- 524 unchanged lines hidden (view full) ---

1823 lResult[3] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TARGET ] );
1824 lResult[4] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTEXT ] );
1825 lResult[5] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTROLTYPE ] );
1826 lResult[6] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_WIDTH ] );
1827
1828 return lResult;
1829}
1830
1831Sequence< ::rtl::OUString > AddonsOptions_Impl::GetPropertyNamesStatusbarItem(
1832 const ::rtl::OUString& aPropertyRootNode ) const
1833{
1834 Sequence< ::rtl::OUString > lResult( PROPERTYCOUNT_STATUSBARITEM );
1835
1836 lResult[0] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_URL ] );
1837 lResult[1] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_TITLE ] );
1838 lResult[2] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_CONTEXT ] );
1839 lResult[3] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_ALIGN ] );
1840 lResult[4] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_AUTOSIZE ] );
1841 lResult[5] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_OWNERDRAW ] );
1842 lResult[6] = ::rtl::OUString( aPropertyRootNode + m_aPropNames[ INDEX_WIDTH ] );
1843
1844 return lResult;
1845}
1846
1637//*****************************************************************************************************************
1638// private method
1639//*****************************************************************************************************************
1640Sequence< ::rtl::OUString > AddonsOptions_Impl::GetPropertyNamesImages( const ::rtl::OUString& aPropertyRootNode ) const
1641{
1642 Sequence< ::rtl::OUString > lResult( PROPERTYCOUNT_IMAGES );
1643
1644 // Create property names dependent from the root node name

--- 141 unchanged lines hidden (view full) ---

1786 const ::rtl::OUString& rToolbarName,
1787 MergeToolbarInstructionContainer& rToolbarInstructions ) const
1788{
1789 MutexGuard aGuard( GetOwnStaticMutex() );
1790 return m_pDataContainer->GetMergeToolbarInstructions(
1791 rToolbarName, rToolbarInstructions );
1792}
1793
1847//*****************************************************************************************************************
1848// private method
1849//*****************************************************************************************************************
1850Sequence< ::rtl::OUString > AddonsOptions_Impl::GetPropertyNamesImages( const ::rtl::OUString& aPropertyRootNode ) const
1851{
1852 Sequence< ::rtl::OUString > lResult( PROPERTYCOUNT_IMAGES );
1853
1854 // Create property names dependent from the root node name

--- 141 unchanged lines hidden (view full) ---

1996 const ::rtl::OUString& rToolbarName,
1997 MergeToolbarInstructionContainer& rToolbarInstructions ) const
1998{
1999 MutexGuard aGuard( GetOwnStaticMutex() );
2000 return m_pDataContainer->GetMergeToolbarInstructions(
2001 rToolbarName, rToolbarInstructions );
2002}
2003
2004const MergeStatusbarInstructionContainer& AddonsOptions::GetMergeStatusbarInstructions() const
2005{
2006 MutexGuard aGuard( GetOwnStaticMutex() );
2007 return m_pDataContainer->GetMergeStatusbarInstructions();
2008}
2009
1794//*****************************************************************************************************************
1795// public method
1796//*****************************************************************************************************************
1797Image AddonsOptions::GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const
1798{
1799 MutexGuard aGuard( GetOwnStaticMutex() );
1800 return m_pDataContainer->GetImageFromURL( aURL, bBig, bHiContrast, bNoScale );
1801}

--- 46 unchanged lines hidden ---
2010//*****************************************************************************************************************
2011// public method
2012//*****************************************************************************************************************
2013Image AddonsOptions::GetImageFromURL( const rtl::OUString& aURL, sal_Bool bBig, sal_Bool bHiContrast, sal_Bool bNoScale ) const
2014{
2015 MutexGuard aGuard( GetOwnStaticMutex() );
2016 return m_pDataContainer->GetImageFromURL( aURL, bBig, bHiContrast, bNoScale );
2017}

--- 46 unchanged lines hidden ---