Commit Graph

4558 Commits

Author SHA1 Message Date
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
Adriaan de Groot
0a1dc77f9b [locale] Hang on to GeoIP::Handler just once
- replace configuration settings by putting them in an object
 - use unique_ptr to allow us to create one optionally.
2019-09-10 11:26:47 +02:00
Adriaan de Groot
d70d418d92 [locale] Refactor setting of LC entries 2019-09-07 17:02:59 +02:00
Adriaan de Groot
5cac3ac6ad [locale] Apply coding style 2019-09-07 16:58:37 +02:00
Adriaan de Groot
0ee8427d5a [locale] Remove old-style GeoIP configuration 2019-09-07 16:05:09 +02:00
Adriaan de Groot
5a24e45e3b [locale] Factor out a simple lambda
- If this was handed to an algorithm it would make more sense
   as a lambda
2019-09-07 15:58:56 +02:00
Adriaan de Groot
3093f635e2 [locale] Apply coding style 2019-09-07 15:48:22 +02:00
Adriaan de Groot
21dde80a65 [locale] Refactor button handling to plain methods 2019-09-07 15:47:12 +02:00
Adriaan de Groot
91f0509272 [locale] Refactor lambdas to plain methods
- Lengthy lambda's doing UI stuff -- that doesn't change --
   are easier to read as plain methods.
2019-09-07 15:18:58 +02:00
Adriaan de Groot
782b469974 [locale] Move all the translation work to a single slot 2019-09-07 12:38:49 +02:00
Adriaan de Groot
a57a030ee2 [packagechooser] Massage the list view to be narrower 2019-09-05 06:41:06 -04:00
Adriaan de Groot
4259bc9d5d [packagechooser] Also use screenshot from no-package-selected 2019-09-05 03:23:50 -04:00
Adriaan de Groot
52e72f4fb1 [welcome] Apply coding style 2019-09-05 03:23:28 -04:00
Adriaan de Groot
88fc6685ba [libcalamares] Apply coding style to geoip/ 2019-09-05 03:23:28 -04:00
Adriaan de Groot
01c4383178 [packagechooser] Simplify parameters
- Just pass the no-package-selected item around.
2019-09-04 19:40:35 +02:00
Adriaan de Groot
996714dd06 [packagechooser] Use all translations for no-package-selected
- If there is an item with id "" (empty), it is used as the
   "no-package-selected" placeholder text.
 - Existing code iterated over the abstract model and used the
   name and description at the time the model was set -- but
   by getting the name and description from the model, only
   a single string was obtained instead of the full range
   of translations.
 - Therefore, when arriving on the page, the "no-package-selected"
   information was displayed from the translation that was active
   when the model was set.

Instead, extend the non-abstract model so we can find the no-package-
selected item and pass that explicitly to the page.

FIXES #1241
2019-09-04 19:33:24 +02:00
Adriaan de Groot
019d1c36c6 [packagechooser] Load translated strings from config
- Apply the *labels* from the configuration file to the
   visible strings (only the ViewStep name).
2019-09-02 15:29:00 +02:00
Adriaan de Groot
0eae72e10f [packagechooser] Introduce translatable labels
- Since the package chooser might be used more than once, or for
   more specific items than "Packages", introduce a way to provide
   specific strings for display.
 - The only string needed is the ViewStep name, since the item with
   id "" can be used for the no-selection item.
2019-09-02 15:28:15 +02:00
Adriaan de Groot
9850e4b35b [netinstall] Use the network-manager
- use asynchronousGet and keep the reply
 - drop unused includes
 - apply current coding style
2019-09-02 14:10:36 +02:00
Adriaan de Groot
badbdf59ee [libcalamares] Build synchronous get w/ async-get 2019-09-02 13:43:10 +02:00
Adriaan de Groot
f8356a6dcc [libcalamares] Add an async get method
- Mostly a "cheap" wrapper for a half-dozen boilerplate lines
   of Qt NAM code.
2019-09-02 12:21:33 +02:00
Adriaan de Groot
543e2d34fc [libcalamares] [locale] Remove unused includes 2019-09-02 12:02:43 +02:00
Adriaan de Groot
c7cbba3951 [welcome] Fix typo in tooltip 2019-08-30 22:54:28 +02:00
bill-auger
1513934a57
add checkbox to disable password validations 2019-08-30 08:13:33 -04:00
Adriaan de Groot
66ee6ac673 [libcalamares] Fix tests for umask != 022
- My usual test environment has umask set to 022, but on one dev
   box it is 002, leading to test failures (which show the test
   was bad, not that the umask-setting code is bad)
2019-08-30 06:35:53 -04:00
Adriaan de Groot
9053b9cecf [libcalamares] Fix Qt 5.9 compatibility
- not really sure why I went for the Qt 5.10 STL-style iterators

