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_SD_SOURCE_UI_INC_PRESENT_HXX 21 #define INCLUDED_SD_SOURCE_UI_INC_PRESENT_HXX 22 23 #include <vcl/weld.hxx> 24 25 class SfxItemSet; 26 class SdCustomShowList; 27 28 /** 29 * Dialog to define optionsm_xnd to start the presentation 30 */ 31 class SdStartPresentationDlg : public weld::GenericDialogController 32 { 33 private: 34 SdCustomShowList* pCustomShowList; 35 const SfxItemSet& rOutAttrs; 36 sal_Int32 mnMonitors; 37 38 std::unique_ptr<weld::RadioButton> m_xRbtAll; 39 std::unique_ptr<weld::RadioButton> m_xRbtAtDia; 40 std::unique_ptr<weld::RadioButton> m_xRbtCustomshow; 41 std::unique_ptr<weld::ComboBox> m_xLbDias; 42 std::unique_ptr<weld::ComboBox> m_xLbCustomshow; 43 44 std::unique_ptr<weld::RadioButton> m_xRbtStandard; 45 std::unique_ptr<weld::RadioButton> m_xRbtWindow; 46 std::unique_ptr<weld::RadioButton> m_xRbtAuto; 47 std::unique_ptr<weld::TimeSpinButton> m_xTmfPause; 48 std::unique_ptr<weld::CheckButton> m_xCbxAutoLogo; 49 50 std::unique_ptr<weld::CheckButton> m_xCbxManuel; 51 std::unique_ptr<weld::CheckButton> m_xCbxMousepointer; 52 std::unique_ptr<weld::CheckButton> m_xCbxPen; 53 std::unique_ptr<weld::CheckButton> m_xCbxAnimationAllowed; 54 std::unique_ptr<weld::CheckButton> m_xCbxChangePage; 55 std::unique_ptr<weld::CheckButton> m_xCbxAlwaysOnTop; 56 57 std::unique_ptr<weld::Label> m_xFtMonitor; 58 std::unique_ptr<weld::ComboBox> m_xLBMonitor; 59 60 std::unique_ptr<weld::Label> m_xMonitor; 61 std::unique_ptr<weld::Label> m_xAllMonitors; 62 std::unique_ptr<weld::Label> m_xMonitorExternal; 63 std::unique_ptr<weld::Label> m_xExternal; 64 65 DECL_LINK(ChangeRangeHdl, weld::Button&, void); 66 DECL_LINK(ClickWindowPresentationHdl, weld::Button&, void); 67 void ChangePause(); 68 DECL_LINK(ChangePauseHdl, weld::TimeSpinButton&, void); 69 70 void InitMonitorSettings(); 71 enum DisplayType { 72 EXTERNAL_IS_NUMBER, 73 MONITOR_NORMAL, 74 MONITOR_IS_EXTERNAL, 75 }; 76 sal_Int32 InsertDisplayEntry(const OUString &aName, 77 sal_Int32 nDisplay); 78 OUString GetDisplayName( sal_Int32 nDisplay, 79 DisplayType eType ); 80 public: 81 SdStartPresentationDlg(weld::Window* pWindow, 82 const SfxItemSet& rInAttrs, 83 const std::vector<OUString> &rPageNames, 84 SdCustomShowList* pCSList); 85 virtual ~SdStartPresentationDlg() override; 86 void GetAttr( SfxItemSet& rOutAttrs ); 87 }; 88 89 #endif // INCLUDED_SD_SOURCE_UI_INC_PRESENT_HXX 90 91 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 92