Skip to content

Jump from the chart to the nearest object's details screen with right arrow #603

Description

@brickbots

Background

Follow-on from #602. Once the chart labels the nearest DSO, the natural next
move is to jump straight to that object's details screen — pan the chart to a
marker, see what it is, press a key, and you are on the object.

Proposal

Bind right arrow on the chart screen to push the labelled nearest object's
details screen onto the stack.

Right is free on this screen and the semantics match the rest of the UI, where
right descends into a thing:

  • UIChart defines only key_plus, key_minus and key_square
    (python/PiFinder/ui/chart.py:458-467) — it inherits the no-op
    UIModule.key_right (python/PiFinder/ui/base.py:578).
  • MenuManager.key_right (python/PiFinder/ui/menu_manager.py:476) already
    delegates to self.stack[-1].key_right(), so the routing needs no change —
    only UIChart.key_right() needs implementing.
  • The chart's marking-menu right slot is an empty MarkingMenuOption()
    (chart.py:95), and the marking menu is a held-square gesture regardless, so
    there is no conflict with a plain right press.

The push itself can reuse the existing pattern from
menu_manager.py:402-412, which builds a UIObjectDetails item definition and
calls add_to_stack.

Notes

  • Right should do nothing when no object is labelled — at the widest zoom, where
    Show the nearest DSO's name on the chart screen #602 suppresses the label, or when nothing is near enough to name.
  • Left already pops the stack (UIModule.key_left), so returning from the object
    back to the chart works with no extra wiring.
  • This deliberately avoids key_square, which on the chart resets zoom to the
    default FOV (chart.py:464-467) and should keep doing so.

Depends on

#602 — there is nothing to jump to until the chart knows which object it is
labelling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions