Commit Graph

316 Commits

Author SHA1 Message Date
Adriaan de Groot
1c3817ad65 [welcome] Fix displayed (user-visible) copyright years 2022-05-04 00:54:01 +02:00
Adriaan de Groot
47016765b3 [welcome] Fill backgrounds of failed requirements 2022-04-20 17:04:24 +02:00
Adriaan de Groot
217e4ab4f7 [welcome] Start improving the tooltips for missing requirements 2022-04-20 16:36:18 +02:00
Adriaan de Groot
e102e2630e [welcome] Rip out the "details" dialog for requirements
- The dialog gave very little extra information
- The text descriptions from the dialog are already available
  as tooltips in the existing list view.
2022-04-20 16:19:34 +02:00
Adriaan de Groot
7650795f48 [welcome] Give the result-display somre more space 2022-04-20 16:16:20 +02:00
Adriaan de Groot
e5036da084 [welcome] Draw an icon for requirement-status 2022-04-20 16:03:42 +02:00
Adriaan de Groot
0b2af86ec9 [welcome] Remove compensating-for-model-reset code
The model was emptied-and-refilled when re-checked, which
meant we needed to have some special handling when messages
changed to avoid re-creating widgets. Since we use a model
view now, we don't need the extra machinery.
2022-04-20 15:15:06 +02:00
Adriaan de Groot
8b917ace4d [welcome] Replace widgets in dialog with model+listview
While here, remove unused vars and functions, tidy code.
2022-04-20 15:09:54 +02:00
Adriaan de Groot
ab1c78ca23 [welcome] Allow delegate to pick the text role to display 2022-04-20 13:29:19 +02:00
Adriaan de Groot
3679bb45f0 [welcome] Give the countdown a tooltip 2022-04-20 13:16:10 +02:00
Adriaan de Groot
15b4660d3e [welcome] Rip out rest of ResultWidget
- this breaks the dialog showing details, but we'll switch
  that to the delegate as well.
2022-04-20 13:12:02 +02:00
Adriaan de Groot
e457d099d8 [welcome] Replace manual widgets-creation by a listview with model 2022-04-20 12:00:21 +02:00
Adriaan de Groot
7686b89cd6 [welcome] Very basic model delegate for results / requirements 2022-04-20 12:00:21 +02:00
Adriaan de Groot
7e5df42fc0 Merge branch 'issue-1924' into work-3.3
This is a rather clunky implementation of re-check requirements.

"Clunky" because the UI parts are re-created each time, rather
than fishing from a model of checked (or unchecked) requirements.
The Widgets parts should be updated to use a full model, rather
than the recreate-list-of-Widgets implementation they have now.

Unrelated changes pull in a bunch of improvements to the
waiting spinner widget.
2022-04-16 12:34:40 +02:00
Adriaan de Groot
075185547a [welcome] Display a countdown while (re)checking requirements 2022-04-15 12:47:12 +02:00
Adriaan de Groot
fcb893cd12 [welcome] Avoid growing more spacers
Insert spacers only once; avoid crashing when all the requirements
are satisfied immediately.
2022-04-14 22:06:36 +02:00
Adriaan de Groot
e79f29dc0e [welcome] Update the explanation only when all the results are in. 2022-04-14 21:51:43 +02:00
Adriaan de Groot
11d7870d68 [welcome] Factor out check for a filled requirements-model 2022-04-14 21:48:55 +02:00
Adriaan de Groot
fc653adcc0 [welcome] Don't duplicate result widgets 2022-04-13 18:15:21 +02:00
Adriaan de Groot
ee925492d4 [welcome] Don't duplicate widgets 2022-04-13 17:12:25 +02:00
Adriaan de Groot
8f5c3fa302 [welcome] Improve messages a little for bogus-checks.
Follow the guidelines for checker-messages, even though these
should never be displayed to real users.
2022-04-13 16:51:21 +02:00
Adriaan de Groot
cbd4bd9bbe [welcome] Factor out is-this-check-required
While here, make it possible for the "screen" (screen-size) check
to be mandatory; there's no reason it shouldn't follow the same
logic as all the others (although denying users an install because
they have a VGA monitor seems a bit weak).
2022-04-13 16:47:54 +02:00
Adriaan de Groot
f4117881cd [welcome] Add some more development-only checks 2022-04-13 16:45:32 +02:00
Adriaan de Groot
82b5ca8bfc Merge branch 'calamares' into work-3.3 2022-04-12 12:44:39 +02:00
Adriaan de Groot
2f78a37426 [welcome] Use cDebug() for logging 2022-04-11 11:19:38 +02:00
Adriaan de Groot
cf097850de CMake: apply gersemi styling 2022-02-08 16:18:47 +01:00
Adriaan de Groot
0df288f647 [welcome] Improve logging of unsatisfied requirements
- improve descriptive-strings in logging ("set?" is not very
  meaningful)
- log only the unsatisfied entries, since the preceding
  log-message suggests that that is what is happening.
2021-11-01 14:24:50 +01:00
Adriaan de Groot
683bad19fc i18n: introduce a "TranslationFix"
This is intended to apply translations to some common Qt UI components.

