Commit graph

50 commits

Author SHA1 Message Date
zhupengfei
4df4b90795
citra_qt/multiplayer: Change style for pinged messages a bit
To allow it to be seen more clearly in dark themes
2018-12-16 23:08:47 +08:00
zhupengfei
9d062d63da
network, citra_qt: Give moderation permission to community mods
Based on the `roles` payload in the JWT, the rooms will now give mod permission to Citra Community Moderators. To notify the client of its permissions, a new response, IdJoinSuccessAsMod is added, and there's now a new RoomMember::State called Moderator.
2018-12-15 20:28:03 +08:00
zhupengfei
8b8b39ec0e
citra_qt/multiplayer: Add user ping support
The user would be notified if the message contains "@" followed by the user's nickname or forum username. An alert would be shown, and the icon and message in the status bar would be changed. All notification is only shown if the chat window currently does not have focus.

Also added a connected_notification icon for showing in the status bar.
2018-12-15 11:03:35 +08:00
zhupengfei
deb398d190
citra_qt: Save ban list for room hosting 2018-12-15 11:03:33 +08:00
zhupengfei
15540df140
citra_qt/multiplayer/chat_room: Add moderation to context menu 2018-12-15 11:03:33 +08:00
zhupengfei
6359b6094c
citra_qt: Add a moderation dialog
The dialog currently supports accessing the ban list and removing entries from it.
2018-12-15 11:03:32 +08:00
zhupengfei
7acd2664dd
network/room_member: Add moderation functions
To allow for passing moderation errors around without impacting the State, this commit also separates the previous State enum into two enums: State, and Error. The State enum now only contains generic states like disconnected or connected, and the Error enum describes the specific error happened.

citra_qt/multiplayer/{state, message} is changed accordingly.
2018-12-15 11:03:31 +08:00
zhupengfei
6c29d441f4
multiplayer: fix "Connected" message not appearing on first connection 2018-12-15 11:03:10 +08:00
zhupengfei
0319e51960 multiplayer: Add status message for user joining/leaving
The room server is now able to send a new type of packet: IdStatusMessage which is parsed and displayed by the client.
2018-12-15 11:03:06 +08:00
zhupengfei
386bf5c861
citra_qt: Use the new verify backend; UI changes
Displayed username along with nickname (when they are not identical); Requested and displayed user's avatar; Made the dialog bigger for extended names.

Added a few functions to web_backend (GetImage, GetPlain) to support getting data in multiple content-types.

Added a no_avatar icon for users without avatars.
2018-12-15 11:02:54 +08:00
adityaruplaha
5f0e189238
Add Support for Room Descriptions 2018-12-15 11:02:50 +08:00
zhupengfei
c396e3c6e5 network: check Console ID conflicts
As Console ID can be sensitive data sometimes, this implementation sent a SHA256 hash of it instead.
2018-12-15 11:02:47 +08:00
zhupengfei
3c589f473f
multiplayer: check nickname regex server side 2018-12-15 10:40:27 +08:00
James Rowe
e040bc9355
Multiplayer: Send an error message when connecting to a full room 2018-12-15 10:40:26 +08:00
Valentin Vanelslande
599e60f80b
host_room: change minimum members to 2
the minimum for dedicated_room is 2.
2018-12-10 15:39:52 -05:00
zhupengfei
748a9849ec
citra_qt/multiplayer: retranslate multiplayer dialogs 2018-10-10 18:21:22 +08:00
Weiyi Wang
4a30a502a0
Merge pull request #4211 from wwylele/web-cleanup
web_service: stop using std::future + callback style async
2018-09-29 23:02:27 -04:00
Weiyi Wang
77c1f647cb web_service: stop using std::future + callback style async 2018-09-13 16:14:34 -04:00
zhupengfei
cdd3bd72e5
citra_qt/multiplayer: three minor fixes
* Fix the issue that icons for owned games do not appear

* Fix the issue where you would double click on a room and connect to another

