OpenTTD Source  20240919-master-gdf0233f4c2
network_content_gui.cpp File Reference
#include "../stdafx.h"
#include "../strings_func.h"
#include "../gfx_func.h"
#include "../window_func.h"
#include "../error.h"
#include "../ai/ai.hpp"
#include "../game/game.hpp"
#include "../base_media_base.h"
#include "../openttd.h"
#include "../sortlist_type.h"
#include "../stringfilter_type.h"
#include "../querystring_gui.h"
#include "../core/geometry_func.hpp"
#include "../textfile_gui.h"
#include "../fios.h"
#include "network_content_gui.h"
#include "table/strings.h"
#include "../table/sprites.h"
#include <bitset>
#include "../safeguards.h"

Go to the source code of this file.

Data Structures

struct  ContentTextfileWindow
 Window for displaying the textfile of an item in the content list. More...
 
struct  NetworkContentDownloadStatusWindow
 Window for showing the download status of content. More...
 
struct  ContentListFilterData
 Filter data for NetworkContentListWindow. More...
 
class  NetworkContentListWindow
 Window that lists the content that's at the content server. More...
 

Enumerations

enum  ContentListFilterCriteria { CONTENT_FILTER_TEXT = 0, CONTENT_FILTER_TYPE_OR_SELECTED }
 Filter criteria for NetworkContentListWindow. More...
 

Functions

void ShowContentTextfileWindow (TextfileType file_type, const ContentInfo *ci)
 
void BuildContentTypeStringList ()
 Build array of all strings corresponding to the content types.
 
void ShowNetworkContentListWindow (ContentVector *cv, ContentType type1, ContentType type2)
 Show the content list window with a given set of content. More...
 

Variables

static bool _accepted_external_search = false
 Whether the user accepted to enter external websites during this session.
 
static constexpr NWidgetPart _nested_network_content_download_status_window_widgets []
 Nested widgets for the download window. More...
 
static WindowDesc _network_content_download_status_window_desc (WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, _nested_network_content_download_status_window_widgets)
 Window description for the download window.
 
static constexpr NWidgetPart _nested_network_content_list_widgets []
 The widgets for the content list.
 
static WindowDesc _network_content_list_desc (WDP_CENTER, "list_content", 630, 460, WC_NETWORK_WINDOW, WC_NONE, 0, _nested_network_content_list_widgets)
 Window description of the content list.
 

Detailed Description

Implementation of the Network Content related GUIs.

Definition in file network_content_gui.cpp.

Enumeration Type Documentation

◆ ContentListFilterCriteria

Filter criteria for NetworkContentListWindow.

Enumerator
CONTENT_FILTER_TEXT 

Filter by query sting.

CONTENT_FILTER_TYPE_OR_SELECTED 

Filter by being of displayed type or selected for download.

Definition at line 323 of file network_content_gui.cpp.

Function Documentation

◆ ShowNetworkContentListWindow()

void ShowNetworkContentListWindow ( ContentVector cv,
ContentType  type1,
ContentType  type2 
)

Show the content list window with a given set of content.

Parameters
cvthe content to show, or nullptr when it has to search for itself
type1the first type to (only) show or CONTENT_TYPE_END to show all.
type2the second type to (only) show in addition to type1. If type2 is != CONTENT_TYPE_END, then also type1 should be != CONTENT_TYPE_END. If type2 != CONTENT_TYPE_END, then type1 != type2 must be true.

Definition at line 1129 of file network_content_gui.cpp.

References _network_content_client, _network_content_list_desc, ClientNetworkContentSocketHandler::Clear(), CloseWindowById(), CONTENT_TYPE_END, ClientNetworkContentSocketHandler::RequestContentList(), ShowErrorMessage(), WC_NETWORK_WINDOW, WL_ERROR, and WN_NETWORK_WINDOW_CONTENT_LIST.

Referenced by ShowMissingContentWindow().

Variable Documentation

◆ _nested_network_content_download_status_window_widgets

constexpr NWidgetPart _nested_network_content_download_status_window_widgets[]
staticconstexpr
Initial value:
= {
NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_BAR), SetFill(1, 0),
NWidget(WWT_EMPTY, INVALID_COLOUR, WID_NCDS_PROGRESS_TEXT), SetFill(1, 0), SetMinimalSize(350, 0),
NWidget(WWT_PUSHTXTBTN, COLOUR_WHITE, WID_NCDS_CANCELOK), SetDataTip(STR_BUTTON_CANCEL, STR_NULL), SetFill(1, 0),
}

Nested widgets for the download window.

Definition at line 85 of file network_content_gui.cpp.

SetFill
constexpr NWidgetPart SetFill(uint16_t fill_x, uint16_t fill_y)
Widget part function for setting filling.
Definition: widget_type.h:1183
WWT_CAPTION
@ WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:63
EndContainer
constexpr NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME,...
Definition: widget_type.h:1193
WWT_EMPTY
@ WWT_EMPTY
Empty widget, place holder to reserve space in widget tree.
Definition: widget_type.h:50
WID_NCDS_PROGRESS_TEXT
@ WID_NCDS_PROGRESS_TEXT
Text explaining what is happening.
Definition: network_content_widget.h:18
SetPadding
constexpr NWidgetPart SetPadding(uint8_t top, uint8_t right, uint8_t bottom, uint8_t left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1230
WWT_PUSHTXTBTN
@ WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:114
NWidget
constexpr NWidgetPart NWidget(WidgetType tp, Colours col, WidgetID idx=-1)
Widget part function for starting a new 'real' widget.
Definition: widget_type.h:1311
NWID_VERTICAL
@ NWID_VERTICAL
Vertical container.
Definition: widget_type.h:79
WID_NCDS_CANCELOK
@ WID_NCDS_CANCELOK
(Optional) Cancel/OK button.
Definition: network_content_widget.h:19
WidgetDimensions::unscaled
static const WidgetDimensions unscaled
Unscaled widget dimensions.
Definition: window_gui.h:67
SetPIP
constexpr NWidgetPart SetPIP(uint8_t pre, uint8_t inter, uint8_t post)
Widget part function for setting a pre/inter/post spaces.
Definition: widget_type.h:1262
WWT_PANEL
@ WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:52
SetMinimalSize
constexpr NWidgetPart SetMinimalSize(int16_t x, int16_t y)
Widget part function for setting the minimal size.
Definition: widget_type.h:1139
SetDataTip
constexpr NWidgetPart SetDataTip(uint32_t data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1204
WID_NCDS_PROGRESS_BAR
@ WID_NCDS_PROGRESS_BAR
Simple progress bar.
Definition: network_content_widget.h:17