Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign Settings Panel #160

Open
BinToss opened this issue Aug 2, 2022 · 1 comment
Open

Redesign Settings Panel #160

BinToss opened this issue Aug 2, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@BinToss
Copy link
Member

BinToss commented Aug 2, 2022

related issues

Skip to Layout C

The Problem and Considered Solutions

The Settings panel worked well when we could fit all settings and their categories into three columns.
Adding HXE's Settings required adding an "Advanced" button.
Later on, we may add additional settings for generic plugins (DSOAL, XIDI, DXVK/dgVoodoo2, ReShade, et cetera) and Halo plugins (OpenSauce, Chimera 1.0, Vulpes, CEnshine, et cetera).

Fitting all of these into a relatively small canvas is impossible without making it nearly unusable.

  • Introducing scrollbars into the existing layout is a solution, but doing so does not reduce clutter.

Settings Redesign Proposal

  • The Settings panel needs to be divided into Gameplay, Video, Graphics, Audio, Input, Network, and Misc pages.
  • These pages will have a Vertical scrollbar and line wrapping where necessary.
  • Scale will need to be taken into account for readability on low- and high-DPI displays. Resolution can be considered, but DPI is a better metric for scaling content.
  • WebView for HTML/CSS design may accelerate cross-platform development. Markdown-to-HTML codegen may help with basic design. Advanced design will require a visual designer and/or HTML/CSS programming.
  • A Settings Category is granted one page. Sub-categories sorted lexographically-ascending as Sections with hyperlinked Headers.

Visual Studio Code's Settings UI is the greatest influence on the proposed layouts

SettingsDemo.webm
rejected layouts

❌ Layout A

Similar to Visual Studio Code's Settings UI, but root categories are placed in a navbar at the top of the canvas.

  • Search bar at top of canvas, below root-Category Nav buttons. Filters current Settings page for keyword using "Contains" match.
  • Gameplay, Video, Graphics, Audio, Input, Network, and Misc navigation buttons will be place in a row anchored to the top of the canvas
  • Sub-categories will be made visible per Category in the left-side Navigation pane

LayoutA

❌ Layout B

Identical to VSCode's layout

Changes from Layout A

  • No top NavBar. Root Settings categories are placed in the left NavPane.
  • Sub-categories are nested under their root Category.
  • All Settings are on one long page just like VSCode's Settings UI.

LayoutB png

✔️Layout C

Layout B with the addition of a top-bar for buttons moved from the main menu.

  • Start's dropdown allows for starting into different modes.
  • Updates button
  • Placeholder buttons can be changed to open URLs in an embedded or external browser i.e. Twitter, Discord, ModDB, NexusMods (inactive for now), GitHub.

LayoutC


XCF project file
SPV3_SettingsRedesign_(2022-08-02_05.21.08).zip
SPV3_SettingsRedesign_(2022-08-02_17.10.13).zip

@BinToss BinToss added the enhancement New feature or request label Aug 2, 2022
@BinToss BinToss self-assigned this Aug 2, 2022
@BinToss
Copy link
Member Author

BinToss commented Aug 2, 2022

I spent too much time on those layout designs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant