mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 13:14:01 +08:00
allow copying own id and a friend's ID
This commit is contained in:
parent
9eee49d6af
commit
b8e305bc41
@ -96,6 +96,98 @@ const char translationChat[TRANSLATION_NUMBER_OF_LANGUAGES][TRANSLATION_BUFFER_S
|
|||||||
"Razgovor"
|
"Razgovor"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char translationCopyId[TRANSLATION_NUMBER_OF_LANGUAGES][TRANSLATION_BUFFER_SIZE] = {
|
||||||
|
// 0 - English
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 1 - Arabic
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 2 - Bulgarian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 3 - Simplified Chinese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 4 - Traditional Chinese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 5 - Czech
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 6 - Danish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 7 - Dutch
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 8 - Finnish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 9 - French
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 10 - German
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 11 - Greek
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 12 - Hungarian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 13 - Italian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 14 - Japanese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 15 - Korean
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 16 - Norwegian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 17 - Polish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 18 - Portuguese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 19 - Brazilian Portuguese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 20 - Romanian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 21 - Russian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 22 - Spanish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 23 - Latin American
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 24 - Swedish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 25 - Thai
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 26 - Turkish
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 27 - Ukrainian
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 28 - Vietnamese
|
||||||
|
"Copy ID",
|
||||||
|
|
||||||
|
// 29 - Croatian
|
||||||
|
"Copy ID",
|
||||||
|
};
|
||||||
|
|
||||||
// C:\Program Files (x86)\Steam\tenfoot\resource\localization\tenfoot_*.txt
|
// C:\Program Files (x86)\Steam\tenfoot\resource\localization\tenfoot_*.txt
|
||||||
// Friends_ProfileDetails_Action_InviteToGame
|
// Friends_ProfileDetails_Action_InviteToGame
|
||||||
const char translationInvite[TRANSLATION_NUMBER_OF_LANGUAGES][TRANSLATION_BUFFER_SIZE] = {
|
const char translationInvite[TRANSLATION_NUMBER_OF_LANGUAGES][TRANSLATION_BUFFER_SIZE] = {
|
||||||
|
@ -587,26 +587,28 @@ bool Steam_Overlay::IHaveLobby()
|
|||||||
|
|
||||||
void Steam_Overlay::BuildContextMenu(Friend const& frd, friend_window_state& state)
|
void Steam_Overlay::BuildContextMenu(Friend const& frd, friend_window_state& state)
|
||||||
{
|
{
|
||||||
if (ImGui::BeginPopupContextItem("Friends_ContextMenu", 1))
|
if (ImGui::BeginPopupContextItem("Friends_ContextMenu", 1)) {
|
||||||
{
|
|
||||||
// this is set to true if any button was clicked
|
// this is set to true if any button was clicked
|
||||||
// otherwise, after clicking any button, the menu will be persistent
|
// otherwise, after clicking any button, the menu will be persistent
|
||||||
bool close_popup = false;
|
bool close_popup = false;
|
||||||
|
|
||||||
// user clicked on "chat"
|
// user clicked on "chat"
|
||||||
if (ImGui::Button(translationChat[current_language]))
|
if (ImGui::Button(translationChat[current_language])) {
|
||||||
{
|
|
||||||
close_popup = true;
|
close_popup = true;
|
||||||
state.window_state |= window_state_show;
|
state.window_state |= window_state_show;
|
||||||
}
|
}
|
||||||
|
// user clicked on "copy id" on a friend
|
||||||
|
if (ImGui::Button(translationCopyId[current_language])) {
|
||||||
|
close_popup = true;
|
||||||
|
auto friend_id_str = std::to_string(frd.id());
|
||||||
|
ImGui::SetClipboardText(friend_id_str.c_str());
|
||||||
|
}
|
||||||
// If we have the same appid, activate the invite/join buttons
|
// If we have the same appid, activate the invite/join buttons
|
||||||
if (settings->get_local_game_id().AppID() == frd.appid())
|
if (settings->get_local_game_id().AppID() == frd.appid()) {
|
||||||
{
|
|
||||||
// user clicked on "invite to game"
|
// user clicked on "invite to game"
|
||||||
std::string translationInvite_tmp(translationInvite[current_language]);
|
std::string translationInvite_tmp(translationInvite[current_language]);
|
||||||
translationInvite_tmp.append("##PopupInviteToGame");
|
translationInvite_tmp.append("##PopupInviteToGame");
|
||||||
if (i_have_lobby && ImGui::Button(translationInvite_tmp.c_str()))
|
if (i_have_lobby && ImGui::Button(translationInvite_tmp.c_str())) {
|
||||||
{
|
|
||||||
close_popup = true;
|
close_popup = true;
|
||||||
state.window_state |= window_state_invite;
|
state.window_state |= window_state_invite;
|
||||||
has_friend_action.push(frd);
|
has_friend_action.push(frd);
|
||||||
@ -616,8 +618,7 @@ void Steam_Overlay::BuildContextMenu(Friend const& frd, friend_window_state& sta
|
|||||||
std::string translationJoin_tmp(translationJoin[current_language]);
|
std::string translationJoin_tmp(translationJoin[current_language]);
|
||||||
translationJoin_tmp.append("##PopupAcceptInvite");
|
translationJoin_tmp.append("##PopupAcceptInvite");
|
||||||
|
|
||||||
if (state.joinable && ImGui::Button(translationJoin_tmp.c_str()))
|
if (state.joinable && ImGui::Button(translationJoin_tmp.c_str())) {
|
||||||
{
|
|
||||||
close_popup = true;
|
close_popup = true;
|
||||||
// don't bother adding this friend if the button "invite all" was clicked
|
// don't bother adding this friend if the button "invite all" was clicked
|
||||||
// we will send them the invitation later in Steam_Overlay::RunCallbacks()
|
// we will send them the invitation later in Steam_Overlay::RunCallbacks()
|
||||||
@ -628,8 +629,7 @@ void Steam_Overlay::BuildContextMenu(Friend const& frd, friend_window_state& sta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (close_popup || invite_all_friends_clicked)
|
if (close_popup || invite_all_friends_clicked) {
|
||||||
{
|
|
||||||
ImGui::CloseCurrentPopup();
|
ImGui::CloseCurrentPopup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -705,13 +705,17 @@ void Steam_Overlay::BuildFriendWindow(Friend const& frd, friend_window_state& st
|
|||||||
ImGuiStyle &style = ImGui::GetStyle();
|
ImGuiStyle &style = ImGui::GetStyle();
|
||||||
wnd_width -= ImGui::CalcTextSize(translationSend[current_language]).x + style.FramePadding.x * 2 + style.ItemSpacing.x + 1;
|
wnd_width -= ImGui::CalcTextSize(translationSend[current_language]).x + style.FramePadding.x * 2 + style.ItemSpacing.x + 1;
|
||||||
|
|
||||||
|
uint64_t frd_id = frd.id();
|
||||||
|
ImGui::PushID((const char *)&frd_id, (const char *)&frd_id + sizeof(frd_id));
|
||||||
ImGui::PushItemWidth(wnd_width);
|
ImGui::PushItemWidth(wnd_width);
|
||||||
|
|
||||||
if (ImGui::InputText("##chat_line", state.chat_input, max_chat_len, ImGuiInputTextFlags_EnterReturnsTrue))
|
if (ImGui::InputText("##chat_line", state.chat_input, max_chat_len, ImGuiInputTextFlags_EnterReturnsTrue))
|
||||||
{
|
{
|
||||||
send_chat_msg = true;
|
send_chat_msg = true;
|
||||||
ImGui::SetKeyboardFocusHere(-1);
|
ImGui::SetKeyboardFocusHere(-1);
|
||||||
}
|
}
|
||||||
ImGui::PopItemWidth();
|
ImGui::PopItemWidth();
|
||||||
|
ImGui::PopID();
|
||||||
|
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
|
|
||||||
@ -1053,8 +1057,8 @@ void Steam_Overlay::OverlayProc()
|
|||||||
settings->get_local_name(),
|
settings->get_local_name(),
|
||||||
settings->get_local_steam_id().ConvertToUint64(),
|
settings->get_local_steam_id().ConvertToUint64(),
|
||||||
settings->get_local_game_id().AppID());
|
settings->get_local_game_id().AppID());
|
||||||
ImGui::SameLine();
|
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
if (ImGui::Button(translationShowAchievements[current_language])) {
|
if (ImGui::Button(translationShowAchievements[current_language])) {
|
||||||
show_achievements = true;
|
show_achievements = true;
|
||||||
@ -1065,6 +1069,14 @@ void Steam_Overlay::OverlayProc()
|
|||||||
show_settings = true;
|
show_settings = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ImGui::SameLine();
|
||||||
|
// user clicked on "copy id" on themselves
|
||||||
|
if (ImGui::Button(translationCopyId[current_language])) {
|
||||||
|
auto friend_id_str = std::to_string(settings->get_local_steam_id().ConvertToUint64());
|
||||||
|
ImGui::SetClipboardText(friend_id_str.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user