storybuilder-org / StoryCAD

StoryBuilder - CAD Software for Fiction Writers
https://storybuilder.org/
GNU General Public License v3.0
14 stars 8 forks source link

Alternate use of Hamburger button for small screens and tablets #25

Open terrycox opened 2 years ago

terrycox commented 2 years ago

Is your feature request related to a problem? Please describe.

The screen area of the shell is split into a Navigation Pane (the TreeView) and a Content Pane (the left and right side respectively.) This results in a screen that works well in a 'landscape' orientation such as is common in PCs and laptops. However, for devices with smaller screen sizes and orientations (such as tablets), the wider screen layout may not work well.

Describe the solution you'd like

Make StoryBuilder more aware of the device screen status (such as rotation) and categorize whether a landscape or portrait orientation would work better. Then change the use of the Hamberger button to account for the orientation. In landscape, the button should act as it does now, toggling the Navigation Pane on or off so that just the Content Pane shows when the user wants to focus on content. In portrait orientation, the Navigation and Content panes should be stacked with the Navigation pane above the Content pane. In those cases, the Show/Hide Navigation button (the hamburger menu button) would act differently, toggling from the Navigation Pane to the Content Pane and back.

Describe alternatives you've considered N/A

Additional context

SplitView's SplitViewDisplayMode provides both Inline and Overlay enum values should provide the toggle option.

The new Windows SDK API provides more information regarding the running Window environment: https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/windowing/windowing-overview

Visual State Manager should be useful for this.

terrycox commented 2 years ago

Scaling will be a factor, added to screen size, screen dpi, windows size, orientation, ...