kodi
ApplicationSkinHandling.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "application/IApplicationComponent.h"
12 
13 #include <string>
14 
15 class CApplication;
16 class CSetting;
17 class IMsgTargetCallback;
19 
24 {
25  friend class CApplication;
26 
27 public:
30  bool& bInitializing);
31 
32  void UnloadSkin();
33 
34  bool OnSettingChanged(const CSetting& setting);
35  void ReloadSkin(bool confirm = false);
36 
37 protected:
38  bool LoadSkin(const std::string& skinID);
39  bool LoadCustomWindows();
40 
45  void ProcessSkin() const;
46 
47  bool m_saveSkinOnUnloading = true;
48  bool m_confirmSkinChange = true;
49  bool m_ignoreSkinSettingChanges = false;
50  IMsgTargetCallback* m_msgCb;
52  bool& m_bInitializing;
53 };
Class handling application support for skin management.
Definition: ApplicationSkinHandling.h:23
Definition: IWindowManagerCallback.h:20
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
Definition: IMsgTargetCallback.h:22
Definition: Application.h:82
Base class for application components.
Definition: IApplicationComponent.h:12
void ProcessSkin() const
Called by the application main/render thread for processing operations belonging to the skin...
Definition: ApplicationSkinHandling.cpp:519
void OnSettingChanged(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting has changed.
Definition: ApplicationSettingsHandling.cpp:106