Commit Graph

5261 Commits

Author SHA1 Message Date
Adriaan de Groot
f094cb543b [libcalamaresui] Set config object earlier
- The config context object should be set earlier, otherwise
   QML code will try binding to a non-existent config already
 - Document that QMLViewStep::setConfigurationMap() parent implementation
   should be called **last**, at the end of the subclass implementation.
2020-02-12 22:33:49 +01:00
Adriaan de Groot
7e0cc7af41 [welcomeq] Add configuration file
- copy the buttons-config part from welcome.conf
 - create buttons in the QML part
2020-02-12 18:24:07 +01:00
Adriaan de Groot
85b873a1a2 [libcalamaresui] Log QML error message
- When loading fails, log a useful error message from the QML
   engine (to help debug the QML)
2020-02-12 17:58:21 +01:00
Adriaan de Groot
49ed97cb77 [libcalamares] Allow QML ViewSteps to expose a config object 2020-02-12 17:51:10 +01:00
Adriaan de Groot
f0134aab71 [welcomeq] Add more fields to Config
- getters as slots, for later access from QML
2020-02-12 17:37:06 +01:00
Adriaan de Groot
86bf9287ab [notesqml] Use Branding strings 2020-02-12 16:23:34 +01:00
Adriaan de Groot
ae35256177 [welcomeq] Add top-text
- Fix QML indentation to the canonical 4-spaces
 - Add a header at the top of the page
 - Force the image to load from the filesystem
2020-02-12 16:20:53 +01:00
Adriaan de Groot
18942f835f [libcalamares] Remove confusing name-qualifiers
- Using Branding::ImageEntry, when ImageEntry is an enum class
   defined *in* Branding, is superfluous, and it also confuses
   moc; the enum type isn't recognized from QML.
2020-02-12 15:35:11 +01:00
Camilo Higuita
15d8503726 [libcalamaresui] Expose the branding strings & urls to qml 2020-02-12 15:18:24 +01:00
Adriaan de Groot
152c3352c2 [welcomeq] Compile the QML into the module
- Default implementation is in the QRC
 - Register Branding for QML modules (just once)
2020-02-12 15:08:18 +01:00
Camilo Higuita
b5e17b7ea5 [welcomeq] Add full-featured QML for welcome page
This is a merge of several commits by Camilo.
2020-02-12 14:31:15 +01:00
Adriaan de Groot
7bf0fded1b [welcomeq] Port to newer QmlViewStep 2020-02-12 14:25:30 +01:00
Adriaan de Groot
adb312bdd2 [welcomeq] Coding style
- a R/W property isn't CONSTANT
 - apply calamaresstyle
2020-02-12 14:19:33 +01:00
Adriaan de Groot
c7780db07a Merge branch 'model-q'
- Make models of some things previously held as lists, as
   prep-work for QML modules.
2020-02-12 14:08:07 +01:00
Camilo Higuita
1f2f1a657e [libcalamaresui] Expose Branding strings to QML 2020-02-12 13:57:26 +01:00
Adriaan de Groot
ca13d1670e [libcalamares] Merge more from Camilo
- Complete the model for locales
2020-02-12 13:40:59 +01:00
Adriaan de Groot
59ddda6225 Merge branch 'wrangle-boost' 2020-02-12 12:44:09 +01:00
Adriaan de Groot
9408601074 [libcalamares] Move Python wrapper
- Take the Python wrapper for GlobalStorage out of the GlobalStorage.h
   header and add it to PythonHelper instead, saving some work in
   all the cases that only GS is interesting, not the Python bits.
2020-02-12 12:37:43 +01:00
Adriaan de Groot
ad725b671e [hostinfo] Warnings--
- Physical memory can't be negative, so it is reported as
   an unsigned long, but the bytes-to-MiB functions do accept
   negative amounts. As long as no machine has more than 2**62
   bytes of memory, we're good though.
2020-02-12 12:26:55 +01:00
Adriaan de Groot
a11280b427 [libcalamares] Expand tests for printable entropy 2020-02-12 12:22:02 +01:00
Adriaan de Groot
090716ba4f [libcalamares] Warnings-- in Entropy
- reading a file yields a qint64
 - need to mash the unsigned data from twister to signed char data.
2020-02-12 12:15:13 +01:00
Adriaan de Groot
7efed8226c [libcalamares] Warnings--, update copyright 2020-02-12 12:10:58 +01:00
Adriaan de Groot
c1151cbcfa [libcalamares] Update copyright info 2020-02-12 12:08:46 +01:00
Adriaan de Groot
8181808bec [libcalamares] Fix build
- drop now-obsolete boost-warnings.h
 - add missing namespace alias to GlobalStorage.h (removed accidentally
   in previous commit)
2020-02-12 11:25:10 +01:00
Adriaan de Groot
3b35ca7bb9 [libcalamares] Simplify includes
- PythonHelper.h already pulls in all the Python machinery
2020-02-12 11:04:15 +01:00
Adriaan de Groot
95722541d0 [libcalamares] Untangle Python includes
- Use BoostPython.h to manage overall includes
 - Remove local home-grown variations
2020-02-12 11:02:38 +01:00
Adriaan de Groot
f8998834cf [libcalamares] Simplify includes (no Python used in JobQueue) 2020-02-12 10:55:36 +01:00
Adriaan de Groot
d42e757576 [libcalamares] Simplify includes
- CalamaresVersion used by the job, not the API presented to Python.
 - Untangle Qt includes from there.
2020-02-12 10:48:19 +01:00
Adriaan de Groot
f3e7fe5eb4 [libcalamares] Use more specific include 2020-02-12 10:32:10 +01:00
Adriaan de Groot
96580e5c40 [libcalamares] Convenience header for Boost and its warnings 2020-02-12 10:28:48 +01:00
Adriaan de Groot
6432b7f42a [libcalamares] Hit Boost warnings with a hammer
- Tons of warnings from Clang 9 in Boost::Python code, so
   turn of most of those warnings in the Boost-support code.
2020-02-11 16:46:44 +01:00
Adriaan de Groot
684c5f477c [libcalamares] Moc warnings--
- don't have a NOTIFY CONSTANT property
 - the data is constant, so drop NOTIFY
 - remove redundant signals
 - remove setLabels() now it's only needed from one constructor
2020-02-11 16:40:36 +01:00
Adriaan de Groot
b4b1bf5de2 [libcalamares] Call delegated constructor 2020-02-11 16:39:39 +01:00
Adriaan de Groot
df5a0d25bc [libcalamares] Handle empty locale names quickly 2020-02-11 16:37:49 +01:00
Adriaan de Groot
27bc64e63f [libcalamares] C++ style, warnings-- 2020-02-11 15:36:30 +01:00
Adriaan de Groot
241cb04f06 [libcalamares] Coding style 2020-02-11 15:25:28 +01:00
Camilo Higuita
1b3d32ca79 make label item from LabelModel qobject based and expose properties 2020-02-11 15:24:29 +01:00
Adriaan de Groot
6c0fecd40d [notesqml] Don't use a fixed width 2020-02-11 12:55:26 +01:00
Adriaan de Groot
c3c845e9d7 [notesqml] Add some more module documentation 2020-02-11 12:29:18 +01:00
Adriaan de Groot
4f60a6340e [dummyqml] Drop module; it makes more sense to just be notesqml 2020-02-11 12:20:39 +01:00
demmm
c0e1ebb72a adding notesqml, copy of dummyqml
included in settings.conf, commented out
2020-02-09 01:03:52 +01:00
Adriaan de Groot
39a5453904 [libcalamaresui] Add QML onActivate() and onLeave() calls.
- This comes from the ExecutionViewStep, V2 loading, which
   notifies the QML that the QML is now active.
2020-02-07 22:18:23 +01:00
Adriaan de Groot
1f34c2834e [libcalamaresui] Move definitions inside namespace {}
- Remove the extra Calamares:: namespace specifier from half the
   definitions.
2020-02-07 21:33:34 +01:00
Adriaan de Groot
12675be516 [libcalamaresui] Factor out "simple" QML method calls 2020-02-07 21:25:55 +01:00
Adriaan de Groot
bf675d971b Merge branch 'qml' 2020-02-07 21:08:29 +01:00
Adriaan de Groot
faa88afc88 Merge branch 'issue-1314'
FIXES #1314
2020-02-07 20:33:05 +01:00
Adriaan de Groot
229d09927e Changes: for 2020, new fake Linux distro name 2020-02-07 20:32:20 +01:00
Adriaan de Groot
3e2908ea16 [machineid] Follow Manjaro flags
- add -f to ln(1) flags
2020-02-07 20:31:15 +01:00
Adriaan de Groot
110a84344b [machineid] Test job function
- Create a job and ask it to create dbus files -- either directly,
   or as a symlink. Since the target chroot isn't viable, this will
   fail but we can at least see that directories are created, etc.
2020-02-07 20:29:42 +01:00
Adriaan de Groot
4cdcb48de6 [machineid] Functionality moved to libcalamares 2020-02-07 16:12:17 +01:00
Adriaan de Groot
b62004aae9 [machineid] Create the DBus data directory
- before running dbus-uuidgen or linking to systemd's UUID,
   create /var/lib/dbus; some distro's don't create that
   beforehand.

FIXES #1314
2020-02-07 16:10:13 +01:00
Adriaan de Groot
240fe2a564 [libcalamares] Add convenience createTargetParentDirs() 2020-02-07 16:09:02 +01:00
Adriaan de Groot
6ede9f2c7c [libcalamares] Test QFileInfo::dir() for completeness 2020-02-07 16:08:38 +01:00
Adriaan de Groot
e65969d587 [libcalamares] Re-do createTargetDirs()
- Drop the basedirs idea, replace return with just bool
 - Use QDir::mkpath, with some extra validation
 - Test it a bit
