Add a first cut of context menus, opened from the "more" (ellipsis) button on Discover album cards and on album track rows. - ContextMenu / ContextMenuItem primitives (PopupWindow-hosted panel) - AlbumCard: the overlay action buttons are now interactive (they gate their pointer handling so non-hovered cards still open on click); the more button opens a menu — Open album, Play, Add to queue, Add to favorites - TrackRow: a hover-revealed more button opens a menu — Play, Add to queue, Add to favorites; AlbumTrackItem and TrackData carry the track id - Menu actions bubble up as a single media-action(kind, id, action) callback through the shell; main.rs logs it for now — playback and favorites wiring lands with the playback session - user and list-plus icons cc
23 lines
666 B
Plaintext
23 lines
666 B
Plaintext
// Context-menu surface — the styled panel that hosts ContextMenuItem
|
|
// rows. Place it as the single child of a PopupWindow; the rows are
|
|
// passed as children.
|
|
|
|
import { Theme } from "../foundation/semantic-colors.slint";
|
|
import { Radius } from "../foundation/radius.slint";
|
|
|
|
export component ContextMenu inherits Rectangle {
|
|
background: Theme.surface-elevated;
|
|
border-radius: Radius.md;
|
|
border-width: 1px;
|
|
border-color: Theme.border-subtle;
|
|
drop-shadow-blur: 22px;
|
|
drop-shadow-color: Theme.card-shadow;
|
|
drop-shadow-offset-y: 6px;
|
|
|
|
VerticalLayout {
|
|
padding-top: 5px;
|
|
padding-bottom: 5px;
|
|
@children
|
|
}
|
|
}
|