LibreOffice Module sfx2 (master) 1
QuerySaveDocument.cxx
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
21#include <vcl/svapp.hxx>
22#include <vcl/weld.hxx>
23
24short ExecuteQuerySaveDocument(weld::Widget* _pParent, std::u16string_view _rTitle)
25{
26 if (Application::IsHeadlessModeEnabled() || getenv("SAL_NO_QUERYSAVE"))
27 {
28 // don't block Desktop::terminate() if there's no user to ask
29 return RET_NO;
30 }
31
32 std::unique_ptr<weld::Builder> xBuilder(
33 Application::CreateBuilder(_pParent, "sfx/ui/querysavedialog.ui"));
34 std::unique_ptr<weld::MessageDialog> xQBox(xBuilder->weld_message_dialog("QuerySaveDialog"));
35 xQBox->set_primary_text(xQBox->get_primary_text().replaceFirst("$(DOC)", _rTitle));
36 return xQBox->run();
37}
38
39/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
short ExecuteQuerySaveDocument(weld::Widget *_pParent, std::u16string_view _rTitle)
Opens the general query save document dialog.
static std::unique_ptr< weld::Builder > CreateBuilder(weld::Widget *pParent, const OUString &rUIFile, bool bMobile=false, sal_uInt64 nLOKWindowId=0)
static bool IsHeadlessModeEnabled()
RET_NO