LibreOffice Module sfx2 (master) 1
guisaveas.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#ifndef INCLUDED_SFX2_INC_GUISAVEAS_HXX
21#define INCLUDED_SFX2_INC_GUISAVEAS_HXX
22
23#include <sal/config.h>
24
25#include <string_view>
26
27#include <com/sun/star/uno/Sequence.hxx>
28#include <com/sun/star/beans/PropertyValue.hpp>
29#include <com/sun/star/container/XNameAccess.hpp>
30#include <com/sun/star/container/XContainerQuery.hpp>
31#include <com/sun/star/frame/XModel.hpp>
32#include <com/sun/star/frame/XModuleManager2.hpp>
33
35
36#include <sfx2/bindings.hxx>
38
40
41#include <tools/urlobj.hxx>
42
43
44namespace com::sun::star::document { class XDocumentProperties; }
45
46namespace weld { class Window; }
47class ModelData_Impl;
48
50{
51 friend class ModelData_Impl;
52
53private:
54 css::uno::Reference< css::container::XNameAccess > m_xFilterCFG;
55 css::uno::Reference< css::container::XContainerQuery > m_xFilterQuery;
56 css::uno::Reference< css::frame::XModuleManager2 > m_xModuleManager;
57
58 std::shared_ptr<ModelData_Impl> m_xModelData;
59 css::uno::Sequence< css::beans::PropertyValue > m_aArgsSequence;
60
61 css::uno::Reference< css::container::XNameAccess > const & GetFilterConfiguration();
62 css::uno::Reference< css::container::XContainerQuery > const & GetFilterQuery();
63 css::uno::Reference< css::frame::XModuleManager2 > const & GetModuleManager();
64
69 sal_Int16 m_nStoreMode;
70
72 ModelData_Impl& aModelData, bool bRemote, sal_Int16 nStoreMode,
73 css::uno::Sequence< css::beans::PropertyValue >& aFilterProps,
74 bool bSetStandardName, bool bPreselectPassword, bool bDialogUsed,
75 std::u16string_view aFilterFromMediaDescr, std::u16string_view aOldFilterName,
76 css::uno::Sequence< css::beans::PropertyValue >& aArgsSequence,
77 OUString aFilterName);
78
80
81public:
83
84 bool GUIStoreModel(
85 const css::uno::Reference< css::frame::XModel >& xModel,
86 std::u16string_view aSlotName,
87 css::uno::Sequence< css::beans::PropertyValue >& aArgsSequence,
88 bool bPreselectPassword,
89 SignatureState nDocumentSignatureState,
90 bool bIsAsync );
91
93 const css::uno::Reference< css::container::XNameAccess >& xFilterCFG,
94 const OUString& aFilterName );
95
96
97 static void SetDocInfoState(
98 const css::uno::Reference< css::frame::XModel >& xModel,
99 const css::uno::Reference< css::document::XDocumentProperties>& i_xOldDocInfo );
100
101 static bool WarnUnacceptableFormat(
102 const css::uno::Reference< css::frame::XModel >& xModel,
103 std::u16string_view aOldUIName,
104 const OUString& aDefExtension,
105 bool rDefaultIsAlien );
106
107 static css::uno::Reference<css::awt::XWindow> GetModelXWindow(const css::uno::Reference<css::frame::XModel>& rModel);
108 static weld::Window* GetModelWindow( const css::uno::Reference< css::frame::XModel >& xModel );
109
110};
111
112#endif
113
114/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static css::uno::Reference< css::awt::XWindow > GetModelXWindow(const css::uno::Reference< css::frame::XModel > &rModel)
Definition: guisaveas.cxx:1977
css::uno::Reference< css::container::XContainerQuery > const & GetFilterQuery()
Definition: guisaveas.cxx:1381
css::uno::Reference< css::container::XNameAccess > const & GetFilterConfiguration()
Definition: guisaveas.cxx:1370
css::uno::Reference< css::container::XNameAccess > m_xFilterCFG
Definition: guisaveas.hxx:54
bool m_bSetStandardName
Definition: guisaveas.hxx:68
bool GUIStoreModel(const css::uno::Reference< css::frame::XModel > &xModel, std::u16string_view aSlotName, css::uno::Sequence< css::beans::PropertyValue > &aArgsSequence, bool bPreselectPassword, SignatureState nDocumentSignatureState, bool bIsAsync)
Definition: guisaveas.cxx:1402
static bool WarnUnacceptableFormat(const css::uno::Reference< css::frame::XModel > &xModel, std::u16string_view aOldUIName, const OUString &aDefExtension, bool rDefaultIsAlien)
Definition: guisaveas.cxx:1963
static weld::Window * GetModelWindow(const css::uno::Reference< css::frame::XModel > &xModel)
Definition: guisaveas.cxx:2000
static bool CheckFilterOptionsAppearance(const css::uno::Reference< css::container::XNameAccess > &xFilterCFG, const OUString &aFilterName)
Definition: guisaveas.cxx:1858
static void SetDocInfoState(const css::uno::Reference< css::frame::XModel > &xModel, const css::uno::Reference< css::document::XDocumentProperties > &i_xOldDocInfo)
Definition: guisaveas.cxx:1887
css::uno::Reference< css::container::XContainerQuery > m_xFilterQuery
Definition: guisaveas.hxx:55
bool m_bPreselectPassword
Definition: guisaveas.hxx:66
css::uno::Reference< css::frame::XModuleManager2 > const & GetModuleManager()
Definition: guisaveas.cxx:1391
sal_Int16 m_nStoreMode
Definition: guisaveas.hxx:69
void CallFinishGUIStoreModel()
Definition: guisaveas.cxx:658
css::uno::Reference< css::frame::XModuleManager2 > m_xModuleManager
Definition: guisaveas.hxx:56
static bool FinishGUIStoreModel(::comphelper::SequenceAsHashMap::const_iterator &aFileNameIter, ModelData_Impl &aModelData, bool bRemote, sal_Int16 nStoreMode, css::uno::Sequence< css::beans::PropertyValue > &aFilterProps, bool bSetStandardName, bool bPreselectPassword, bool bDialogUsed, std::u16string_view aFilterFromMediaDescr, std::u16string_view aOldFilterName, css::uno::Sequence< css::beans::PropertyValue > &aArgsSequence, OUString aFilterName)
Definition: guisaveas.cxx:1578
css::uno::Sequence< css::beans::PropertyValue > m_aArgsSequence
Definition: guisaveas.hxx:59
std::shared_ptr< ModelData_Impl > m_xModelData
Definition: guisaveas.hxx:58
SequenceAsHashMapBase::const_iterator const_iterator
SignatureState