Kosmorro / kosmorro

A program to calculate your ephemerides.
https://kosmorro.space
GNU Affero General Public License v3.0
60 stars 7 forks source link

Provide a GUI #21

Closed Deuchnord closed 3 years ago

Deuchnord commented 4 years ago

Currently, Kosmorro is usable in a terminal only. Most people prefer using a graphical user interface (GUI).

NB: if new dependencies are needed, they must be implemented in a way that Kosmorro can work even if they're is not installed (as long as user doesn't try to start the GUI).

Mockups

Below are some mockups I made with PlantUML to show how I imagine Kosmorro's GUI.

Main window

Similarly to the command line, the main window's goal is to provide the ephemerides, expected events and moon phase for given date and position. As these information are crucial to compute the data, so is it to make it sure that the user can change them easily. To make this possible, the position and the date are immediately accessible at the top of the window. Then, below the computed data are displayed. Like in the command line, the position is optional and is presented as an unchecked checkbox by default.

Position unset (default value)

If the position is not set, then the ephemerides are not computed, and a message explaining why is displayed instead.

main-window-no-position

Position set

main-window

Change location dialog

When the user clicks on the Change button next to the position, a dialog window opens and invite them to set their position. Three ways are possible:

By default, the search option is chosen, because it is the simplest without being a potential problem for privacy. If user chooses the third choice, a message box will ask them to confirm they really want this. Once the program got the location this way, it is then converted to simple coordinates. The user will have to ask again if they want to be automatically localized (with the same message box asking confirmation).

An option is also available to save the user's position for the later times Kosmorro's GUI is opened. Note that this configuration does not affect the command line.

Search position

choose-position

When user types something and clicks search, a list of results is displayed.

search-position

Clicking a result will close the list and update the coordinates below.

Deuchnord commented 3 years ago

This will be a complete repository in the organization. Closing this issue.