Skip to content

Gtk: Preserve TabPage text containing mnemonics - #3123

Open
Descolada wants to merge 1 commit into
picoe:developfrom
keysharp-org:upstream/gtk-tabpage-text
Open

Descolada wants to merge 1 commit into
picoe:developfrom
keysharp-org:upstream/gtk-tabpage-text

Conversation

@Descolada

@Descolada Descolada commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Reading TabPage.Text on GTK reconstructs the title from Gtk.Label.Text, which has already processed mnemonic markers and escaped literals. For example, assigning "&File" returns "File", and literal underscores can be converted into ampersands.

Cache the assigned title, normalize null to an empty string, and return it directly, following the GTK button and label handlers. Keep native mnemonic conversion in the setter.

Keeps two small round-trip cases: one title containing mnemonic markers and escaped literals, and one null title. Both pass on Ubuntu under WSL with .NET 10 and GTK3 on Xvfb; ManualTest excluded. git diff --check passes.

@Descolada
Descolada marked this pull request as ready for review October 27, 2026 06:08
@Descolada

Copy link
Copy Markdown
Contributor Author

So... I have like almost 50 changes made on my keysharp-org/Eto, most are bug-fixes or bring parity across platforms. I'll try to make PRs for as many as I have time and energy for (even with AI support), let me know if it gets too much :)

Cache the assigned title instead of reconstructing it from Gtk.Label.Text,
which returns display text after mnemonic and escape processing. Normalize
null to empty and retain native mnemonic conversion when updating the label.

Keep two small round-trip cases for authored title text and null.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Descolada
Descolada force-pushed the upstream/gtk-tabpage-text branch from 0b298e7 to 6ff6763 Compare October 27, 2026 09:02
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