Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft] Attachments editor GUI #45

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

kawapure
Copy link
Collaborator

@kawapure kawapure commented Oct 2, 2024

This will show when the user queues a file for uploading. It is modelled after the photo sharing feature of WLM '09. The following screenshot demonstrates the reference UI from WLM '09:

image

The photo sharing feature of WLM '09 differed in functionality from Discord attachments; both users shared a cursor and the context was encapsulated within the photo sharing view. Most notably, the attachments were not uploaded alongside any message like they are in Discord.

Furthermore, Discord has additional requirements for editing attachments that were never provided by the WLM reference feature: editing file names at upload time, marking attachments as spoilers, and removing attachments. In order to provide this feature in a way that is familiar to Discord users and ergonomic for use with Discord, I decided to take creative liberties and have selecting items in the minimised view (what would just change the selection for the other user in WLM '09) open a popup menu with these editing options. A similar UI will be provided in the preview pane for the expanded view, though I haven't figured that out yet.

Signed-off-by: Isabella <kawapure@gmail.com>
Popups certainly feel better after this update. They are no longer forced
on top of all windows on the system. They now move alongside the parent
window, quite smoothly even. They now even close when clicked off of.

There are still a few bugs as of the time of committing, but it certainly
isn't terrible.

Signed-off-by: Isabella <kawapure@gmail.com>
I just feel that this is better practice. In any case, I need some "bogus"
change to test making a commit after I reinstalled Windows.

Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
This resolves the issue of the code from 2024-10-11 where window event
registration is complete. Window event registration is now managed by a
separate class and done per-window instead of per XAML popup. This
improves performance where event handler registration is concerned.

Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
This was one of the original ideas of restructuring window procedure hooks
to have opened-only handler registration, but I somehow completely
overlooked doing this the first time around. Better late than never, I
guess.

This single change does significantly improve performance just like that :3

Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
This is unfinished work as I decided to change the direction of
experimentation midway through working on this. I'm committing just so that
I have a point to fall back on if I decide I like this more.

Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
This commit changes the popup to be anchored to the scroll viewer instead
of the item which opened it. This means that the popup is now stationary
relative to the parent window. I think I prefer this a lot more.

The only concern that I have now is that flickering is especially visible
during switching after this commit. I will come up with some way to rectify
this visual issue in the future.

Signed-off-by: Isabella Lulamoon <kawapure@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant