1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 16:37:26 +08:00
Commit Graph

540 Commits

Author SHA1 Message Date
Dean Herbert
7fca5ee28d Move DrawableUsername into own file
It's too large at this point to be a nested class.
2022-11-30 16:15:50 +09:00
Alden Wu
8ec4dd046e Fix InspectCode errors 2022-11-28 18:06:44 -08:00
Alden Wu
0cb7c94c21 Merge branch 'master' of https://github.com/ppy/osu into chat-profile-highlight-v2 2022-11-28 17:59:15 -08:00
Alden Wu
c2d8ffc225 Refactor ChatLine username drawable creation 2022-11-28 17:50:12 -08:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Bartłomiej Dach
2f67199b1c
Merge branch 'master' into fix-missing-day-separator 2022-11-23 18:40:44 +01:00
Dean Herbert
5467097387 Fix adjacent day separators potentially being left behind after pending message resolution 2022-11-23 18:49:51 +09:00
Bartłomiej Dach
76bb529cfa
Add test for local echo adding day separator 2022-11-22 16:46:21 +01:00
Alden Wu
a2b505f4c0 Use a direct Lighten instead of >1f Color4 values 2022-11-22 00:31:22 -08:00
Alden Wu
4084a2b066 Highlight ChatLine username on hover 2022-11-21 18:57:59 -08:00
Dean Herbert
e53b4321ff Ensure two day separators are not added in a row 2022-11-21 14:01:10 +09:00
Dean Herbert
fa7b45dfb1 Fix chat day separator not being added on pending message resolution
Closes #21316.
2022-11-21 13:52:14 +09:00
Terochi
3d4962e181 Added functioning tests. 2022-11-17 13:07:06 +01:00
Terochi
6d83af01e2 Moved and renamed MessageHistoryTextBox.cs for better fit. 2022-11-17 13:07:06 +01:00
Dragon
b9590320b7 Moved implementation to ChatRecentTextBox.cs and derived ChatTextBox.cs and StandAloneChatDisplay.cs from it. 2022-11-17 13:07:06 +01:00
Dragon
a1af663682 Implemented previous messages lookup in the ChatTextBox.cs 2022-11-17 13:07:06 +01:00
Joseph Madamba
76df61504f
Remove unnecessary timestamp update
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-11-06 19:45:59 -08:00
Joseph Madamba
61ec0ba566 Make chat line timestamp adjust to 24-hour time setting 2022-11-06 19:28:01 -08:00
Joseph Madamba
b977fc8181 Use autosize instead of max width on fixed width timestamps 2022-11-06 19:28:01 -08:00
Dean Herbert
a215d009fe Update Remove/RemoveRange/RemoveAll calls in line with framework changes 2022-08-29 15:57:40 +09:00
Dean Herbert
6a0d23cf96 Nest dialog class and apply NRT 2022-08-24 17:39:22 +09:00
Dean Herbert
9f9deef438 Reword slightly 2022-08-24 17:37:41 +09:00
Andrew Hong
9ee26c575d Made button blue 2022-08-24 04:04:44 -04:00
Andrew Hong
b24513038c Add popupdialog button to copy url 2022-08-24 03:35:19 -04:00
Dean Herbert
34ffc51c51 Avoid clearing chat overlay textbox when pressing "back" key binding
Generally this is expected behaviour for usages of focused text boxes
(ie. to clear search content), but not so much here.

Addresses https://github.com/ppy/osu/discussions/19403#discussioncomment-3230395.
2022-08-02 13:56:03 +09:00
Salman Ahmed
b33f8aa0fc Fix "Start Chat" on multiplayer/playlist chat not opening overlay 2022-07-18 06:45:00 +03:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Jai Sharma
c2ed41d097 Remove CanBeNull specification from DI attributes 2022-06-08 15:10:19 +01:00
Jai Sharma
04b434b8ce Update ChatLine timestamp and message colours 2022-06-08 14:04:01 +01:00
Jai Sharma
dfa31df2af Use #nullable enable in ChatLine 2022-06-08 14:04:01 +01:00
Jai Sharma
2f635fa854 Refactor ChatLine and fix DrawableChannel flow padding
Refactors `ChatLine` component to use more sensible override properties
and layout using grid container. Moves creation of username component
into its own method to simplify BDL.

Updates padding of base `DrawableChannel` flow padding.

Removes usage of `ChatOverlayDrawableChannel` since it's overrides are
no longer needed.

Updates usage of `StandAloneChatDisplay` to use new override properties
of `DrawableChannel`.
2022-06-07 22:35:45 +01:00
Jai Sharma
c0aaeff2b3 Update DaySeparator to use new design throughout
Moves `DaySeparator` chat component to it's own file and update it to
match new chat design. Makes use of several virtual attributes that can
be overridden to update spacing and layout in other usage contexts.

Remove redundant usage of `ChatOverlayDaySeparator`, since the new
design is now part of the base class.

Create `StandAloneDaySeparator` to use in `StandAloneChatDisplay` which
overrides attributes to match correct spacing and layout for its design.

Ensure that `DrawableChannel.CreateDaySeparator` returns type of
`DaySeparator` instead of `Drawable`.
2022-06-04 18:02:14 +01:00
Jamie Taylor
2878bb592f
Use more appropriate sounds for certain components 2022-06-03 22:32:12 +09:00
Dean Herbert
9e678101cf
Merge pull request #18442 from jai-x/new-chat-announce-channel
Display Announce type channels separately in new chat overlay
2022-05-30 16:53:15 +09:00
Jai Sharma
8f596520f3 Remove old chat overlay components 2022-05-29 20:08:43 +01:00
Bartłomiej Dach
e329c160b3
Simplify channel retrieval expression 2022-05-29 18:58:27 +02:00
Bartłomiej Dach
e69f8716cd
Fix incorrect indent size 2022-05-29 18:56:37 +02:00
Jai Sharma
c5845f307a Code quality 2022-05-27 20:12:00 +01:00
Jai Sharma
e950c8c1d0 Refactor ChannelList to use new ChannelGroup class for each type of channel 2022-05-27 19:46:53 +01:00
Jai Sharma
320b6ca631 Display Announce type channels separately in new chat overlay 2022-05-27 16:18:22 +01:00
Joseph Madamba
105d581f24 Use existing web localisation for chat strings 2022-05-26 22:23:03 -07:00
Jai Sharma
997fc716e8 Split out the channel list labels from the channel list item flow 2022-05-25 15:15:46 +01:00
Jai Sharma
cd90d29315 Ensure channel traversal shortcut scrolls channel list item into view 2022-05-25 12:37:28 +01:00
Jai Sharma
4a36f3aa4c Ensure channel traversal shortcut is using visual order 2022-05-25 12:29:04 +01:00
Jai Sharma
fb06b7658b Merge branch 'master' into new-chat-remove-selector-item 2022-05-21 17:30:06 +01:00
Jai Sharma
c37d1e4fae Ensure current channel is set to the ChannelListingChannel when it becomes null 2022-05-19 11:45:39 +01:00
Dean Herbert
136ecb45e2 Rename dummy channel and move to a nested class inside the ChannelListing itself 2022-05-19 19:26:14 +09:00
Jai Sharma
4015042e36 Ensure close button component is not stored as a Drawable 2022-05-18 01:35:39 +01:00
Jai Sharma
932442e242 Use null for empty grid cells in ChannelListItem 2022-05-17 18:52:19 +01:00
Dan Balasescu
a633501687 Change FilterTerms to use LocalisableString 2022-05-16 14:09:37 +09:00
Jai Sharma
ae5b6c3e10 Use dummy channel to show selector and remove ChannelListSelector
Add dummy channel `DummySelectorChannel` which should be set as the
current channel in the channel manager when the selector in the chat
overlay should be shown.

Refactors the `ChannelListItem` to not show mention pill and close
button when the channel is the dummy selector channel.

Ensure that the `ChannelList` selects the dummy channel on clicking the
selector item.

Removes `ChannelListSelector` as it is no longer needed.

