4517 Commits (dd47201f272797971707961537227d7a2f81414a)

Author SHA1 Message Date
Adriaan de Groot 2f99004041 [libcalamares] Move the module instance-key
- Split out of the UI library and into (header-only) libcalamares.
6 years ago
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.
6 years ago
Adriaan de Groot 78de6776af [libcalamaresui] Swap out use of QString for ModuleInstanceKey
- The strings `module@id` are used internally, make that type explicit.
6 years ago
Adriaan de Groot b8dd6e9ae7 [libcalamaresui] Introduce a module-instance-key class
- This replaces rather ad-hoc use of a QString as key.
6 years ago
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.
6 years ago
Adriaan de Groot ca351ff7b6 [libcalamares] Apply (some) options to request earlier 6 years ago
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)
6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot d70d418d92 [locale] Refactor setting of LC entries 6 years ago
Adriaan de Groot 5cac3ac6ad [locale] Apply coding style 6 years ago
Adriaan de Groot 0ee8427d5a [locale] Remove old-style GeoIP configuration 6 years ago
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
6 years ago
Adriaan de Groot 3093f635e2 [locale] Apply coding style 6 years ago
Adriaan de Groot 21dde80a65 [locale] Refactor button handling to plain methods 6 years ago
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.
6 years ago
Adriaan de Groot 782b469974 [locale] Move all the translation work to a single slot 6 years ago
Adriaan de Groot a57a030ee2 [packagechooser] Massage the list view to be narrower 6 years ago
Adriaan de Groot 4259bc9d5d [packagechooser] Also use screenshot from no-package-selected 6 years ago
Adriaan de Groot 52e72f4fb1 [welcome] Apply coding style 6 years ago
Adriaan de Groot 88fc6685ba [libcalamares] Apply coding style to geoip/ 6 years ago
Adriaan de Groot 01c4383178 [packagechooser] Simplify parameters
- Just pass the no-package-selected item around.
6 years ago
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
6 years ago
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).
6 years ago
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.
6 years ago
Adriaan de Groot 9850e4b35b [netinstall] Use the network-manager
- use asynchronousGet and keep the reply
 - drop unused includes
 - apply current coding style
6 years ago
Adriaan de Groot badbdf59ee [libcalamares] Build synchronous get w/ async-get 6 years ago
Adriaan de Groot f8356a6dcc [libcalamares] Add an async get method
- Mostly a "cheap" wrapper for a half-dozen boilerplate lines
   of Qt NAM code.
6 years ago
Adriaan de Groot 543e2d34fc [libcalamares] [locale] Remove unused includes 6 years ago
Adriaan de Groot c7cbba3951 [welcome] Fix typo in tooltip 6 years ago
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)
6 years ago
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
6 years ago
Adriaan de Groot b685583060
Merge pull request #1226 from a-wai/fix-unpackfs-for-rootfs
[unpackfs] Enable to use "/" as a source
6 years ago
Adriaan de Groot 1d9177c5a3
Merge pull request #1230 from bill-auger/patch-1
add esperanto branding translations, fix mis-configured ones
6 years ago
Adriaan de Groot 0aabc89449 [partition] [welcome] Simplify retranslation 6 years ago
Adriaan de Groot 1cde8c20df [libcalamaresui] Simplify retranslation
- Use any object method to connect() to
6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot fc5aa54cb2 [welcome] Fix code formatting
- the RETRANSLATE macro is a real challenge for astyle and clang-format
6 years ago
Adriaan de Groot 07bd22ba95
Merge pull request #1233 from bill-auger/patch-4
eliminate magic number in src/modules/welcome/WelcomePage.cpp
6 years ago
Adriaan de Groot 9ca864567a
Merge pull request #1231 from bill-auger/patch-5
cross-reference/clarify geoip documentation
6 years ago
Adriaan de Groot 3f90921155
Merge pull request #1232 from bill-auger/patch-3
update doc comment in src/modules/initcpio/initcpio.conf
6 years ago
bill-auger 5642576cf3
cross-reference/clarify geoip documentation 6 years ago
bill-auger bb678e535b
add esperanto branding translations, fix mis-configured ones 6 years ago
bill-auger 4c3c6f3f91
eliminate magic number in src/modules/welcome/WelcomePage.cpp 6 years ago
bill-auger 13a58a4ab2
update doc comment in src/modules/initcpio/initcpio.conf 6 years ago
bill-auger e459b82cfe
fix typo in src/libcalamaresui/ViewManager.cpp 6 years ago
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.
6 years ago
Adriaan de Groot 8ab0fb4e5f [libcalamaresui] Apply coding style (missed earlier) 6 years ago
Adriaan de Groot 03ac0d2cf0 [qml] Document the new property and how it updates 6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
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.
6 years ago
Adriaan de Groot 34cb777b0a [qml] Disable all the key shortcuts via root.activatedInCalamares 6 years ago
Adriaan de Groot ac8952f223 [libcalamaresui] Improve QML API v2 debugging
- log what is being loaded
 - distinguish "component complete" from actuial loading
