Commit Graph

175 Commits

Author SHA1 Message Date
Teo Mrnjavac
f4696f22a1 Pass locale name to PythonQt module. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
0c36de68ff Attach retranslator to base widget of ViewStep. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
d3845144bb Start from empty str for entry point annotation. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
46787222c9 Fix ifdefs for WITH_PYTHONQT. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
ca7728cd34 Implement PythonQtViewStep::jobs as a wrapper for Python-provided jobs. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
d425f71fdb Build it. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
aad1c536d1 New PythonQtJob class. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
f3fa124f8d Set configuration map in PythonQt module. 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
864109fd4e Build them. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
4648f5e8e0 Utils wrapper class, to expose libcalamares.utils under PythonQt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
7791307e1e Wrapper for GlobalStorage, to make it available through PythonQt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
25613d1bef Fix _calamares_module_basewidget check and improve readability. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0f0a6ab18d PythonQtViewStep has no decorator. 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
a54f217173 Use CalamaresUtils::lookupAndCall in PythonQtViewStep.
This is done to support both Pythonic and Qt style method names, i.e.
both "isNextEnabled" and "is_next_enabled" is ok in a Python module.
Also better documentation in PythonQtViewStep, and stub for
setConfigurationMap.
Finally, proper handling of PythonQtViewStep Python-facing basewidget:
with this change, a call to PQVS::widget() only triggers a widget
relayout if it's necessary, and leaves it alone otherwise.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
fb9d1fa339 Add PythonQtUtils.{h,cpp} with CalamaresUtils::lookupAndCall. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9570bd94e8 Nor this. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
53f687587b Add support for attaching a Python console in DebugWindow.
Also add support for showing module type/interface.
Also minor layout improvements.
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
d526935001 Remove PythonQtConsoleViewStep, which was only there for testing. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
b4002a716a New PythonQtViewStep. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
553062fc11 Fix build. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
8a90b89d25 Headers. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0a5faa4888 PythonQtConsoleViewStep for testing purposes. 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
Teo Mrnjavac
e2b2d761c2 Do not LINK_PUBLIC by default. 2016-12-07 16:37:29 +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
9d61420e4f Added toolbox page to Debug interface, with deliberate crash feature. 2016-03-23 18:48:08 +01:00
Teo Mrnjavac
1d8330f1eb Handle missing setting gracefully. 2016-03-01 15:10:19 +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
27b27644c4 Initialize all members (fix Coverity defect 114173). 2016-02-26 13:19:47 +01:00
Teo Mrnjavac
25e388aa29 Add CalamaresUtils::defaultFont() 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
17f1f5f61f Load those icons. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
d4117b333c New icons for DeviceInfoWidget. 2015-12-30 17:27:13 +01:00
Teo Mrnjavac
351c69c300 Remove obsolete code.
CAL-340 #close
2015-12-30 17:27:02 +01:00
Teo Mrnjavac
0fa19cca68 Fix the last page fix. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
51d0d9f9b4 Disable next on last page. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
6de8158bec It is a good idea to initialize pointer members in the ctor. 2015-12-30 17:27:02 +01:00
Teo Mrnjavac
5e87e01374 Refactor view module workflow in ViewManager. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
2a0eb9e481 Fix debug window. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
461ef79170 ViewStep should know their own instance keys. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
fb44fb97b6 Massive refactor of module loading, configuration, startup, management. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
c74c67805e Remember to update CMakeLists. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
9042616a8a Refactor configuration file loading to allow multiple instances. 2015-09-15 16:48:42 +02:00
Teo Mrnjavac
4f84e9ad14 InstallationViewStep is now ExecutionViewStep.
It also uses JobQueue directly.
2015-09-15 16:48:42 +02:00
Teo Mrnjavac
f836019f49 Add Calamares::PluginFactory to allow multiple instances of a Qt Plugin. 2015-09-15 16:48:41 +02:00