2020-02-07 15:51:46 +01:00
Adriaan de Groot
8b8ecf7b7b [libcalamars] Improve test init and cleanup
- Test createTargetFile and removeTargetFile
 - Clean up afterwards
 - Ensure /tmp is the RMP for each test
2020-02-07 15:23:02 +01:00
Adriaan de Groot
b502d78984 [libcalamares] Fix warning message
- "create" was when this function was used elsewhere
2020-02-07 13:58:44 +01:00
Adriaan de Groot
394eee3954 [libcalamares] Test more targetPath() scenario's 2020-02-07 13:57:14 +01:00
Adriaan de Groot
8d23e665ea [libcalamares] Fix targetPath() tests
- there is less simplification done than you might think
2020-02-07 13:53:49 +01:00
Adriaan de Groot
daa5b804b3 [libcalamares] Split paths-tests into own test executable
- Since these tests all want a system object, and a GS
   with a sensible setup, give them one with its own initTestCase().

This could have been done with one executable, running tests from
multiple classes, but there's not much overall benefit there.
2020-02-07 13:49:06 +01:00
Adriaan de Groot
31878dd43b [libcalamares] Avoid double / between root and path in targetPath() 2020-02-07 13:29:35 +01:00
Adriaan de Groot
15bca702c1 [libcalamares] Add tests for path functions (part 1) 2020-02-07 11:51:13 +01:00
Adriaan de Groot
95936549e2 [libcalamares] Add a createTargetBasedirs()
- Used to ensure that the directories leading up to a given path
   exist. Implementation is incomplete and broken for now.
 - While here, avoid removing an empty pathname in removeTargetFile()
   (the empty pathname indicates a broken configuration).
2020-02-07 11:30:37 +01:00
Adriaan de Groot
4af68365c9 [machineid] Remove obsolete implementation 2020-02-07 11:16:40 +01:00
Adriaan de Groot
bf882cec1d [machineid] Migrate removeFile() to libcalamares
- Becomes removeTargetFile()
2020-02-07 11:16:01 +01:00
Adriaan de Groot
9ef04192db [libcalamares] Simplify returns in targetPath() 2020-02-07 11:03:40 +01:00
Philip Müller
97ddd30af4
[machineid] folder needs to be created when not exists
- See #1314
2020-02-07 10:46:26 +01:00
Philip Müller
72d742e2f4
[machineid] Use same approach as we do in Manjaro
- See also https://gitlab.manjaro.org/applications/calamares/commit/da8f45ae
- Fixes #1314
2020-02-07 10:34:01 +01:00
Philip Müller
c766a0f10f
[machineid] create dbus var-lib folder when not existing
See also #1314
2020-02-07 10:26:36 +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
4b3f7eb209 [calamares] Local translations can be a separate setting
- Don't stick this in Settings, though, it becomes overly complicated.
2020-02-05 17:48:39 +01:00
Adriaan de Groot
24c2c435a0 [libcalamares] Try repairing tests
- Fail on FreeBSD with an instant timeout
2020-02-05 17:08:47 +01:00
Adriaan de Groot
4525060c26 [calamares] Refactor Settings initialization
- add a Settings::init() to do actual work
 - remove the same kind of code from CalamaresApplication
 - make constructor of Settings private
 - initialize settings before the application
