47 Commits
Author SHA1 Message Date
Reagan Lopez 554b40f69d gui: Fix rescan media in bg
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-28 13:47:21 -07:00
Reagan Lopez a656d4149f gui: Scan Media in the background
In order to avoid delay in loading the installer, scan the media in the
background as a separate go routine.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-28 13:47:21 -07:00
Reagan Lopez 0ecd594053 gui: Add popup dialog for rescan media
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-22 17:40:06 -07:00
Brian J Lovin cdc969c3b0 syscheck: Localize syscheck and dialog
Add localization strings to proper files and correct calls to insert
these strings where necessary for syscheck and for the dialog when the
user's system fails.

Signed-off-by: Brian J Lovin <brian.j.lovin@intel.com>
2019-05-15 19:01:54 -07:00
Brian J Lovin dbeeda502c gui: Add error popup on syscheck failures
After the user chooses a language (so we can localize the error), pop up
an error if the syscheck fails.

Add a quiet option to syscheck to disable printing to the terminal.

Signed-off-by: Brian J Lovin <brian.j.lovin@intel.com>
2019-05-15 19:01:54 -07:00
Mark D Horn 55df2389ae network: Always copy /etc network files
When executing interactively, text-base or graphical, we want
to always copy any local /etc network configuration files to
the target system.

If the user has made customer network settings, usually with
nmcli/nmtui for console, or NetworkManager on the desktop, these
will want to be propagated to the target.

Add command line option to avoid network copy.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-15 12:52:04 -07:00
Mark D Horn d96230f8d9 tui: gui: Do not display version in Demo mode
For documentation purposes (screen shots), we do not want to
include the version string. Having a version string in the image
requires updating all image each release.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-08 16:04:27 -07:00
Reagan Lopez 7dae3a782e gui: Handle errors in the Install page
Handle errors during installation.
Displays an error message on screen instead of panic and crashing.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-06 13:31:50 -07:00
Reagan Lopez 61622a78b8 gui: Limit Enable Encryption button click area
Limits the clickable area of the Enable Encryption check button to be
within the label.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-06 09:44:52 -07:00
Mark D Horn db6352a37c gui: user: Several bug fixes for add vs update
Several logic fixes and hooks to debug the change password
problem. It appears the c-lang function we use for encryption
has some conflict with GTK, memory allocation.

TODO: Replace c-lang function with native go-lang code

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-02 19:23:40 -07:00
Mark D Horn 7a289b3400 gui: user: remove delete button
This added confusion and complex logic.
Since we are requiring that there is always at least one
user created, (as an admin), delete serves no purpose.

Keep strings as they will be needed in the User Manager coming shortly.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-02 19:23:40 -07:00
Mark D Horn 918bb1547e gui: user: Force the only user to be admin
We want the root account locked on a Desktop installation to
prevent anyone with console access to switching to a virtual
terminal and setting a root password.
If there is an admin user, we will lock the root account.

TODO: When the user manager is added, only one user will be
required to be an admin.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-02 19:23:40 -07:00
Reagan Lopez 86b8a0464b gui: Add third set of translations
Add the third set of translations and optimize screen size further.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-02 18:08:00 -07:00
Reagan Lopez f6e38af962 gui: Add second set of translations
Add the second set of translations and fix issues due to the increase in
the size of texts.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-02 14:57:29 -07:00
Reagan Lopez 7e0d6fe955 gui: Implements disk encryption
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-01 19:11:23 -07:00
Reagan Lopez c336307112 gui: Introduce common functions for Dialog (popup)
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-05-01 19:11:23 -07:00
Mark D Horn 66a34e85bb gui: Change to higher contrast warning color
Switch from red to a variant of orange

TODO: refactor the disk code to use the style.css by
splitting into two labels between title and description.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-05-01 15:53:15 -07:00
Mark D Horn bed70bbb0f gui/tui: Display installation complete step
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-29 19:45:03 -07:00
Reagan Lopez 6f9b0a8d0c gui: Prompts user for confirmation before install
Also disables exit button during installation and
re-enables it after installation is complete.

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-29 19:39:51 -07:00
Mark D Horn 1bfa2cbe8a swupd: Filter bundles which will be installed
Remove any bundles the installer will always install from
the list of optional bundles selectable by the user.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-29 18:18:33 -07:00
Mark D Horn 8bfcbe04e5 gui: remove cancel button from telemetry
Some users were confused by having a Cancel button on the
required Telemetry screen. They assumed if the state was
what they already wanted, they could just Cancel.
We want them to Confirm each time if Telemetry is enabled
or disabled.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-26 21:36:24 -07:00
Reagan Lopez 105cb92d9c gui: Add/update localization strings
- Adds localization for bundle description
- Adds localization for variables
- Removes unsused localization strings
- Adds missing localization strings
- Standardize the strings used for rules

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-26 18:04:30 -07:00
Reagan Lopez 5b9b62b9ed gui: Sync the strings across translations
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-25 17:48:22 -07:00
Reagan Lopez 13a23b6c1d gui: Fixes bug in text search and entry
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-25 17:31:28 -07:00
Mark D Horn 9f1de156bd gui: locale: Ensure consistent branding
All occurrences of Clear Linux* OS should be the same.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-24 17:20:01 -07:00
Mark D Horn fc4f488e13 gui: conditional telemetry message
Only show notice to request telemetry be enabled for corporate
networks if telemetry server is a private IP like the TUI.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-24 16:46:13 -07:00
Mark D Horn 5fac4677fa gui: Simply password check
Use the same code to check the password and confirm password.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-24 16:45:00 -07:00
Mark D Horn 01fb93aedb gui: Updated to media handling
Fixed corner cases if there are no media available, or
not safe media available.