FIXES #1236
2019-08-30 06:20:45 -04:00
Adriaan de Groot
b685583060
Merge pull request #1226 from a-wai/fix-unpackfs-for-rootfs
[unpackfs] Enable to use "/" as a source
2019-08-29 10:25:32 -04:00
Adriaan de Groot
1d9177c5a3
Merge pull request #1230 from bill-auger/patch-1
add esperanto branding translations, fix mis-configured ones
2019-08-29 09:06:05 -04:00
Adriaan de Groot
0aabc89449 [partition] [welcome] Simplify retranslation 2019-08-29 15:02:12 +02:00
Adriaan de Groot
1cde8c20df [libcalamaresui] Simplify retranslation
- Use any object method to connect() to
2019-08-29 15:01:41 +02:00
Adriaan de Groot
f1971eed86 [libcalamares] Support calling a slot on retranslation
- sometimes a slot is easier than a lambda. Introduce
   a macro CALAMARES_RETRANSLATE_SLOT that calls a given
   slot in an object on language change.
 - extend the retranslator with support for calling slots:
   - use Qt's signal/slot mechanism alongside the private
     list of functions to call
   - provide convenience for obtaining the retranslator of
     an object.
2019-08-29 14:53:03 +02:00
Adriaan de Groot
535bf01475 [welcome] Refactor lambdas to full slots
- This helps give meaningful names to code chunks
 - Gives clang-format something to work with
 - Reduces indentation depth

I think this is a bit of a code-style opinion issue: big complicated
lambdas doing UI things just don't seem like a good idea.
2019-08-29 11:06:55 +02:00
Adriaan de Groot
fc5aa54cb2 [welcome] Fix code formatting
- the RETRANSLATE macro is a real challenge for astyle and clang-format
2019-08-29 11:01:02 +02:00
Adriaan de Groot
07bd22ba95
Merge pull request #1233 from bill-auger/patch-4
eliminate magic number in src/modules/welcome/WelcomePage.cpp
2019-08-29 04:46:18 -04:00
Adriaan de Groot
9ca864567a
Merge pull request #1231 from bill-auger/patch-5
cross-reference/clarify geoip documentation
2019-08-29 04:36:13 -04:00
Adriaan de Groot
3f90921155
Merge pull request #1232 from bill-auger/patch-3
update doc comment in src/modules/initcpio/initcpio.conf
2019-08-29 04:34:55 -04:00
bill-auger
5642576cf3
cross-reference/clarify geoip documentation 2019-08-28 13:21:42 -04:00
bill-auger
bb678e535b
add esperanto branding translations, fix mis-configured ones 2019-08-28 13:12:25 -04:00
bill-auger
4c3c6f3f91
eliminate magic number in src/modules/welcome/WelcomePage.cpp 2019-08-28 13:02:42 -04:00
bill-auger
13a58a4ab2
update doc comment in src/modules/initcpio/initcpio.conf 2019-08-28 13:02:36 -04:00
bill-auger
e459b82cfe
fix typo in src/libcalamaresui/ViewManager.cpp 2019-08-28 13:02:27 -04:00
Adriaan de Groot
559a65d169 Merge branch 'issue-1213'
FIXES #1213

Better slideshow loading, both V1 and V2. Keyboard shortcuts only while
the slideshow is visible.
2019-08-27 15:59:00 +02:00
Adriaan de Groot
8ab0fb4e5f [libcalamaresui] Apply coding style (missed earlier) 2019-08-27 15:58:09 +02:00
Adriaan de Groot
03ac0d2cf0 [qml] Document the new property and how it updates 2019-08-27 15:55:18 +02:00
Adriaan de Groot
be5388abcd [libcalamaresui] activate -> change state
- since we also need to *disable* the shortcuts, and should tell a
   V1 slideshow that it no longer is running,
 - use existing function to set the property to true / false depending.
 - instead of changeState( true ) or changeStage( false ), use
   meaningful enum names so that the code at the call site
   becomes readable; make the boolean part internal to the
   state-changing method.
2019-08-27 15:40:13 +02:00
Adriaan de Groot
1e3e53d30a [libcalamaresui] Set activatedInCalamares special property
- when the QML is activated, if the slideshow has this property,
   set it to true. This enables the keyboard shortcuts.
2019-08-27 15:12:47 +02:00
Adriaan de Groot
7df6ed31e9 [libcalamaresui] Refactor QML slideshow activation
- one function for activation, since we activate from different
   places and each loader-API may need multiple steps for activation.
2019-08-27 13:36:28 +02:00
Adriaan de Groot
0a9d0ddf68 [qml] In the default (sample) slideshow, activate key shortcuts
- with V2 loading, the key shortcuts should be enabled when the
   slideshow itself is activated, not when it is loaded.
2019-08-27 13:36:28 +02:00
Adriaan de Groot
34cb777b0a [qml] Disable all the key shortcuts via root.activatedInCalamares 2019-08-27 13:36:28 +02:00
Adriaan de Groot
ac8952f223 [libcalamaresui] Improve QML API v2 debugging
- log what is being loaded
 - distinguish "component complete" from actuial loading
2019-08-27 13:36:28 +02:00
Adriaan de Groot
e0bb53aff4 [dummycpp] Replace QProcess::execute()
- hangs unpredictably during testing
 - replace with the Calamares process-invocation runCommand(), which is also
   synchronous but doesn't hang (or, hasn't, in testing so far)
2019-08-27 13:34:26 +02:00
Adriaan de Groot
c28c97d3aa Merge branch 'issue-1215'
FIXES #1215
FIXES #1216
2019-08-26 21:42:40 +02:00
Adriaan de Groot
eb21c90861 [libcalamares] Avoid implicit 0-to-flags conversion
- clang complains about using 0 as a Flags value, so make the
   default (empty) initialization explicit.
2019-08-26 21:42:27 +02:00