Bump version to 6.4.7.2.M8
[LibreOffice.git] / cui / source / inc / cfg.hxx
blobfa825b92f2072c144acd1a67832f319ebf87a244
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_CUI_SOURCE_INC_CFG_HXX
20 #define INCLUDED_CUI_SOURCE_INC_CFG_HXX
22 #include <vcl/transfer.hxx>
23 #include <vcl/weld.hxx>
24 #include <svtools/valueset.hxx>
26 #include <com/sun/star/container/XIndexContainer.hpp>
27 #include <com/sun/star/container/XNameAccess.hpp>
28 #include <com/sun/star/ui/XUIConfigurationManager.hpp>
29 #include <com/sun/star/ui/XImageManager.hpp>
30 #include <com/sun/star/graphic/XGraphicProvider.hpp>
31 #include <com/sun/star/frame/XFrame.hpp>
32 #include <com/sun/star/lang/XSingleComponentFactory.hpp>
34 #include <sfx2/tabdlg.hxx>
35 #include <memory>
36 #include <vector>
38 #include "cfgutil.hxx"
39 #include "CommandCategoryListBox.hxx"
41 #define notebookbarTabScope "notebookbarTabScope"
43 static const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
44 static const char ITEM_DESCRIPTOR_CONTAINER[] = "ItemDescriptorContainer";
45 static const char ITEM_DESCRIPTOR_LABEL[] = "Label";
46 static const char ITEM_DESCRIPTOR_TYPE[] = "Type";
47 static const char ITEM_DESCRIPTOR_STYLE[] = "Style";
48 static const char ITEM_DESCRIPTOR_ISVISIBLE[] = "IsVisible";
49 static const char ITEM_DESCRIPTOR_RESOURCEURL[] = "ResourceURL";
50 static const char ITEM_DESCRIPTOR_UINAME[] = "UIName";
52 static const char ITEM_MENUBAR_URL[] = "private:resource/menubar/menubar";
53 static const char ITEM_TOOLBAR_URL[] = "private:resource/toolbar/";
55 static const char CUSTOM_TOOLBAR_STR[] = "custom_toolbar_";
57 static const char aMenuSeparatorStr[] = " | ";
59 class SvxConfigEntry;
60 class SvxConfigPage;
62 typedef std::vector< SvxConfigEntry* > SvxEntries;
64 class SvxConfigDialog : public SfxTabDialogController
66 private:
67 css::uno::Reference< css::frame::XFrame > m_xFrame;
69 public:
70 SvxConfigDialog(weld::Window*, const SfxItemSet*);
72 virtual void PageCreated(const OString& rId, SfxTabPage &rPage) override;
73 void SetFrame(const css::uno::Reference< css::frame::XFrame >& xFrame);
76 class SaveInData
78 private:
80 bool bModified;
82 bool bDocConfig;
83 bool bReadOnly;
85 css::uno::Reference
86 < css::ui::XUIConfigurationManager > m_xCfgMgr;
88 css::uno::Reference
89 < css::ui::XUIConfigurationManager > m_xParentCfgMgr;
91 css::uno::Reference
92 < css::ui::XImageManager > m_xImgMgr;
94 css::uno::Reference
95 < css::ui::XImageManager > m_xParentImgMgr;
97 static css::uno::Reference
98 < css::ui::XImageManager >* xDefaultImgMgr;
100 protected:
102 void ApplyMenu(
103 css::uno::Reference< css::container::XIndexContainer > const & rMenuBar,
104 css::uno::Reference< css::lang::XSingleComponentFactory >& rFactory,
105 SvxConfigEntry *pMenuData );
107 void LoadSubMenus(
108 const css::uno::Reference< css::container::XIndexAccess >& xMenuSettings,
109 const OUString& rBaseTitle, SvxConfigEntry const * pParentData, bool bContextMenu );
111 public:
113 SaveInData(
114 const css::uno::Reference < css::ui::XUIConfigurationManager >& xCfgMgr,
115 const css::uno::Reference < css::ui::XUIConfigurationManager >& xParentCfgMgr,
116 const OUString& aModuleId,
117 bool docConfig );
119 virtual ~SaveInData() {}
121 bool PersistChanges(
122 const css::uno::Reference< css::uno::XInterface >& xManager );
124 void SetModified( bool bValue = true ) { bModified = bValue; }
125 bool IsModified( ) const { return bModified; }
127 bool IsReadOnly( ) const { return bReadOnly; }
128 bool IsDocConfig( ) const { return bDocConfig; }
130 const css::uno::Reference
131 < css::ui::XUIConfigurationManager >&
132 GetConfigManager() const { return m_xCfgMgr; };
134 const css::uno::Reference
135 < css::ui::XUIConfigurationManager >&
136 GetParentConfigManager() const { return m_xParentCfgMgr; };
138 const css::uno::Reference
139 < css::ui::XImageManager >&
140 GetImageManager() const { return m_xImgMgr; };
142 const css::uno::Reference
143 < css::ui::XImageManager >&
144 GetParentImageManager() const { return m_xParentImgMgr; };
146 css::uno::Reference
147 < css::container::XNameAccess > m_xCommandToLabelMap;
149 css::uno::Sequence
150 < css::beans::PropertyValue > m_aSeparatorSeq;
152 css::uno::Reference<css::graphic::XGraphic> GetImage(const OUString& rCommandURL);
154 virtual bool HasURL( const OUString& aURL ) = 0;
155 virtual bool HasSettings() = 0;
156 virtual SvxEntries* GetEntries() = 0;
157 virtual void SetEntries( std::unique_ptr<SvxEntries> ) = 0;
158 virtual void Reset() = 0;
159 virtual bool Apply() = 0;
162 class MenuSaveInData : public SaveInData
164 private:
166 OUString m_aMenuResourceURL;
167 OUString m_aDescriptorContainer;
169 css::uno::Reference
170 < css::container::XIndexAccess > m_xMenuSettings;
172 std::unique_ptr<SvxConfigEntry> pRootEntry;
175 static MenuSaveInData* pDefaultData; ///< static holder of the default menu data
177 static void SetDefaultData( MenuSaveInData* pData ) {pDefaultData = pData;}
178 static MenuSaveInData* GetDefaultData() { return pDefaultData; }
180 void Apply(
181 css::uno::Reference< css::container::XIndexContainer > const & rNewMenuBar,
182 css::uno::Reference< css::lang::XSingleComponentFactory >& rFactory );
184 public:
186 MenuSaveInData(
187 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
188 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
189 const OUString& aModuleId,
190 bool docConfig );
192 virtual ~MenuSaveInData() override;
194 /// methods inherited from SaveInData
195 SvxEntries* GetEntries() override;
196 void SetEntries( std::unique_ptr<SvxEntries> ) override;
197 bool HasURL( const OUString& ) override { return false; }
198 bool HasSettings() override { return m_xMenuSettings.is(); }
199 void Reset() override;
200 bool Apply() override;
203 class ContextMenuSaveInData : public SaveInData
205 private:
206 std::unique_ptr< SvxConfigEntry > m_pRootEntry;
207 css::uno::Reference< css::container::XNameAccess > m_xPersistentWindowState;
208 OUString GetUIName( const OUString& rResourceURL );
210 public:
211 ContextMenuSaveInData(
212 const css::uno::Reference< css::ui::XUIConfigurationManager >& xCfgMgr,
213 const css::uno::Reference< css::ui::XUIConfigurationManager >& xParentCfgMgr,
214 const OUString& aModuleId, bool bIsDocConfig );
215 virtual ~ContextMenuSaveInData() override;
217 SvxEntries* GetEntries() override;
218 void SetEntries( std::unique_ptr<SvxEntries> pNewEntries ) override;
219 bool HasSettings() override;
220 bool HasURL( const OUString& rURL ) override;
221 void Reset() override;
222 bool Apply() override;
224 void ResetContextMenu( const SvxConfigEntry* pEntry );
227 class SvxConfigEntry
229 private:
231 /// common properties
232 sal_uInt16 nId;
233 OUString aLabel;
234 OUString aCommand;
236 bool bPopUp;
237 bool bStrEdited;
238 bool bIsUserDefined;
239 bool bIsMain;
240 bool bIsParentData;
241 bool bIsModified;
243 /// toolbar specific properties
244 bool bIsVisible;
245 sal_Int32 nStyle;
247 css::uno::Reference<
248 css::graphic::XGraphic > xBackupGraphic;
250 std::unique_ptr<SvxEntries> mpEntries;
252 public:
254 SvxConfigEntry( const OUString& rDisplayName,
255 const OUString& rCommandURL,
256 bool bPopup,
257 bool bParentData );
259 SvxConfigEntry()
261 nId( 0 ),
262 bPopUp( false ),
263 bStrEdited( false ),
264 bIsUserDefined( false ),
265 bIsMain( false ),
266 bIsParentData( false ),
267 bIsModified( false ),
268 bIsVisible( true ),
269 nStyle( 0 )
272 ~SvxConfigEntry();
274 const OUString& GetCommand() const { return aCommand; }
276 const OUString& GetName() const { return aLabel; }
277 void SetName( const OUString& rStr ) { aLabel = rStr; bStrEdited = true; }
278 bool HasChangedName() const { return bStrEdited; }
280 bool IsPopup() const { return bPopUp; }
282 void SetUserDefined( bool bOn = true ) { bIsUserDefined = bOn; }
283 bool IsUserDefined() const { return bIsUserDefined; }
285 bool IsBinding() const { return !bPopUp; }
286 bool IsSeparator() const { return nId == 0; }
288 SvxEntries* GetEntries() const { return mpEntries.get(); }
289 void SetEntries( std::unique_ptr<SvxEntries> entries ) { mpEntries = std::move(entries); }
291 void SetMain() { bIsMain = true; }
292 bool IsMain() const { return bIsMain; }
294 void SetParentData( bool bValue = true ) { bIsParentData = bValue; }
295 bool IsParentData() const { return bIsParentData; }
297 void SetModified( bool bValue = true ) { bIsModified = bValue; }
298 bool IsModified() const { return bIsModified; }
300 bool IsMovable() const;
301 bool IsDeletable() const;
302 bool IsRenamable() const;
304 void SetVisible( bool b ) { bIsVisible = b; }
305 bool IsVisible() const { return bIsVisible; }
307 void SetBackupGraphic( css::uno::Reference< css::graphic::XGraphic > const & graphic )
308 { xBackupGraphic = graphic; }
310 const css::uno::Reference< css::graphic::XGraphic >& GetBackupGraphic() const
311 { return xBackupGraphic; }
313 sal_Int32 GetStyle() const { return nStyle; }
314 void SetStyle( sal_Int32 style ) { nStyle = style; }
317 class SvxMenuEntriesListBox
319 protected:
320 std::unique_ptr<weld::TreeView> m_xControl;
321 ScopedVclPtr<VirtualDevice> m_xDropDown;
322 SvxConfigPage* m_pPage;
324 public:
325 SvxMenuEntriesListBox(std::unique_ptr<weld::TreeView> xControl, SvxConfigPage* pPage);
326 virtual ~SvxMenuEntriesListBox();
328 VirtualDevice& get_dropdown_image() const { return *m_xDropDown; }
330 int get_selected_index() const { return m_xControl->get_selected_index(); }
331 OUString get_id(int nPos) const { return m_xControl->get_id(nPos); }
332 void remove(int nPos) { m_xControl->remove(nPos); }
333 int n_children() const { return m_xControl->n_children(); }
334 void set_text(int row, const OUString& rText, int col) { m_xControl->set_text(row, rText, col); }
335 OUString get_text(int row) { return m_xControl->get_text(row); }
336 void set_image(int row, const css::uno::Reference<css::graphic::XGraphic>& rImage, int col) { m_xControl->set_image(row, rImage, col); }
337 void set_dropdown(int row, int col) { m_xControl->set_image(row, *m_xDropDown, col); }
338 void set_id(int row, const OUString& rId) { m_xControl->set_id(row, rId); }
339 void clear() { m_xControl->clear(); } //need frees ?
340 void set_toggle(int row, TriState eState, int col) { m_xControl->set_toggle(row, eState, col); }
341 void scroll_to_row(int pos) { m_xControl->scroll_to_row(pos); }
342 void select(int pos) { m_xControl->select(pos); }
344 weld::TreeView& get_widget() { return *m_xControl; }
346 void insert(int pos, const OUString& rId)
348 m_xControl->insert(nullptr, pos, nullptr, &rId,
349 nullptr, nullptr, nullptr, false, nullptr);
352 DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
354 void CreateDropDown();
357 class SvxConfigPageFunctionDropTarget : public DropTargetHelper
359 private:
360 SvxConfigPage& m_rPage;
361 weld::TreeView& m_rTreeView;
363 virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) override;
364 virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) override;
366 public:
367 SvxConfigPageFunctionDropTarget(SvxConfigPage&rPage, weld::TreeView& rTreeView);
370 class SvxConfigPage : public SfxTabPage
372 private:
374 Timer m_aUpdateDataTimer;
375 bool bInitialised;
376 SaveInData* pCurrentSaveInData;
378 DECL_LINK(SearchUpdateHdl, weld::Entry&, void);
380 protected:
382 /// the ResourceURL to select when opening the dialog
383 OUString m_aURLToSelect;
385 css::uno::Reference< css::frame::XFrame > m_xFrame;
386 OUString m_aModuleId;
388 // Left side of the dialog where command categories and the available
389 // commands in them are displayed as a searchable list
390 std::unique_ptr<CommandCategoryListBox> m_xCommandCategoryListBox;
391 std::unique_ptr<CuiConfigFunctionListBox> m_xFunctions;
393 std::unique_ptr<weld::Label> m_xCategoryLabel;
394 std::unique_ptr<weld::Label> m_xDescriptionFieldLb;
395 std::unique_ptr<weld::TextView> m_xDescriptionField;
396 std::unique_ptr<weld::Label> m_xLeftFunctionLabel;
397 std::unique_ptr<weld::Entry> m_xSearchEdit;
398 std::unique_ptr<weld::Label> m_xSearchLabel;
401 // Right side of the dialog where the contents of the selected
402 // menu or toolbar are displayed
403 std::unique_ptr<weld::Label> m_xCustomizeLabel;
404 std::unique_ptr<weld::ComboBox> m_xTopLevelListBox;
405 // Used to add and remove toolbars/menus
406 std::unique_ptr<weld::MenuButton> m_xGearBtn;
407 std::unique_ptr<SvxMenuEntriesListBox> m_xContentsListBox;
408 std::unique_ptr<SvxConfigPageFunctionDropTarget> m_xDropTargetHelper;
410 std::unique_ptr<weld::Button> m_xMoveUpButton;
411 std::unique_ptr<weld::Button> m_xMoveDownButton;
413 std::unique_ptr<weld::ComboBox> m_xSaveInListBox;
415 std::unique_ptr<weld::MenuButton> m_xInsertBtn;
416 std::unique_ptr<weld::MenuButton> m_xModifyBtn;
417 // Used to reset the selected toolbar/menu/context menu
418 std::unique_ptr<weld::Button> m_xResetBtn;
420 // Middle buttons
421 std::unique_ptr<weld::Button> m_xAddCommandButton;
422 std::unique_ptr<weld::Button> m_xRemoveCommandButton;
424 OUString m_sAppName;
425 OUString m_sFileName;
427 SvxConfigPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet&);
429 DECL_LINK(MoveHdl, weld::Button&, void);
430 DECL_LINK(SelectFunctionHdl, weld::TreeView&, void);
431 DECL_LINK(FunctionDoubleClickHdl, weld::TreeView&, bool);
432 DECL_LINK(SelectSaveInLocation, weld::ComboBox&, void);
433 DECL_LINK(SelectElementHdl, weld::ComboBox&, void);
434 DECL_LINK(ImplUpdateDataHdl, Timer*, void);
435 DECL_LINK(FocusOut_Impl, weld::Widget&, void);
437 virtual SaveInData* CreateSaveInData(
438 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
439 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
440 const OUString& aModuleId,
441 bool docConfig ) = 0;
443 virtual void Init() = 0;
444 virtual void UpdateButtonStates() = 0;
445 virtual short QueryReset() = 0;
447 virtual void SelectElement() = 0;
449 int AppendEntry(SvxConfigEntry* pNewEntryData,
450 int nTarget);
452 void AddSubMenusToUI( const OUString& rBaseTitle,
453 SvxConfigEntry const * pParentData );
455 void InsertEntryIntoUI(SvxConfigEntry* pNewEntryData,
456 weld::TreeView& rTreeView, int nPos,
457 int nStartCol);
458 void InsertEntryIntoUI(SvxConfigEntry* pNewEntryData,
459 weld::TreeView& rTreeView, weld::TreeIter& rIter,
460 int nStartCol);
462 void InsertEntryIntoNotebookbarTabUI(const OUString& sClassId, const OUString& sUIItemId,
463 const OUString& sUIItemCommand,
464 weld::TreeView& rTreeView, weld::TreeIter& rIter,
465 int nStartCol);
467 SvxEntries* FindParentForChild( SvxEntries* pParentEntries,
468 SvxConfigEntry* pChildData );
470 void ReloadTopLevelListBox( SvxConfigEntry const * pSelection = nullptr );
472 public:
474 virtual ~SvxConfigPage() override;
476 static bool CanConfig( const OUString& rModuleId );
478 SaveInData* GetSaveInData() { return pCurrentSaveInData; }
479 const OUString& GetAppName() const { return m_sAppName; }
480 const OUString& GetFileName() const { return m_sFileName; }
482 int AddFunction(int nTarget,
483 bool bAllowDuplicates);
485 virtual void MoveEntry( bool bMoveUp );
487 bool MoveEntryData(int SourceEntry, int nTargetEntry);
489 bool FillItemSet( SfxItemSet* ) override;
490 void Reset( const SfxItemSet* ) override;
492 virtual void DeleteSelectedContent() = 0;
493 virtual void DeleteSelectedTopLevel() = 0;
495 virtual void ListModified() {}
497 SvxConfigEntry* GetTopLevelSelection()
499 return reinterpret_cast<SvxConfigEntry*>(m_xTopLevelListBox->get_active_id().toInt64());
502 /** identifies the module in the given frame. If the frame is <NULL/>, a default
503 frame will be determined beforehand.
505 If the given frame is <NULL/>, a default frame will be used: The method the active
506 frame of the desktop, then the current frame. If both are <NULL/>,
507 the SfxViewFrame::Current's XFrame is used. If this is <NULL/>, too, an empty string is returned.
509 If the given frame is not <NULL/>, or a default frame could be successfully determined, then
510 the ModuleManager is asked for the module ID of the component in the frame.
512 static OUString
513 GetFrameWithDefaultAndIdentify( css::uno::Reference< css::frame::XFrame >& _inout_rxFrame );
515 OUString GetScriptURL() const;
516 OUString GetSelectedDisplayName() const;
519 class SvxMainMenuOrganizerDialog : public weld::GenericDialogController
521 std::unique_ptr<SvxEntries> mpEntries;
522 OUString m_sNewMenuEntryId;
524 std::unique_ptr<weld::Widget> m_xMenuBox;
525 std::unique_ptr<weld::Entry> m_xMenuNameEdit;
526 std::unique_ptr<weld::TreeView> m_xMenuListBox;
527 std::unique_ptr<weld::Button> m_xMoveUpButton;
528 std::unique_ptr<weld::Button> m_xMoveDownButton;
530 void UpdateButtonStates();
532 DECL_LINK(MoveHdl, weld::Button&, void);
533 DECL_LINK(ModifyHdl, weld::Entry&, void);
534 DECL_LINK(SelectHdl, weld::TreeView&, void);
536 public:
537 SvxMainMenuOrganizerDialog(
538 weld::Window*, SvxEntries*,
539 SvxConfigEntry const *, bool bCreateMenu);
540 virtual ~SvxMainMenuOrganizerDialog() override;
542 std::unique_ptr<SvxEntries> ReleaseEntries() { return std::move(mpEntries);}
543 SvxConfigEntry* GetSelectedEntry();
546 class ToolbarSaveInData : public SaveInData
548 private:
550 std::unique_ptr<SvxConfigEntry> pRootEntry;
551 OUString m_aDescriptorContainer;
553 css::uno::Reference
554 < css::container::XNameAccess > m_xPersistentWindowState;
556 void LoadToolbar(
557 const css::uno::Reference< css::container::XIndexAccess >& xToolBarSettings,
558 SvxConfigEntry const * pParentData );
560 void ApplyToolbar(
561 css::uno::Reference< css::container::XIndexContainer > const & rNewToolbarBar,
562 css::uno::Reference< css::lang::XSingleComponentFactory >& rFactory,
563 SvxConfigEntry const *pToolbar );
565 public:
567 ToolbarSaveInData(
568 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
569 const css::uno::Reference< css::ui::XUIConfigurationManager >&,
570 const OUString& aModuleId,
571 bool docConfig );
573 virtual ~ToolbarSaveInData() override;
575 void CreateToolbar( SvxConfigEntry* pToolbar );
576 void RestoreToolbar( SvxConfigEntry* pToolbar );
577 void RemoveToolbar( SvxConfigEntry* pToolbar );
578 void ApplyToolbar( SvxConfigEntry* pToolbar );
580 OUString GetSystemUIName( const OUString& rResourceURL );
582 sal_Int32 GetSystemStyle( const OUString& rResourceURL );
584 void SetSystemStyle( const OUString& rResourceURL, sal_Int32 nStyle );
586 void SetSystemStyle(
587 const css::uno::Reference< css::frame::XFrame >& xFrame,
588 const OUString& rResourceURL, sal_Int32 nStyle );
590 SvxEntries* GetEntries() override;
591 void SetEntries( std::unique_ptr<SvxEntries> ) override;
592 bool HasSettings() override;
593 bool HasURL( const OUString& rURL ) override;
594 void Reset() override;
595 bool Apply() override;
598 class SvxNewToolbarDialog : public weld::GenericDialogController
600 private:
601 std::unique_ptr<weld::Entry> m_xEdtName;
602 std::unique_ptr<weld::Button> m_xBtnOK;
603 public:
604 std::unique_ptr<weld::ComboBox> m_xSaveInListBox;
606 SvxNewToolbarDialog(weld::Window* pWindow, const OUString& rName);
607 virtual ~SvxNewToolbarDialog() override;
609 OUString GetName() const
611 return m_xEdtName->get_text();
615 class SvxIconSelectorDialog : public weld::GenericDialogController
617 private:
618 sal_Int32 m_nExpectedSize;
620 css::uno::Reference<
621 css::ui::XImageManager > m_xImageManager;
623 css::uno::Reference<
624 css::ui::XImageManager > m_xParentImageManager;
626 css::uno::Reference<
627 css::ui::XImageManager > m_xImportedImageManager;
629 css::uno::Reference<
630 css::graphic::XGraphicProvider > m_xGraphProvider;
632 std::vector<css::uno::Reference<css::graphic::XGraphic>> m_aGraphics;
634 std::unique_ptr<SvtValueSet> m_xTbSymbol;
635 std::unique_ptr<weld::CustomWeld> m_xTbSymbolWin;
636 std::unique_ptr<weld::Label> m_xFtNote;
637 std::unique_ptr<weld::Button> m_xBtnImport;
638 std::unique_ptr<weld::Button> m_xBtnDelete;
640 bool ReplaceGraphicItem( const OUString& aURL );
642 bool ImportGraphic( const OUString& aURL );
644 void ImportGraphics( const css::uno::Sequence< OUString >& aURLs );
646 public:
648 SvxIconSelectorDialog(
649 weld::Window *pWindow,
650 const css::uno::Reference< css::ui::XImageManager >& rXImageManager,
651 const css::uno::Reference< css::ui::XImageManager >& rXParentImageManager);
653 virtual ~SvxIconSelectorDialog() override;
655 css::uno::Reference< css::graphic::XGraphic >
656 GetSelectedIcon();
658 DECL_LINK(SelectHdl, SvtValueSet*, void);
659 DECL_LINK(ImportHdl, weld::Button&, void);
660 DECL_LINK(DeleteHdl, weld::Button&, void);
663 //added for issue83555
664 class SvxIconChangeDialog : public weld::MessageDialogController
666 private:
667 std::unique_ptr<weld::TextView> m_xLineEditDescription;
668 public:
669 SvxIconChangeDialog(weld::Window *pWindow, const OUString& rMessage);
672 #endif // INCLUDED_CUI_SOURCE_INC_CFG_HXX
674 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */