Commit Graph

719 Commits

Author SHA1 Message Date
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
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
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
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
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
17d09342e9 [libcalamaresui] Add a setting for window placement 2020-01-07 00:27:11 +01: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
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
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01: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
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
1cde8c20df [libcalamaresui] Simplify retranslation
- Use any object method to connect() to
2019-08-29 15:01:41 +02: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
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
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
85f5410735 [libcalamaresui] Apply coding style 2019-08-22 10:25:16 +02:00
Adriaan de Groot
6b8c0129fd [libcalamaresui] Add one more icon (donate) from Breeze
- LGPLv3 like the others
2019-08-13 23:10:56 +02:00
Adriaan de Groot
e7dedbbfe0 [libcalamaresui] Apply coding style to remainder 2019-08-13 21:07:46 +02:00
Adriaan de Groot
d44e8f6115 [libcalamaresui] Apply coding style to viewpages/ 2019-08-13 21:02:30 +02:00
Adriaan de Groot
6f74463a80 [libcalamaresui] Apply coding style to utils/ 2019-08-13 21:00:36 +02:00
Adriaan de Groot
1b6aed8c40 [libcalamaresui] Apply coding style to modulesystem/ 2019-08-13 20:58:39 +02:00
Adriaan de Groot
6224d6605b [libcalamaresui] Apply coding style to widgets/ 2019-08-13 20:57:52 +02:00
Adriaan de Groot
0716a46eb2 [libcalamares] Switch to using KPluginFactory
- this is not entirely straightfoward, since  we need
   different constructor arguments for the objects
   Calamares creates (no QVariantList& args, in particular).
   Implement our own registerPlugin() and createInstance()
   for that.
 - work around a bug in K_PLUGIN_FACTORY_DECLARATION_WITH_BASEFACTORY
2019-08-12 15:52:59 +02:00
Adriaan de Groot
44991e700b [libcalamaresui] Check KCoreAddons version directly 2019-08-12 13:24:53 +02:00
Adriaan de Groot
8a7f32d3aa [libcalamaresui] Polish ImageRegistry
- do static initialization more carefully
 - float -> qreal (double) because that's what the Qt API expects,
   to reduce type-conversion warnings
 - apply current coding style
2019-08-09 16:52:54 +02:00
Adriaan de Groot
ec08a293b2 [libcalamaresui] Reduce compile warnings
- "this" isn't used in the lambda; in future it might be if the
   lambda needs to get the configuration from settings.
2019-08-09 16:43:50 +02:00
Adriaan de Groot
91d327b224 [libcalamaresui] Paste TCP port is quint16
- no sense in feeding in an int (and getting a compiler warning
   for narrowing) into something that by spec is a 16-bit value.
2019-08-09 16:41:59 +02:00
Adriaan de Groot
739363cecd [libcalamaresui] Fix initialization order (reduce warnings) 2019-08-09 16:28:29 +02:00
Adriaan de Groot
e31a498c9b [calamares] Move DebugWindow
- This is a fairly specialized class, for use only in the
   whole-application where it ties in with the module system.
   Move it to the application directory and slim down the UI library.
 - Include it from the new location.
 - Add UIC to Calamares (the application) because there's now
   a designer-based widget in it.
2019-08-09 06:54:31 -04:00
Adriaan de Groot
85d28af1e2 [libcalamaresui] Don't include QJsonModel 2019-08-09 06:34:38 -04:00
Adriaan de Groot
695e16bb87 [libcalamaresui] Drop QJsonModel from the library 2019-08-09 06:21:07 -04:00
Adriaan de Groot
c83e95e66a [libcalamaresui] Chase 3rdparty move
- Widgets need to #include from different path
2019-08-08 12:42:02 -04:00
Adriaan de Groot
2166eb4511 [libcalamares] [libcalamaresui] Adjust for moved sources 2019-08-08 10:47:14 -04:00
Adriaan de Groot
937ff608eb [libcalamaresui] Move spinner widget to 3rd party 2019-08-08 10:27:52 -04:00
Adriaan de Groot
47dbf9ab0c [libcalamares] Move 3rd party code to separate dir 2019-08-08 10:23:36 -04:00
Adriaan de Groot
beeda24423 [libcalamaresui] Fix build of the PythonQt bindings
- Change to std::chrono::seconds wasn't tried against the (optional)
   PythonQt bindings, leading to build failure. Reported by Phil (Manjaro).

FIXES #1210
2019-08-04 08:52:33 -04:00
Adriaan de Groot
e2504627aa [libcalamaresui] Chase timeout-type into the UI library
(TODO: move ProcessJobModule to libcalamares, it has no UI dependency)
2019-08-01 22:51:52 +02:00
Adriaan de Groot
20cf0c8f3d [libcalamaresui] Remove unused code
- This operator is declared, yet never defined or used. The definition
   was removed in fb44fb97b6.
2019-08-01 11:32:32 +02:00
Adriaan de Groot
566be48f16 libcalamaresui: rename and document pastebin method 2019-07-30 15:47:44 +02:00
Adriaan de Groot
2aae30f517 libcalamaresui: don't rely on translations to interpret button
- Keep the debug-failure-call in the code, but commented out
 - Check ButtonRole, rather than the button's text, to see
   which one it is.
2019-07-30 15:43:20 +02:00
Adriaan de Groot
675a35bb2e libcalamaresui: when displaying pasted URL, don't be fancy
- Just call the static method and then quit, rather
   than being careful about allocations.
2019-07-30 15:28:17 +02:00
Adriaan de Groot
fac9ccde88 libcalamaresui: document magic constants in question() 2019-07-30 15:15:41 +02:00
Adriaan de Groot
630694b242 libcalamaresui: apply coding style to viewmanager 2019-07-30 15:12:05 +02:00
Adriaan de Groot
d49ddf6463 libcalamaresui: factor out the pastebin functionality
- While called from the ViewManager (to post the debug log)
   this isn't really part of the ViewManager itself, so factor
   out the pasting code into its own file.
2019-07-30 15:09:25 +02:00
Adriaan de Groot
8f7d183a0c libcalamaresui: don't always fail
- The paste-branch was merged too soon. Now undoing the damage.
2019-07-30 14:41:42 +02:00
Adriaan de Groot
edd2cc7244
Merge pull request #1186 from bill-auger/master
implement post log to paste server (needs some cleanup)
2019-07-29 13:26:13 +02:00
Adriaan de Groot
e2028cf85b [libcalamaresui] Warnings--, no copy constructor for CDebug 2019-07-04 16:20:26 +02:00
bill-auger
c90d3b2016 squashme WIP upload log to paste server - more error checks and validations 2019-06-30 09:52:31 -04:00
bill-auger
e096631c54 squashme WIP upload log to paste server - refactor error checking 2019-06-30 09:52:29 -04:00
bill-auger
e7960474d4 implement post log to paste server 2019-06-30 09:50:24 -04:00
Adriaan de Groot
18bf925a11 [libcalamaresui] Name pending requirements checks
- Give each check a name (based on the module it runs for, so
   there might be overlaps when there are multiple module instances).
 - Log the remaining checks each time the timeout fires, to help
   figure out which one is hanging.
2019-06-27 15:30:32 +02:00
Adriaan de Groot
0bd2bfa708 CI: apply coding style to libcalamaresui/modulesystem 2019-06-27 15:15:47 +02:00
Adriaan de Groot
08b24b9ea2 [libcalamaresui] Fix Doxygen comments 2019-06-26 12:12:17 +02:00
Adriaan de Groot
6ba8ac8526 [libcalamaresui] Use mount from partition service 2019-06-20 12:13:45 +02:00
Adriaan de Groot
79dc9e3463 [libcalamares] Update button icons as we go along
- Adapt the button icons (previous, next, do-install, all-done)
   to the state of the buttons and the corresponding text.
2019-06-18 22:54:41 +02:00
Adriaan de Groot
b3d9af4cae [libcalamaresui] Apply correct button labels
- updateButtonLabels() knows all the special cases for
   buttons, so use it when the language changes instead
   of setting up some possibly-wrong values.
 - One edge case that this fixes is: have **just** the welcome
   page before the first exec section in sequence. Then the
   *next* button label was *next* instead of *install*.
2019-06-18 22:45:49 +02:00
Adriaan de Groot
780fe125f7 [libcalamaresui] Give the buttons icons
- Next, Back, Cancel/Quit have somewhat-appropriate icons.
2019-06-18 16:18:18 +02:00
Adriaan de Groot
34b1a250ba [libcalamares] Improve warnings when module descriptor files are bad 2019-06-18 12:06:13 +02:00
Adriaan de Groot
5fdaeaa899 [libcalamaresui] Improve wording when module is missing configuration 2019-06-18 11:58:03 +02:00
Adriaan de Groot
c7d09f06c5 [libcalamaresui] QML Retranslation since Qt 5.10 2019-06-17 12:23:31 +02:00
Adriaan de Groot
58f6635ca0 [libcalamaresui] Force retranslation on language change 2019-06-17 11:52:20 +02:00
Adriaan de Groot
f9bd0fba10 [libcalamares] Handle async QML loading
- The component isn't ready immediately, so instatiate
   once it is fully loaded and ready
 - Edge case if the execution view step is already visible, then
   start the show (because a previous call to onActivate() will
   have missed it).
2019-06-17 11:47:25 +02:00
Adriaan de Groot
193bcbde71 [libcalamaresui] Use setSource() for API version 1
- Just avoid all the componentized loading and do the
   synchronous load-compile-setContent thing.
2019-06-17 11:17:06 +02:00
Adriaan de Groot
15ab98cb26 [libcalamaresui] Use API version to load slideshow differently 2019-06-17 11:05:56 +02:00
Adriaan de Groot
148b829591 [libcalamares] Introduce slideshowAPI setting 2019-06-17 10:58:14 +02:00
Adriaan de Groot
075f0787f9 Merge branch 'master' into issue-1152 2019-06-16 13:11:03 +02:00
Adriaan de Groot
71209b323a [libcalamaresui] Call QML methods on start and stop
- Use onActivate() and onLeave() in QML as well, to start and stop
   the slideshow.
2019-06-16 13:06:34 +02:00
Adriaan de Groot
68e6bd676e [libcalamaresui] Instantiate QML at load time
- By instantiating only on activation, an ugly "white" gap
   appears where there is no widget at all. So instantiate
   earlier so that the widget already exists and is painting
   by the time the slideshow part is visible.
 - This makes the net effect of this branch so far zero:
   the slideshow is still loaded and started when Calamares starts.
2019-06-16 12:15:41 +02:00
Adriaan de Groot
c233bbb23d [libcalamaresui] Handle no-finished-page scenarios
- From an exec section, next() is called automatically when
   all the jobs in that section are done.
 - If there **is** no next section (e.g. there's no finished
   page to show after the exec), then m_steps.at() would assert
   on an out-of-range index.
 - Introdcuce a helper predicate isAtVeryEnd() which handles both
   out-of-range and normal at-the-end scenarios.
 - If there's no page following the exec section, stay with the
   slideshow but update buttons to match the normal last-page
   behavior, and don't ask about cancel (since we're done).
2019-06-07 21:54:07 +02:00
Adriaan de Groot
2b5cf9e613 [libcalamaresui] There is code in Qt for setting up QML widgets
- The not-publicly documented setContent() method does all the
   parenting and resizing needed; some of this isn't available
   from outside of the widget either.

The QML slideshow now sizes and re-sizes correctly.
2019-06-03 10:38:29 +02:00
Adriaan de Groot
f52d62034b [libcalamaresui] Manual QML loading trickery
- The slideshow item needs a parent to be visible,
 - QML gets size 0,0 unless explicitly sized to the surrounding widget.
2019-06-03 10:18:24 +02:00
Adriaan de Groot
103decab68 [libcalamaresui] Create the slideshow on activation
- Load QML on startup, compile async
 - Create QML component when the page is reached.
 - On leave, stop the slideshow (otherwise, e.g. timers will keep running)

This should move some of the delay from loading a large
slideshow forward as the engine is already initialized when
we reach the install / slideshow page.
2019-06-03 10:16:52 +02:00
Adriaan de Groot
ff03235e33 [libcalamaresui] Load QML on startup 2019-06-02 13:19:16 +02:00
Adriaan de Groot
5973dbf74c [libcalamaresui] Shuffle code for QML slideshow
- Create widgets earlier
 - Group layouting code
 - Add retranslator only once, not on every activate
 - Load QML only once, preferably at activation
2019-06-01 23:39:39 +02:00
Adriaan de Groot
cbe14bbf03 [libcalamaresui] Rename m_slideShow -> m_qmlShow
- It could be any QML, so it's not a slideshow per se.
 - Minor prep-work for fixing up loading times.
2019-06-01 23:26:08 +02:00
Adriaan de Groot
75ce391e7e [libcalamaresui] Add branding-aware function for loading image by name 2019-05-31 17:27:11 +02:00
Adriaan de Groot
1438729b72 [libcalamaresui] Do filename checks more sanely
- check directory exists before trying to open file from it
 - re-use the componentDir already found for later tests.
2019-05-31 17:27:11 +02:00
Adriaan de Groot
95009a5222 [libcalamaresui] Fix disable-cancel behavior
- d78bc0c5 added an early `return false` when cancel is disabled,
   before checking if we were at the last step; so last-step
   didn't get any special handling.
 - refactor so that last-step now gets special handling first,
   **then** disable-cancel handling, and then the usual case.
2019-05-28 13:38:28 +02:00
Adriaan de Groot
2e39f24bb0 [libcalamaresui] Make sure finished() is processed once
- Avoid races which might double-delete the timer, or enter
   the if twice (which would lead to duplicate emissions of
   requirementsComplete and the associated UI glitches).
2019-05-27 17:15:49 +02:00
Adriaan de Groot
2b91608b82 [libcalamaresui] Avoid requirements-results UI duplication
If the requirements checking is **really fast**, e.g. you don't
have a check for internet connectivity, then the checks
might be done as fast as the 0-timeout single-shot timer,
which means that finished() is called once by the QFutureWatcher,
and then after that by the QTimer .. leading to two messages
"All requirements have been checked", but also twice
requirementsComplete being emitted, so you end up with two
results lists being added by the CheckerContainer.

Stop that by using the results-progress timer as an additional
flag: the first time everything is complete, delete that timer
and set the pointer back to nullptr.
2019-05-27 17:10:21 +02:00
Adriaan de Groot
f64e55f0dc [libcalamaresui] Use meaningful asserts
- In debug mode, hitting assert(false) is meaningless,
 - In release mode, the assert is optimized out.
 - So assert the condition we're actually testing, for better messages.
2019-05-27 15:38:37 +02:00
Adriaan de Groot
976ad7e3e7 [libcalamaresui] Look up icons via theme
- Don't cache icons, because they could be changed via
   the active desktop theme.
2019-05-27 15:35:56 +02:00
Adriaan de Groot
822bbaad9c [libcalamaresui] Allow icon names in branding images
- It's ok to use path / filenames in images, but you can also
   use icon names according to the FDO icon spec. This makes
   sense for at least *productLogo*, possibly *productIcon*, but
   not really for *productWelcome*.
2019-05-27 15:26:57 +02:00
Adriaan de Groot
cd38ded8d5 [libcalamaresui] Support os-release substitutions in images
- Branding images might want to use os-release data as well.
 - Refactor a little to keep the number of #ifdefs the same;
   an intermediate expand() lambda handles expansion (or not,
   if it's not enabled).

FIXES #1153
2019-05-21 17:12:00 +02:00
Adriaan de Groot
18b111218a [libcalamaresui] Sort includes in DebugWindow.cpp 2019-05-21 13:35:58 +02:00
Adriaan de Groot
ac941e6756 [libcalamares] Implement reload-stylesheet
- From the debug-window, clicking *reload stylesheet* does just
   that, and applies the new stylesheet to the Calamares window.
 - Remove stylesheet caching from the Branding class; we only
   need the sheet once (on Calamares startup) or when updating
   the stylesheet, which is seldom-enough that we don't need
   to keep an extra copy around.
 - To use, start Calamares, open the debug window, open stylesheet.qss
   in an editor. Make changes, save, then click *reload stylesheet*.

SEE #1149
2019-05-21 13:21:47 +02:00
Adriaan de Groot
877cb0e999 [libcalamaresui] Debug-tool to dump widget tree
- Adds another tool to the debug window, which dumps (to the debug
   log) a tree-like view of all the widgets in the application.
   This can be used when writing stylesheets.
2019-05-21 13:07:34 +02:00
Adriaan de Groot
b5625fc14d [libcalamares] Add a reload-stylesheet button
- This is a debugging-option to test stylesheet changes quickly.
 - Right now, the stylesheet is cached, so it doesn't even work.
2019-05-21 12:52:50 +02:00
Adriaan de Groot
af73d90b7b [libcalamaresui] Fix build with KOSRelease
- initialization of the hash was all wrong
 - special-case ID_LIKE
 - typo's
 - link to CoreAddons
2019-05-20 22:54:54 +02:00
Adriaan de Groot
fbbbe63642 [libcalamaresui] WIP: Use KOSRelease and KMacroExpander in branding
- allows you to use -- at runtime -- values from os-release in the
   branding file.
 - WIP because the only machine I have with sufficiently new KF5
   is the FreeBSD box.
2019-05-20 22:11:11 +02:00
Adriaan de Groot
92d0e71029 [libcalamaresui] one more refactor for string-loading
- Do the checking for IsMap inside loadStrings() and use
   YAML::Exception to get to bail() (since we're already dealing
   with exceptions here, no extra costs). This tidies up the code
   somewhat.
2019-05-20 17:03:32 +02:00
Adriaan de Groot
667f78c016 [libcalamaresui] if there's a YAML exception in branding, bail
- all kinds of type errors result in bailing out, but a totally
   broken branding file does not?
2019-05-20 17:03:28 +02:00
Adriaan de Groot
62328c9940 [libcalamaresui] images-strings loading fixed
- move the string-munge into a lambda and use the generic loadStrings()
2019-05-20 17:03:17 +02:00
Adriaan de Groot
544d905b2f [libcalamaresui] WIP: refactor again
- the string-manipulation can be done through a lambda. That makes
   handling *strings* and *styles* simple.
 - still doesn't compile.
2019-05-20 17:03:17 +02:00
Adriaan de Groot
5a126816f4 [libcalamaresui] WIP: refactor copying strings from config to Branding
- this is mostly to make the constructor easier to read by
   moving parts of the story to easily-understood methods.
 - doesn't actually compile.
2019-05-20 17:03:08 +02:00
Adriaan de Groot
5bae7b7b52 [libcalamaresui] check for sufficiently-new KF5CoreAddons
- From 5.58, KOSRelease is available (not used yet, though)
2019-05-20 17:03:04 +02:00
Adriaan de Groot
a9f3b4050c [libcalamaresui] don't over-complicate PythonQt library linking 2019-05-20 17:02:59 +02:00
Adriaan de Groot
f3bfc81e52 [libcalamares] Rename dontCancel to disableCancelDuringExec
- This way the name actually refers to what it does, rather
   than being a somewhat ambiguous overload of disableCancel.
2019-05-14 08:30:34 -04:00
Adriaan de Groot
d4f4a40fa5 [libcalamaresui] Refactor quit-enabling
- Add signal for change-of-quit-enabledness
 - Minor tidying
2019-05-14 13:43:07 +02:00
Adriaan de Groot
088fa5004c [libcalamaresui] Disallow closing the window during execution
- If the disable-cancel-during-exec setting is on, and the user clicks
   the window-close button, then disregard the close message.
2019-05-14 13:21:05 +02:00
Adriaan de Groot
ad4352b65c [libcalamaresui] Make stepIsExecute() more general
- Checking if the **next** step is an execute-step is a little
   weird, so make the API more general (and add the +1 to indexes
   where it was using NextWillExecute before).
2019-05-14 13:18:51 +02:00
Adriaan de Groot
25099ae854 [libcalamaresui] Remove duplicate setEnabled
- If executing is set to true, then later setEnabled( !executing && ... )
   fill be false, so we don't need to call setEnabled( false ) here as well.
2019-05-14 13:10:36 +02:00
Adriaan de Groot
d78bc0c5c5 [libcalamaresui] When disable-cancel is on, never confirm
- This function is also reached by clicking the window-close decoration.
2019-05-14 13:04:24 +02:00
Adriaan de Groot
8fcdbd5bd5 [libcalamaresui] Improve warning message
- Tell the packager / deployer that certain modules are missing
2019-05-12 16:29:50 +02:00
Arnaud Ferraris
bfd46276ad [libcalamaresui] Fix sidebar label for setup mode
In the sidebar, the "Install" step should be named "Set Up" when in
setup mode, which will be more consistent with the other UI texts,
including button labels.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-05-08 12:29:01 +02:00
Adriaan de Groot
9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
2019-05-07 09:51:23 -04:00
Adriaan de Groot
a99eccf19d [libcalamaresui] Fix PythonQt code w/ moved enums 2019-05-07 08:47:33 -04:00
Adriaan de Groot
a482d7be44 [libcalamaresui] Don't expose build details in DebugWindow
- In a library class, don't include uic-generated headers inside
   the public headers.
2019-05-07 07:48:40 -04:00
Adriaan de Groot
de2b85eabf [libcalamaresui] Tidy the CMake bits
- Explain (briefly) what the library is for
 - Explicitly add includes from the non-UI library
2019-05-07 07:48:40 -04:00
Adriaan de Groot
cdb613bf02 [libcalamares] Move module-related things into subdirectory
- Currently just moves a single enum, but this is prep-work for
   moving the non-GUI parts of the module system into libcalamares,
   to better support GUI-less operation.
2019-05-07 07:48:40 -04:00
Adriaan de Groot
169159f888 [libcalamaresui] Switch to enum classes for Type, Interface
- Somewhat gratuitous change, but brings more enums into modern style.
2019-05-07 06:33:31 -04:00
Adriaan de Groot
6b89ac8461 [libcalamaresui] Remove TODO
- I don't know what this would mean, so it's not a TODO any more.
2019-05-07 06:26:43 -04:00
Adriaan de Groot
8d0f076591 [libcalamares] Rename CalamaresUtils -> String
- The only remaining functions in the file are string-related, so
   rename to match their purpose.
 - Drop this include file from most places, since they don't actually
   use the string functionality at all.
2019-04-29 06:49:16 -04:00
Adriaan de Groot
eaba696173 [libcalamares] Move the crash() function to the one place it's used 2019-04-29 06:49:16 -04:00
Adriaan de Groot
ac095d9ed0 [libcalamares] [libcalamaresui] [calamares] Adjust to moved Dirs.h 2019-04-29 06:49:16 -04:00
Adriaan de Groot
2907b48844 [libcalamaresui] Move RESPATH #define to the one place it's used 2019-04-29 06:14:21 -04:00
Adriaan de Groot
f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
7149b80146 [libcalamares] Distinguish kinds of errors
- errors can now carry an integer what-am-I code apart from
   the message; all errors have a code != 0 (and ok has code 0).
2019-04-28 14:34:39 -04:00
Adriaan de Groot
08e4090354 Merge remote-tracking branch 'origin/raurodse-branding'
FIXES #961
2019-04-23 16:41:22 -04:00
Adriaan de Groot
a216b5ca76 [libcalamaresui] Misplaced const 2019-04-22 00:18:28 +02:00
Adriaan de Groot
b7ddb39105 [libcalamaresui] Massage disable-cancel code
- Even when Cancel is hidden, also disable it (prevents DBUS
   triggers, for instance),
 - Re-enable it when exec is over, if it's disabled then.
 - simplify code a little.
2019-04-21 17:32:05 +02:00
Adriaan de Groot
10727c7bd9
Merge pull request #1126 from feren/patch-3
Patch to add 'dont-cancel' setting to disable Cancel only during the installation phase
2019-04-21 17:02:21 +02:00
Adriaan de Groot
c44e221fb6 Merge branch 'issue-1107'
FIXES #1107
2019-04-19 16:27:19 +02:00
Adriaan de Groot
58aa9f4989 [libcalamares] Move LocaleLabel from libcalamaresui to libcalamares
- This isn't a UI-dependent class
 - Doesn't make much sense in CalamaresUtilsGui either
2019-04-19 10:04:49 +02:00
Adriaan de Groot
242d756731 [libcalamaresui] Add convenience name() to LocaleLabel 2019-04-19 09:55:51 +02:00
Adriaan de Groot
bd0af4bb77 [libcalamaresui] Give LocaleLabel a default constructor
- Needed for use in containers
 - While here refactor building the english label
2019-04-19 09:18:26 +02:00
Adriaan de Groot
cef2f50510 Reduce warnings about extra ;
- Trailing ; after Q_UNUSED
 - Trailing ; after CALAMARES_RETRANSLATE
2019-04-18 12:06:09 +02:00
Adriaan de Groot
c83395ff6d Reduce warnings for yaml-cpp
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
 - When compiling with clang, turn off warnings that the system header
   for yaml-cpp would generate.
2019-04-18 12:06:09 +02:00
Adriaan de Groot
620940c75b [libcalamaresui] Drop now-unused sortKey from LocaleLabel
- sortKey is unused
 - add englishLabel for reverse-i18n
2019-04-16 23:49:27 +02:00
The feren OS Dev
a7ac046b3d
Update copyright headers 2019-04-16 18:27:51 +01:00
The feren OS Dev
825c92582a
Update ViewManager.cpp 2019-04-16 17:20:39 +01:00
Adriaan de Groot
5e951466df [libcalamaresui] Sort languages by ISO code
- this puts the Englishes together, and is less confusing than
   sorting with American first.
2019-04-16 15:38:06 +02:00
Adriaan de Groot
ef3b4c387c [libcalamaresui] Remove unused AbstractPage 2019-04-15 09:20:08 -04:00
Adriaan de Groot
4fec6731ba [calamares] [libcalamaresui] Improve includes
- avoid useless ../
 - sort alphabetically and by kind
2019-04-15 09:20:08 -04:00
Adriaan de Groot
d6cf0617f6 [libcalamaresui] Make logging more consistent 2019-04-15 09:02:21 -04:00
Adriaan de Groot
e664370b28 [libcalamaresui] Use modern tr() annotation 2019-04-11 10:28:09 -04:00
Adriaan de Groot
5a95bf507f [libcalamaresui] Improve WindowDimensions class
- Make sure the class knows its own suffixes
2019-04-11 15:14:31 +02:00
Adriaan de Groot
6560c194ad [libcalamaresui] Reduce 0-for-nullptr warnings in 3rd party code
- replace = 0 with = nullptr to reduce warnings; not a meaningful
   or copyrightable change.
2019-04-11 15:14:31 +02:00
Adriaan de Groot
1008a91eba [libcalamaresui] Reduce warnings
- getting a (sensible) uint from an int is tougher than you might think
2019-04-11 15:14:31 +02:00
Adriaan de Groot
8dd22dcbbf [libcalamaresui] bail() is a [[noreturn]] function 2019-04-11 15:14:31 +02:00
Adriaan de Groot
713370da55 Merge remote-tracking branch 'origin/issue-1100' 2019-04-11 11:47:00 +02:00
Adriaan de Groot
01f5ac22a0 CMake: use conventional method for setting version
- Using project() to set up the version is idiomatic for CMake
   and more standardised than doing it by hand. Do retain the
   RC flag, because that's used in other parts of versioning.
2019-04-04 15:58:07 +02:00
Adriaan de Groot
3a0bd254c0 [libcalamaresui] Adjust quit-messages to setup-mode 2019-04-01 06:16:37 -04:00
Adriaan de Groot
2b7832857c [libcalamaresui] Simplify checking dependencies
- Avoid crash due to invalid iterator, when modules
   are removed due to missing requirements.
 - Simplify code, factor out the determination of
   which required modules are missing.
2019-03-19 11:11:43 -04:00
Adriaan de Groot
5a8ed8583f [libcalamaresui] Complain about missing config files
- When no config file is found, tell where it wasn't.
2019-03-19 05:42:28 -04:00
Adriaan de Groot
54ba0aaf13 [welcome] Use convenience function
- Introduce a hasDetails() for RequirementEntry, which is just
   a short-cut, but makes code more readable.
2019-02-26 06:20:20 -05:00
Adriaan de Groot
8cf3c217f7 Merge branch 'requirements-checking' 2019-02-25 10:00:43 -05:00
Adriaan de Groot
c3d13e3451 [libcalamaresui] Add documentation to ViewStep methods 2019-02-25 08:15:01 -05:00
Adriaan de Groot
64ca9d0d5a [libcalamaresui] Document multi-page support. 2019-02-25 08:11:03 -05:00
Adriaan de Groot
6071489788 [libcalamaresui] Provide default implementations of next() and back()
- These methods are used for multi-page view-steps, which are rare.
   For all the others, just drop the empty implementation and defer
   to the base class.
2019-02-25 07:49:10 -05:00
Adriaan de Groot
08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
2019-02-25 07:34:40 -05:00
Adriaan de Groot
40a7082bfc [libcalamaresui] Handle no-requirements-to-check case
- If there's no requirements at all, none of the watchers
   will call finished(), so do it once extra.
2019-02-25 07:15:51 -05:00
Adriaan de Groot
0ad115732e [libcalamaresui] Report elapsed time as well.
- While waiting on modules, report the elapsed time in seconds
   based on the number of progress-ticks that have passed.
2019-02-25 06:39:50 -05:00
Adriaan de Groot
5ddf7b980b [libcalamaresui] Report progress also while waiting
- Ping the progress every 1.2 seconds, so the user sees more than
   just the throbber.
2019-02-25 06:33:46 -05:00
Adriaan de Groot
ac652a2bc1 [libcalamaresui] Report module-name in italics 2019-02-25 04:19:05 -05:00
Adriaan de Groot
41fecf341b [libcalamaresui] Avoid metatype warnings at runtime
- Register the types with the Qt type system. This is needed
   because we're passing them as signal and slot parameters
   across threads.
2019-02-24 15:57:36 -05:00
Adriaan de Groot
f1aa22d9e8 [libcalamaresui] Sort signals chronologically 2019-02-24 09:08:02 -05:00
Adriaan de Groot
b169281b69 [libcalamaresui] Use convenience type 2019-02-23 17:41:24 -05:00
Adriaan de Groot
6090a464f8 [libcalamaresui] Switch requirementschecking to threaded mode
- Use QFuture and QFutureWatcher to spawn threads that do the actual
   checking of the requirements; collect results and report on
   them as they come in.
2019-02-23 11:12:55 -05:00
Adriaan de Groot
c678cd80b4 [libcalamaresui] Refactor Requirements-Checking
- Move the actual checking into a separate object with some lifecycle-
   management signals.
 - Right now this is still single-threaded and blocking, so no net gain.
2019-02-20 05:48:15 -05:00
Adriaan de Groot
bbb9ff0cbf [libcalamaresui] Remove useless #define 2019-02-18 10:19:06 -05:00
Adriaan de Groot
ff10e1301d [libcalamaresui] Fix struct/class mismatch 2019-02-18 10:10:16 -05:00
Adriaan de Groot
5aa4e52452 [libcalamaresui] Improve debug-logging 2019-02-18 09:09:37 -05:00
Adriaan de Groot
d33752c66c [libcalamaresui] Refactor Requirements classes
- improve naming of member variables
 - expand documentation
2019-02-15 20:53:55 +01:00
Adriaan de Groot
43eae0bc47 Merge branch 'master' into requirements-checking 2019-02-15 00:32:45 +01:00
Adriaan de Groot
667c0594a4
Merge pull request #1074 from a-wai/disable-cancel-button
Add a settings.conf option to disable "Cancel" button
2019-01-24 21:05:38 +01:00
Arnaud Ferraris
db3d3a7d03 Add a settings.conf option to disable "Cancel" button
In some cases, e.g. when calamares is used as an "initial setup" tool,
we may want to user to go through all the configuration steps in order
to end up with a usable system.
Therefore, disabling the "Cancel" button can be useful in this case.

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

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-01-23 15:56:07 +01:00
Adriaan de Groot
12665192ae [libcalamaresui] Defend against missing config settings 2019-01-14 15:30:44 +01:00
Adriaan de Groot
ef94b1f689 [calamares] Support noexpand
- When in noexpand mode, just don't grow the window, and assume
   widgets elsewhere will get scrollbars automatically.
2019-01-14 14:25:01 +01:00
Adriaan de Groot
866797a6c9 [calamares] Support starting fullscreen 2019-01-14 14:17:39 +01:00
Adriaan de Groot
80569a746f [libcalamaresui] Relax validity check in branding
- A size of 64em has a value less than 1024, which is the minimum
   size **in pixels**. The check doesn't make sense as-is and would
   have to take the unit into account. Leave that to clients of
   branding (e.g. CalamaresWindow, which already does this).
2019-01-14 13:42:41 +01:00
Adriaan de Groot
32ab377e43 [libcalamaresui] Record branding window-size 2019-01-14 12:06:04 +01:00
Adriaan de Groot
819a57e458 [libcalamaresui] Store resize configuration
- Use the named enums code for simplicity.
2019-01-11 17:35:06 +01:00
Adriaan de Groot
210965aca4 [libcalamaresui] Allow always-show-country setting in locale label 2018-12-14 13:20:32 +01:00
Adriaan de Groot
8790985fca [libcalamaresui] Code-formatting, remove dead code 2018-12-14 11:33:13 +01:00
Adriaan de Groot
3dda9ab860 [libcalamaresui] LocaleLabel doesn't need to inherit QObject
- Use static QObject::tr instead.
2018-12-14 11:30:05 +01:00
Adriaan de Groot
1f4ac45bb5 [libcalamaresui] Cleanup locale-labeling code
- Support translations of the "language (country)" format instead
   of forcing English parenthesis.
2018-12-14 11:22:47 +01:00
Adriaan de Groot
084f4d2445 [libcalamaresui] Refactor: move LocaleLabel to UI library
- This is prep-work for making locale labels consistent everywhere.
 - While here, improve code documentation.
2018-12-14 10:52:55 +01:00
Adriaan de Groot
3b8d2835e0 [calamares] Use XDG_{DATA,CONFIG}_DIRS as appropriate
- Use DATA for the qml and branding directories (looks for qml/
   and branding/<name>/ in those directories).
 - Use CONFIG for the global settings and module settings (looks
   for settings.conf and module/<name>/ in those directories).

FIXES #941
2018-10-08 10:28:30 -04:00
Adriaan de Groot
869357a89c Merge branch 'master' into oem-resizer 2018-09-27 20:47:17 +02:00
Adriaan de Groot
d752223d0b [libcalamaresui] When reporting failure, use full product name. 2018-09-24 17:58:22 +02:00
Adriaan de Groot
39a0d2315b [calamares] Better config-loading diagnostics
- Be more verbose when things go wrong while loading module-
   configuration files.
 - Allow more forms of paths to be specified. In debug mode, this
   is mostyle helpful for the module test-loader.
2018-09-20 07:39:43 -04:00
Adriaan de Groot
4602b30264 [libcalamaresui] Use PYTHONQT_INCLUDE_DIRS
- document new variable from the CMake module
 - use it in libcalamaresui to simplify #include'ing the
   header for the "all" extension.

Suggested by Denis Proskurin.
2018-09-03 06:26:26 -04:00
Adriaan de Groot
bf40f3bd23 Merge branch 'master' into requirements-checking 2018-08-10 12:02:57 -04:00
Adriaan de Groot
ae7700f2d7 [libcalamares] Refactor searching for module configurations
- Similar to the refactorings in Calamares proper, just split out
   collecting the search paths into a static function. This makes
   it a little easier to find places that will need expansion for
   more-than-one-config-directory.
2018-07-10 04:12:24 -04:00
Adriaan de Groot
d66393f1ae [libcalamares] Fix early failure mode
- There is more to failing out of loadModules() than just
   emitting modulesFailed, so instead share the failure
   code with the code after loading modules -- but don't load any.
2018-06-26 08:43:23 -04:00
Adriaan de Groot
08966ff933 [libcalamaresui] Check module dependencies
- Module dependency-checking is done in two phases:
   first, catch any unknown modules that are listed
   in *requiredModules* and bail out before loading
   anything. Second, check that the modules required
   by X occur before X in the sequence.
2018-06-26 08:32:36 -04:00
Adriaan de Groot
731594fb40 [libcalamaresui] Remove the requiredModules setting
- The value set in module.desc was never stored for use,
   but isn't an attribute of the instance, either. It belongs
   with the descriptor, in ModuleManager.
2018-06-26 08:18:00 -04:00
Raul Rodrigo Segura
f25d6b278d add support onLeave and onActivate to pythonqt plugins 2018-06-21 13:21:48 +02:00
Adriaan de Groot
1a097f8c49 Style: run modulesystem through the style guide 2018-06-18 10:56:10 -04:00
Adriaan de Groot
58121abf06 [libcalamaresui] Wasted spaces 2018-06-18 10:44:28 -04:00
Adriaan de Groot
a64de3dbfe [libcalamaresui] Assign the index to found
- Previous code assigns the result of the comparison to found,
   instead of the index, resulting in the wrong configuration
   map sent to each module.
2018-06-18 10:29:30 -04:00
Adriaan de Groot
374a9bdca6 Merge branch 'emergency-modules'
Introduce the notion of emergency modules and emergency jobs.
Initial use will probably center around the preservefiles module,
and possibly umount.

FIXES #928
2018-06-15 12:04:55 -04:00
Adriaan de Groot
8387d5d81f [libcalamares] Allow emergency jobs
Any job can be an emergency job; emergency modules spawn
emergency jobs (but conversely, a non-emergency module
can spawn an emergency job explicitly).
2018-06-15 10:20:07 -04:00
Adriaan de Groot
3ed6f13fa8 [libcalamaresui] Adjust the emergency-ness of modules
A potentially emergency module is one that has EMERGENCY
(in CMake) or emergency: true (in module.desc) set.
Any such module must also set emergency: true in the
configuration of the module. This is to allow for
instances of a module that **don't** run as emergency
modules, alongside actual emergency ones.
2018-06-15 09:32:19 -04:00
Adriaan de Groot
def459a29d [libcalamaresui] Read emergency setting from module.desc
- Read setting from the module descriptor
 - Document optional settings
 - Add EMERGENCY keyword to the CMake helper functions
2018-06-15 07:11:17 -04:00
Adriaan de Groot
dd8e53dc22 Copyright: update copyright lines on files touched in 2018
Contributions from:
  Adriaan de Groot <groot@kde.org>
  Gabriel Craciunescu <crazy@frugalware.org>
  AlmAck <gluca86@gmail.com>
  Andrius Štikonas <andrius@stikonas.eu>
  Caio Carvalho <caiojcarvalho@gmail.com>
  Raul Rodrigo Segura <raurodse@gmail.com>
2018-06-15 05:59:11 -04:00
Adriaan de Groot
2d7eea6d73 Merge branch 'master' into emergency-modules 2018-06-14 17:15:40 -04:00
Adriaan de Groot
290559f8c1
Merge pull request #986 from raurodse/configurationPythonQt
Add configuration values into pythonqt modules
2018-06-14 13:19:42 -04:00
Raul Rodrigo Segura
448c5eae16 style code 2018-06-14 16:33:58 +02:00
Adriaan de Groot
a8426730ca [libcalamaresui] Improve wording of modules failure warning 2018-06-14 02:48:52 -04:00
Adriaan de Groot
97a45db4bf [libcalamaresui] Reset font height when changing size
- defaultFontHeight() caches the result; clear cache
   when changing the default size, even though this happens
   only once in the current codebase.
2018-06-14 02:35:49 -04:00
Adriaan de Groot
bb5ac0326d [libcalamaresui] Improve layout of "blank" view step 2018-06-14 02:33:03 -04:00
Adriaan de Groot
9918dfb95f [libcalamaresui] Reporting on failures
- Provide information on failed modules
 - Disallow further progress when configuration is borked
2018-06-13 13:41:38 -04:00
Adriaan de Groot
3e24c3c58f [libcalamaresui] Provide standardised large font 2018-06-13 13:41:38 -04:00
Adriaan de Groot
8b406cac9b [libcalamaresui] Improve module loading
- Add a TODO for allowing modules to come from somewhere other
   than the module loader (this would allow "internal" modules
   that are always present)
 - Warnings are warnings
2018-06-13 04:37:52 -04:00
Raul Rodrigo Segura
d61b32aba6 Add configuration values into pythonqt modules 2018-06-12 13:44:28 +02:00
Adriaan de Groot
35124c149e [libcalamaresui] Drop the 'goodbye' message 2018-06-11 13:35:12 -04:00
Adriaan de Groot
a40c36ef49 [libcalamaresui] Report on failed module loading
- Collect the failed modules, instead of bailing out on the first one
   (this also prevents crashes caused by quit() called from a timer).
 - Introduce a slot to report on failed module loading (no UI yet).
2018-06-11 05:59:56 -04:00
Adriaan de Groot
1999e4e5c2 [libcalamaresui] Error out consistently when module loading fails
- Some module-loading failures were ignored and produce only a
   warning, instead of erroring out.
2018-06-08 18:14:51 -04:00
Adriaan de Groot
dccf6f16f5 [libcalamaresui] Lambdas are fun, but not always the solution 2018-06-08 17:56:23 -04:00
Adriaan de Groot
a626e52bf3 [libcalamares] Introduce more descriptive type name 2018-06-08 17:36:29 -04:00
Adriaan de Groot
b66d4856e7 [libcalamaresui] Use modern C++ for (auto)deleting failed modules 2018-05-30 07:51:23 -04:00
Adriaan de Groot
eddee7d76a [libcalamaresui] No point in isLoaded() being virtual. 2018-05-29 03:38:17 -04:00
Adriaan de Groot
a04915e6fa [libcalamaresui] Add 'emergency' concept to modules. 2018-05-29 03:37:37 -04:00
Adriaan de Groot
cdadc2f003 [libcalamares] Improve error logging during module loading 2018-05-24 06:47:13 -04:00
Adriaan de Groot
fdda0e14aa [libcalamaresui] Improve explainYamlException
- overloads for common kinds of label
 - improve error reporting when reading settings and branding files
2018-05-24 06:46:11 -04:00
Adriaan de Groot
e5ca8e091f [libcalamaresui] Use refactored loadYaml 2018-05-24 06:46:11 -04:00
Adriaan de Groot
f26ac63c07 [libcalamaresui] Make Python code const
- This is always loaded into the Python context, so it may as well
   be done only once.
2018-05-24 06:46:02 -04:00
Adriaan de Groot
2413180c67 Branding: update copyright notices 2018-05-22 05:47:14 -04:00
Adriaan de Groot
5bcfb32cf5 Branding: move the branding stylesheet to the Branding class 2018-05-22 05:43:59 -04:00
Adriaan de Groot
975004fc63 [libcalamaresui] Document accessors in Branding
- document accessors
 - put all path and directory accessors together
 - make simple accessors inline
 - rename "pathprefix" to "directory" to be consistent with others
2018-05-22 05:28:00 -04:00
bill auger
b6673f6324 move thisModule->isLoaded assert to after it's warning message 2018-05-22 03:39:16 -04:00