Removes the `setCurrent` parameter from `ChannelManager.JoinChannel`
method as it is no longer needed.
2022-05-15 20:24:49 +01:00
Dean Herbert
8760e5d884 Merge branch 'master' into new-chat-drawable-channel 2022-05-12 22:36:19 +09:00
Dean Herbert
1d38e5bd33 Add notes about weird local handling in ChannelListSelector 2022-05-12 13:58:10 +09:00
Jai Sharma
db371ab068 Use CurrentChannel == null to show the channel selector 2022-05-11 22:52:15 +01:00
Jai Sharma
623e2c94ae Adjust padding 2022-05-09 00:32:22 +01:00
Jai Sharma
aeb2984989 Move ChatOverlayDrawableChannel to it's own file 2022-05-09 00:31:22 +01:00
Jai Sharma
f4acfbd0df Change return type of CreateDaySeparator to Drawable 2022-05-07 22:23:46 +01:00
Jai Sharma
bec28c5b28 Remove virtual ColourInfo properties from DaySeparator 2022-05-07 22:16:11 +01:00
Jai Sharma
9d62206176 Update new chat overlay day separator colours and spacing
Updates the `DaySeparator` component to have separately settable colours
for the text and the lines.

Updates existing overrides of the `DaySeparator` to use the new colour
setter.

Create new `ChatOverlayDrawableChannel` with adjusted spacing and new
`DaySeparator` colours.
2022-05-06 23:06:18 +01:00
Dean Herbert
25ea660b0b Replace HandlePositionalInput override with simple hover effect 2022-05-05 19:13:48 +09:00
Dean Herbert
4efaa41670
Merge branch 'master' into new-chat-overlay 2022-05-05 18:57:00 +09:00
Dean Herbert
ddab3c6d80 Tidy up state variables 2022-05-04 21:00:11 +09:00
Jai Sharma
60999e83e0 Ensure ChatTextBox takes/leaves focus on chat overlay pop in/out 2022-05-03 22:33:36 +01:00
Jai Sharma
c17edb2848 Add padding to text in ChatTextBar to separate it from the textbox 2022-05-03 22:32:51 +01:00
Jai Sharma
50aee8b665 Ensure ChannelListSelector text also turns white when selected 2022-05-03 22:32:01 +01:00
Ganendra Afrasya
81be69e72e Update search textbox implementation to use BasicSearchTextBox instead 2022-05-03 06:18:42 +07:00
Jai Sharma
a931b1ecc3 Show selected channel text as white in ChannelListItem 2022-05-02 22:32:25 +01:00
Jai Sharma
7f8e00c1e3 Change "Add more channels" to sentence case in "ChannelList" 2022-05-02 21:22:47 +01:00
Jai Sharma
1473762e25 Don't wrap "chatting in.." text in ChatTextBar 2022-05-02 20:57:39 +01:00
Jai Sharma
e6f1ac6bec Ensure "chatting in..." text is aligned with chat message 2022-05-02 20:45:38 +01:00
Jai Sharma
de393f735f Implement basic layout and behaviour of new chat overlay
Provides initial implementation of new chat overlay in component
`ChatOverlayV2`. Contains only the basic functionality required for
a functioning chat overlay according to the new design with the intent
of added the rest of the functionality in subsequent PRs.

