The Battle for Wesnoth 1.21.0-dev
 
Loading...
Searching...
No Matches
addon_auth.cpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2008 - 2025
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#define GETTEXT_DOMAIN "wesnoth-lib"
16
17#include <functional>
18
20
26
27namespace gui2::dialogs
28{
29
30REGISTER_DIALOG(addon_auth)
31
33 : modal_dialog(window_id())
34 , cfg_(cfg)
35{
36 register_bool("remember_password", false,
37 []() {return prefs::get().remember_password();},
38 [](bool v) {prefs::get().set_remember_password(v);});
39}
40
42{
43 text_box* pwd = find_widget<text_box>("password", false, true);
45 pwd->set_value(cfg_["passphrase"].str(""));
46
47 std::vector<config> content_list;
48
49 for(const auto& author : utils::split(cfg_["primary_authors"].str(""), ',')) {
50 content_list.emplace_back("label", author);
51 }
52 for(const auto& author : utils::split(cfg_["secondary_authors"].str(""), ',')) {
53 content_list.emplace_back("label", author);
54 }
55 if(content_list.size() > 0) {
56 find_widget<menu_button>("choose_uploader").set_values(content_list);
57 }
58}
59
61{
63 {
64 cfg_["passphrase"] = find_widget<password_box>("password").get_real_value();
65 cfg_["uploader"] = find_widget<menu_button>("choose_uploader").get_value_string();
66 }
67}
68
69} // namespace dialogs
A config object defines a single node in a WML file, with access to child nodes.
Definition config.hpp:157
virtual void post_show() override
Actions to be taken after the window has been shown.
virtual void pre_show() override
Actions to be taken before showing the window.
Abstract base class for all modal dialogs.
virtual void set_value(const std::string &text)
The set_value is virtual for the password_box class.
A widget that allows the user to input text in single line.
Definition text_box.hpp:125
void add_to_tab_order(widget *widget, int at=-1)
Add the widget to the tabbing order.
Definition window.cpp:1223
int get_retval()
Definition window.hpp:394
void set_remember_password(bool remember)
static prefs & get()
bool remember_password()
const config * cfg
This file contains the window object, this object is a top level container which has the event manage...
#define REGISTER_DIALOG(window_id)
Wrapper for REGISTER_DIALOG2.
@ OK
Dialog was closed with the OK button.
Definition retval.hpp:35
std::vector< std::string > split(const config_attribute_value &val)