From 748a9849ecfdcf263c909997e2e8fd405b9b1713 Mon Sep 17 00:00:00 2001 From: zhupengfei Date: Tue, 9 Oct 2018 23:08:33 +0800 Subject: [PATCH] citra_qt/multiplayer: retranslate multiplayer dialogs --- src/citra_qt/multiplayer/chat_room.cpp | 4 ++++ src/citra_qt/multiplayer/chat_room.h | 1 + src/citra_qt/multiplayer/client_room.cpp | 5 +++++ src/citra_qt/multiplayer/client_room.h | 2 ++ src/citra_qt/multiplayer/direct_connect.cpp | 4 ++++ src/citra_qt/multiplayer/direct_connect.h | 2 ++ src/citra_qt/multiplayer/host_room.cpp | 4 ++++ src/citra_qt/multiplayer/host_room.h | 2 ++ src/citra_qt/multiplayer/lobby.cpp | 4 ++++ src/citra_qt/multiplayer/lobby.h | 2 ++ src/citra_qt/multiplayer/state.cpp | 9 +++++++++ 11 files changed, 39 insertions(+) diff --git a/src/citra_qt/multiplayer/chat_room.cpp b/src/citra_qt/multiplayer/chat_room.cpp index 0c1a2310c..50bc5eb03 100644 --- a/src/citra_qt/multiplayer/chat_room.cpp +++ b/src/citra_qt/multiplayer/chat_room.cpp @@ -110,6 +110,10 @@ ChatRoom::ChatRoom(QWidget* parent) : QWidget(parent), ui(std::make_uniqueretranslateUi(this); +} + void ChatRoom::Clear() { ui->chat_history->clear(); block_list.clear(); diff --git a/src/citra_qt/multiplayer/chat_room.h b/src/citra_qt/multiplayer/chat_room.h index 284f02bca..f541af819 100644 --- a/src/citra_qt/multiplayer/chat_room.h +++ b/src/citra_qt/multiplayer/chat_room.h @@ -30,6 +30,7 @@ class ChatRoom : public QWidget { public: explicit ChatRoom(QWidget* parent); + void RetranslateUi(); void SetPlayerList(const Network::RoomMember::MemberList& member_list); void Clear(); void AppendStatusMessage(const QString& msg); diff --git a/src/citra_qt/multiplayer/client_room.cpp b/src/citra_qt/multiplayer/client_room.cpp index 79fa061ee..63227f6e0 100644 --- a/src/citra_qt/multiplayer/client_room.cpp +++ b/src/citra_qt/multiplayer/client_room.cpp @@ -45,6 +45,11 @@ ClientRoomWindow::ClientRoomWindow(QWidget* parent) ClientRoomWindow::~ClientRoomWindow() = default; +void ClientRoomWindow::RetranslateUi() { + ui->retranslateUi(this); + ui->chat->RetranslateUi(); +} + void ClientRoomWindow::OnRoomUpdate(const Network::RoomInformation& info) { UpdateView(); } diff --git a/src/citra_qt/multiplayer/client_room.h b/src/citra_qt/multiplayer/client_room.h index 8e8ee24eb..47add6f51 100644 --- a/src/citra_qt/multiplayer/client_room.h +++ b/src/citra_qt/multiplayer/client_room.h @@ -17,6 +17,8 @@ public: explicit ClientRoomWindow(QWidget* parent); ~ClientRoomWindow(); + void RetranslateUi(); + public slots: void OnRoomUpdate(const Network::RoomInformation&); void OnStateChange(const Network::RoomMember::State&); diff --git a/src/citra_qt/multiplayer/direct_connect.cpp b/src/citra_qt/multiplayer/direct_connect.cpp index 482679011..2d6e28c91 100644 --- a/src/citra_qt/multiplayer/direct_connect.cpp +++ b/src/citra_qt/multiplayer/direct_connect.cpp @@ -49,6 +49,10 @@ DirectConnectWindow::DirectConnectWindow(QWidget* parent) DirectConnectWindow::~DirectConnectWindow() = default; +void DirectConnectWindow::RetranslateUi() { + ui->retranslateUi(this); +} + void DirectConnectWindow::Connect() { if (!ui->nickname->hasAcceptableInput()) { NetworkMessage::ShowError(NetworkMessage::USERNAME_NOT_VALID); diff --git a/src/citra_qt/multiplayer/direct_connect.h b/src/citra_qt/multiplayer/direct_connect.h index de167c1f9..757ec24a0 100644 --- a/src/citra_qt/multiplayer/direct_connect.h +++ b/src/citra_qt/multiplayer/direct_connect.h @@ -20,6 +20,8 @@ public: explicit DirectConnectWindow(QWidget* parent = nullptr); ~DirectConnectWindow(); + void RetranslateUi(); + signals: /** * Signalled by this widget when it is closing itself and destroying any state such as diff --git a/src/citra_qt/multiplayer/host_room.cpp b/src/citra_qt/multiplayer/host_room.cpp index d08866b13..1d389539d 100644 --- a/src/citra_qt/multiplayer/host_room.cpp +++ b/src/citra_qt/multiplayer/host_room.cpp @@ -73,6 +73,10 @@ HostRoomWindow::HostRoomWindow(QWidget* parent, QStandardItemModel* list, HostRoomWindow::~HostRoomWindow() = default; +void HostRoomWindow::RetranslateUi() { + ui->retranslateUi(this); +} + void HostRoomWindow::Host() { if (!ui->username->hasAcceptableInput()) { NetworkMessage::ShowError(NetworkMessage::USERNAME_NOT_VALID); diff --git a/src/citra_qt/multiplayer/host_room.h b/src/citra_qt/multiplayer/host_room.h index 574dc2824..87ad96b9d 100644 --- a/src/citra_qt/multiplayer/host_room.h +++ b/src/citra_qt/multiplayer/host_room.h @@ -34,6 +34,8 @@ public: std::shared_ptr session); ~HostRoomWindow(); + void RetranslateUi(); + private slots: /** * Handler for connection status changes. Launches the chat window if successful or diff --git a/src/citra_qt/multiplayer/lobby.cpp b/src/citra_qt/multiplayer/lobby.cpp index 40e892636..8a5630289 100644 --- a/src/citra_qt/multiplayer/lobby.cpp +++ b/src/citra_qt/multiplayer/lobby.cpp @@ -84,6 +84,10 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list, RefreshLobby(); } +void Lobby::RetranslateUi() { + ui->retranslateUi(this); +} + QString Lobby::PasswordPrompt() { bool ok; const QString text = QInputDialog::getText(this, tr("Password Required to Join"), diff --git a/src/citra_qt/multiplayer/lobby.h b/src/citra_qt/multiplayer/lobby.h index f41bd0ceb..9d77b73b6 100644 --- a/src/citra_qt/multiplayer/lobby.h +++ b/src/citra_qt/multiplayer/lobby.h @@ -30,6 +30,8 @@ public: std::shared_ptr session); ~Lobby() = default; + void RetranslateUi(); + public slots: /** * Begin the process to pull the latest room list from web services. After the listing is diff --git a/src/citra_qt/multiplayer/state.cpp b/src/citra_qt/multiplayer/state.cpp index c3ff03af1..f1dec2ba3 100644 --- a/src/citra_qt/multiplayer/state.cpp +++ b/src/citra_qt/multiplayer/state.cpp @@ -75,6 +75,15 @@ void MultiplayerState::retranslateUi() { } else { status_text->setText(tr("Not Connected")); } + + if (lobby) + lobby->RetranslateUi(); + if (host_room) + host_room->RetranslateUi(); + if (client_room) + client_room->RetranslateUi(); + if (direct_connect) + direct_connect->RetranslateUi(); } void MultiplayerState::OnNetworkStateChanged(const Network::RoomMember::State& state) {