Commit graph

133 commits

Author SHA1 Message Date
Adriaan de Groot
032b33f56f [libcalamaresui] Improve logging.
- Put the (constant) 'Calamares will now quit' on its own debug line.
 - Tell the user what the search paths are if a module is not found
   (prompted by a mis-configuration in a Neon live image).
2018-04-04 11:25:28 -04:00
Adriaan de Groot
3e30bb682e [libcalamaresui] Use cError() for logging errors, not cLog() 2018-03-28 09:22:37 -04:00
Adriaan de Groot
c7629182e4 Merge branch 'master' into requirements-checking 2018-03-06 17:06:35 +01:00
Adriaan de Groot
a72bdfac52 Merge branch 'master' into requirements-checking 2018-03-06 14:57:17 +01:00
Adriaan de Groot
60f440f72b [libcalamaresui] Use new convenience logging methods
- Remove a few confusing Q_FUNCINFO
2018-02-12 11:58:34 -05: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
b6fed964ce [libcalamaresui] Defer requirements checking of ViewModules to their ViewSteps 2017-12-02 11:30:26 -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
5a07f6ef8a Merge branch 'master' into requirements-checking 2017-11-29 09:02:07 -05:00
Adriaan de Groot
2d31e987c0 [libcalamaresui] Unrelated typedef for JobList 2017-11-03 11:02:06 -04: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
Adriaan de Groot
866d338894 Clang: warnings-- 2017-09-25 16:28:08 +02:00
Adriaan de Groot
337903db09 Clang: reduce warnings about overriden destructors 2017-09-20 09:11:18 -04:00
Adriaan de Groot
13807ceabf Licensing: add self
- to all the files I've touched recently
 - to (very incomplete) AUTHORS list

Licensing: add license info to top-level CMakeLists.txt
2017-09-19 15:57:25 +02:00
Adriaan de Groot
ddb6455365 Revert be2338ff0 (intended just to reduce warnings)
- keep the calamaresstyle formatting changes,
 - drop shadowing and nullptr changes.

FIXES #805
2017-09-18 15:11:18 +02:00
Adriaan de Groot
be2338ff08 Clang: reduce warnings 2017-09-13 08:03:18 -04:00
Adriaan de Groot
463615a1c0 Clang: don't shadow local variable names 2017-09-10 13:22:54 -04:00
Adriaan de Groot
764fb742ba Clang: clean up documentation markup 2017-09-10 13:22:54 -04:00
Adriaan de Groot
e26d5ab206 Don't leak memory for allocated modules 2017-08-31 04:13:52 -04:00
Adriaan de Groot
2fdccdf090 Merge branch 'simplify-module-desc' 2017-08-02 11:29:58 -04:00
Adriaan de Groot
e3008657c4 Modules: accept 'viewmodule' as alias of 'view', improve logging on error. 2017-08-02 11:05:32 -04:00
Adriaan de Groot
10eaf06f60 Python: Be more descriptive when modules can't be loaded. 2017-07-05 06:30:23 -04:00
Adriaan de Groot
8ea14d7957 Release: add copyright to files I've touched 2017-06-21 08:27:10 -04:00
Adriaan de Groot
14cba59ab3 Logging: distinguish different failures in module instantiation. 2017-06-06 09:10:13 -04:00
Adriaan de Groot
367fe716b3 Configs: empty config files are ok.
The default umount.conf contains no keys -- so it isn't a map,
but it is a valid config file. Avoid the warning by accepting
empty files.

FIX 707
2017-06-02 16:10:08 +02:00
Teo Mrnjavac
99a1c2245f Documentation++ 2017-02-28 18:08:20 +01:00
Teo Mrnjavac
de3c94fc97 Useless debug is useless. 2017-02-28 18:08:20 +01:00
Teo Mrnjavac
d3845144bb Start from empty str for entry point annotation. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
a3887d268a Expose global_storage and utils as objects in PythonQt.calamares. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9aefeed648 Expose PythonQt.calamares.global_storage. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9570bd94e8 Nor this. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
c618999418 Properly load new PythonQtViewModule.
Only initialize Python if it's not initialized yet.
Inject @calamares_module decorator to fetch the entry class.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2736ad6e09 User-visible Type and Interface strings in Module. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
553062fc11 Fix build. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2c3b56c803 Link against PythonQt; new PythonQtViewModule stub. 2016-12-16 17:03:00 +01:00
Kevin Kofler
00d9f211f5 Add support for C++/Qt batch job plugins
These job plugins work similarly to view modules, with the following
differences:

* These jobs need to link only libcalamares, not libcalamaresui. For
  this reason, PluginFactory was moved from libcalamaresui to
  libcalamares. (It depends only on QtCore.)

* Instead of deriving from ViewModule, derive from CppJob (which is a
  subclass of Job).

* Like process and Python jobs, a job plugin is a single job, whereas a
  ViewModule can generate a whole list of jobs.

The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-09-27 17:25:09 +02:00
Teo Mrnjavac
4662c9c877 Remove irrelevant debug output. 2016-09-19 12:34:45 +02: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
c1d1e7cb5a Prevent memory leak on bad module dir (fix Coverity defect 114172). 2016-02-26 13:22:03 +01:00
Teo Mrnjavac
fb44fb97b6 Massive refactor of module loading, configuration, startup, management. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
3b56c5c9e8 Use safe QTimer::singleShot connection. 2015-09-15 16:48:41 +02:00
Teo Mrnjavac
506e51598d Do not dereference a nullptr. 2015-06-21 01:39:28 +02:00
Teo Mrnjavac
11f5b729a8 Avoid dereferencing nullptr. 2015-06-14 01:10:50 +02:00
Teo Mrnjavac
df9daf8fec Avoid accessing nullptr. 2015-06-14 01:02:50 +02:00
Teo Mrnjavac
233d759a00 Initialize all members even in private ctor. 2015-06-13 21:41:49 +02:00
Teo Mrnjavac
8e16bea3d9 Remove unused members. 2015-06-13 21:32:06 +02:00
Teo Mrnjavac
dda7ea211d Make ModuleManager accessible from outside CalamaresApplication. 2015-03-10 19:51:08 +01:00
Teo Mrnjavac
4e2e964503 Return configurationMap from Module. 2015-03-10 19:51:08 +01:00