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 ChannelListItem
s
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