|
From: James T. <zak...@ma...> - 2017-01-29 13:37:14
|
Hi, For context, Sebastien and I drifted into this discussion on a code review, I suggested we it move here. The first two points are from me, and are some proposed changes I have been thinking on for a few months, in response to the ‘add GUI for feature X’ which happen quite often. > On 29 Jan 2017, at 01:26, Sébastien Vavassori <seb...@gm...> wrote: > > 1) Replacing the main tabs "summary", "aircraft", "location", "settings" and "addons" by a vertical icon box, on the left side of the window. > > 2) Splitting the current "Settings" tab page into 3 tabs: > - "Time", > - "Weather" > - "Settings" > ...in order to give more place for icons and images instead of text. The concept here in a bit more detail: - horizontal tabs are ugly, I want to use some two-color icons to make a vertical equivalent, and this will also save vertical space for the main content area. Lack of vertical screen real estate is one of the main issues for the current layout the main pages available are then as follows: == 1 - the summary page, which will benefit from another change I am going to make soon, adding image previews to aircraft (in the hangar or not) by adapting their splash screens. (This needs aircraft to update their splash-screens, until then it can use the existing thumbnails). Hence the summary page will hopefully be a full-screen image of the selected aircraft, with text describing the startup options and location. (It would also give us a place to display other info, such as copyright, and especially an ‘UNSTABLE! report bugs at <URL>’ for nightly builds message :) 2 - the aircraft selection page as currently done (or tweaked) 3 - the location page (also as current or tweaked) 4 - a new ‘time and environment’ page to control time of day, season, weather etc. This could expose AW and/or the built-in global weather profiles, or allow entering a METAR if anyone wants to add support for that. [the aim is that these first three pages are the ones people adjust very frequently, likely different on every launch of the sim] 5 - a vertically scrolling settings page, closely modelled on those in Chrome and Atom. This will be subdivided into distinct panels, covering a topic. Hence ‘rendering’ or ‘multiplayer’ or ‘scenery downloads’. Each panel will have a standard mode, which should be very simple (eg for ‘scenery downloads’, just a single checkbox for terrasync on or off), but also descriptive text for each option. (Because the options are laid out full width, there’s lots of room to write a complete sentence). I already do this in the current settings page but the lack of space restricts it. Crucially each panel can (will?) also have an advanced mode, with a standard piece of UI in the panel header to toggle this. The advanced UI will have whatever advanced options people want to request / add for that section. There is also the option in the future to add dynamic panels for network settings (or others?), the same way Jenkins does for build steps. I won’t go into the details of this for now but if anyone wants to add protocols to the GUI, this would be an elegant way to do it. 6 - add-ons page to keep the complex stuff about hangars / scenery-paths out the way == The goal here is these pages are clustered by frequency of use, and to aid discoverability. The basic settings page will still look approachable because each panel will be very compact, but we can add advanced options panel by panel without ending up with a cluttered UI. The page could also be searchable by keywords / alias, opening up the corresponding advanced section and scrolling to it. Importantly, this is /not/ a drastic architectural change from where we are now, at least to begin with, but should allow all the more advanced options people keep requesting, to co-exist with my strong desire to keep the out-of-the-box close to what we have at present. The first step, which I will be looking at soon (even today) is the Qt coding to implement the settings panel concept, including the basic / advanced mode toggle. Within this outline, I am open to most UI suggestions. If people want to propose something totally contradictory to this concept, we might need a more fundamental discussion! BTW - I am on holiday up an alp for the coming week, so might be a bit slow to respond compared to normal. If the weather is terrible (blizzards) I’ll get more coding done :) Kind regards, James |