Backports existing tests for the current chat overlay except for ones
testing keyboard shortcuts (since they haven't been added) and tab
closing behaviour (since no tabs).
2022-04-30 23:59:47 +01:00
Jai Sharma
5319bce772 Revert DI usage of ChannelSelectorState in favour of directly binding BindableBool SelectorActive 2022-04-20 21:05:33 +01:00
Jai Sharma
e596c9d171 Use Bindable<ChannelSelectorState> to control selector active visibility 2022-04-20 19:12:43 +01:00
Jai Sharma
44c822f34d Use normal OsuScrollContainer for ChannelList 2022-04-19 16:56:55 +01:00
Jai Sharma
47c8b8010f Use semibold font weight for ChannelListItemFlow label 2022-04-16 23:03:03 +01:00
Jai Sharma
2f41cddb00 Remove redundant Expire call 2022-04-16 23:03:03 +01:00
Jai Sharma
36aea9009e Move ChannelList scrollbar to the right 2022-04-16 23:03:03 +01:00
Jai Sharma
4a0c5a0781 Remove hover override for ChannelListScrollContainer 2022-04-16 23:02:54 +01:00
Jai Sharma
b6631fb9f9 Add newline for base class call 2022-04-15 22:22:20 +01:00
Jai Sharma
a0a2f8118e Code quality fixes 2022-04-15 22:05:20 +01:00
Jai Sharma
f1dd319fd9 Implement ChannelList for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChannelList` which makes up the sidebar channel
selector of the new chat design. Contains two separate fill flows for
public and private `ChannelItem` child components.

Exposed bindable `SelectorActive` to indicate current state of the "Add
more channels" button. Requires `Bindable<Channel>` from parent
component.

Renames and updates the `TestSceneChannelListItem` to
`TestSceneChannelList` to make use of new component and having both
tests seemed redundant.
2022-04-15 15:44:38 +01:00
Bartłomiej Dach
970b1951ac
Rewrite logic slightly to better convey meaning of textbox clear 2022-04-03 14:26:08 +02:00
Jai Sharma
94fa5e2ef2 Use Action<string> for event OnChatMessageCommitted & clear textbox internally 2022-04-02 21:58:54 +01:00
Jai Sharma
9e152cd3fd Fix code quality issues 2022-04-02 17:27:44 +01:00
Jai Sharma
2297073b7e Use OnChatMessageCommit & OnSearchTermsChanged events in ChatTextBar 2022-04-02 17:15:19 +01:00
Jai Sharma
b9421d1415 Simplify text clear and placeholder change in ChatTextBox 2022-04-02 17:14:27 +01:00
Jai Sharma
fff30e8a6e Simplify show/hide of text and search in ChatTextBar 2022-03-30 21:02:12 +01:00
Jai Sharma
eec3fef7a6 Remove the enter box in ChatTextBar 2022-03-30 20:25:23 +01:00
Jai Sharma
e7d2d94eee Fix code quality issues in ChatTextBar 2022-03-30 02:16:50 +01:00
Jai Sharma
f049d7cb67 Implement ChatTextBox for new chat design
Reference design: https://www.figma.com/file/f8b2dHp9LJCMOqYP4mdrPZ/Client%2FChat?node-id=1%3A297

Adds new component `ChatTextBox`.
Exposes `BindableBool` `ShowSearch` to change text input behaviour
between normal and search behaviour.

Adds new component `ChatTextBar`.
Exposes `BindableBool` `ShowSearch` which toggles between showing current
chat channel or search icon.
Additionally binds to child `ChatTextBox` components.
Requires a cached `Bindable<Channel>` instance to be managed by a parent
component.
2022-03-29 22:33:38 +01:00
Dean Herbert
3bb01fd595 Fix close button animation not being applied correct on mouse down due to conflicting scales 2022-03-21 14:41:57 +09:00
Dean Herbert
7ca3beb7cc Also add fade to ChannelItem selected box 2022-03-21 14:41:42 +09:00
Dean Herbert
428e439f40 Remove space between '#' and channel name
This was in flyte's design (he was following discord) but doesn't feel
too correct when it's not aligned with anything else. We can revisit
this if/when we have better glyphs to represent channel types.
2022-03-21 14:36:56 +09:00
Dean Herbert
16caf2d30b Add slight animation when highlighting an unread channel 2022-03-21 14:34:54 +09:00
Dean Herbert
692362131e Add animation when mention pill appears (or a new message arrives) 2022-03-21 14:31:51 +09:00
Dean Herbert
11b050b66b Add slight fade when hovering ChannelListItems 2022-03-21 14:28:14 +09:00
Dean Herbert
9eda2f2df1 Remove box surrounding close button 2022-03-21 14:25:29 +09:00
Dean Herbert
f922a6b556 Rename renaming button/pill classes 2022-03-21 14:15:22 +09:00
Dean Herbert
812343b410 Merge branch 'master' into new-chat-channel-control 2022-03-21 14:14:02 +09:00