2020-02-05 16:48:49 +01:00
Adriaan de Groot
68e8b0695d [calamares] Make declaration order match calling order 2020-02-05 16:14:56 +01:00
Adriaan de Groot
db80a34aca [calamares] Remove intermediate debug-settings
- There's a multi-stage setup for debug-mode, where the application
   object also knows that debugging is set. Remove it.
 - Break debug mode (because now the settings don't get debug-mode set).
 - Refactor so that parameter handing is only done if this Calamares
   is the unique (first) Calamares.
2020-02-05 16:10:41 +01:00
Adriaan de Groot
50b6801d35 [calamares] Install translator after loading settings
- means that also the *initial* translation can take settings
   into account, like -d loading local translations.
2020-02-05 14:33:42 +01:00
Adriaan de Groot
f233cac7a1 [calamares] Refactor debug-logging settings 2020-02-05 14:23:55 +01:00
Adriaan de Groot
ea8adc3de7 [calamares] Simplify return from main 2020-02-05 14:04:52 +01:00
Adriaan de Groot
af862336a8 [calamares] Initialize settings before QML 2020-02-05 13:50:18 +01:00
Adriaan de Groot
91625c8ba8 [libcalamares] Tidy up boolean options in Settings
- The const getters for a single boolean value have moved
   to the header, for inlining.
 - Document the getters and what their settings mean.
2020-02-05 13:35:26 +01:00
Calamares CI
8c0ef5798d i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-02-04 22:19:48 +01:00
Adriaan de Groot
d956c79291 [libcalamares] Load translations from more places
- To support translation testing, without needing to recompile
   Calamares, load files from the local directory when debugging,
   or from /usr/share/calamares/lang/ in general.
 - This allows updating translations and testing them with just
   lrelease (a translation build tool) installed, without rebuilding
   Calamares.
 - This allows distro's to ship updated or modified translations without
   rebuilding Calamares.
2020-01-30 19:06:33 +01:00
Adriaan de Groot
02e5e0de5e [users] Use entropy service.
FIXES #1254
2020-01-30 10:32:34 +01:00
Adriaan de Groot
5b987d4f33 [machineid] Use entropy service
- Most of the code was error-checking, just replace the open-read
   with a call to the service instead.
 - It's not an error if /dev/urandom doesn't exist in the source system
   (there may be other good random sources, and otherwise we have the
   low-quality random fallback).
2020-01-30 10:32:27 +01:00
Adriaan de Groot
c971127b17 [machineid] Fix entropy-file return
- If the file was created and written, it would drop out of the
   if() and return an error anyway.
2020-01-30 10:08:55 +01:00
Adriaan de Groot
e56948cefa [libcalamares] Fix tests (cell is the lower unicode byte) 2020-01-29 16:41:17 +01:00
Adriaan de Groot
be0831ee11 [libcalamares] Add printable-entropy (e.g. for password salt) 2020-01-29 16:39:25 +01:00
Adriaan de Groot
8947f9c00c [libcalamares] Test the Entropy service 2020-01-29 16:16:12 +01:00
Adriaan de Groot
a574b43eb8 [libcalamares] Also report empty buffer as no-entropy 2020-01-29 16:08:33 +01:00
Adriaan de Groot
842a90e026 [libcalamares] Add an Entropy service for getting random data
- Tries to get the "best" random data
 - Reports the quality of the random data it got
2020-01-29 16:03:50 +01:00
Adriaan de Groot
94083edf9c Merge branch 'master' into kpmcore-manager 2020-01-29 12:55:46 +01:00
Adriaan de Groot
252ce70203 i18n: updated (English) source files 2020-01-29 11:42:04 +01:00
Adriaan de Groot
b38ae75bef Merge branch 'translate-checks' 2020-01-29 11:11:32 +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
a09593e4a2 [locale] Tighten up language-matching
- Drop plain startsWith() matching, since we now have "as" and "ast"
   as supported languages, where one name is a prefix of the other.
2020-01-28 17:35:54 +01:00
Adriaan de Groot
49690fc681 [locale] Remove superfluous code
- the list is already filtered for UTF-8, so this is redundant
 - this *incidentally* fixes the problem with Assamese and Asturian,
   since Assamese (as_IN) was having its only entry removed,
   after which it would match Asturian (ast_ES)
2020-01-28 16:41:15 +01:00
Adriaan de Groot
97f622e094 [locale] Use standard algorithms 2020-01-28 15:50:08 +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
Adriaan de Groot
1ac4786365 [welcome] Move all the translation work to the slot
- this needs to (re)check the satisfaction states to figure out the
   message, but that's useful if the state of the checks changes
   (e.g. in #1106)
2020-01-28 14:15:57 +01:00
Adriaan de Groot
221a79b64c [welcome] Simplify logic
- \not mandatorySatisfied \implies \not requirementsSatisfied,
   so the ifs can be combined and simplified
2020-01-28 13:58:08 +01:00
Adriaan de Groot
28d91979c3 [welcome] Make resultWidgets less error-prone
- instead of counting and needing to keep track of the predicate
   applied while creating the widgets, push nullptrs to the widget
   list instead reflecting "this entry did not satisfy the predicate
   for widget creation".
2020-01-28 13:50:23 +01:00
Adriaan de Groot
39534325e6 [welcome] Re-use widget creation code
- for the list, the code can be the same as for the dialog,
   only the predicate is different.
 - while here, implement retranslate() since there's no text on
   the list widgets otherwise.
2020-01-28 13:39:27 +01:00
Adriaan de Groot
38d58e5b16 [welcome] Hoist explanatory-label code
- Create the label once, and it's ok for it to respond to links
   even if there's none in the code.
 - Turn into a member variable in preparation for retranslation-refactor.
2020-01-28 13:32:53 +01:00
Adriaan de Groot
b476e4b386 [welcome] Refactor link-clicking
- remove intermediate lambda
 - rename dialog slot to one handling links in general (which now
   **only** does the dialog link)
2020-01-28 13:24:01 +01:00
Adriaan de Groot
ecc7719abd [welcome] Hoist checking for requirements-satisfied
- lift it out of the loop that creates the widgets
 - some lambda-wankery, but the compiler hammers this down to
   simple loops and you can read the resulting code as

	none_of  [the list]  isUnSatisfied
	none_of  [the list]  isMandatoryAndUnSatisfied
2020-01-28 13:13:09 +01:00
Adriaan de Groot
f5c0e57f17 [welcome] Improve variable naming
- these two are about whether all the checkEntries are satisfied
   (in general, and the mandatory ones) so make the names reflect that.
2020-01-28 13:02:39 +01:00
Adriaan de Groot
5795801be5 [welcome] Remove unneeded member variables.
- local to the constructor, only needed to be members because
   of the weird split between constructor and init()
2020-01-28 13:00:21 +01:00
Adriaan de Groot
5aae736ced [welcome] Create ResultWidget in separate method 2020-01-28 12:53:19 +01:00
Adriaan de Groot
bede280f91 [welcome] Refactor ResultsListWidget
- no point in having init() called immediately after the constructor,
   if it only makes sense to have one call to init() ever to create
   the widget.
 - while here, give it the same kind of structure as the dialog,
   holding on to a reference to the list.
2020-01-28 12:41:36 +01:00
Adriaan de Groot
320dcac946 [welcome] Drop unneeded member variable 2020-01-28 12:23:53 +01:00
Adriaan de Groot
ed1b3b576f [welcome] Refactor ResultsListDialog
- drop useless debugging
 - add documentation
 - move to its own spot in the file (not mixed in with ResultsListWidget)
2020-01-28 12:21:22 +01:00
Adriaan de Groot
41ac21bdcd [welcome] Refactor results-details dialog
- Factor out the "details" dialog into a separate class
   with a translation slot. This resolves the crash reported in #1307.
2020-01-27 19:35:41 +01:00
Calamares CI
a017451607 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-01-27 16:40:04 +01:00
Calamares CI
ae2536a9c3 i18n: [dummypythonqt] Automatic merge of Transifex translations 2020-01-25 23:26:40 +01:00
Adriaan de Groot
39cc13cb25 [shellprocess] Tidy code
- resolve TODO, use a unique_ptr to hang onto the command-list
 - sort the #includes, use correct quoting
2020-01-25 15:23:10 +01:00
Adriaan de Groot
71a73ee1a1 [libcalamares] PythonJob created with InstanceKey 2020-01-25 15:15:32 +01:00
Adriaan de Groot
96946a8447 Merge branch 'fix-unpackfs-progress'
This is an ugly hack, using Bill Auger's support for Job weights.
The unpackfs job is arbitrarily awarded a weight of 12. That makes it
(in a Netrunner install) use progress from 12% to 40% or so, overall,
as all the files are unpacked.

Also fixes bug reported by Kevin Kofler that unpackfs was only reporting
progress when it hit an exact multiple of 100 (instead of over 100).

SEE #1176
2020-01-25 11:53:31 +01:00
Adriaan de Groot
9976e92659 [libcalamares] Enlarge unpackfs to 12x 2020-01-25 03:06:20 +01:00
Adriaan de Groot
d4b24894cb [libcalamares] Weigh unpackfs extra heavy
- This is a gross hack, which hard-codes unpackfs as much-heavier
   than other Python modules.
2020-01-25 02:45:52 +01:00
Adriaan de Groot
0c9188ee83 [libcalamares] Document JobWeight 2020-01-25 02:45:52 +01:00
Adriaan de Groot
cdd2b9cc79 Modules: set noconfig:true on Python modules
- hwclock, initramfs, localecfg and networkcfg don't have any
   config file to work with, so set that explicitly in the module.desc
2020-01-24 23:10:41 +01:00
Adriaan de Groot
8d47751cb2 [libcalamares] Beautify debug output for InstanceKey 2020-01-24 22:53:14 +01:00
Adriaan de Groot
83ffbd5126 [libcalamaresui] Only load config file if there is one
- finally, no more warnings for modules that are NO_CONFIG
   (or noconfig: true) and don't have a config file.
2020-01-24 21:47:54 +01:00
Adriaan de Groot
f366e3840f [libcalamaresui] Chase stronger typing of ModuleDescriptor 2020-01-24 21:46:18 +01:00
Adriaan de Groot
00deeec8c8 [libcalamaresui] Use InstanceKey instead of strings
- Replace return type of Module::instanceKey() by the structured
   ModuleSystem::InstanceKey type
 - Chase API breakage
2020-01-24 17:47:06 +01:00
Adriaan de Groot
abdeb07bd3 [dummyqml] Minor polishing in Qml module
- document the default filename better
 - mark TODO actually loading the instance-id file
2020-01-24 17:14:45 +01:00
demmm
b20a957c6e restore includes in header file to amke it build 2020-01-24 15:52:59 +01:00
demmm
538d8d5497 address qmlLabel changes too 2020-01-24 15:14:51 +01:00
demmm
9f55cf4cf4 part of the changes requested
others fail to build, or no idea how to fix
2020-01-24 15:12:10 +01:00
Adriaan de Groot
b5d0acdf81 [luksbootkeyfile] Set NO_CONFIG 2020-01-24 13:13:50 +01:00
Adriaan de Groot
40f64f0c11 [hostinfo] Set NO_CONFIG and remove unused configuration methods 2020-01-24 13:12:25 +01:00
Adriaan de Groot
fd058302b8 [dracutlukscfg] set NO_CONFIG and coding style 2020-01-24 13:08:25 +01:00
Adriaan de Groot
6530c889f0 Merge remote-tracking branch 'origin/use-idkey' into no-config
- Join to a single branch that does a bunch of tidying
   in the type-strictness of module interfaces.
2020-01-24 13:05:22 +01:00
Adriaan de Groot
155db29ccf [libcalamares] Add a ModuleSystem::Descriptor
- this is currently just an alias for QVariantMap, which is
   the type already in use.
 - future plan is to tighten this up and have an actual
   Descriptor class that carries only the information
   actually needed for the module descriptor.
2020-01-24 12:59:35 +01:00
Adriaan de Groot
974d795390 [libcalamares] Shuffle module-loading logic
- group ifs by the state of thisModule
2020-01-21 19:57:16 +01:00
Adriaan de Groot
58931d99fa [libcalamaresui] Support noconfig setting
- look up the descriptor and use its noconfig value
 - return empty QString if noconfig is set; this does not
   apply to custom instances
2020-01-21 19:57:16 +01:00
Adriaan de Groot
649eb94d24 [libcalamaresui] Type-alias for module descriptors 2020-01-21 19:29:47 +01:00
Adriaan de Groot
8fbe676280 [libcalamaresui] Refactor finding config file name
- check for broken custom instances earlier in the loop
 - make free function for finding the config file name
2020-01-21 19:22:13 +01:00
Adriaan de Groot
d1f162f92a Docs: describe *noconfig* module option 2020-01-21 18:31:13 +01:00
Adriaan de Groot
10d1c4cf5b [unpackfs] Improve progress reporting
- don't rely on exactly 100 files being copied (thanks to Kevin Kofler)
2020-01-20 19:39:05 +01:00
Adriaan de Groot
fbb452f9bf CMake: add support for NO_CONFIG
- A C++ module should set NO_CONFIG to flag that it doesn't have a
   config file (this is an error if it secretly **does** have one)
2020-01-20 19:27:34 +01:00
Adriaan de Groot
fed0c46612 [libcalamaresui] Change return type of loadedInstanceKeys()
- Replace stringlist with a stronger-typed list of InstanceKey objects
 - Move smashing-that-to-stringlist into consumers of the list
   (just one, the debug window)
2020-01-19 18:07:27 +01:00
demmm
32eee82744 clean-up dummyqml.conf 2020-01-14 13:08:54 +01:00
demmm
f2e68ddcf4 adding configure option dummyqml
sidebar entry can be configured and translated
adding a more elaborate qml example
keeping this in dummyqml for now, another commit will follow with
continuation of dummyqml in a more aptly named module
2020-01-14 12:30:22 +01:00
Adriaan de Groot
750465153f [dummyqml] Improve QML searching
- if the filename is an absolute path, use that
 - support searching in branding directory
2020-01-13 22:28:21 +01:00
Adriaan de Groot
7f8a31007a [dummyqml] Search for files
- start implementation of searching-for-qml
 - add a *filename* configuration item, so that the filename
   can be set per-instance (via the config file)
2020-01-13 22:04:27 +01:00
Adriaan de Groot
ed4127f661 [libcalamaresui] Shuffle the module interface
- introduce NamedEnum lookup tables for interface and type
 - drop "final" and "virtual" from methods that don't make
   sense as virtual
 - shuffle declaration order so the virtual API for modules
   sits together
2020-01-12 12:18:13 +01:00
Adriaan de Groot
f89c137c90 [libcalamaresui] Migrate module to using InstanceKey
- Trying to get away from untyped strings with special meaning.
 - The "split identifier" branch tried the same thing, but
   was duplicating the existing InstanceKey.h work.
2020-01-12 11:49:10 +01:00
Adriaan de Groot
a7e1a1f9fc [libcalamaresui] Refactor Module::initFrom()
- generic initFrom() also sets the instance id
 - subclass-specific initFrom() now pure virtual in base
 - chase changes in subclasses
2020-01-12 11:37:22 +01:00
Adriaan de Groot
04615b251c [dummyqml] Make prettyName() return a sentence with . 2020-01-10 17:47:02 +01:00
Adriaan de Groot
ce6d54ad95 [libcalamaresui] Improve failure message, unbreak loading
- example loading had an X inserted in filename (to test failure)
 - add a space between name and failure
2020-01-10 17:45:09 +01:00
Adriaan de Groot
fed298b179 [libcalamaresui] Defer QML loading
- need a configuration before we can start loading (to support
   the variable search paths)
 - refactor showing a failure in the spinner widget. On failure,
   the spinner will never go away, so a message for the user is good.
 - stop clang-format from messing up the table of names.
2020-01-10 17:41:20 +01:00
Adriaan de Groot
e7e66497d2 [libcalamaresui] Introduce search method for QML UI modules
- add a sample config and documentation in dummyqml/
2020-01-10 17:19:15 +01:00
Adriaan de Groot
23a957e783 [libcalamares] Chase API change (timeouts)
- The new mount service needed adjustment for the independent
   change of timeouts: int -> chrono::seconds.
2020-01-10 15:22:26 +01:00
Adriaan de Groot
f6d89354a1 Merge branch 'master' into kpmcore-manager 2020-01-10 14:54:13 +01:00
Adriaan de Groot
e6713d456c [libcalamaresui] Need explicit qrc: scheme 2020-01-10 13:44:26 +01:00
Adriaan de Groot
c03c6fc8ed [libcalamaresui] Qml loading
- this is mostly copied from ExecutionViewStep (only the V2 QML
   loading), which does the same kind of thing.
 - loading from QRC does not work yet
2020-01-10 13:39:03 +01:00
Adriaan de Groot
44b250809f [libcalamaresui] Add spinner to QmlViewStep
- view step now has a widget, doesn't load QML yet
2020-01-10 13:10:55 +01:00
Adriaan de Groot
60c1d40b20 [libcalamaresui] Log which ViewStep is broken
- a ViewStep with no widget will crash the application;
   print out its name before doing so.
2020-01-10 12:56:46 +01:00
Adriaan de Groot
1cc40bda83 [dummyqml] Stub of a QML module 2020-01-10 12:41:00 +01:00
Adriaan de Groot
4924839217 [libcalamaresui] Start QmlViewStep 2020-01-10 12:13:40 +01:00
Adriaan de Groot
16a460adff [libcalamaresui] Move ExecutionViewStep where it belongs
- viewpages/ collects the ViewStep implementations
 - chase header moving and tidy some #includes
2020-01-10 12:07:35 +01:00
Adriaan de Groot
970702daa0 [libcalamaresui] Tidy up includes 2020-01-09 21:39:34 +01:00
Adriaan de Groot
537c257acf Merge branch 'master' into qml 2020-01-09 15:17:23 +01:00
Adriaan de Groot
56f926094e [welcomeq] Update comments
- Copyright years
 - Purpose of this module
2020-01-09 15:11:36 +01:00
Adriaan de Groot
1a8926181e [locale] Warnings-- (initialization-order) 2020-01-07 10:46:26 +01:00
Adriaan de Groot
2dff2d9d70 [libcalamares] TZRegion is hard to copy
- delete the copy and move constructors
 - adjust tests (which were just interested in simple tr() behavior) to use TZZone instead
2020-01-07 10:41:14 +01:00
Adriaan de Groot
5fbd0169ca [libcalamares] Reduce clang warnings (only-inline-virtual, unused parameters) 2020-01-07 10:33:21 +01:00
Adriaan de Groot
1b62b2f66c [libcalamares] Reduce warnings (extra ;, empty statement ..) 2020-01-07 10:19:22 +01:00
Adriaan de Groot
b4c0ebe8ab [calamares] Use screen and window sizes, not position 2020-01-07 10:04:10 +01:00
Adriaan de Groot
fcb0109b7b [calamares] Refactor center-placement
- Just move it to its own function where it can have more documentation
 - Tested on multi-screen setups

SEE #1293
2020-01-07 09:56:13 +01:00
Adriaan de Groot
121013fd96 [calamares] Avoid deprecated desktop()
- Put Calamares on the first screen where it fits
 - This is wordy and weird
2020-01-07 01:06:26 +01:00
Adriaan de Groot
43caf7b46a [calamares] Restore functionality for 'center window' 2020-01-07 00:34:15 +01:00
Adriaan de Groot
17d09342e9 [libcalamaresui] Add a setting for window placement 2020-01-07 00:27:11 +01:00
Adriaan de Groot
1625bb1dae [locale] Support Qt 5.9
FIXES #1296
2020-01-07 00:09:04 +01:00
Adriaan de Groot
d21ed0cc7f [packagechooser] Coding style 2020-01-06 17:55:13 +01:00
Adriaan de Groot
cefb66ab5b
Merge pull request #1276 from bill-auger/patch-packagechooser-default-selection
[packagechooser] pre-select default item in packagechooser
2020-01-06 17:49:10 +01:00
Adriaan de Groot
dd5adc153f
Merge pull request #1291 from calamares/initcpiocfg-usr
[initcpiocfg] add usr hook if partition is separate
2020-01-06 14:41:24 +01:00
Adriaan de Groot
fe64903d2f [initcpiocfg] Polish PR #1290
- List discrete years in copyright
 - Add docstrings
 - Massage detect_plymouth() to return bool (easier in if() context)
2020-01-06 14:34:47 +01:00
Philip Müller
85d3f9e9b9 [initcpiocfg] add usr hook if partition is separate 2019-12-16 09:40:54 +01:00
Philip Müller
a3da47cd9c [initcpiocfg] update plymouth check 2019-12-16 09:34:21 +01:00
Adriaan de Groot
8e2d257040 [welcomeq] Add QML machinery (uninitialized) 2019-12-14 13:11:14 +01:00
Adriaan de Groot
53b208e891 [welcomeq] Start new ViewStep for QML-based welcome 2019-12-14 12:48:09 +01:00
Adriaan de Groot
6c4efc1f9c [welcome] Add Branding object to QML demo 2019-12-13 18:23:01 +01:00
Adriaan de Groot
55f61fda35 [welcome] Create branding and settings objects 2019-12-13 18:18:02 +01:00
Adriaan de Groot
03ed308bd9 [welcome] Add QML model for translations 2019-12-13 14:31:42 +01:00
Adriaan de Groot
d41d8df2a5 [welcome] Put Config object into context 2019-12-13 13:19:38 +01:00
Adriaan de Groot
c59678594b [welcome] More QML support
- start of a class to hold configuration information; this can
   later be substituted into the WelcomeViewStep and filled from
   setConfigurationMap()

In the example application:
 - register the Config type
2019-12-13 12:37:09 +01:00
Adriaan de Groot
156d78feb3 [welcome] Add QML support
- test application to display the QML (this will be extended
   with adding the locale model to it)
 - sample QML that does nothing useful yet (will display the locale
   model once it's there)
2019-12-13 11:50:12 +01:00
Adriaan de Groot
0e7982ec37 [libcalamares] Don't force Hindi on India.
FIXES #1284
2019-12-11 18:33:24 +01:00
Adriaan de Groot
58786388d6 Merge branch 'zone-data' 2019-12-11 15:34:35 +01:00
Adriaan de Groot
7bea19a62c [locale] Fix build with debugging enabled (API changes) 2019-12-11 08:45:35 -05:00
Adriaan de Groot
242b79e2e1 [locale] Remove old Location information
- all the TZ location information now lives in the Calamares
   locale service and the TZ list
 - replace the Location class that was local to the timezone
   widget by the TZZone class
 - chase a bunch of small API changes that this needs
2019-12-11 08:45:35 -05:00
Adriaan de Groot
4945408911 [libcalamares] Remove debugging cruft 2019-12-11 08:45:35 -05:00
Adriaan de Groot
daa76080f1 [libcalamares] Add meaningful aliases for key() 2019-12-11 07:00:42 -05:00
Adriaan de Groot
0ed2a3e35f [libcalamares] Refactor translation-setting
- Split the actual loading of translations into classes
   to encapsulate the loading logic,
 - Build a collection of classes to do the different kinds
   of translation loading,
 - Build a generic function to load something and update a
   static pointer to the translation.

This makes installTranslator() much easier to read, and encapsulates
the type-specific loading somewhere else. While here, add a timezone-
translations loader so that the split-out TZ translations also work.
2019-12-11 06:40:22 -05:00
Adriaan de Groot
93ae44e214 [libcalamares] Split translatable timezone data
- Hide the one file from lupdate by giving it a weird suffix
 - Call lupdate a second time for the timezone translations
 - While here, adjust so that the options precede the directories
   they are supposed to affect

I don't want to give the translation teams 444 new strings all
at once (about 90% of which don't need translation).
2019-12-10 22:44:10 +00:00
Adriaan de Groot
e164f8d63a [locale] Fix build with DEBUG_TIMEZONE
- all the API changes were not reflected in the debugging code
2019-12-10 16:19:06 -01:00
Adriaan de Groot
fb9d53909e [locale] Drop ZONES #define
- this was a "cheap" way to write a list, but going through
   QStringList::split() is just a long-way-around for static
   initialization
2019-12-10 16:09:48 -01:00
Adriaan de Groot
2dfbed40c5 [locale] Move defines
- Used in only one place, move to .cpp
 - Drop useless scaling all the images *are* that size already
 - Add debugging check that the images match expected size
2019-12-10 10:00:16 -07:00
Adriaan de Groot
9d9d9c361d [locale] Clean up constants
- move LOCALESDIR to the one place it's used
 - remove file with only unused #defines
2019-12-10 17:46:09 +01:00
Adriaan de Groot
7354d35faf [locale] Apply coding style to timezonewidget/ 2019-12-10 17:42:58 +01:00
Adriaan de Groot
1e04924224 [locale] Drop the TZ-widget's timezone database
- use the global TZ service instead
 - contains hacks to keep some of the API unchanged, which will be
   removed shortly
2019-12-10 17:29:35 +01:00
Adriaan de Groot
08dc9011d6 [libcalamares] Off-by-one folded the world in half
- Dropped the sign from longitudes, wrapping the west onto the east
2019-12-10 17:11:10 +01:00
Adriaan de Groot
1880eb5148 [libcalamares] Add accessors for TZZone 2019-12-10 16:10:16 +00:00
Adriaan de Groot
3f57b929ee [libcalamares] Make the zoneTab region list static
- there's only one zone.tab, it won't change during a run,
   load it only once (this allows for a single global list).
2019-12-11 01:43:53 +10:00
Adriaan de Groot
4089a01cb1 [locale] Create TZ model earlier 2019-12-11 01:31:56 +10:00
Adriaan de Groot
a39c77dfaf [libcalamares] Store region name in each zone as well 2019-12-11 01:11:51 +10:00
Adriaan de Groot
226530cf6f [locale] Use model functions from locale service
- drop the home-grown combo-box filling, use model
2019-12-11 01:04:09 +10:00
Adriaan de Groot
c75e870073 [libcalamares] CStringList::find() convenience function
- search for a key and return a type-cast pointer to the result
 - while here, simplify some other code
 - the find() function could be done with std::find_if but doesn't
   get any shorter or more elegant
2019-12-10 15:54:43 +01:00
Adriaan de Groot
6092172f8d [libcalamares] Regions and zones change to QList<Base*>
- By using QList< CStringPair* > consistently, we can save
   a bunch of model code at the cost of an occasional dynamic_cast;
   it's fairly rare for there to be a need for the derived pointer.
2019-12-10 15:32:15 +01:00
Adriaan de Groot
fc8364ea54 [libcalamares] Store zones with each region
- move operator< to base class
 - add each zone to the list held by the region
 - sort zones at the end
2019-12-10 14:06:22 +00:00
Adriaan de Groot
1a8439069e [libcalamares] Extend TZ with location and country 2019-12-10 15:36:53 +02:00
Adriaan de Groot
f4509f3380 [libcalamares] Move loading to TZRegion
- don't make the model load files, provide convenience functions
   for loading in the value classes
 - create model from lists of value pointers
2019-12-10 10:48:39 -01:00
Adriaan de Groot
da277fa7ba [libcalamares] Drop superfluous enum 2019-12-10 17:42:32 +06:30
Adriaan de Groot
9a5e614172 [libcalamares] Build the TZRegion list in one pass
- read the file and create the regions on-the-fly, then sort the
   resulting list (instead of building a string list and then
   building the regions afterwards)
2019-12-10 17:24:33 +06:30
Adriaan de Groot
9f06903115 [local] Chase API change in TZRegionModel 2019-12-09 23:36:32 -11:00
Adriaan de Groot
01bba7b466 [libcalamares] Make explicit when a model comes from a file 2019-12-09 23:36:05 -11:00
Adriaan de Groot
afb5430c42 [locale] Use TZRegionModel
- instead of populating combo box with texts, use the model
   read in from zone.tab
 - this **partly** deprecates the LocaleGlobal stuff
2019-12-10 11:30:48 +02:00
Adriaan de Groot
2625bb18df [libcalamares] TZRegionModel gets a data role 2019-12-10 11:27:02 +02:00
Adriaan de Groot
97235e9b3d [libcalamares] Switch CStringPair key to QString
- the key is used in various places as a key for Qt data structures,
   so it's more convenient to have QString than a bare char*
2019-12-10 10:11:08 +01:00
Adriaan de Groot
1d17cf5c77 [libcalamares] Accessors for key and complete region data 2019-12-09 17:20:46 -04:00
Adriaan de Groot
b29b89579e [libcalamares] Present TZ regions in consistent order 2019-12-09 15:55:04 -05:00
Adriaan de Groot
b2c2255f6a [libcalamares] Add a model of timezone regions 2019-12-09 21:46:10 +01:00
Adriaan de Groot
7d88b6d0cd [license] Show filenames as filenames
- Use File: to display filenames, rather than URL: plus a file:-scheme
 - Document the change in CHANGES
2019-12-09 20:47:32 +01:00
Adriaan de Groot
ddc2f60768 Merge branch 'master' into zone-data 2019-12-09 17:44:32 +01:00
Adriaan de Groot
ac1c0d97d2 [license] Prevent single item from expanding
- the last item would expand vertically to fill the scroll area;
   add a spacer that pushes against it
2019-12-09 17:34:46 +01:00
Adriaan de Groot
59ea0417fc [license] Move a less-useful message to tooltip
- the message about setup continuing can be a tooltip
2019-12-09 17:25:07 +01:00
Adriaan de Groot
c220220563 [license] Give stylesheets meaningful names 2019-12-09 17:14:35 +01:00
Adriaan de Groot
8a912e6ca1 [license] Fix the height of each item
- needs a qwidget to put the top-items (license name, button) in
 - fixes issue where the gap between the button and the hrule would
   change depending on what is expanded
2019-12-09 17:08:35 +01:00
Adriaan de Groot
7330afd96a [license] Massage display of buttons
- try to keep them the same height
 - show the URL that will be opened
2019-12-09 16:57:18 +01:00
Adriaan de Groot
6e1504fafc [license] Use just one button
- replace the text plus toolbutton (which has an ambiguous arrow in it)
   by a single button with text saying what it will do.
2019-12-09 14:52:54 +01:00
Adriaan de Groot
2d02290b91 Merge branch 'issue-1268'
FIXES #1268
2019-12-03 13:01:41 +01:00
Adriaan de Groot
9fa021e3c6 [license] Reduce margins hugely
- Move layouting code into the .ui file
 - Reduce margins hugely -- atop the title block, around the
   scroll area, etc -- so that more license is visible at once.
2019-12-03 13:00:12 +01:00
Adriaan de Groot
0b126b2c62 [license] Massage the messages some more
- split shared <h1> message off
 - do some string-concatenation, but only of whole sentences
 - shave off some vertical space by dropping the mainsubtext item
2019-12-03 12:49:11 +01:00
Adriaan de Groot
72ee9742f3 [tracking] Correct the example URLs 2019-12-03 12:24:47 +01:00
Calamares CI
a034b1a9ab i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-12-03 11:17:52 +01:00
Adriaan de Groot
5cb0ee6cc5 [welcome] Simplify code
- Kevin Kofler pointed out there was a redundant else-if
 - Only use size for comparison if it's valid
2019-12-02 11:42:32 +01:00
Adriaan de Groot
7029c427f1
Merge pull request #1275 from bill-auger/patch-createusers-logging
housekeeping - logging for CreateUser Job
2019-12-02 11:38:34 +01:00
Adriaan de Groot
1a13704c71 [grubcfg] HOTFIX typo in function call 2019-11-30 21:46:45 +01:00
bill-auger
7510e883b8 pre-select default item in packagechooser 2019-11-30 02:23:05 -05:00
Adriaan de Groot
8b4bd52a26 [machineid][hostinfo] Reduce warnings
- stray ;
 - clang-tidy had re-ordered the moc-warnings.h header, needs to go
   **before** the .moc so split into its own group
2019-11-29 00:17:26 +01:00
Adriaan de Groot
bd5b63b02e [summary][calamares] Chase deprecations in Qt (QWidget::background()) 2019-11-29 00:17:02 +01:00
Adriaan de Groot
a70b7ad89e [welcome] Chase deprecations in Qt (screen geometry) 2019-11-29 00:17:02 +01:00
Adriaan de Groot
c2ebfbf6ae [users] Remove unused parameter (reduces warnings) 2019-11-29 00:17:02 +01:00
Adriaan de Groot
3c1b0e6730 [libcalamares] Reduce warnings with Clang 9 (yaml.h) 2019-11-29 00:17:02 +01:00
Adriaan de Groot
ac75c63001 [libcalamares] Reduce warnings with Clang 9 (Boost::Python)
- The boost headers fall foul of tons of Clang warnings, so introduce
   a mechanism like moc-headers for turning off most of those warnings.
2019-11-29 00:17:02 +01:00
bill-auger
344445b437 housekeeping - logging for CreateUser Job 2019-11-28 14:26:06 -05:00
Adriaan de Groot
2e22bdd7dc i18n: update the english translation files for once 2019-11-28 16:51:57 +01:00
Adriaan de Groot
b4e9ec7eb1 [hostinfo] There is no config file for this module
- the empty config file would fail in tests
 - move the documentation part of it to CMakeLists.txt
2019-11-28 16:10:01 +01:00
Adriaan de Groot
1de6062233 [license] Add should-be-expanded display option to license entries
- In code, add the necessary bool
 - document meaning in the config file
 - actually expand the full text if the entry is local and set to expanding-
   by-default. This implementation is a bit lazy since it just pretends
   to click on the toggle button.
 - While here, reduce scope for UB by initializing POD members
2019-11-28 13:42:26 +01:00
Adriaan de Groot
c870fca787 [license] Use more meaningful names for arrows
- The arrows Up, Down, Right are used on toolbuttons, but
   in the context of this module, those are directions with
   meaning; give them better names.
 - Because of #1268, the meaning of up- and down- may be swapped;
   I'm not sure of which look makes the most sense. This is prep-
   work for easily swapping the looks by using the meaningful names
   instead.

SEE #1268
2019-11-28 13:23:11 +01:00
Adriaan de Groot
d322d783ea [license] Chase deprecations in Qt 2019-11-28 13:17:15 +01:00
Adriaan de Groot
d8020e3574 [license] Tidy up setting-of-entries
- we loop over all the entries anyway, so calculate allLicensesOptional
   along the way (debatable whether std::none_of is clearer)
 - always un-check the accept-box when resetting entries.
2019-11-28 12:03:22 +01:00
Adriaan de Groot
5ed8ec9990 [license] Reduce translation overhead. 2019-11-28 11:28:02 +01:00
Adriaan de Groot
2a0716bf43 [license] Move the 'please review' text to the top. 2019-11-28 11:24:56 +01:00
Adriaan de Groot
2a45765b93 [license] Next depends not just on the checked box
- Toggling the checkbox could disable the next button
   because only the checked-state was used, instead of
   the next-is-enabled-if-everything-is-optional member variable.

FIXES #1271
2019-11-27 12:17:33 +01:00
Adriaan de Groot
ec605adf3f [license] Tidy code
- Move retranslation to a separate slot to allow it to be
   formatted nicely.
 - Use calculated m_allLicensesOptional in retranslation.
 - Untangle determining if all licenses are optional; std::none_of
   returns true on an empty list.
2019-11-26 22:37:25 +01:00
Adriaan de Groot
6dfcbd757b [welcome] Remove superfluous call to QColor::value() 2019-11-26 17:34:25 +01:00
Adriaan de Groot
7fd218d7bf [partition] Chase deprecations in Qt 2019-11-26 16:56:45 +01:00
Adriaan de Groot
ad868033f3 [locale] Chase deprecations in Qt 2019-11-26 16:56:12 +01:00
Adriaan de Groot
fc7ea80d99 [calamares] Do not attempt to center Calamares window
- this isn't really a Calamares thing to decide, and anyway centering
   on the desktop is kind of weird in multi-monitor setups and the
   DesktopWidget is deprecated as well.
2019-11-26 16:46:47 +01:00
Adriaan de Groot
94fe4d2fda [libcalamares] Avoid weak vtables in string-pair implementation 2019-11-26 12:30:59 +01:00
Adriaan de Groot
fc7f49b610 [libcalamares] Expand tests for TimeZone translations 2019-11-26 12:28:41 +01:00
Adriaan de Groot
71f3614eb7 [libcalamares] Add TimeZone support to build
- Add to CMakeLists.txt
 - Test basic scenarios
2019-11-26 11:20:33 +01:00
Adriaan de Groot
3af2754022 [libcalamares] Implement translatable-pair-of-char*
- This is base functionality for a translatable model of
   TimeZone names that is scraped from zone.tab
2019-11-26 11:18:35 +01:00
Adriaan de Groot
abd3c4171b [libcalamares] Prevent CI coding-style fixes to generated code 2019-11-26 11:08:21 +01:00
Adriaan de Groot
733fb43b5e [libcalamares] Sort the dummy zone names 2019-11-26 10:45:36 +01:00
Adriaan de Groot
c3fdb38097 [libcalamares] Stub of class for TimeZone model management
- Intent is to move out of locale module
2019-11-25 20:51:45 +01:00
Adriaan de Groot
906aeec5d3 [locale] Replace #define with a static const
- TZ_DATA_FILE is only used in one place
2019-11-25 11:49:41 +01:00
Adriaan de Groot
1df6454cfe [locale] Tidy up types
- use JobList typedef where possible
 - remove unused forward type definitions
2019-11-25 10:52:22 +01:00
Adriaan de Groot
2034dd62a4 [libcalamares]: Timezone information for translation/extraction
SEE #1259
2019-11-19 18:07:13 +01:00
Adriaan de Groot
3ee384f36c [libcalamares] Extract zone.tab data for translations 2019-11-19 18:07:13 +01:00
Adriaan de Groot
2fefa53301
Merge pull request #1274 from bill-auger/patch-requirements-fail-bgcolor
replace hard-coded bg color of requirements failure notice with relative tint
2019-11-19 16:47:11 +01:00
Adriaan de Groot
30857b59ef
Merge pull request #1273 from bill-auger/patch-packagechooser-typos
[packagechooser] fix typos in packagechooser.conf
2019-11-19 15:00:12 +01:00
Adriaan de Groot
1c853f2348
Merge pull request #1266 from bill-auger/patch-8
housekeeping - calamares style (those lambdas are always a thing)
2019-11-19 14:59:16 +01:00
Adriaan de Groot
13b90dec57 [luksbootkeyfile] Typo
- Spotted by akspatole, no user-visible change

FIXES #1277
2019-11-19 13:41:49 +01:00
Adriaan de Groot
42425e4030 [grubcfg] False is case-sensitive in Python 2019-11-18 10:48:33 +01:00
bill-auger
cde210e61c formatting in src/modules/packagechooser/packagechooser.conf 2019-11-12 09:20:15 -05:00
bill-auger
2bb338b5f6 fix typos in src/modules/packagechooser/packagechooser.conf 2019-11-12 09:19:56 -05:00
bill-auger
ee85f6bfa7 replace hard-coded bg color of requirements failure notice with relative tint 2019-11-12 09:17:11 -05:00
Adriaan de Groot
28687d0d1e Merge remote-tracking branch 'origin/issue-1201'
FIXES #1201
2019-11-08 13:34:50 +01:00
Adriaan de Groot
6a142d9edb Merge branch 'more-password-stuff' 2019-11-08 13:34:06 +01:00
Adriaan de Groot
0d7e19d5e9 [users] Do not log the password in plain text 2019-11-08 13:23:24 +01:00
Adriaan de Groot
445d8501a7 [users] Different disambiguation for pwd-empty check
- all the other checks use "PWQ" as a tag, so use that here too
2019-11-08 13:22:37 +01:00
Adriaan de Groot
e11c9a049f [users] Sort the password checks before applying them 2019-11-08 13:21:37 +01:00
Adriaan de Groot
dec0cfb7d3 [users] Give password-checks a weight, to sort them later 2019-11-08 13:16:19 +01:00
Adriaan de Groot
2b8d04ffc1 [hostinfo] Add host RAM to GS 2019-11-08 12:46:24 +01:00
Adriaan de Groot
22a9fb89e8 [hostinfo] Document what this module does 2019-11-08 12:21:25 +01:00
Adriaan de Groot
dac47d2c3a [hostinfo] Use os-release only if non-empty 2019-11-08 12:11:07 +01:00
Adriaan de Groot
6528ba30c9 [hostinfo] Fix compile and CPU detection. 2019-11-08 11:57:31 +01:00
bill-auger
6c6dcfe1cd housekeeping - calamares style 2019-11-08 05:17:40 -05:00
Adriaan de Groot
cec84ee42b [hostinfo] Fix build on FreeBSD (include order)
- while here apply coding style again
2019-11-08 00:13:23 +01:00
Adriaan de Groot
5c7acdeb44 [hostinfo] New module with information about the host, in GS 2019-11-07 16:20:39 +01:00
Adriaan de Groot
67de4af4a4 [grubcfg] Add some test configurations 2019-11-04 16:40:49 +01:00
Adriaan de Groot
f727362a90 [grubcfg] Guard against stupid configurations
- Scenario: *keepDistribution* is true, and the existing file contains
   a GRUB_DISTRIBUTION line **followed** by a commented-out GRUB_DISTRIBUTION
   line.
 - In that case, the commented-out line would change the flag back to
   False, and we'd end up writing a second GRUB_DISTRIBUTION line at the end.

Prevent that: the flag can only go to "True" and then stays there.

Editorial: If your grub configuration would have tripped this up, then
you're doing something wrong. Clean up the configuration file first.
2019-11-04 16:36:57 +01:00
Adriaan de Groot
4a0a8083f3 [grubcfg] If we only see #GRUB_DISTRIBUTION, it's not been set
- If we update the line, then GRUB_DISTRIBUTION has been set
 - If we don't update the line (e.g. because of *keepDistribution*)
   then a comment doesn't count as "have seen that line".

This means that if we get to the end of the file, with only commented-
out GRUB_DISTRIBUTION lines, and *keepDistribution* is set, then we'll
still write a distribution line -- because otherwise it's not set at all.
2019-11-04 16:34:15 +01:00
Adriaan de Groot
c6c861654d [grubcfg] Update GRUB_DISTRIBUTION as needed
- Previous fix would erase the distribution information (using an
   empty string to flag 'preserve existing GRUB_DISTRIBUTION lines'),
   but that is fragile. A distro might set that, and yet **not**
   set a GRUB_DISTRIBUTION line, in which case it would end up with
   a setup without any GRUB_DISTRIBUTION set.
 - When a GRUB_DISTRIBUTION line is found, **then** check if it should
   update the line or not. This way, we have a suitable distribution
   to write if no GRUB_DISTRIBUTION is found at all.
2019-11-04 16:06:59 +01:00
Adriaan de Groot
ac3b50fabb [grubcfg] Only replace a GRUB_DISTRIBUTOR line if wanted 2019-11-04 16:02:36 +01:00
Adriaan de Groot
aae7d7dd0a [grubcfg] Update documentation of config file
- add some more general description
 - document new-to-implement *keepDistributor* flag

SEE #1201
2019-11-04 11:05:18 +01:00
Adriaan de Groot
b3e7c3f294 [users] Run checks more often
- check password warnings when the page is entered
 - re-check (and translate) on language change
2019-11-02 19:26:40 +01:00
Adriaan de Groot
cc66903678 [users] Allow an explicit check for non-emptiness of passwords
- move the explicit checking for non-empty into a specific
   (normal) password check
 - leave only the-two-fields-are-equal outside of the password-
   requirements framework
 - having non-empty is the same as minLength 1, but gives a different
   error message
2019-11-02 19:23:04 +01:00
Calamares CI
5a98a13856 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-11-01 17:24:10 +01:00
Adriaan de Groot
196a358493 [users] Flag password problems even when weak-passwords are ok
- when you allow weak passwords, flag problems as warnings (yellow)
 - when weak passwords aren't allowed, they are fatal errors (red)
2019-11-01 14:48:46 +01:00
Adriaan de Groot
a4e3ea2a86 [users] Refactor retranslation
- move retranslation to a method so that code-formatting doesn't
   get confused by it.
2019-11-01 13:55:32 +01:00
Adriaan de Groot
28c9da414b [users] Apply coding style 2019-11-01 13:55:32 +01:00
Adriaan de Groot
9fa817a244 [users] Refactor password-validation
- add a method that does the work and sets UI strings for a
   generic double-field password entry
 - use that for user and root passwords
2019-11-01 13:55:32 +01:00
Adriaan de Groot
7d25173afb [users] Remove TODO since it doesn't make sense
- the two explicit checks are the ones that handle *two*
   strings as special cases; all the other checks from
   the password-requirements system only handle the one string.
2019-11-01 13:17:31 +01:00
Adriaan de Groot
93eb169ea5 [users] Improve error messages
- distinguish beginning of username from the rest
 - must start with a letter or _
 - tighten message for bad username and bad hostname

FIXES #1261
2019-11-01 13:05:58 +01:00
Adriaan de Groot
8232ca626c [users] Refactor constants 2019-10-29 16:21:26 +01:00
Adriaan de Groot
9cd1ef93bd [users] Apply coding style 2019-10-29 16:20:52 +01:00
Adriaan de Groot
9ee0609b72 [users] Use tooltips
- the explanations under and around the boxes is noisy,
   hard to size correctly (viz. issue #1202)
 - use tooltips in almost-all fields instead
 - add placeholder text to be more suggestive
2019-10-29 14:37:26 +01:00
Adriaan de Groot
b3765bc144 [users] Massage the weak-passwords settings
- since the wording of the checkbox itself (and the functionality)
   is to enforce strong passwords, need to switch out some
   logic and fix the wording of the documentation.
2019-10-22 16:08:21 +02:00
Adriaan de Groot
3e4e492305 [users] Polish the documentation for the various checkboxes 2019-10-22 15:32:42 +02:00
Adriaan de Groot
c030cc41cd [libcalamaresui] Refactor button-creation
- The "convenience" method was no longer convenient, since
   we now place strings on the buttons by default.
 - While here, **name** the buttons so they can be themed.
2019-10-22 15:03:37 +02:00
Adriaan de Groot
ee4cd06c23 Merge branch 'master' into bill-auger-patch-6 2019-10-22 14:27:11 +02:00
Adriaan de Groot
b78eacd7a8 [libcalamaresui] Set button texts always
- if the welcome module wasn't loaded (or loading otherwise failed)
   then no text was set, leading to confusing screens with
   buttons with icons but no label.
2019-10-21 19:47:58 +02:00
Adriaan de Groot
5ac4f3ec38 [libcalamaresui] Fix up module dependency checking
- If a module exists, and has unmet dependencies, then
   that is only a problem if the module itself is *used*.
   Merely existing is ok.

This triggers on FreeBSD, where partition isn't built, but
bootloader depends on partition -- so you can never start
Calamares on FreeBSD, because bootloader depends on something
non-existent.

Relax the check: just warn, and only fail if a non-existent
module is used (all those with unmet dependencies are considered
non-existent).
2019-10-21 19:28:59 +02:00
Adriaan de Groot
a9a12820d8 [libcalamaresui] Log the found-modules
- fix up comment because it described an old member variable name
 - log number of modules found (all the *potential* modules)
2019-10-21 19:16:15 +02:00
Adriaan de Groot
c4b0511f8d [libcalamaresui] Improve debug message for bad dirs
- Calamares scans **all** subdirs of the module-directory
   for a module.desc and complains about those that don't have
   a module.desc.
 - For ./calamares -d runs from the build-directory, this
   leads to a few complaints when some plugins have been
   ignored (and so no module.desc is generated for them).
2019-10-21 18:08:16 +02:00
Adriaan de Groot
ede50756a1 [users] Simplify config-logic for weak-passwords
- Use the convenience methods for config-reading.
 - Always set the value (to the default if nog explicitly
   set in the config-file).
2019-10-21 17:29:35 +02:00
Adriaan de Groot
21bcd560b1 [users] Use API to change weak-checkbox visibility 2019-10-21 17:26:06 +02:00
Adriaan de Groot
eb90757063 [users] Apply coding style (lots of churn) 2019-10-21 17:21:33 +02:00
Adriaan de Groot
799f1131a9 Merge branch 'patch-6' of https://github.com/bill-auger/calamares into bill-auger-patch-6 2019-10-21 17:20:34 +02:00
Adriaan de Groot
4370669fc3 [unpackfs] Put exclusion settings into the rsync command line 2019-10-11 17:46:01 +02:00
Adriaan de Groot
9d47716e5d [unpackfs] Add settings per-item for exclude and excludeFile
- support excluding specific files / lists when rsyncing, in case
   the squashfs has more in it than you really want to copy over.
2019-10-11 17:19:56 +02:00
Adriaan de Groot
4552631086 [unpackfs] Prep for more information in file_copy
- Give the whole entry to file_copy, not just the
   destination. This will allow file_copy to work
   with local excludes.
 - Pluck entry.destination out immediately, to keep
   code changes minimal.
 - Document the parameters.
2019-10-11 16:56:04 +02:00
Adriaan de Groot
311c65737f [unpackfs] Remove unused parameter
- list_excludes() turns the extra mounts from global storage
   into --exclude parameters for rsync; it doesn't do anything
   with the destination parameter.
 - while here rename to something more descriptive
2019-10-11 16:47:54 +02:00
Adriaan de Groot
fe1ddb8ead [unpackfs] Expand on the documentation 2019-10-11 16:32:39 +02:00
Adriaan de Groot
57c0b2088c [unpackfs] Allow naming a non-directory for single files
- this enables renaming files on copy
2019-10-11 15:48:17 +02:00
Adriaan de Groot
4acf63fd9a [unpackfs] Document fields of the UnpackEntry
- Document fields
 - While here, remove code for special-casing single-file copies.
   Those already work, based on rsync.
2019-10-08 17:31:51 +02:00
Adriaan de Groot
05c0398126 [unpackfs] Support multiple items better
- it's ok if item one creates directories where item two will write,
   so don't check for existence of all directories on start-up.

Reported by ArcoLinux.
2019-10-08 16:19:39 +02:00
Adriaan de Groot
d58fdaa2cd [unpackfs] Stub of special handling for a single file 2019-10-08 15:00:25 +02:00
Calamares CI
10747178e8 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-10-07 21:52:24 +02:00
Adriaan de Groot
d9e8fbf477 Merge branch 'replace-machineid'
FIXES: #1252

This adds to the *machineid* module (which generates random UUIDs
for DBus and systemd) another key to configure generation of
a urandom pool in the target from the entropy in the host system.
2019-10-07 21:46:21 +02:00
Adriaan de Groot
b00335f5b3 [displaymanager] Treat openSUSE sysconfig like anything else 2019-10-07 17:04:10 +02:00
Adriaan de Groot
d592a5bb94 [displaymanager] Fix sysconfig-only
- Improve documentation of the settings
 - If sysconfigSetup is true, **only** setup sysconfig and ignore
   the rest. This seems to be consistent with existing openSUSE-
   derivative distro's, which set displaymanagers to something
   nonsensical.
2019-10-07 15:54:55 +02:00
Adriaan de Groot
642dbf449c [machineid] Drop trailing \n, toInt() doesn't like it 2019-10-04 18:05:29 +02:00
Adriaan de Groot
9e359c98a9 [machineid] Refactor workers, demand absolute paths 2019-10-04 17:47:24 +02:00
Adriaan de Groot
12107b3113 [machineid] Turn back the change in tests
- the *mount* module inserts a rootMountPoint without trailing /
   into global storage, so we can't assume that here. On the other
   hand, the paths passed in to the Worker functions are absolute
   paths -- adjust the tests to follow that.
2019-10-04 17:47:24 +02:00
Adriaan de Groot
dd47201f27 [machineid] Fix tests by appending a /
- The code in Workers.cpp assumes that rootMountPoint ends in a /
   so that it can have filenames appended easily; make the tests
   fit that assumption, but still need to check that it is so in
   production.
2019-10-04 15:05:11 +02:00
Adriaan de Groot
c67ac999de [machineid] Implement DBUS and systemd machine-ids
- refactor running the command into a helper function,
   to deal with the regular if-command-failed-then-complain pattern.
 - mark parameters as unused.
 - move distinction about kind of DBus file up into the MachineIdJob
   and remove the enum that marked it.
2019-10-04 15:00:58 +02:00
Adriaan de Groot
145855a56f [machineid] Implement systemd machine-id creation 2019-10-04 13:48:24 +02:00
Adriaan de Groot
2b9e1d6231 [machineid] Add tests
- Testing some of the functionality that's been added just now:
   - copyfile fails, buggy implementation
   - poolsize fails, buggy implementation
   - removefile not tested
2019-10-03 13:32:48 +02:00
Adriaan de Groot
10e5995144 [machineid] Split helper functions into own file 2019-10-03 12:32:47 +02:00
Adriaan de Groot
afe7dfbcf2 [machineid] Fix include guard comment 2019-10-02 12:37:31 +02:00
Adriaan de Groot
8352a793e1 [machineid] Implement entropy-file creation
- read-urandom or copy-existing-file are implemented
 - fairly chatty on failure
 - needs tests (probably the implementation should be moved to
   a separate file and unit-tested)
2019-10-01 17:00:50 +02:00
Adriaan de Groot
50bb8cde57 [machineid] Stubs for entropy, systemd, dbus randomness 2019-10-01 16:26:41 +02:00
Adriaan de Groot
c8229733b0 [libcalamares] Document the pseudo-constructors for JobResult 2019-10-01 16:05:03 +02:00
Adriaan de Groot
9cbfd200a1 [machineid] Keep the paths unsullied
- keep the rootMountPoint and the path-with-random-data separate
   instead of concatenating them at the beginning. Then we can
   use the "clean" names also within the host system.
2019-10-01 16:01:10 +02:00
Adriaan de Groot
3a8d543c72 [libcalamares] Document operator bool() of JobResult
- this could be named isValid() instead, but basically the idea
   is that this code makes sense:

      JobResult r = do_thing();
      if ( !r ) { /* Error happened! */ return r; }
      /* Carry on .. */
2019-10-01 15:58:02 +02:00
Adriaan de Groot
8c3146a1cd [machineid] Start implementing module logic
- remove existing files for each kind of random-generation
   that is enabled. There's a helper function for the case that
   Cala is no longer setuid and needs help to remove those files
   from the target (e.g. a setuid helper).
2019-10-01 15:46:54 +02:00
Adriaan de Groot
be27b44818 [machineid] Read configuration map into instance vars 2019-10-01 14:36:21 +02:00
Adriaan de Groot
3ae5a3db76 [machineid] Improve documentation on this module
- document module's purpose
 - document existing configurations
 - deprecate "symlink" and introduce more-accurate "dbus-symlink"
 - add new configurations for upcoming entropy file
2019-10-01 14:13:01 +02:00
Adriaan de Groot
4c0719d95d [machineid] Start porting to C++ 2019-10-01 13:44:06 +02:00
Adriaan de Groot
4970c328fa [libcalamares] Fix stringification of broken instance keys 2019-10-01 10:50:12 +02:00
Adriaan de Groot
70fc480c56 [libcalamares] If test is going to fail, be more verbose on failure 2019-10-01 10:50:12 +02:00
Adriaan de Groot
95f725831f [unpackfs] Shuffle the documentation
- move all the examples to an EXAMPLES section
 - leave one single-file example enabled in the configuration
2019-09-30 17:35:31 +02:00
Adriaan de Groot
6fb2563c75 [unpackfs] Copy files when sourcefs = "file"
- Just use the existing rsync code, which can do both
   files and directory trees.
 - The existing code assumed we were always copying directories.
   Now double-check beforehand.
2019-09-30 17:14:23 +02:00
Adriaan de Groot
27cdaba8b2 [unpackfs] Special-case file sources 2019-09-30 17:14:23 +02:00
Adriaan de Groot
7856c1a6a8 [unpackfs] Do more checks before doing any work 2019-09-30 17:14:23 +02:00
Adriaan de Groot
784bc5b86e [unpackfs] Expand documentation
- comment out the squashfs example, since it's not readily
   available even on developer systems
 - add entries for the upcoming "file" type.
2019-09-30 17:14:23 +02:00
Adriaan de Groot
7ffe25fca0 [displaymanager] Document that TryExec can supplant executable 2019-09-30 15:40:44 +02:00
Adriaan de Groot
1beadee2a7 [displaymanager] Believe the .desktop file
- if a default DE is configured but the executable doesn't exist,
   believe the .desktop file. Then use that, and warn if the
   whole thing can not be found.
2019-09-30 15:38:25 +02:00
Adriaan de Groot
290a0698d8 [displaymanager] Add DE.find() which believes .desktop files
- for a DE entry which has a bad executable setting,
   update the entry from the .desktop file using TryExec.
   This assumes that the TryExec command is actually something
   you might want to run.
2019-09-30 15:38:25 +02:00
Adriaan de Groot
fe33952733 [displaymanager] Document the internal functions for DE finding
- rename find_* to _search_* to make clear they're internal.
2019-09-30 15:38:25 +02:00
Adriaan de Groot
a3666cabe0 [displaymanager] Fix naming
- Having a global and a class-local function with the same name
   that do very different things is confusing.
2019-09-30 12:41:05 +02:00
Adriaan de Groot
fb07757aab [displaymanager] Document *defaultDesktopEnvironment*
- while the keys are mandatory, their meaning is entirely optional.
2019-09-30 12:33:42 +02:00
Adriaan de Groot
0510820594 [displaymanager] Document what the list of DE's is for 2019-09-30 12:22:14 +02:00
Calamares CI
ecb1128b61 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-09-30 10:34:12 +02:00
Adriaan de Groot
5d0a5c035d
Merge pull request #1243 from stikonas/master
QLatin1Literal->QLatin1String.
2019-09-30 10:30:02 +02:00
Adriaan de Groot
d2899d4bee Merge branch 'issue-1247'
Look at the TryExec line, if it is there in the .desktop file

FIXES #1247
2019-09-25 13:06:39 +02:00
Adriaan de Groot
92ab0c1add [displaymanager] Unify looking for executables
- use executable, and the result of looking up TryExec
 - reduce chattiness again
2019-09-25 13:05:35 +02:00
Adriaan de Groot
0b81d2562b [displaymanager] Be more chatty 2019-09-25 12:52:07 +02:00
Adriaan de Groot
f9e36b9c73 [displaymanager] Missing self 2019-09-25 12:41:58 +02:00
Adriaan de Groot
01cd95512f [displaymanager] Check the TryExec key from the .desktop file 2019-09-25 12:41:37 +02:00
Adriaan de Groot
38369634df [displaymanager] Find the .desktop file explicitly 2019-09-25 12:26:26 +02:00
Adriaan de Groot
bb9cca643f [libcalamares] Avoid warnings from MOC-generated code
- Moc generates Q_UNUSED(_a); which in turn (with clang) issues
   a superfluous-semicolon warning. Existing code with automoc
   uses utils/moc-warnings.h to turn off warnings that are issued
   on moc code. Include it explicitly here because automoc isn't
   applied.
2019-09-23 11:50:06 +02:00
Adriaan de Groot
3c387a11c9 [libcalamares] class/struct mismatch
- Manager::Private is a class, not just a struct. Needed for
   hypothetical MSVC compatibility.
2019-09-23 11:26:53 +02:00
Adriaan de Groot
4799e821d3 [locale] Reduce warnings, missing override 2019-09-23 11:25:18 +02:00
Adriaan de Groot
57bb9c16f4 [displaymanager] Also look for Wayland sessions
- Sessions can be X11-sessions (living in xsessions) or Wayland-
   (living in wayland-sessions). Look in both places.
 - Refactor code a little to make it nicer to read.
2019-09-23 10:55:59 +02:00
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01:00
Harald Sitter
0e054f1246 [displaymanager] map plasma 5.17+ desktop environment
exec changed compared to earlier 5.x
2019-09-18 12:38:08 +02:00
Calamares CI
3bef83b152 i18n: [dummypythonqt] Automatic merge of Transifex translations 2019-09-15 21:51:51 +02:00
Adriaan de Groot
7a5ac63f92 [libcalamares] Chase change of API
- Replace QString( x ) by x.toString() where x is an InstanceKey
2019-09-15 20:38:16 +02:00
Adriaan de Groot
d6ed046495 [libcalamaresui] Replace a superfluous lambda
- The whole method body can be a lot on its own, and since
   loadModules() does nothing but single-shot the lambda,
   call it from outside instead.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
ce6f6592d4 [libcalamares] Drop parts of InstanceKey API
- Drop the 1-argument QString constructor, it is suprising
 - Drop the conversion to QString
 - Add a toString() instead
 - Drop tests for the removed API
 - While here, apply code formatting to the tests

This is done to force consumers to update to strongly-typed
InstanceKeys.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
7dcc6e8e07 [libcalamares] Fix bug in InstanceKey::QString 2019-09-15 20:38:16 +02:00
Adriaan de Groot
57e4b66af2 [libcalamares] Test QString() operator
- An invalid InstanceKey should give an empty string
 - Test remaining QString() cases
 - Edge cases for 2-string constructor
2019-09-15 20:38:16 +02:00
Adriaan de Groot
ba7e96c5e1 [libcalamares] Add test for InstanceKey
- cover all the constructors
 - Start with some tests that fail, showing bugs in the implementation
 - Fix bug that "derp@derp" was creating a valid instance-key with
   a bad module and id (need to use ::fromString() to get that
   functionality).
 - Extend tests with more bad cases.
 - Refactor tests to simplify "this is bad" assertions.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
2f99004041 [libcalamares] Move the module instance-key
- Split out of the UI library and into (header-only) libcalamares.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
666462651b [libcalamares] Namespace consistently
- Things in libcalamares/ subdirectories are namespaced
   according to that subdirectory (sometimes in namespace
   Calamares, sometimes CalamaresUtils). Do that in modulesystem/ too.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
78de6776af [libcalamaresui] Swap out use of QString for ModuleInstanceKey
- The strings `module@id` are used internally, make that type explicit.
2019-09-15 20:38:19 +02:00
Adriaan de Groot
b8dd6e9ae7 [libcalamaresui] Introduce a module-instance-key class
- This replaces rather ad-hoc use of a QString as key.
2019-09-15 20:38:16 +02:00
Adriaan de Groot
57a942d155 [libcalamares] Make a NAM per thread
- To avoid warnings about creating requests and replies, parented
   by the NAM but from another thread, make a NAM per thread.
2019-09-14 07:21:24 -04:00
Adriaan de Groot
ca351ff7b6 [libcalamares] Apply (some) options to request earlier 2019-09-10 14:26:46 +02:00
Adriaan de Groot
11d3f10e26 [locale] Dispose of waiting widget
- Do the async GeoIP checking in the async requirements-checking phase
 - Do not return any requirements results -- we just need the async bit
 - Drop the waiting widget, since it's not needed (done by the
   requirements phase)
2019-09-10 14:18:47 +02:00
Adriaan de Groot
41ece863de [locale] Create widgets when needed instead of at startup
- this blocks forever, since now the GeoIP lookup isn't done at all.
2019-09-10 06:19:20 -04:00