TODO: Refactor the code which enables the confirm button
into a single function.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-23 19:31:05 -07:00
Reagan Lopez dbd0381378 gui: Updates styling and screen size to accommodate translated strings
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-23 18:52:18 -07:00
Reagan Lopez 281449eb17 gui: Applies localization to additional strings
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-23 18:52:18 -07:00
Mark D Horn 76cf352d9d gui: Minor updates to adduser
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-22 17:09:20 -07:00
Mark D Horn 2270acde23 gui: New media choice method from TUI
Pull the logic forward from the TUI for safe installs.

TODO: Enable Encryption
TODO: Advanced configuration of media

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-22 12:52:05 -07:00
Mark D Horn 6afc47e238 Set Default Application Icon
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-22 12:52:05 -07:00
Reagan Lopez 16ddfc496a gui: Make User Add page as Required
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-22 11:22:15 -07:00
Reagan Lopez 5eb6b7dddb gui: Add the Delete user feature
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-22 09:44:47 -07:00
Reagan Lopez 20369d34f6 gui: Introduces the new User Add page
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-22 09:44:44 -07:00
Reagan Lopez 354ab6732e gui: Generates log warnings for trivial errors
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-22 09:44:40 -07:00
Reagan Lopez 1d349e0476 gui: Left aligns Back button
Also, fixes a lint issue

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-19 15:06:47 -07:00
Mark D Horn f72d8f4497 language: Show language in local language
Since some UTF8 characters are wider, change how we format the TUI.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-19 15:06:47 -07:00
Reagan Lopez 4c1f7a9dfe gui: Introduces localization
- Modifies the screen flow to first launch the Welcome (Language) page
- Adds localization package "gotext"
- Enables localization for "en_US", "zh_CN" and "es_MX"
- Modifies the strings to use localized version

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-19 15:04:57 -07:00
Mark D Horn 6e6ede72bd gui: Forward port Download User Messages
Graphical UI version of the previous TUI feature

New functionality to download Pre and Post Installer messages
TODO: Display the messages as pop-ups
- Need to use system curl command to handle proxies for now

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-19 14:29:35 -07:00
Mark D Horn fb1ffb14ef gui: Port of bug fix for Issue: #242
This is the GUI version of the same fix that was implemented
for the TUI of Issue #242.

Only show user selected bundles on the summary menu item for
bundle selection; not core, required bundles.

Make the latest user bundle changes more evident by prepending
them to the list of bundles to install.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-19 14:29:35 -07:00
Mark D Horn 9fa289aa11 gui: Make the Search filters match anywhere
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-19 14:29:35 -07:00
Reagan Lopez 0f38516893 gui: Additional gui pages and styling updates
- Introduces new Hostname page
- Uses .css file for styling
- Adds search feature in Language, Keyboard and Timezone pages
- Updates button styles

Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-19 14:29:35 -07:00
Mark D Horn 45bc3f667a Lookup Theme directory for image
Do no hard-code the location, instead use the same lookup
function as the TUI to find theme related files.

Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2019-04-19 14:29:35 -07:00
Reagan Lopez 7acfab2fc5 Fixes lint issues in initial GUI code
Signed-off-by: Reagan Lopez <reagan.lopez@intel.com>
2019-04-19 14:29:35 -07:00
Ikey Doherty 2f9461b2e1 gui: Initial introduction of pre-alpha installer GUI (bootstrap)
This GUI has been implemented in GTK+ and is very much a work in
progress. So far, we have a number of initial pages implemented:

 - Disk Configuration
 - Bundles
 - Keyboard
 - Language
 - Timezone
 - Telemetry

Note, some of the pages are quite ugly and basic and will need
some improvements. Additionally, the disk config page is currently
very crude, only supporting automatic installation mode.

Additionally, the use of pkexec will ignore environmental variables
for the proxy, thus, proxy support is a bust in the GUI installer.
Some OS-level work is expected to resolve this magically anyway.

There are some ugly hardcoded elements, such as relying on a system
wallpaper file for CSS, and the cooked-in CSS vs an on-disk .css file
that designers can edit and tweak locally. Note that error handling
is incredibly immature right now, resulting in a panic. Realistically
we need to show a "success" or "failure" page within a stack on the
install page to let the user know what happened, and offer the choice
of a reboot.

As a final note, the UX is still not rock solid, and will need
a design-develop feedback loop to improve. This commit represents
my initial handoff for others to jump in and vastly improve the
GUI.

Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
2019-04-19 14:25:56 -07:00