The Battle for Wesnoth  1.15.12+dev
game_cache_options.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014 - 2018 by Iris Morelle <shadowm2006@gmail.com>
3  Part of the Battle for Wesnoth Project https://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 #pragma once
16 
18 
19 namespace gui2
20 {
21 class label;
22 class button;
23 namespace dialogs
24 {
25 
26 /**
27  * @ingroup GUIWindowDefinitionWML
28  *
29  * A Preferences subdialog including a report on the location and size of the game's WML cache,
30  * buttons to copy its path to clipboard or browse to it, and the possibility of clearing stale files from the cache or purging it entirely.
31  * Key |Type |Mandatory|Description
32  * ------------------|--------------|---------|-----------
33  * path | text_box |yes |Cache dir path.
34  * copy | @ref button |yes |Copies the cache path to clipboard.
35  * browse | @ref button |yes |Browses to the cache path using the platform's file management application.
36  * size | @ref label |yes |Current total size of the cache dir's contents.
37  * clean | @ref button |yes |Cleans the cache, erasing stale files not used by the Wesnoth version presently running the dialog.
38  * purge | @ref button |yes |Purges the cache in its entirety.
39  */
41 {
42 public:
43  /** Constructor. */
45 
46  /**
47  * The display function.
48  *
49  * See @ref modal_dialog for more information.
50  */
52 
53 private:
54  std::string cache_path_;
55 
59 
60  void clean_cache_callback();
61  bool clean_cache();
62 
63  void purge_cache_callback();
64  bool purge_cache();
65 
67 
68  void browse_cache_callback();
69 
71 
72  virtual const std::string& window_id() const override;
73 
74  virtual void pre_show(window& window) override;
75 
76  virtual void post_show(window& window) override;
77 };
78 
79 } // namespace dialogs
80 } // namespace gui2
virtual void post_show(window &window) override
Actions to be taken after the window has been shown.
std::string cache_path_
The display function.
A label displays a text, the text can be wrapped but no scrollbars are provided.
Definition: label.hpp:56
Generic file dialog.
Definition: field-fwd.hpp:22
Various uncategorised dialogs.
A Preferences subdialog including a report on the location and size of the game&#39;s WML cache...
Abstract base class for all modal dialogs.
virtual const std::string & window_id() const override
The id of the window to build.
Simple push button.
Definition: button.hpp:35
base class of top level items, the only item which needs to store the final canvases to draw on...
Definition: window.hpp:64
virtual void pre_show(window &window) override
Actions to be taken before showing the window.