mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-09 09:38:19 +00:00
Merge pull request #8812 from dobrykafe/pr-popup-password
Show server info in password popup
This commit is contained in:
commit
9fd4adfb21
|
@ -234,18 +234,6 @@ public:
|
||||||
class CServerBrowser : public IServerBrowser
|
class CServerBrowser : public IServerBrowser
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class CServerEntry
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
int64_t m_RequestTime;
|
|
||||||
bool m_RequestIgnoreInfo;
|
|
||||||
int m_GotInfo;
|
|
||||||
CServerInfo m_Info;
|
|
||||||
|
|
||||||
CServerEntry *m_pPrevReq; // request list
|
|
||||||
CServerEntry *m_pNextReq;
|
|
||||||
};
|
|
||||||
|
|
||||||
CServerBrowser();
|
CServerBrowser();
|
||||||
virtual ~CServerBrowser();
|
virtual ~CServerBrowser();
|
||||||
|
|
||||||
|
@ -307,7 +295,7 @@ public:
|
||||||
void OnInit();
|
void OnInit();
|
||||||
|
|
||||||
void QueueRequest(CServerEntry *pEntry);
|
void QueueRequest(CServerEntry *pEntry);
|
||||||
CServerEntry *Find(const NETADDR &Addr);
|
CServerEntry *Find(const NETADDR &Addr) override;
|
||||||
int GetCurrentType() override { return m_ServerlistType; }
|
int GetCurrentType() override { return m_ServerlistType; }
|
||||||
bool IsRegistered(const NETADDR &Addr);
|
bool IsRegistered(const NETADDR &Addr);
|
||||||
|
|
||||||
|
|
|
@ -295,6 +295,18 @@ public:
|
||||||
NUM_TYPES,
|
NUM_TYPES,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class CServerEntry
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
int64_t m_RequestTime;
|
||||||
|
bool m_RequestIgnoreInfo;
|
||||||
|
int m_GotInfo;
|
||||||
|
CServerInfo m_Info;
|
||||||
|
|
||||||
|
CServerEntry *m_pPrevReq; // request list
|
||||||
|
CServerEntry *m_pNextReq;
|
||||||
|
};
|
||||||
|
|
||||||
static constexpr const char *COMMUNITY_DDNET = "ddnet";
|
static constexpr const char *COMMUNITY_DDNET = "ddnet";
|
||||||
static constexpr const char *COMMUNITY_NONE = "none";
|
static constexpr const char *COMMUNITY_NONE = "none";
|
||||||
/**
|
/**
|
||||||
|
@ -341,6 +353,7 @@ public:
|
||||||
virtual const IFilterList &TypesFilter() const = 0;
|
virtual const IFilterList &TypesFilter() const = 0;
|
||||||
virtual void CleanFilters() = 0;
|
virtual void CleanFilters() = 0;
|
||||||
|
|
||||||
|
virtual CServerEntry *Find(const NETADDR &Addr) = 0;
|
||||||
virtual int GetCurrentType() = 0;
|
virtual int GetCurrentType() = 0;
|
||||||
virtual const char *GetTutorialServer() = 0;
|
virtual const char *GetTutorialServer() = 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1399,7 +1399,7 @@ void CMenus::RenderPopupFullscreen(CUIRect Screen)
|
||||||
}
|
}
|
||||||
else if(m_Popup == POPUP_PASSWORD)
|
else if(m_Popup == POPUP_PASSWORD)
|
||||||
{
|
{
|
||||||
CUIRect Label, TextBox, TryAgain, Abort;
|
CUIRect AddressLabel, Address, Icon, Name, Label, TextBox, TryAgain, Abort;
|
||||||
|
|
||||||
Box.HSplitBottom(20.f, &Box, &Part);
|
Box.HSplitBottom(20.f, &Box, &Part);
|
||||||
Box.HSplitBottom(24.f, &Box, &Part);
|
Box.HSplitBottom(24.f, &Box, &Part);
|
||||||
|
@ -1414,15 +1414,14 @@ void CMenus::RenderPopupFullscreen(CUIRect Screen)
|
||||||
if(DoButton_Menu(&s_ButtonAbort, Localize("Abort"), 0, &Abort) || Ui()->ConsumeHotkey(CUi::HOTKEY_ESCAPE))
|
if(DoButton_Menu(&s_ButtonAbort, Localize("Abort"), 0, &Abort) || Ui()->ConsumeHotkey(CUi::HOTKEY_ESCAPE))
|
||||||
m_Popup = POPUP_NONE;
|
m_Popup = POPUP_NONE;
|
||||||
|
|
||||||
|
char aAddr[NETADDR_MAXSTRSIZE];
|
||||||
|
net_addr_str(&Client()->ServerAddress(), aAddr, sizeof(aAddr), true);
|
||||||
|
|
||||||
static CButtonContainer s_ButtonTryAgain;
|
static CButtonContainer s_ButtonTryAgain;
|
||||||
if(DoButton_Menu(&s_ButtonTryAgain, Localize("Try again"), 0, &TryAgain) || Ui()->ConsumeHotkey(CUi::HOTKEY_ENTER))
|
if(DoButton_Menu(&s_ButtonTryAgain, Localize("Try again"), 0, &TryAgain) || Ui()->ConsumeHotkey(CUi::HOTKEY_ENTER))
|
||||||
{
|
|
||||||
char aAddr[NETADDR_MAXSTRSIZE];
|
|
||||||
net_addr_str(&Client()->ServerAddress(), aAddr, sizeof(aAddr), true);
|
|
||||||
Client()->Connect(aAddr, g_Config.m_Password);
|
Client()->Connect(aAddr, g_Config.m_Password);
|
||||||
}
|
|
||||||
|
|
||||||
Box.HSplitBottom(60.f, &Box, &Part);
|
Box.HSplitBottom(32.f, &Box, &Part);
|
||||||
Box.HSplitBottom(24.f, &Box, &Part);
|
Box.HSplitBottom(24.f, &Box, &Part);
|
||||||
|
|
||||||
Part.VSplitLeft(60.0f, 0, &Label);
|
Part.VSplitLeft(60.0f, 0, &Label);
|
||||||
|
@ -1431,6 +1430,35 @@ void CMenus::RenderPopupFullscreen(CUIRect Screen)
|
||||||
TextBox.VSplitRight(60.0f, &TextBox, 0);
|
TextBox.VSplitRight(60.0f, &TextBox, 0);
|
||||||
Ui()->DoLabel(&Label, Localize("Password"), 18.0f, TEXTALIGN_ML);
|
Ui()->DoLabel(&Label, Localize("Password"), 18.0f, TEXTALIGN_ML);
|
||||||
Ui()->DoClearableEditBox(&m_PasswordInput, &TextBox, 12.0f);
|
Ui()->DoClearableEditBox(&m_PasswordInput, &TextBox, 12.0f);
|
||||||
|
|
||||||
|
Box.HSplitBottom(32.f, &Box, &Part);
|
||||||
|
Box.HSplitBottom(24.f, &Box, &Part);
|
||||||
|
|
||||||
|
Part.VSplitLeft(60.0f, 0, &AddressLabel);
|
||||||
|
AddressLabel.VSplitLeft(100.0f, 0, &Address);
|
||||||
|
Address.VSplitLeft(20.0f, 0, &Address);
|
||||||
|
Ui()->DoLabel(&AddressLabel, Localize("Address"), 18.0f, TEXTALIGN_ML);
|
||||||
|
Ui()->DoLabel(&Address, aAddr, 18.0f, TEXTALIGN_ML);
|
||||||
|
|
||||||
|
Box.HSplitBottom(32.f, &Box, &Part);
|
||||||
|
Box.HSplitBottom(24.f, &Box, &Part);
|
||||||
|
|
||||||
|
const CServerBrowser::CServerEntry *pEntry = ServerBrowser()->Find(Client()->ServerAddress());
|
||||||
|
if(pEntry != nullptr && pEntry->m_GotInfo)
|
||||||
|
{
|
||||||
|
Part.VSplitLeft(60.0f, 0, &Icon);
|
||||||
|
Icon.VSplitLeft(100.0f, 0, &Name);
|
||||||
|
Icon.VSplitLeft(80.0f, &Icon, 0);
|
||||||
|
Name.VSplitLeft(20.0f, 0, &Name);
|
||||||
|
|
||||||
|
const SCommunityIcon *pIcon = FindCommunityIcon(pEntry->m_Info.m_aCommunityId);
|
||||||
|
if(pIcon != nullptr)
|
||||||
|
RenderCommunityIcon(pIcon, Icon, true);
|
||||||
|
else
|
||||||
|
Ui()->DoLabel(&Icon, Localize("Name"), 18.0f, TEXTALIGN_ML);
|
||||||
|
|
||||||
|
Ui()->DoLabel(&Name, pEntry->m_Info.m_aName, 18.0f, TEXTALIGN_ML);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(m_Popup == POPUP_LANGUAGE)
|
else if(m_Popup == POPUP_LANGUAGE)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue