From 6d9f9aba5e9715e45837823092ff800e91ffe9c0 Mon Sep 17 00:00:00 2001 From: Hui Wan Date: Thu, 30 Apr 2026 17:51:01 -0700 Subject: [PATCH 1/3] ui: reword 'full grid' to 'viewport' --- docs/guides/quickview/miscellaneous.md | 2 +- src/e3sm_quickview/components/toolbars.py | 2 +- src/e3sm_quickview/components/tools.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guides/quickview/miscellaneous.md b/docs/guides/quickview/miscellaneous.md index 86e0b16..687a9c3 100644 --- a/docs/guides/quickview/miscellaneous.md +++ b/docs/guides/quickview/miscellaneous.md @@ -45,7 +45,7 @@ or animations for presentations and manuscripts, etc.: change in that dimension, the user can click on the icon on the right end of the animation control panel, i.e., the downward arrow with two lines, to bring up a drop-down menu and then click to select - `Full grid` and/or individual variables. Subsequently, a click on `Export animation` + `Viewport` and/or individual variables. Subsequently, a click on `Export animation` triggers QuickView to scan through the indices in the `lev` dimension, with a dark-red circle spinning around the download button while the scan is in progress. After the scan is finished, a file `quickview-animation.zip` gets downloaded to the local computer. diff --git a/src/e3sm_quickview/components/toolbars.py b/src/e3sm_quickview/components/toolbars.py index 3a6ee98..44ac57e 100644 --- a/src/e3sm_quickview/components/toolbars.py +++ b/src/e3sm_quickview/components/toolbars.py @@ -639,7 +639,7 @@ def __init__(self): activatable=True, active_strategy="independent", ): - v3.VListItem(title="Full grid", value=("false",)) + v3.VListItem(title="Viewport", value=("false",)) v3.VDivider() v3.VListItem( v_for="name in variables_selected", diff --git a/src/e3sm_quickview/components/tools.py b/src/e3sm_quickview/components/tools.py index fbd1955..05cc5d3 100644 --- a/src/e3sm_quickview/components/tools.py +++ b/src/e3sm_quickview/components/tools.py @@ -87,7 +87,7 @@ class CaptureFullPanel(ActionButton): def __init__(self, compact="compact_drawer", click=None): super().__init__( compact=compact, - title="Capture full grid as png", + title="Capture viewport as png", icon="mdi-camera-outline", click=click, ) From afe7537c4aaf17c40702b9b5179636adb89f7f2d Mon Sep 17 00:00:00 2001 From: Hui Wan Date: Sat, 2 May 2026 09:57:45 -0700 Subject: [PATCH 2/3] ui: reword 'Uniform' to 'Ungrouped' in viewport control panel - resolve conflict with master --- src/e3sm_quickview/components/toolbars.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e3sm_quickview/components/toolbars.py b/src/e3sm_quickview/components/toolbars.py index 44ac57e..975d24f 100644 --- a/src/e3sm_quickview/components/toolbars.py +++ b/src/e3sm_quickview/components/toolbars.py @@ -160,7 +160,7 @@ def __init__( # --- Grouped/Uniform toggle --- v3.VCheckbox( - v_tooltip_bottom="layout_grouped ? 'Switch to uniform' : 'Switch to grouped'", + v_tooltip_bottom="layout_grouped ? 'Switch to ungrouped' : 'Switch to grouped'", v_model=("layout_grouped", True), hide_details=True, inset=True, From b1a05aeb136737f76123b5f435924613df2924e0 Mon Sep 17 00:00:00 2001 From: Hui Wan Date: Mon, 4 May 2026 13:24:23 -0700 Subject: [PATCH 3/3] ui: change key bindings for state import/export: replace U/D by I/E --- docs/guides/dev/what_is_where.md | 6 ++++++ docs/guides/quickview/file_selection.md | 2 +- src/e3sm_quickview/app.py | 4 ++-- src/e3sm_quickview/components/doc.py | 16 ++++++++-------- 4 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 docs/guides/dev/what_is_where.md diff --git a/docs/guides/dev/what_is_where.md b/docs/guides/dev/what_is_where.md new file mode 100644 index 0000000..4e02f4b --- /dev/null +++ b/docs/guides/dev/what_is_where.md @@ -0,0 +1,6 @@ +## Key bindings + +- Defined in `src/e3sm_quickview/app.py`. Look for `mt.bind` +- Hints in drawers: `src/e3sm_quickview/components/tools.py`. Look for `keybinding=`. + +- Hints on landing page: `src/e3sm_quickview/components/doc.py`. Look for `keys=`. diff --git a/docs/guides/quickview/file_selection.md b/docs/guides/quickview/file_selection.md index e38a1b2..a81d093 100644 --- a/docs/guides/quickview/file_selection.md +++ b/docs/guides/quickview/file_selection.md @@ -58,7 +58,7 @@ users launch QuickView in a directory close to their data. The current state of the analysis session can be saved—and reloaded later to resume the analysis—using the `State Import/Export` button in the vertical toolbar -or using the shortcut `D` for download and `U` for upload. +or using the shortcut `I` for import and `E` for export. Note that regardless of whether QuickView is executed on a local computer or on a remote system (e.g., at NERSC), the state files are saved to and uploaded from the local computer. diff --git a/src/e3sm_quickview/app.py b/src/e3sm_quickview/app.py index e49f3be..3ed8df0 100644 --- a/src/e3sm_quickview/app.py +++ b/src/e3sm_quickview/app.py @@ -186,8 +186,8 @@ def _build_ui(self, **_): mt.bind("m", "ProjectionMollweide") mt.bind("f", "FileOpen") - mt.bind("d", "SaveState") - mt.bind("u", "UploadState") + mt.bind("e", "SaveState") + mt.bind("i", "UploadState") mt.bind("h", "ToggleHelp") mt.bind("p", "ToolbarLayout") diff --git a/src/e3sm_quickview/components/doc.py b/src/e3sm_quickview/components/doc.py index c589b34..264dae4 100644 --- a/src/e3sm_quickview/components/doc.py +++ b/src/e3sm_quickview/components/doc.py @@ -59,12 +59,12 @@ class ToolStateImportExport(Tool): def __init__(self): super().__init__( icon="mdi-folder-arrow-left-right-outline", - title="State import/export", - description="Export the application state into a small text file. The same file can then be imported to restore that application state.", + title="State export/import", + description="Export and download the application state into a small text file. The same file can then be uploaded and imported to restore that application state.", ) with self, v3.Template(v_slot_append=True): - v3.VHotkey(keys="d", variant="contained", inline=True) - v3.VHotkey(keys="u", variant="contained", inline=True) + v3.VHotkey(keys="e", variant="contained", inline=True) + v3.VHotkey(keys="i", variant="contained", inline=True) class ToolMapProjection(Tool): @@ -249,14 +249,14 @@ def __init__(self): v3.VHotkey(keys="f", variant="contained", inline=True) with v3.VRow(classes="ma-0 pb-4"): - v3.VLabel("Download state") + v3.VLabel("Export state") v3.VSpacer(classes="mt-2") - v3.VHotkey(keys="d", variant="contained", inline=True) + v3.VHotkey(keys="e", variant="contained", inline=True) with v3.VRow(classes="ma-0 pb-4"): - v3.VLabel("Upload state") + v3.VLabel("Import state") v3.VSpacer(classes="mt-2") - v3.VHotkey(keys="u", variant="contained", inline=True) + v3.VHotkey(keys="i", variant="contained", inline=True) v3.VDivider(classes="mb-4")