Example: a QMessageBox with standard buttons OK and Cancel; the text
for that is determined at startup using the system locale, and later
changes to the current locale or the current translation catalog,
do not affect OK and Cancel. It might be possible to load a catalog
with the right translation strings, except that there is no way to
know what the context or catalog **is** for the strings that are
used to label standard buttons: they can come from Qt base, or
the platform, or the theme. Merely loading the Qt Base translations
for the correct language does not help, because those translations
do not contain an "OK" string with the context used for standard
buttons.

Do the translation by hand; then we have all of the Calamares
languages covered, too, which is more than the Qt translations do.
2021-09-08 11:14:46 +02:00
Adriaan de Groot
5e7746668e Merge branch 'calamares' into refactor-translation 2021-09-06 15:38:42 +02:00
Adriaan de Groot
6017420dde [welcome] Fix up and expand tests
- improve logging
- fix failing tests -- the observed and expected behavior is
  to fill in a fallback check-URL, not change to an empty list,
- **except** if there's no requirements key in the config
  at all; this is a bit weird, but let's make the tests
  document existing behavior so we can notice if it changes.
2021-09-06 12:35:24 +02:00
Adriaan de Groot
47c504df5d [welcome] add SPDX-tags to test-data 2021-09-03 21:21:44 +02:00
Adriaan de Groot
51c18baedb Merge branch 'issue-1669' into calamares 2021-08-26 17:15:03 +02:00
Adriaan de Groot
f376b42c31 [welcome] Add a handful of tests for different URL configs 2021-08-26 16:58:46 +02:00
Adriaan de Groot
ad76a2cbe8 [welcome] [welcomeq] Move requirements to Config
The Config object can hold all of the configuration information,
including also the requirements-checking parts. Move requirements-
checking configuration there, so it is shared and consistent
across welcome and welcomeq, regardless.

This repairs the test that expects the Config object to handle
**all** of the configuration, too.
2021-08-26 16:39:55 +02:00
Adriaan de Groot
67d2b5568d [welcome] Fix test, check that the internet check URLs are loaded 2021-08-26 14:40:52 +02:00
Adriaan de Groot
d5e6e1075d [welcome] Expand stub tests to check that crashes are gone 2021-08-24 13:37:02 +02:00
Adriaan de Groot
e0ee2d9514 [welcome] Handle nullptrs nicely in Config
- Branding, Settings, and ModuleManager may all be nullptr,
  in which case the corresponding code shouldn't call methods
  of those instances -- this is demonstrated by just creating
  a Config object
2021-08-24 12:50:03 +02:00
Adriaan de Groot
e9a98f35ad [welcome] Avoid crash when no Branding available
- don't install translators twice -- do it in setLocaleIndex only
- avoid crash if the branding instance is nullptr
2021-08-24 11:58:24 +02:00
Adriaan de Groot
f1a47a9f0a [welcome] Add (stub) test for the Config object
This crashes because there's no translations object yet,
but that is an internal issue.
2021-08-24 10:24:11 +02:00
Adriaan de Groot
c5fa6383d7 [welcome] Remove annoying debug message 2021-08-05 14:25:20 +02:00
Adriaan de Groot
1452b74740 [welcome] Load potentially a list of URLs to check 2021-08-01 23:52:27 +02:00
Adriaan de Groot
559c53b09c [libcalamares]: stronger type for translation name
QString -> Id for translations in the external API, to avoid
accidentally converting a QLocale name (e.g. ca_ES) into a
Calamares translation name. This preserves special-cases
like ca@valencia and sr@latin.
2021-07-28 14:22:28 +02:00
Adriaan de Groot
bc9d8fb13a [libcalamares] Rename files Label -> Translation 2021-07-28 14:22:28 +02:00
Adriaan de Groot
bf9f1c95bc [libcalamares] Rename classes describing Translations
- the name 'Label' was a relic of the class being UI-centered
2021-07-28 14:22:28 +02:00
Adriaan de Groot
03e621f4a2 Modules: clean up linking
- do not link (explicitly) to Calamares libraries, the CMake
  functions do that automatically.
- while here, tidy and remove commented-out-bits
- while here, remove unneeded includes
2021-07-26 15:04:43 +02:00
Adriaan de Groot
85a1eb95ee [welcome] Some translation / label fixes
- the message had been arbitrarily changed; change it back
- update (warning) message when there is progress in checking the
  model, so it doesn't stay at "unchecked" until you change language
- minor clean-ups
2021-07-25 00:08:47 +02:00
Adriaan de Groot
51c5c9ba26 [welcome] Switch to using the message from the Config object
- The Config object owns the requirements model, and has messages /
  strings describing the state of the model. Use that message,
  dropping the duplicate message from the requirements widget.
- Re-jig to pass the Config object around rather than the model
  that it owns.
- This does not work, because translation events do not arrive
  (and the slot isn't called automatically either).
2021-07-24 23:15:05 +02:00
Adriaan de Groot
b81bc17560 [welcome] Log when translation events arrive 2021-07-24 16:59:38 +02:00
Adriaan de Groot
5d577371e7 [welcome] Name widgets for styling
Widgets are easier to style if they have a name, and easier to spot
in the widget tree as well. Give the requirements-checker
parts meaningful names.

SEE #1685
2021-05-10 21:55:52 +02:00
Adriaan de Groot
9341a84820 [libcalamares] Make the RETRANSLATE macros more statement-line
Require a ; after RETRANSLATE macros. They are statement-like;
this makes it easier for some of them to be recognized by
clang-format and resolves some existing weird formatting.
2021-03-16 14:55:26 +01:00