Skip to content

Commit be39566

Browse files
authored
Show disconnect warning when using Quick Connect while connected (#4344)
1 parent 4cefa4d commit be39566

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

Client/core/CCommandFuncs.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,10 @@ void CCommandFuncs::Reconnect(const char* szParameters)
318318
// Start the connect
319319
if (CCore::GetSingleton().GetConnectManager()->Reconnect(strHost.c_str(), usPort, strPassword.c_str(), false))
320320
{
321+
if (CCore::GetSingleton().GetConnectManager()->WasQuickConnect())
322+
{
323+
CCore::GetSingleton().GetConnectManager()->SetQuickConnect(false);
324+
}
321325
CCore::GetSingleton().GetConsole()->Printf(_("reconnect: Reconnecting to %s:%u..."), strHost.c_str(), usPort);
322326
}
323327
else

Client/core/CConnectManager.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,14 @@ class CConnectManager
2626

2727
bool Abort();
2828

29+
bool WasQuickConnect() const noexcept { return m_quickConnect; }
30+
2931
void DoPulse();
3032

3133
void OnServerExists();
3234

35+
void SetQuickConnect(bool quick) noexcept { m_quickConnect = quick; }
36+
3337
static void OpenServerFirewall(in_addr Address, ushort usHttpPort = 80, bool bHighPriority = false);
3438

3539
static bool StaticProcessPacket(unsigned char ucPacketID, class NetBitStreamInterface& bitStream);
@@ -59,4 +63,5 @@ class CConnectManager
5963
bool m_bNotifyServerBrowser;
6064

6165
bool CheckNickProvided(const char* szNick);
66+
bool m_quickConnect{false};
6267
};

Client/core/CMainMenu.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,9 @@ bool CMainMenu::OnMenuClick(CGUIMouseEventArgs Args)
850850
}
851851

852852
break;
853+
case MENU_ITEM_QUICK_CONNECT:
854+
AskUserIfHeWantsToDisconnect(m_pHoveredItem->menuType);
855+
return true;
853856
default:
854857
break;
855858
}
@@ -914,7 +917,8 @@ bool CMainMenu::OnQuickConnectButtonClick(CGUIElement* pElement, bool left)
914917
ShowNetworkNotReadyWindow();
915918
return true;
916919
}
917-
920+
921+
g_pCore->GetConnectManager()->SetQuickConnect(true);
918922
g_pCore->GetCommands()->Execute("reconnect", "");
919923
}
920924
else
@@ -1262,6 +1266,9 @@ void CMainMenu::WantsToDisconnectCallBack(void* pData, uint uiButton)
12621266
case MENU_ITEM_DISCONNECT:
12631267
OnDisconnectButtonClick();
12641268
break;
1269+
case MENU_ITEM_QUICK_CONNECT:
1270+
OnQuickConnectButtonClick(nullptr, true);
1271+
break;
12651272
default:
12661273
break;
12671274
}

0 commit comments

Comments
 (0)