1 /*
2    Copyright (C) 2008 - 2018 by Mark de Wever <koraq@xs4all.nl>
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 
17 #include "gui/dialogs/modal_dialog.hpp"
18 
19 namespace gui2
20 {
21 namespace dialogs
22 {
23 
24 /** Addon connect dialog. */
25 class addon_connect : public modal_dialog
26 {
27 public:
28 	/**
29 	 * Constructor.
30 	 *
31 	 * @param [in, out]host_name  The parameter's usage is:
32 	 *                            - Input: The initial value for the host_name.
33 	 *                            - Output :The final value of the host_name if
34 	 *                              the dialog returns @ref retval::OK or 3
35 	 *                              undefined otherwise.
36 	 * @param allow_remove        Sets @ref allow_remove_.
37 	 */
38 	addon_connect(std::string& host_name,
39 				   const bool allow_remove);
40 
41 private:
42 	/** Enable the addon remove button? */
43 	bool allow_remove_;
44 
45 	void help_button_callback(window& window);
46 
47 	/** Inherited from modal_dialog, implemented by REGISTER_DIALOG. */
48 	virtual const std::string& window_id() const override;
49 
50 	/** Inherited from modal_dialog. */
51 	virtual void pre_show(window& window) override;
52 
53 	/** Inherited from modal_dialog. */
54 	virtual void post_show(window& window) override;
55 };
56 
57 } // namespace dialogs
58 } // namespace gui2
59