Commit Graph
130 Commits
Author SHA1 Message Date
Brandon Thomas 12df77ed19 Merge PR #637 from NikitkaRa: UI: Paragraph dialog sets alignment, indents and spacing
# Conflicts:
#	crates/engine/src/cmd/format.rs
#	crates/ui-egui/src/dialogs.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:30:55 -04:00
Brandon Thomas be445fb083 Merge PR #630 from NikitkaRa: UI: Font dialog sets character formatting in one step
# Conflicts:
#	crates/engine/src/cmd/format.rs
#	crates/ui-egui/src/canvas.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-14 14:27:38 -04:00
Brandon Thomas 80d3ad5f24 Merge PR #243 from pierrevbc: Canvas: drag the frame of a text box being edited to move it
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/engine/src/tools.rs
2026-10-14 14:26:59 -04:00
Brandon Thomas f6661ed15e Merge PR #563 from NikitkaRa: UI: customizable Quick Access Toolbar
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:16:22 -04:00
Brandon Thomas 3a8927e3f3 Merge PR #691 from NikitkaRa: UI: Trim Media dialog follows the selection
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 14:11:53 -04:00
Brandon Thomas a4fa978903 Merge PR #703 from NikitkaRa: UI: Slide Master Preserve and Title or Footers placeholders
# Conflicts:
#	crates/engine/src/cmd/design.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:06:42 -04:00
Brandon Thomas 7266b30018 Merge PR #698 from NikitkaRa: UI: Design Effects applies a theme effect scheme
# Conflicts:
#	crates/engine/src/cmd/design.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-14 14:04:24 -04:00
Brandon Thomas 1e80cd5547 Merge PR #440 from NikitkaRa: Palette: skip commands that need a value
# Conflicts:
#	crates/ui-egui/src/menus.rs
2026-10-14 14:01:08 -04:00
Brandon Thomas 912598fa46 Merge PR #675 from NikitkaRa: View: Zoom dialog applies a percent or Fit
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:54:33 -04:00
Brandon Thomas 0ed74b684a Merge the SmartArt and dialog PRs integrated on land-r1 (#596 #601 #606 #610 #613 #617 #621 #623 #627 #634 #557 #689 #668)
# Conflicts:
#	crates/engine/src/tests.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:44:43 -04:00
Brandon Thomas 5b017f4590 Merge PR #682 from NikitkaRa: UI: Alt Text's decorative checkbox follows the selection
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:36:55 -04:00
Brandon Thomas 0f3495e55d Merge PR #512 from NikitkaRa: Home: Replace Fonts dialog and font.replace command
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/ribbon.rs
2026-10-14 13:34:06 -04:00
Brandon Thomas 62fe8571f6 Merge PR #687 from NikitkaRa: UI: Create New Theme Fonts dialog edits the theme in one step
# Conflicts:
#	crates/engine/src/cmd/design.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:33:36 -04:00
Brandon Thomas 18be662a2a Merge PR #668 from NikitkaRa: UI: Date and Time dialog inserts a format in one step
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:30:31 -04:00
Brandon Thomas e0ec02d62c Merge PR #689 from NikitkaRa: UI: Hyperlink dialog follows the selection
# Conflicts:
#	crates/engine/src/cmd/insert.rs
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:30:10 -04:00
Brandon Thomas d534343d6e Merge PR #683 from NikitkaRa: UI: Create New Theme Colors dialog edits the theme in one step
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:26:11 -04:00
Brandon Thomas a205d665b0 Merge PR #658 from NikitkaRa: UI: Edit Photo Album reflows the album in one step 2026-10-14 13:26:02 -04:00
Brandon Thomas 2834166904 Merge PR #647 from NikitkaRa: UI: Photo Album dialog inserts pictures as slides
# Conflicts:
#	crates/ui-egui/src/dialogs.rs
2026-10-14 13:26:02 -04:00
Brandon Thomas 5c0630cba3 Merge PR #586 from NikitkaRa: UI: sections in the Slide Sorter
# Conflicts:
#	crates/ui-egui/src/lib.rs
#	crates/ui-egui/src/sorter.rs
2026-10-14 13:21:53 -04:00
Brandon Thomas 0f7dc3d336 Merge PR #593 from NikitkaRa: File: six original starter decks
# Conflicts:
#	crates/engine/src/lib.rs
2026-10-14 13:21:23 -04:00
Brandon Thomas 32a2d9e6bd Merge PR #560 from NikitkaRa: UI: View › New Window opens a second window
# Conflicts:
#	crates/ui-egui/src/lib.rs
2026-10-14 13:21:19 -04:00
Brandon Thomas a5ce62fe28 Merge PR #672 from NikitkaRa: Review: previous and next comment 2026-10-14 13:09:06 -04:00
Brandon Thomas 9eed1b4532 Merge PR #641 from NikitkaRa: UI: Size and Position dialog sets geometry in one step 2026-10-14 13:09:03 -04:00
Brandon Thomas a87f84526f Merge PR #625 from NikitkaRa: Insert: a gallery of Lucide icons as stroked shapes 2026-10-14 13:09:01 -04:00
Brandon Thomas aaf1042d64 Merge PR #515 from NikitkaRa: Shapes: Edit Points — point types, Bézier handles, right-click menu 2026-10-14 13:08:48 -04:00
Brandon Thomas 02b502b69d Merge PR #514 from NikitkaRa: Shapes: Edit Points — drag, add and delete a shape's vertices
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:48 -04:00
Brandon Thomas e12f40a05a Merge PR #511 from NikitkaRa: UI: WordArt Transform gallery applies a text warp 2026-10-14 13:08:48 -04:00
Brandon Thomas 16138fc03d Merge PR #503 from NikitkaRa: Format Shape: shadow, glow and reflection detail controls
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:47 -04:00
Brandon Thomas ca7140c1ff Merge PR #500 from NikitkaRa: Format Shape: line compound, cap, join, arrows and sizes; lock aspect ratio
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 13:08:46 -04:00
Brandon Thomas 44f4b037e2 Merge PR #244 from pierrevbc: Canvas: right click selects the shape under the pointer
# Conflicts:
#	crates/engine/src/tests.rs
2026-10-14 12:58:01 -04:00
Brandon Thomas b6721fe32f Merge PR #246 from pierrevbc: Title bar: Export button next to Save 2026-10-14 12:57:22 -04:00
Nikita RakitinandCursor fa4b80ed65 UI: Slide Master Preserve and Title or Footers placeholders
Preserve the open master or layout, and turn its title and footer
placeholders on or off. Each change is one undo step, and a value that
is already set is not.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 06:40:11 +03:00
Nikita RakitinandCursor 5d9f47c81a Clipboard: rich text and pictures for other apps
Copy puts HTML on the pasteboard with the same plain words, so Pages keeps
bold, italic and underline, and a paste of that HTML keeps them here. A
shape with no text copies out as a picture.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 06:37:49 +03:00
Nikita RakitinandCursor 26d8bfdd3a UI: Design Effects applies a theme effect scheme
design.effects replaces the theme's format scheme (fills, lines and
effects) with DeckCraft, Soft, Crisp, Lift, Glow or Plain. Colours and
fonts stay. The scheme already in use is not an undo step.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 06:21:07 +03:00
Nikita RakitinandCursor 2f3a525568 UI: Format Shape fill transparency follows the selection
The Fill slider seeded itself at 0% and wrote that when it lost focus, so a
solid fill that was already transparent opened as opaque and could be cleared.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 06:16:14 +03:00
Nikita RakitinandCursor 1e6292306a UI: Format Background picture fill sets transparency and tiling
A picture background can set transparency, tile, offset, scale,
alignment and mirror. A solid fill can set transparency. Apply to All
copies the current slide's background, including a picture, onto every
slide. Unchanged options are not an undo step.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 06:08:40 +03:00
Nikita RakitinandCursor 256612b232 UI: Trim Media dialog follows the selection
Trim Media opened at zero for start, end and both fades, so OK
cleared a clip that was already trimmed. The fields now start from
the selected audio or video.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 05:54:32 +03:00
Nikita RakitinandCursor 0fcaabc370 UI: Create New Theme Fonts dialog edits the theme in one step
Design › Fonts › Customize Fonts… opens Create New Theme Fonts.
Empty design.fonts params open the dialog; a name and heading or body
faces apply to the open master in one undo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 05:45:53 +03:00
Nikita Rakitin 8c0147cfa7 UI: Hyperlink dialog follows the selection
Insert Hyperlink opened on https:// with an empty ScreenTip, so OK
replaced a web address, email, slide link or tip. The dialog now
starts from the link it would edit, and leaves actions it cannot
edit in place.
2026-10-14 05:40:06 +03:00
Nikita RakitinandCursor 65e465a611 UI: Create New Theme Colors dialog edits the theme in one step
Design › Colors › Customize Colors… opens the dialog when design.colors
is called with no name and no colours. Save applies that scheme name and
the twelve theme colours together, as one undo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 05:24:47 +03:00
Nikita Rakitin 29c24aa07c UI: Alt Text's decorative checkbox follows the selection
The dialog always opened with Mark as decorative unchecked, so OK
cleared a shape that was already decorative. It now starts checked
when every selected shape is.
2026-10-14 05:19:44 +03:00
Nikita Rakitin 9f5de924ad View: Zoom dialog applies a percent or Fit
The dialog waits for OK. View ▸ Zoom opens it, and the arrow keeps the preset list.
2026-10-14 04:53:21 +03:00
Nikita RakitinandCursor b6aa6ab4e4 UI: Date and Time dialog inserts a format in one step
Insert › Date & Time opens the format list instead of placing a date
immediately. With no format, update flag or language, insert.dateTime
opens the dialog and does not edit. OK applies one undo: a field when
Update automatically is on, or the shown text when it is off.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 04:41:01 +03:00
Nikita Rakitin f0647e1bd8 Review: previous and next comment
Walk every comment in the deck from the Review tab, and list every slide in the Comments pane.
2026-10-14 04:37:49 +03:00
Nikita RakitinandCursor dbffbab59d UI: Edit Photo Album reflows the album in one step
Reopen the Photo Album dialog on the current album and replace those slides
in one undo, with black and white, rotation, brightness, contrast and a theme.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 04:16:00 +03:00
Nikita RakitinandCursor 4575d19ac7 UI: Photo Album dialog inserts pictures as slides
Insert › Images opens Photo Album. insert.photoAlbum adds the pictures
and text boxes as slides in the open presentation, one undo step, with
layouts, frames and captions. Omitting pictures opens the dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 03:43:28 +03:00
Nikita RakitinandCursor bd017b861d UI: Size and Position dialog sets geometry in one step
Shape Format › Size and the shape menu open a dialog for position,
size, rotation, scale and lock aspect ratio. One command writes them
together, so undo restores the whole change.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 03:20:35 +03:00
Nikita RakitinandCursor e4022e6702 UI: Paragraph dialog sets alignment, indents and spacing
format.paragraphDialog applies alignment, first-line and hanging
indents, spacing and line spacing in one undo step. With no fields it
opens the dialog from the Home › Paragraph launcher. Tabs… opens a
standalone Tabs dialog and returns to Paragraph.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 02:59:40 +03:00
Nikita RakitinandCursor 68ab3a4839 UI: Font dialog sets character formatting in one step
format.fontDialog applies family, size, bold, italic, underline, colour,
strikethrough, baseline, caps and spacing together, so one undo restores
them. With no fields it asks the UI to open the dialog, seeded from the
selection. Home › Font, the shape menu and Cmd+T open it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 02:41:28 +03:00
Nikita RakitinandCursor 304bf06290 Insert: Lucide icon gallery as stroked shapes
Insert › Icons places seventy Lucide 1.56.0 stroke icons as custom
geometry: no fill, round caps, and a line width scaled from the
24-unit design. The gallery searches by name. SVG paths, including
arcs, are converted when the icon is inserted so the renderer strokes
the outline.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-14 02:31:54 +03:00