Commit Graph

25 Commits

Author SHA1 Message Date
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
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
ff10e1301d [libcalamaresui] Fix struct/class mismatch 2019-02-18 10:10:16 -05:00
Adriaan de Groot
bf40f3bd23 Merge branch 'master' into requirements-checking 2018-08-10 12:02:57 -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
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
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
a72bdfac52 Merge branch 'master' into requirements-checking 2018-03-06 14:57:17 +01:00
Adriaan de Groot
845986d48f [libcalamaresui] Mark virtual QObject destructors override 2018-01-17 09:17:40 -05:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
27b921bde1 [libcalamaresui] Move requirements information out of welcome module.
- Move type and rename it; put in Calamares namespace
 - Emit signals from the viewmanager as results come in
 - Remove state changing from welcome view step based on its internal
   requirements checking (for now this breaks progressing past the
   welcome page)
 - Log checking of the requirements
2017-12-02 10:59:33 -05:00
Adriaan de Groot
24e04645b6 [libcalamaresui] Stub requirements checking.
Introduce a method checkRequirements() into the module system so that
individual modules can do their own checking (as opposed to stuffing
it all into the welcome module).
2017-12-02 09:26:22 -05:00
Adriaan de Groot
8917d153da Drop the (inter-)module dependencies system.
- Was marked incomplete and unused; none of the existing modules
   set any requirements, and the descriptors are not set up to
   hold the requirements information anyway.
 - Dependencies are generally through globalStorage values, or if
   there are dependent jobs they should be created in-order by one
   source (e.g. though a View or a subclass of CppJob which overrides
   jobs() ).
 - It is the responsibility of deployers to formulate a settings.conf
   that includes all the required modules.
 - A 'real' dependency system is going to lead to the introduction
   of interface-definitions and a great deal of complexity, for a
   use case that can be handled with careful deployment instead.
2017-09-27 05:34:06 -04:00
Teo Mrnjavac
99a1c2245f Documentation++ 2017-02-28 18:08:20 +01:00
Andrius Štikonas
9f0ca042fe Port away from most cases of Q_FOREACH to C++11 ranged for loop.
In order to avoid deep copies, Qt containers over which we iterate must be const
The remaining unported cases require qAsConst (Qt 5.7) or std::as_const (C++17)
2016-09-01 16:46:14 +01:00
Teo Mrnjavac
fb44fb97b6 Massive refactor of module loading, configuration, startup, management. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
dda7ea211d Make ModuleManager accessible from outside CalamaresApplication. 2015-03-10 19:51:08 +01:00
Teo Mrnjavac
20bc34029d Copyright. 2015-01-29 22:46:07 +01:00
Teo Mrnjavac
a670de3035 Add currentPhase to ModuleManager. 2015-01-29 22:46:07 +01:00
Teo Mrnjavac
8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
2014-08-06 11:54:45 +02:00
Teo Mrnjavac
84bfb2aa95 Fixes for loading modules by phase. 2014-07-12 13:13:15 +02:00
Teo Mrnjavac
7034985b74 Remove MM:loadModulesPrepare. 2014-07-11 14:41:53 +02:00
Teo Mrnjavac
2e47c248ac Load modules by phase, in preparation for actually using new settings. 2014-07-11 14:40:15 +02:00
Teo Mrnjavac
a09ab36386 Better settings format, rename a bit of stuff in module loading. 2014-07-11 14:21:50 +02:00
Teo Mrnjavac
4ec72f4afb Refactored calamares_bin into calamares_bin and libcalamaresui.
Now linking with -Wl,--no-undefined!
Moved find_package KF5 from the root CMakeLists.txt to the partitioning
module where it belongs. KF5 deps should be limited to plugins.
Lots of random fixage to make stuff link.
Removed CalamaresApplication reference from Settings.
Removed the use of AbstractPage, we don't need it right now.
2014-07-03 18:00:40 +02:00