Commit Graph

323 Commits

Author SHA1 Message Date
Adriaan de Groot
58aa9f4989 [libcalamares] Move LocaleLabel from libcalamaresui to libcalamares
- This isn't a UI-dependent class
 - Doesn't make much sense in CalamaresUtilsGui either
2019-04-19 10:04:49 +02:00
Adriaan de Groot
329bd36929 [libcalamares] Sanitize logging 2019-04-15 10:59:57 -04:00
Adriaan de Groot
aaeea16871 [libcalamares] Make logging more consistent 2019-04-15 09:02:21 -04:00
Adriaan de Groot
63b317902d [libcalamares] [partition] Adjust to logging changes
- Use the un-paren'ed Continuation and SubEntry
2019-04-15 08:27:43 -04:00
Adriaan de Groot
d72e3b3c22 [libcalamares] Simplify writing of logging continuations
- Instead of Continuation(), write just Continuation
 - All that futzing with overloads and tag-classes isn't needed
   since the whole point is to output some constant string. Leave
   cleverness for later, if it's needed.
2019-04-15 08:27:29 -04:00
Adriaan de Groot
365f83b789 [libcalamares] Reduce warnings in KDAB code
- Use nullptr and suitable include guards
2019-04-11 15:14:31 +02:00
Adriaan de Groot
2777b5dd30 [libcalamares] Reduce copying and warnings 2019-04-11 15:14:31 +02:00
Adriaan de Groot
5279e78c9f [libcalamares] Reduce warnings
- improve variable names, don't shadow
2019-04-11 15:14:31 +02:00
Adriaan de Groot
c13c7c4891 [libcalamares] Don't use (bare) endl
- Use '\n' instead of endl (which should have been std::endl).
2019-04-11 15:14:31 +02:00
Adriaan de Groot
d2941d335e [libcalamares] Reduce unused-parameter warnings
- The tag-class "parameters" are empty anyway
2019-04-11 15:14:31 +02:00
Adriaan de Groot
713370da55 Merge remote-tracking branch 'origin/issue-1100' 2019-04-11 11:47:00 +02:00
Adriaan de Groot
01f5ac22a0 CMake: use conventional method for setting version
- Using project() to set up the version is idiomatic for CMake
   and more standardised than doing it by hand. Do retain the
   RC flag, because that's used in other parts of versioning.
2019-04-04 15:58:07 +02:00
Adriaan de Groot
b18e0a0bd8 [libcalamares] Use structured logging tags 2019-04-04 14:44:44 +02:00
Adriaan de Groot
09ae721038 [libcalamares] Structure continuations and sub-entries 2019-04-04 14:44:44 +02:00
Adriaan de Groot
b6ea171365 [libcalamares] Reduce chatty logging
- Only log module-search entries when they are bad.
2019-04-04 14:14:59 +02:00
Adriaan de Groot
caba74438e [libcalamares] Improve XDG handling
- When environment is empty, use default values from spec
 - Search in application-named subdirs first (but keep previous
   behavior of also searching directly in the named dirs)
 - Don't consider empty XDG_* elements
 - Settings XDG_DATA_DIRS=":" would yield an empty list of extra
   directories to check; don't bother setting haveExtraDirs for that.
2019-04-02 10:32:55 -04:00
Adriaan de Groot
3248aba899 [libcalamares] Make oem-setup independent of dont-chroot
- At least for testing purposes it makes sense to decouple dont-chroot
   from the OEM-setup wording, so introduce a separate setting for it.
2019-04-01 06:26:42 -04:00
Adriaan de Groot
57ccefa1e5 [libcalamares] Distinguish "install" and "setup" modes.
- This initial bit of code re-uses the *dont-chroot* setting;
   it may need to be made independent.
 - This branch will use `isSetupMode()` to adjust user-visible
   strings to match the intended use.

SEE #1100
2019-04-01 05:37:34 -04:00
Adriaan de Groot
4b486cfe82 [libcalamares] Add some debugging Jobs
- FailJob always fails, and GoodJob always succeeds, both without doing
   anything. These aren't particularly useful, except for debugging.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
7515f36b96 [libcalamares] Refactor settings-loading some more
- Load instances list in a separate method
 - Load sequence list in a separate method
 - Don't rely on QASSERT, explicitly throw if something is missing.
2019-03-19 11:11:43 -04:00
Adriaan de Groot
e18e4e3d6f [libcalamares] Refactor module-search path
- Refactor code that fills up the module search path from
   the *modules-search* configuration key.
 - Improve debug logging while here.
2019-03-18 17:48:39 -04:00
Adriaan de Groot
540d27d0c3 [libcalamares] Convenience function YAML->QStringList
- operator>> already existed, but here's a version that
   can be used in function-call context.
2019-03-18 17:38:44 -04:00
Arnaud Ferraris
c3ccc0de0e [libcalamares] Add a KiB unit
This commit creates a _KiB operator for future use by the partition
module.
It also fixes a typo in one instance of MiBtoBytes(), requiring a couple
extra fixes.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:49:15 +01:00
Adriaan de Groot
cd92b8dd5e [libcalamares] Simplify logging code
- log() was never called with a non-default value for toDisk,
   so simplify to true. Keep the if() around to indicate block scope.
2019-02-22 09:21:22 -05:00
Adriaan de Groot
0f80a6295b [libcalamares] Reduce warnings about trailing ; 2019-02-12 17:11:01 +01:00
Adriaan de Groot
496f9fdaf1 [libcalamares] Fix tests
- The test wants to read settings.conf, but by default it's run
   from way inside the build dir, where there is no such file.
   Go looking for one (but not too far).