* Fix the issue that room name and nickname does not have size limitation
2018-09-05 22:46:33 +08:00
James Rowe
7b46b7e29a
Merge pull request #4010 from zhaowenlan1779/statusbar-retheme
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
2018-07-30 10:35:42 -06:00
Ben
b4524eb70b
Merge pull request #3988 from zhaowenlan1779/multiplayer-block
citra_qt/multiplayer: allow blocking other players in chat room
2018-07-30 14:07:40 +02:00
zhupengfei
b1bbe0441e
qt_themes: add themed connected/disconnected icons for dark and fix status bar theme updating
In dark theme, it is very hard to see the connected/disconnected icons because they are dark too. So I added two white-coloured icons for the dark theme. This also fixed an issue where theme update does not change the icon on the status bar.
2018-07-28 11:50:46 +08:00
zhupengfei
76465dd0f5
citra_qt: retranslate status bar 2018-07-24 19:20:00 +08:00
zhupengfei
921037a7c3
citra_qt/multiplayer: allow blocking other players in chat room 2018-07-24 15:24:21 +08:00
zhupengfei
40aea8d6b8
citra_qt: use Citra Web Service username as default multiplayer nickname 2018-07-17 15:25:00 +08:00
wwylele
7c5a76e58b log: replace all NGLOG with LOG 2018-06-29 14:18:07 +03:00
BreadFish64
30c6c37d6c fix jrowes lazy sorting 2018-05-26 15:38:06 -05:00
BreadFish64
31a9fdb00b fix preffered game 2018-05-26 15:38:06 -05:00
zhupengfei
b33f7901b6
citra_qt: fix clang-format 2018-05-01 11:26:57 +08:00
zhupengfei
784c41bf34
citra_qt: multiplayer password dialog fix 2018-05-01 11:15:31 +08:00
James Rowe
252e5f173d
Merge pull request #3676 from jroweboy/minor-mp-ui-fix
Minor multiplayer ui fixes
2018-04-27 10:00:21 -06:00
James Rowe
65b38a7537 fixup: Address review 2018-04-25 10:31:51 -06:00
James Rowe
6ce111301f Frontend: Add missing translation for network error messages 2018-04-25 09:44:16 -06:00
Adityarup Laha
c06d6ecea2
Replace "Hide Full Games" with "Hide Full Rooms" 2018-04-22 16:56:49 +05:30
James Rowe
c7726f13e8 Frontend: Prevent a crash from closing a hosted room using the Disconnect button and then trying to host another room 2018-04-20 00:53:56 -06:00
James Rowe
5fef22fc52 Frontend: Prevent connecting to another room when already joining 2018-04-20 00:53:31 -06:00
James Rowe
d35693bbbc More minor issue fixes
* Move Joining state change sooner in the code to prevent an issue where
failing to connect multiple times in a row doesn't change the state (as
it goes from CouldNotConnect -> CouldNotConnect which doesn't trigger a
state changed callback)
* Prevent double clicking too fast on a room in the lobby from causing
issues
* Lobby no longer closes when joining a room
2018-04-19 10:28:19 -06:00
James Rowe
62257e0d79 Fix Lobby filtering with player list
* Make double clicking the player list open the correct room
* Fix an issue where filtering with search broke the whos playing list
2018-04-19 10:28:18 -06:00
James Rowe
1f6791431d Move almost all state change tracking to MultiplayerState
Each window can still watch for state changes to update the ui or to
close the window as appropriate, but for any error announcements, they
all belong in Multiplayer state now.
2018-04-19 10:28:18 -06:00
James Rowe
a5c8e07f46 Remove duplicated logic in HostRoom
Fixes some issues with multiple warning messages
2018-04-19 10:28:18 -06:00
James Rowe
2be02f221d Fix player list not showing in lobby. Fix host and direct connect crashing citra 2018-04-19 10:28:18 -06:00
James Rowe
01b49b7e78 Fix compilation issue where unique_ptr needs full class declaration 2018-04-19 10:28:17 -06:00
James Rowe
c635c7f40d Address more review comments
* Make Validation a singleton instead
* Wording changes for error messages
* Smart pointers for Ui members
* Other minor nitpicks
2018-04-19 10:28:17 -06:00
James Rowe
a85511cd7d Fix multiplayer dropdowns and proxy model
* Filters in the lobby properly remove rooms
* Multiplayer menu items for Show Room and Leave Room work as intended
2018-04-19 10:28:17 -06:00
James Rowe
601fd81d5c Address review comments 2018-04-19 10:28:16 -06:00
James Rowe
3be7aa2cfc Moved the password icon to the room name.
Also added a dark mode lock icon as well (and fixed a small bug
preventing the lock icon from showing up)
2018-04-19 10:28:16 -06:00
James Rowe
599eebf511 Remove the current players blurb 2018-04-19 10:28:16 -06:00
James Rowe
2d1efcc36b Add a member list expandable to the lobby. Fix issue with hosting more than once. 2018-04-19 10:28:15 -06:00
James Rowe
f346a9d372 Split multiplayer code into its own class 2018-04-19 10:28:15 -06:00
James Rowe
871196bc10 Citra-qt: Add multiplayer ui 2018-04-19 10:28:14 -06:00