Commit Graph

346 Commits

Author SHA1 Message Date
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
Adriaan de Groot
33fec86ef6 [welcome] Improve logging of requirements-checking
- less chatty when 0-results come in
- compress the welcome debug to one output chunk
2021-03-15 20:53:59 +01:00
Adriaan de Groot
6bf82e9c65 [welcome] Update .conf documentation
- fix typo
- don't suggest google as internetCheckUrl
- mark TODOs for #1384
2021-02-16 16:32:34 +01:00
Adriaan de Groot
2878c474c5 Warnings-- (~T() override)
Change all the places that had
	virtual ~T() override
to the less redundant form without override.
2020-09-22 22:49:30 +02:00
Adriaan de Groot
2126be6d6d Warnings-- (~T() override)
Consistently use
	~T() override;
in class declarations (so no virtual in front, and avoid
warnings due to the missing override in back).
2020-09-22 22:40:52 +02:00
Adriaan de Groot
466e08a8ba [welcome] Set some localeConf values from the welcome page 2020-09-03 20:44:23 +02:00
Adriaan de Groot
a2180936ef CI: apply coding style across the entire codebase again 2020-08-26 02:28:43 +02:00
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
1b23520f20 REUSE: (CC0-1.0) module descriptors and configuration files
In spite of there being considerable documentation sometimes in the
config file, we go with CC0 because we don't want the notion of
'derived work' of a config file.

The example `settings.conf` is also CC0. Add some docs to
it while we're at it.
2020-08-26 02:22:49 +02:00
Adriaan de Groot
95ceb1e8c7 REUSE: (BSD-2-Clause) all CMakeLists
The build instructions are not that interesting, it's a toss-up
between CC0 and BSD-2, but because other CMake bits are BSD-2-Clause,
apply that to more CMakeLists. The copyright date isn't all that
accurate, but these are just inconsequential files.

While here, tidy up and get rid of some useless intermediates.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
965bc3b0b4 REUSE: use <author> tag in .ui for license info
The .ui files are all GPL-3.0-or-later style, but it's
slightly difficult to keep licensing information in them:
it's XML, so an XML comment might work, but there's no
guarantee that safe/load will preserve them.

Put the SPDX tags in the <author> tag, so that it's visible
in Qt Designer.
2020-08-26 02:05:46 +02:00
Adriaan de Groot
86f66e8f16 REUSE: (GPL-3.0-or-later) all the schema files
- these are vaguely derived from the schema's written by
  artoo@manjaro.org, but totally re-done for JSON-Schema
2020-08-26 02:01:58 +02:00
Adriaan de Groot
b65b5228e1 [welcome] Don't apply code-style to other C-code 2020-08-26 00:31:16 +02:00
Adriaan de Groot
daf9451e69 [welcome] Warnings-- 2020-06-23 13:16:56 +02:00
Adriaan de Groot
df183d4026 [welcome] Add schema for welcome config
- Note that this is missing *languageIcon* so if that gets uncommented,
  it will fail validation.
- While here decide that  should be
  right up front in object (mappings) declaration.
2020-06-16 16:03:28 +02:00
Adriaan de Groot
f68d0f0628 [welcome] Add a filtered model for unsatisfied requirements 2020-06-09 12:05:40 +02:00
Adriaan de Groot
5b1e5a9e03 [welcome] Some API docs 2020-06-08 09:45:19 -04:00
Adriaan de Groot
f35fab24ac [welcome] Remove name-tangle
- use useful, not-single-letter, variable names
- don't rename inconsistently in the lambda capture
2020-06-08 08:33:48 -04:00
Adriaan de Groot
8255bc3fc1 [welcome] Sanitize example configurations
- remove all duplicated documentation from ; it's the same as
  `welcome.conf` in all respects except for *qmlSearch*.