2019-02-12 08:15:05 -05:00
Adriaan de Groot
958d15fb71 [libcalamares] Improve saveYaml()
- Write out Int, Double
 - Special-case empty lists
 - Do objects (not lists of objects) correctly

Now passes the tests for all the example config files.
2019-01-29 07:47:38 -05:00
Adriaan de Groot
3d6dd1202a [libcalamares] Extend tests to all example config files
- Do a `find ../src/ -name *.conf` to get files to load
 - Load and save all of them to check for correctness
2019-01-29 07:31:29 -05:00
Adriaan de Groot
e25deffa74 [libcalamares] Implement most of dumpYaml
- Write out bools, strings, lists and maps; this is enough to
   read and reproduce settings.conf
 - Fix infinite loop in writeIndent()
2019-01-28 18:25:47 -05:00
Adriaan de Groot
f72d6ca403 [libcalamares] Add very basic test for load/save YAML 2019-01-28 08:25:13 -05:00
Adriaan de Groot
5e1bcd9b4a [libcalamares] Stub of saveYaml
- This belongs alongside loadYaml, so place it in libcalamares
 - Doesn't actually save anything yet (it isn't used yet)
2019-01-28 07:50:30 -05:00
Adriaan de Groot
5efbf51ed3 [libcalamares] Improve naming in implementation
- The code in loadYaml was refactored out of the module-descriptor
   loading code, but the variable names in the implementation were
   not changed and still strangely specific to the prior task.
2019-01-25 11:59:17 -05:00
Adriaan de Groot
b44fd65986 [libcalamares] load/save globals in YAML format 2019-01-25 10:58:43 -05:00
Adriaan de Groot
aebe67fde7 [libcalamares] Improve debug message while looking for gettext 2019-01-25 09:43:16 -05:00
Adriaan de Groot
667c0594a4
Merge pull request #1074 from a-wai/disable-cancel-button
Add a settings.conf option to disable "Cancel" button
2019-01-24 21:05:38 +01:00
Arnaud Ferraris
db3d3a7d03 Add a settings.conf option to disable "Cancel" button
In some cases, e.g. when calamares is used as an "initial setup" tool,
we may want to user to go through all the configuration steps in order
to end up with a usable system.
Therefore, disabling the "Cancel" button can be useful in this case.

This commit adds an option to settings.conf which disables this button
when set to "true". If the option is not present in the settings file,
the default behavior ("Cancel" button enabled & visible) is enforced.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-23 15:56:07 +01:00
Adriaan de Groot
bcce704589 Merge branch 'resize-control'
FIXES #1062 #1038
2019-01-14 15:31:25 +01:00
Adriaan de Groot
79cee26b33 [libcalamares] Switch to std::vector
Keeping std::initializer_list around is fraught. Causes segfaults
because I'm not keeping the underlying temporary array around
properly. Switch to vectors because those initialize from the
underlying array.

TODO: look into making this sufficiently constexpr -- perhaps
just use std::array and make find() work on that.
2019-01-14 13:23:44 +01:00
Adriaan de Groot
097927eb3e [libcalamares] Fix off-by-one in taking substring for value 2019-01-14 13:23:14 +01:00
Adriaan de Groot
99a19c7c6b [libcalamares] Document NamedSuffix
- Add more constructors
 - Make the table-constructor public, no need to force
   subclassing on everyone
 - Declare some useful API
 - Document the bits.
2019-01-14 11:50:06 +01:00
Adriaan de Groot
e28aeebb48 [libcalamares] Introduce helper NamedSuffix template
For (all?) those cases where we have configuration with
a value followed by a unit, introduce a class that
uses the NamedEnum properties to make parsing and split-up easier.
2019-01-11 19:48:11 +01:00
Adriaan de Groot
9c2a6b03e4 [libcalamares] Slight refactor, move into NamedEnumTable
- expand documentation on find()
 - make find() methods
2019-01-11 14:30:21 +01:00
Adriaan de Groot
fb44113561 [libcalamares] Named enumeration support 2019-01-11 14:15:18 +01:00
Adriaan de Groot
44211ee19a Merge branch 'release-3.2.3'
- Pull in CHANGES and release-numbering modifications
 - Pull in locale fixes
 - Bump version again, to 3.2.4-RC1 in master
2019-01-09 13:07:32 +01:00
Adriaan de Groot
527392f0af [libcalamares] Update Copyright statement 2019-01-08 22:29:55 +01:00
Adriaan de Groot
093240c131 [libcalamares] Be less chatty in Python scripts
- When finding the gettext path, the debug output was very
   chatty and didn't include an indication that it was looking
   for translations.
2019-01-08 10:51:53 +01:00
Adriaan de Groot
3b8d2835e0 [calamares] Use XDG_{DATA,CONFIG}_DIRS as appropriate
- Use DATA for the qml and branding directories (looks for qml/
   and branding/<name>/ in those directories).
 - Use CONFIG for the global settings and module settings (looks
   for settings.conf and module/<name>/ in those directories).

FIXES #941
2018-10-08 10:28:30 -04:00
Adriaan de Groot
c489320af5 [calamares] Add option to obey XDG dirs
- Prep-work for #941
 - This does nothing, yet, just sets the stage for using
   XDG_CONFIG_DIRS and XDG_DATA_DIRS as well as the regular
   directories.
2018-10-08 07:02:35 -04:00
Adriaan de Groot
4a2ca8bb77 [libcalamares] Fix compilation of tests
- QCOMPARE is picky with types, enum vs unsigned int, so just
   hit it with a hammer.
2018-10-08 06:46:35 -04:00
Adriaan de Groot
5b936f33ec [libcalamares] Add tests
- Test only the new debug-level query methods
2018-10-05 09:41:37 -04:00