6 years ago
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)
6 years ago
Adriaan de Groot c28c97d3aa Merge branch 'issue-1215'
FIXES #1215
FIXES #1216
6 years ago
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.
6 years ago
Adriaan de Groot d8a587e16e [packagechooser] Scale screenshot
- if the screenshot is too large, scale it down
 - (doesn't react to window resizes though)
6 years ago
Adriaan de Groot 6035a74a93 [packagechooser] Align the screenshot
- hcenter + vcenter the screenshot
 - make it expand as necessary
 - fill in some sample text
6 years ago
Kevin Kofler 9dbd3a765b [netinstall] Fix typo in netinstall.conf comment
s/inmportant/important/
6 years ago
Adriaan de Groot 5868f102f2 [packagechooser] Less-bad "no selection" image
- It's only "less bad", not actually a good image, composed from
   Breeze "empty" and "generic packages" icon.
6 years ago
Adriaan de Groot d063d60e37 [packages] Explain pre-script isn't actually a shell script 6 years ago
Adriaan de Groot 56792fdcb5 [netinstall] Polish the README
- describe the format better
 - more consistent typography
 - refer to `packages.conf` for details on shell commands
6 years ago
Adriaan de Groot ee29c45433 [netinstall] Point documentation towards netinstall README.md 6 years ago
Adriaan de Groot 6fb909a799 Merge branch 'networking-service' 6 years ago
Adriaan de Groot f7215393d1 [tracking] Use the network service
- drop own NAM handling
 - use timeout mechanism
 - report timeout as fatal error (like it already did), other
   errors are ignored.
6 years ago
Adriaan de Groot a1b0049bbf [libcalamares] Use more readable names 6 years ago
Adriaan de Groot e2c6591a77 [libcalamares] Refactor request internals
- distinguish timeouts from other failures
 - git synchronousPing() a more detailed result, which is
   still bool-compatible.
6 years ago
Adriaan de Groot f0be7fd4aa [libcalamares] Make failures in the internal methods obvious
- internally, timeout and error will return nullptr
6 years ago
Adriaan de Groot 87ea14f68a [libcalamares] Drop INTERFACES again
- The compile failure came from bad #include paths, so restoring
   this interface declaration wasn't a fix.
 - Reported to cause runtime failures on both KaOS and Manjaro.
6 years ago
Adriaan de Groot ededebbc6c [libcalamares] Return reply early if the request is bad 6 years ago
Arnaud Ferraris 0f6b2dbe2d [unpackfs] Enable to use "/" as a source
If we don't have/need an image for the rootfs, we might want to
configure the `/` directory as a source for unpackfs. Unfortunately,
this raises an error:
  - unpackfs first creates a temporary directory
  - it then creates a subdirectory for each source, using the source
path's basename
  - when the source is `/`, the basename is an empty string, therefore
the module tries to create an already existing directory

In order to prevent this error, we use the `os.makedirs` function with
parameter `exist_ok=True` instead of `os.mkdir`.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
6 years ago
Adriaan de Groot d422c782ba [libcalamares] Correct include path
- no need for the subdirectories, and this confuses MOC

Reported-by: Jonathan Riddell
Fix-by: Harald Sitter
6 years ago
Adriaan de Groot 85f0d38698 [libcalamares] Refactor synchronous get
- Add timeout support
 - Refactor into a static helper method
6 years ago
Adriaan de Groot 1f2b3b734d [libcalamares] Extend synchronous API with options 6 years ago
Adriaan de Groot af1aa701bc [libcalamares] Shuffle namespace lines around
- put all the definitions inside namespace {} to avoid
   needlessly long source lines.
6 years ago
Adriaan de Groot 383bd97a9c [displaymanager] Handle variations in config file
- GDM3 uses a different config file than previous GDM
6 years ago
Adriaan de Groot 1c61181624 [displaymanager] Handle variations in GDM executable name
- Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=934504
 - Instead of hard-coding one or the other, search for gdm and gdm3
6 years ago
Adriaan de Groot 333a1f6e84 [displaymanager] Non-existent DMs don't exist
- Returning True for a non-existent DM is weird
 - Avoid suggestive parenthesis in return type
6 years ago
Adriaan de Groot b66f3434af [displaymanager] Consistent Copyright notices 6 years ago
Adriaan de Groot b8bad1c0b4 [welcome] Drop unused includes 6 years ago
Adriaan de Groot 8ea1ea6662 [libcalamares] Add synchronousGet() to network service
- Synchronous download of a given URL; not something to
   do from the GUI thread.
 - Use it from the GeoIP service, which downloads in a
   separate thread to do GeoIP lookups.
 - Drop now-unused headers.
 - Adjust tests for GeoIP to use network service
6 years ago
Adriaan de Groot 0b2855d6e0 [libcalamares] Fix build (bad class name) 6 years ago
Adriaan de Groot 9aae9b2f02 [libcalamares] Restore Q_DELCARE_INTERFACE
- This **may** be the cause of build failures on aarch64.
6 years ago
Adriaan de Groot 85f5410735 [libcalamaresui] Apply coding style 6 years ago
Adriaan de Groot dbe0ccf2e1 [calamares] Apply coding style 6 years ago
Adriaan de Groot 310a1d76cf [calamares] Reduce warnings now that getInteger is qint64 6 years ago
Adriaan de Groot eae931f2ed [libcalamares] Ping only when accessibility is unknown
- Restores exact functionality of previous version
   (noted by Kevin Kofler)
 - Short-circuit ping if the URL is bad.
6 years ago
Adriaan de Groot e065008631 [welcome] Switch to the network service
- simplify configuration
 - use existing ping- and hasInternet()
6 years ago
Adriaan de Groot 4389c254df [libcalamares] Rely directly on QNAM's networkAccessible() 6 years ago
Adriaan de Groot 11d52df04c [libcalamares] Add API docs to network service 6 years ago
Adriaan de Groot 82622373bc [libcalamares] Remove superfluous ; (warnings--) 6 years ago
Adriaan de Groot 8d3530154f [libcalamares] Expand network service test
- Do an actual ping (also to check for memory leaks)
6 years ago
Adriaan de Groot b8d56bb4a6 [libcalamares] Add tests for network service 6 years ago
Adriaan de Groot d7602df51e [libcalamares] Introduce networking service
- The networking service is intended to wrap up use of
   QNetworkAccessManager and others for consumption within
   Calamares, and to provide some convenience functions
   for internet access.
 - Medium term, it may also monitor network access, so that
   we can respond to changes in network availability during
   installation.

Currently very minimal and undocumented.
6 years ago
Adriaan de Groot 8c5caf9fd0 [packagechooser] Add CMake knobs to enable/disable item choices
- AppData and AppStream can be disabled independently of finding
   their requirements (possibly useful if you want to ignore
   AppStream even when it's installed in your build environment).
 - Add a little top-level documentation about WITH_
6 years ago
Adriaan de Groot ffa899b497 [packagechooser] Assemble the translated name and description 6 years ago
Adriaan de Groot 7b699bfc76 [libcalamares] Access list of locale Ids
- Make it easier to obtain locale-ids (from CALAMARES_TRANSLATION_LANGUAGES)
   so avoid splitting that string multiple times.
6 years ago