2020-06-08 08:33:48 -04:00
Adriaan de Groot
5e79176f47
Merge pull request #1422 from andy1247008998/patch-2
remove unnecessary period mark since it's a title
2020-06-06 17:22:13 +02:00
Adriaan de Groot
67d7c700fd [locale] Update documentation to mention *fixed* style 2020-06-03 15:11:19 +02:00
AI Lion
c6174b027c
remove unnecessary period mark since it's a title 2020-05-31 00:31:05 +08:00
Adriaan de Groot
2b0b873159 [welcome] Remove spurious logging 2020-05-14 15:23:45 +02:00
Adriaan de Groot
1a1fde1885 [welcome] [welcomeq] Chase API change for requirements progress 2020-05-12 17:07:15 +02:00
Adriaan de Groot
90f8e748ef [welcome] Improve debugging of general requirements
- distinguish 'this has not been checked' from 'checked and failed'
2020-05-12 15:29:16 +02:00
Adriaan de Groot
9e0aa76375 [welcome] Order member pointers
- Create config before the page
- .. and in doing so, create the page in the initializer list instead
2020-05-12 14:54:18 +02:00
Adriaan de Groot
c0fa212fa9 [welcome] Be slightly more verbose in reporting missed req's 2020-05-11 20:45:47 +02:00
Adriaan de Groot
7d00f7e0dc [welcome] Explain in the debug log what failed 2020-05-11 16:30:26 +02:00
Adriaan de Groot
fabe5ec439 [welcome] Config should not have its own RequirementsModel
- Use the one from ModuleManager
2020-05-11 16:30:26 +02:00
Adriaan de Groot
8306de731a [welcome] Setting requirements from own reqs is totally wrong
- The requirements are collected by ModuleManager, checked
  by an internal RequirementsChecker and changes to the
  requirements state are all signalled from ModuleManager.

By connecting the requirements in the welcome modules' Config
only to their own configs -- and immediately checking them,
which is bad on its own -- we end up with a disconnect between
what the ModuleManager says about requirements, and what
the welcome modules report on.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
0f5db0ba5e [libcalamares] Remove direct access to model internals
- This was just for the ResultsListWidget, which can also use
  normal role-based model access.
2020-05-11 16:30:26 +02:00
Adriaan de Groot
5dc358093e [welcome] Apply coding style 2020-05-06 15:52:56 +02:00
Adriaan de Groot
713132d4af [welcome] Move GeoIP loading into Config
- The Config object can handle GeoIP loading on its own. Both
  View steps that used this had a derpy view->setCountry() that
  didn't really do anything with the view anymore.
2020-05-06 15:46:23 +02:00
Adriaan de Groot
6434374bf3 [welcome] Move languageIcon loading into the Config object
- The QML module had an additional check that the normal one
  did not; add it in the merged code.
2020-05-06 15:24:08 +02:00
Adriaan de Groot
120a2b0f03 [welcome] Move get-the-show*Url code into Config
- Since this is configuration-loading, put it in the Config
  class; reduces code duplication between welcome and welcomeq.
2020-05-06 15:08:31 +02:00
Adriaan de Groot
e65a0ee617 [welcome] Update welcome example
- donate **does** have a corresponding branding setting
- show that "false" is a valid setting
2020-05-06 14:37:59 +02:00
Adriaan de Groot
7d1800a0d7 [welcome] Apply coding style 2020-05-04 13:00:00 +02:00
Adriaan de Groot
70054e5db4 [welcome] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
4786a91eb8 [welcome] Order get/setters consistently
- code styling OCD, all the other ones are get, then set
- getters can be in the header, they're boring
2020-04-30 17:41:17 +02:00
Adriaan de Groot
1f6752307d [welcome] Massage layout when banner is used
- simplify handling of image loading (if the image doesn't exist,
  Branding will bail out on startup)
- reduce space above the banner if it is in use
2020-04-22 14:53:55 +02:00
Adriaan de Groot
c3941b6e65 [welcome] Shuffle code
- things that can be done in the designer file should be there,
  not weirdly repeated in code elsewhere
- drop the insertion of an extra spacer (why not include it in the
  designer file?)
- shuffle all the connect() calls down to the end of the constructor
2020-04-22 14:53:55 +02:00
bill-auger
7bce58f6f2 [welcome] add optional branding banner to welcome page 2020-04-19 04:01:22 -04:00
Adriaan de Groot
fafc508d63 [welcome] Update the widget's notion of the locale
- when the locale changes, tell the widget so that the drop-down
  displays the right language.

FIXES #1361
2020-04-02 23:10:55 +02:00
Adriaan de Groot
5956c6678e [welcome] Don't const& POD
- simplify parameter types in some set-methods
- while here, shuffle methods to bring things together
2020-04-02 22:42:41 +02:00
Adriaan de Groot
d2f5185d49 [welcome] Remove unused m_configurationMap
- the configuration is split into specific properties, not
  stored generically.
