From 9f0e23df42d1e78ece3dcb669ac723967fb30089 Mon Sep 17 00:00:00 2001 From: gnacho Date: Mon, 26 Oct 2026 12:49:08 +0100 Subject: [PATCH] feat(ui): replace split view toggle with typewriter mode --- ...thub.gnacho.Scribe-typewriter-symbolic.svg | 7 ++++ data/icons/icons.gresource.xml | 1 + src/window.rs | 36 +++++-------------- 3 files changed, 16 insertions(+), 28 deletions(-) create mode 100644 data/icons/hicolor/scalable/actions/io.github.gnacho.Scribe-typewriter-symbolic.svg diff --git a/data/icons/hicolor/scalable/actions/io.github.gnacho.Scribe-typewriter-symbolic.svg b/data/icons/hicolor/scalable/actions/io.github.gnacho.Scribe-typewriter-symbolic.svg new file mode 100644 index 0000000..6165ebf --- /dev/null +++ b/data/icons/hicolor/scalable/actions/io.github.gnacho.Scribe-typewriter-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/data/icons/icons.gresource.xml b/data/icons/icons.gresource.xml index 0788c0b..9efef08 100644 --- a/data/icons/icons.gresource.xml +++ b/data/icons/icons.gresource.xml @@ -18,6 +18,7 @@ hicolor/symbolic/apps/io.github.gnacho.Scribe-symbolic.svg hicolor/scalable/actions/io.github.gnacho.Scribe-preview-off-symbolic.svg hicolor/scalable/actions/io.github.gnacho.Scribe-preview-on-symbolic.svg + hicolor/scalable/actions/io.github.gnacho.Scribe-typewriter-symbolic.svg hicolor/scalable/actions/document-edit-symbolic.svg hicolor/scalable/actions/tab-new-symbolic.svg hicolor/scalable/actions/preferences-desktop-appearance-symbolic.svg diff --git a/src/window.rs b/src/window.rs index f90c8e9..b2ccaa1 100644 --- a/src/window.rs +++ b/src/window.rs @@ -801,14 +801,15 @@ impl ScribeWindow { .build(); header.pack_end(&search_button); - // Botón de vista dividida (issue #35), como el de Typesetter: el icono - // dice qué se va a ver y comparte estado con la acción (Ctrl+Shift+P). - let preview_button = gtk4::ToggleButton::builder() - .icon_name("io.github.gnacho.Scribe-preview-off-symbolic") - .tooltip_text(gettext("Split View")) - .action_name("win.toggle-preview") + // Modo máquina de escribir (issue #151): comparte estado con la acción + // y su atajo (Ctrl+Shift+T). La vista dividida sigue disponible desde + // el teclado (Ctrl+Shift+P). + let typewriter_button = gtk4::ToggleButton::builder() + .icon_name("io.github.gnacho.Scribe-typewriter-symbolic") + .tooltip_text(gettext("Typewriter Mode (Ctrl+Shift+T)")) + .action_name("win.typewriter-mode") .build(); - header.pack_end(&preview_button); + header.pack_end(&typewriter_button); // ---- menú principal ---- let menu = gio::Menu::new(); @@ -1979,27 +1980,6 @@ impl ScribeWindow { settings.set_show_preview(next); }); } - // El icono del botón dice qué se va a ver: panel derecho atenuado - // (previsualización oculta) o relleno (visible). - { - let preview_button = preview_button.clone(); - let sync_icon = move |on: bool| { - preview_button.set_icon_name(if on { - "io.github.gnacho.Scribe-preview-on-symbolic" - } else { - "io.github.gnacho.Scribe-preview-off-symbolic" - }); - }; - sync_icon(preview_visible.get()); - action_preview.connect_state_notify(move |action| { - sync_icon( - action - .state() - .and_then(|s| s.get::()) - .unwrap_or(false), - ); - }); - } // ---- estilos (issue #36) ---- {