2020-04-02 22:00:43 +02:00
Adriaan de Groot
39afbdb570 [welcome] Shuffle signals to conventional location
- signals after slots, before private
- while here give the *MessageChanged signals a parameter (the changed
  message)
2020-04-02 21:57:00 +02:00
Adriaan de Groot
9d97972a34 [welcome] Apply coding style 2020-04-02 21:53:02 +02:00
Adriaan de Groot
ca7733c8e4 [welcome] Drop RequirementsModel
- Use the one from libcalamares
- Massage warning message into Config after it was removed from the model
2020-04-02 21:52:05 +02:00
Adriaan de Groot
215bc46469 [welcome] Update copyright years in about-popup 2020-03-25 13:54:54 +01:00
Adriaan de Groot
2a93c7e236 [welcome] Chase changed API in master 2020-03-25 13:48:10 +01:00
Adriaan de Groot
ce244d8514 [welcome] Style in viewstep (unrelated to merge) 2020-03-25 13:46:27 +01:00
Adriaan de Groot
81912f9e7d [welcome] Style in Config 2020-03-25 12:00:41 +01:00
Adriaan de Groot
1ede7003c0 [welcome] Apply coding style 2020-03-25 11:41:39 +01:00
Camilo Higuita
b6b9f888fc correct typo 2020-03-24 10:39:29 -05:00
Camilo Higuita
1c0e69e1c2 wraning message is not from conf but form the requirements model 2020-03-24 09:33:09 -05:00
Camilo Higuita
2d09557297 update wlecome to latest 2020-03-24 09:26:24 -05:00
Adriaan de Groot
cf59e2884a [welcome] Reduce warnings from moc-generated code 2020-03-24 12:04:26 +01:00
Adriaan de Groot
2eb84e2de1 [partition] [tracking] [welcome] Missing Q_OBJECT
- These aren't strictly necessary for the code, but they
  help with translations.
2020-03-19 00:37:37 +01:00
Camilo Higuita
d26fa63ccd [welcomeq] initial work for welcomeview in qml 2020-03-11 14:48:14 +01:00
Camilo Higuita
d7f7c16958 [welcome] using config for both qcc2 or qwidgets 2020-03-11 14:48:06 +01:00
Adriaan de Groot
c5b038587e [welcome] Tidy up includes 2020-03-09 21:07:12 -05:00
Adriaan de Groot
ebb3f319cc [modules] Be more consistent in include punctuation
- Use <> for Qt, system, externals
 - Use double-quotes for Calamares headers
2020-03-09 21:05:15 -05:00
Adriaan de Groot
25e3f91754 [welcome] Remove the QML testing bits
- The welcomeq module has actual QML support
2020-02-19 13:39:24 +01:00
Adriaan de Groot
b044549013 [libcalamares] Merge PluginDllMacro.h into DllMacro.h
- Let's just have one header definining export- and visibility-
   macros for Calamares. They are still selected based on the
   export flags (*_PRO), just defined in one header instead of two.
2020-02-17 11:37:35 +01:00
Adriaan de Groot
53b6113c75 [welcome] Fix QML tests 2020-02-05 18:38:46 +01:00
Adriaan de Groot
eaea262449 Merge branch 'master' into qml 2020-02-05 18:03:31 +01:00
Adriaan de Groot
8f581ca861 [welcome] Coding style
- apply coding style, add {}
 - remove unneeded includes (moved to the widgets)
 - update copyright
2020-01-29 11:10:30 +01:00
Adriaan de Groot
6b77d5db4a [welcome] Add detail messages for root and screen checks
- these were empty, so the widgets were hidden in the details
   dialog of the requirements check; which looks really strange
   if the reason the check fails is because root is required,
   and you can't see that in the details.

This commit is on a branch because it changes strings, and I want
to do a release Real Soon and not annoy the translators.
2020-01-28 15:24:29 +01:00
Adriaan de Groot
ad4ac1d25c [welcome] Update copyrights 2020-01-28 14:23:38 +01:00
Adriaan de Groot
9d69d0a893 [welcome] Remove unused variables 2020-01-28 14:21:02 +01:00