Commit Graph

5452 Commits (a85ff30ad44dbbdc75f04758545a9677a1fdc4bc)

Author SHA1 Message Date
Teo Mrnjavac 2232c49471 Make dummypython work with current API.
Teo Mrnjavac 0d3a3a0b78 Fix dummypython for recent API change.
Teo Mrnjavac 63534f7154 Add mount and chrootCall utilities to libcalamares + Python wrappers.
Aurélien Gâteau e3a333e6e6 Prettier PartitionPreview
Aurélien Gâteau fe9e52ee0e PartitionModel: Add IsFreeSpaceRole
Aurélien Gâteau 0ea6f1698b First version of PartitionPreview
Aurélien Gâteau 93cb9fd426 New role for PartitionModel: SizeRole
Aurélien Gâteau 5fc07aad7c Expose colors for Qt::DecorationRole
Aurélien Gâteau 5c1336f2d5 Turn PartitionModel into a tree model
Fixes 
Aurélien Gâteau e3a52745fc Fix assert failure when recreating partition table
Teo Mrnjavac 4b1975d3e2 PEPify unsquashfs
Teo Mrnjavac 2b097e7f3c PEPify umount
Teo Mrnjavac 2ba96d3b6b PEPify mount
Teo Mrnjavac 585dd20a34 Update README.md
Teo Mrnjavac 1c984c7bf9 PEPify grub
Teo Mrnjavac 98b62808de PEPify fstab
Teo Mrnjavac 906560ffee PEPify dummypython
Teo Mrnjavac 637242776c PEPify testmodule.py
Teo Mrnjavac b988c3ad72 PEPify API fakes in testmodule.py
Teo Mrnjavac fb328494b3 Make the libcalamares Python API better for PEP8
Teo Mrnjavac 5369038ed6 Add debug test to dummypython
Teo Mrnjavac 845ae05f7e Added debug( str ) to the Python API.
Aurélien Gâteau d30b6300ab Unbreak locating of config file when run without --config
Aurélien Gâteau 289704ab90 Make it possible to override the config dir from the command line
Teo Mrnjavac cb53cc41cb Remove __init__.py from unsquashfs
Teo Mrnjavac 422e78236b Make fileCopy in unsquashfs a single function
Teo Mrnjavac b48a66a2e5 Improve readability.
Teo Mrnjavac e937782a4e Fix some lousy error handling
Teo Mrnjavac 4fc2efb7fa Correctly report exit status from Python modules.
Teo Mrnjavac 87ee2b8b8c Improve error reporting for Python jobs.
Teo Mrnjavac 25d37b57dd Use named tuples in unsquashfs.
Teo Mrnjavac 1b4e56e97e Better call to rsync in unsquashfs.
Teo Mrnjavac c42d021b61 Unthreadify FileCopy in unsquashfs.
Teo Mrnjavac f44b8eb758 Count the files in the squashfs image without piping to wc -l.
Teo Mrnjavac cb2dcf7860 Use temp dir for mounting squashfs image.
Teo Mrnjavac 60dda7db49 Begin unsquashfs module, port copy operation from Thus.
Aurélien Gâteau 64f8748c49 Spaces fixes
Aurélien Gâteau 0b01c76687 Coding style
Aurélien Gâteau 9e8c02fa33 Basic fstab module
Misses the 'options' finetunes

Bug 
Aurélien Gâteau 2d9142487b FillGlobalStorageJob: Add the partition UUID to global storage
Aurélien Gâteau 62d706543b Do not let the user pick a partition type when creating a partition of a GPT disk
Fixes 
Teo Mrnjavac beafcd9cc4 Consistency: calamares_main ==> run; global_storage => globalStorage
Aurélien Gâteau fb6d80ccb6 Bring back tree view headers
Aurélien Gâteau bf72672cce Make double-clicking on a partition item in the list trigger edit/create
Aurélien Gâteau cd99f64344 Add mnemonics to UI elements
Aurélien Gâteau c3a91f1c8d Implement Revert
Fixes 
Aurélien Gâteau 675b07799b Dead code--
Aurélien Gâteau d476f9cba8 Make sure we show info of the first device in the device combo box
Aurélien Gâteau cb546d02f9 Sort device in DeviceModel by device node
Aurélien Gâteau 20521f278c Update doc
Aurélien Gâteau 0f23b8ad5c Add basic grub module. Not enabled for now because it requires a rootfs to work
Fixes 
Aurélien Gâteau 545eef5761 Refactor mount module to make its code easier to reuse
Aurélien Gâteau 96ede98f27 Update partitionmanager submodule: fix cmake warning
Aurélien Gâteau 92114576ce Create umount module
Teo Mrnjavac 2a231b3532 Try to avoid passing GlobalStorage to Python by value.
Aurélien Gâteau aef2b7e9e7 We can now test mount with testmodule.py: remove the test main()
Aurélien Gâteau 35d2a10177 Remove \t tab to avoid failure in testmodule.py
Aurélien Gâteau e1877adf9c Make testmodule.py more Pythonic
Aurélien Gâteau f2ab67b28b Create bootLoader.installPath in GlobalStorage
Aurélien Gâteau 06a13637b6 Store current boot loader install path in PartitionCoreModule
Aurélien Gâteau ab4604258c Rework boot loader combo box
List MBR of all devices
Does not loose its selection when updated
Aurélien Gâteau c9c1917997 log--
Aurélien Gâteau a39384eda7 Simplify
Aurélien Gâteau 484d7c4d15 Update partition path after partition has been created
Fixes 
Teo Mrnjavac da83ecfb13 libcalamares.job is of type libcalamares.Job
Teo Mrnjavac ef28b7f2c1 Add job.setprogress to testmodule.py.
Teo Mrnjavac 78de11a412 Emit job progress from Python jobs.
Aurélien Gâteau 89fd6a950b Add support for per-job progress
Aurélien Gâteau e9da5cb6cb Change signature of JobQueue::progress, add finished() signal
Now uses a qreal for progress instead of current and total
Also added a finished() signal because determining whether the queue is
finished should not be done by comparing a qreal with 1.0 as this is not
precise.
Teo Mrnjavac 2636a1273f Add job.setprogress to Python API.
Teo Mrnjavac c6c2c67560 Rewrite Python error handling to show meaningful messages.
Aurélien Gâteau 0234415976 Add "mount" module
Aurélien Gâteau c8129898fc Introduce FillGlobalStorageJob
Aurélien Gâteau 7763587c01 Move PartitionIterator to its own file
Teo Mrnjavac ed0fd6d207 Merge pull request from calamares/wip/job-order
Queue module jobs in the order they are listed in the "install" section of settings.conf
Aurélien Gâteau b5b72855c3 Queue module jobs in the order they are listed in the "install" section of settings.conf
Teo Mrnjavac 533cba6437 [testmodule.py] File with fake global_storage contents for testing.
Teo Mrnjavac 4881684e18 [testmodule.py] Simulate global storage contents from a YAML file.
Aurélien Gâteau 1b64917385 Use findPartitionByMountPoint in updateHasRootMountPoint
Aurélien Gâteau a335c1cc04 Coding style fixes
Aurélien Gâteau 906019facc Add combo box to pick boot loader installation destination
Aurélien Gâteau 3e3329d4f2 Rework PartitionPage appearance, prior addition of boot loader UI
Teo Mrnjavac 81eca92418 Added testmodule.py script to test Python modules.
Teo Mrnjavac 73f03017fd Spaces, not tabs.
Teo Mrnjavac 0753e6ccde New GlobalStorage map. With Python API support.
Aurélien Gâteau 4c88603872 Fix bug with tiny disks and mbr partition tables
Aurélien Gâteau 26f6943f8a Add support for formatting existing partitions
closes 
Aurélien Gâteau a5fcb9bcb9 Improve CreatePartitionJob::prettyName
Aurélien Gâteau d374d8bad8 Introduce PartitionJob
Teo Mrnjavac 4516213b0b Add some dummy configuration to dummypython, and then show it.
Teo Mrnjavac d9f4c74537 Add support for config map to Python job API.
Rename PythonJobHelper ==> CalamaresPython::Helper.
Add QVariant to boost::python::object conversion functions.
Rename some constants in the libcalamares Python API.
Teo Mrnjavac 2f03dfa43b CalamaresPrivate ==> CalamaresPython
Aurélien Gâteau 568f2abd0b Reproduce and fix bug
Aurélien Gâteau 99fe98a9cf Unbreak test. Unfortunately it did not reproduce bug
Aurélien Gâteau 7e8c5a980c Make Runner::run() returns a bool indicating success or failure
Aurélien Gâteau eebc71257f Nicer error messages
Aurélien Gâteau 26d0b52342 Unbreak build
Aurélien Gâteau 6f65a4b16c Add a (failing for now) test for extended partitions
This reproduces bug 
Aurélien Gâteau 43f29b8058 Start working on tests for partition jobs
Teo Mrnjavac 031c405c60 Let's not keep commented out code.
Teo Mrnjavac e33e9de6f6 Symlink lib/calamares/libcalamares.so to lib/libcalamares.so for Python.
Teo Mrnjavac a61a36d99d We have a Python API for jobmodules!
Created a Boost.Python module interface in libcalamares.
Added a PythonJob wrapper and exposed it in the Python module.
Rename target calamareslib ==> calamares so in Python it's libcalamares.
Python-related classes in libcalamares that aren't exported as C++
symbols are now in a CalamaresPrivate namespace.
Import the libcalamares python module into every Python script before
running it.
Added Python error handling to PythonJobHelper.
Added some more testing code to dummypython module.
Teo Mrnjavac c13179fdf0 Add debugMode bool to Calamares::Settings.
Teo Mrnjavac 6559197c4b Expose some more version constants in CalamaresVersion.h
Aurélien Gâteau 9c89e68672 Get rid of partview, it's no longer useful
Aurélien Gâteau 0d915b4995 Always delete logical partitions first when deleting an extended partition
Aurélien Gâteau d7a853ee06 Scaffolding for exiting partition reformating
Aurélien Gâteau 4e49f59333 Turn PartitionCoreModule::refreshPartitionModel() into refresh() and make it public
Aurélien Gâteau 5c594f8dd7 Fix doc
Aurélien Gâteau 8a64dcb270 Coding style fixes
Aurélien Gâteau ec6703b9cd Start creating EditExistingPartitionDialog
Aurélien Gâteau 5daa1b82e8 Refactor: PartitionInfo is no longer a class
Aurélien Gâteau ff5667cb73 Turn all extra PartitionInfo fields into QObject properties of Partition
Aurélien Gâteau 9b57b98a93 No point doing this: editing extended partitions is not supported for now
Teo Mrnjavac 846812f49b Update README.md
Teo Mrnjavac 32beec0243 Update README.md
Teo Mrnjavac 2f628cd1d4 Add dummy python jobmodule.
Teo Mrnjavac 50ba57a33a Add optional Python jobmodules support to libcalamaresui.
Teo Mrnjavac b924aeef2b Add optional Python jobs support to libcalamares.
Teo Mrnjavac 754ef7dbbc Fix prettyName.
Teo Mrnjavac 4712af05a0 Fix build in PartitionCoreModule.
Teo Mrnjavac f2ed18ad4c Alignment fix.
Aurélien Gâteau 8a7e6c9348 More readable job queue
Aurélien Gâteau 3fa3694f90 Fix crash when trying to delete an extended partition
Aurélien Gâteau 568dc4db0a Init all fields when editing a partition. Disable editing of extended partitions for now.
Aurélien Gâteau d500c7b480 Coding style fixes
Aurélien Gâteau 27b28a5bd1 Avoid potential rounding errors
Aurélien Gâteau 45dda6fa17 Factorize size computations
Aurélien Gâteau a70ab4ad60 Refactor: move sector math from PartitionPage to CreatePartitionDialog
Aurélien Gâteau 7c1ecabd68 Drop now unused IsNewPartitionRole
Aurélien Gâteau 9216982859 Allow editing of partition mount points
Aurélien Gâteau 48c078acc5 Start implementing editing of newly-created partitions
This is the beginning of 
Aurélien Gâteau 174114f09c Add IsNewPartition role
Aurélien Gâteau fa30fe147f Add PMUtils::isPartitionNew()
Aurélien Gâteau 091c3c2757 Make CreatePartitionDialog.ui easier to read in Designer
Aurélien Gâteau c30ed3c9c1 Let the user recreate the partition table (mbr or gpt)
Closes 
Aurélien Gâteau 7096213206 Move partitionmanager code to src/modules/partition
Aurélien Gâteau cbcd821943 Coding style fixes
Teo Mrnjavac e3741c4d26 Make the locale viewmodule load the initial timezone from config.
Teo Mrnjavac 0a8aa66d58 Set initial timezone for the locale viewmodule in module.conf.
Teo Mrnjavac df9f803572 Actually load the additional config map into the ViewStep.
Teo Mrnjavac b20eaaf4f8 Add setConfigurationMap to ViewStep with empty implementation.
Actual module ViewSteps can reimplement it to read their own module-
specific configuration.
Teo Mrnjavac 2ef5df314b Make extra configuration map protected in Module.
Teo Mrnjavac c7c4e52849 Load additional module-specific configuration into a Module object.
Teo Mrnjavac 3879087c4a Add YAML to QVariant conversion to YamlUtils
Teo Mrnjavac 63a1ab07c1 Merge pull request from toudi/center-mainwindow-fix
fix for issue 
Teo Mrnjavac c57d99a21c Add CalamaresAddModuleSubdirectory, a CMake function for modules that
do not require building through a CMakeLists.txt.
Teo Mrnjavac 25f44492e9 Add dummy process job module.
Teo Mrnjavac 2dd88344e5 Instantiate the correct type of module from module.conf.
Teo Mrnjavac 51e5976a99 Better error message.
Mateusz Mikołajczyk 91e1f8248b update for the fix, remove QStyle dependency
Teo Mrnjavac 1dca92947c Add already loaded check to ProcessJobModule
Mateusz Mikołajczyk ea3b2e4461 fix for issue
Teo Mrnjavac 8d28a2ea5d Generalized code path for Phase switching. Also load install modules.
Teo Mrnjavac 84bfb2aa95 Fixes for loading modules by phase.
Aurélien Gâteau 7ac6588090 Forget pending changes when the partition table is recreated
Aurélien Gâteau f0dffb7400 Refactor: Introduce PartitionInfoProvider interface, and make DeviceInfo implement it
Aurélien Gâteau 61b17490eb Refactor: group jobs and partitionModel for a device in a DeviceInfo struct
Makes it easier to clear all jobs for a specific device, which is necessary
when replacing a device partition table
Teo Mrnjavac 7034985b74 Remove MM:loadModulesPrepare.
Teo Mrnjavac 2e47c248ac Load modules by phase, in preparation for actually using new settings.
Teo Mrnjavac a09ab36386 Better settings format, rename a bit of stuff in module loading.
Aurélien Gâteau 22ff18f2cc Update partitionmanager submodule, fixing build without KIO
Aurélien Gâteau 784f07cbbc Update partitionmanager submodule: latest commits from the frameworks branch
@demm: This includes the btrfs fix
Aurélien Gâteau 83a56a6bd3 Add the ability to (re)create partition tables
Aurélien Gâteau 2e3f1c655c Update partitionmanager submodule, necessary for next commit
Aurélien Gâteau 5d6a80deae Factorize management of m_hasRootMountPoint
Aurélien Gâteau 8d3f197fde Clean up
Aurélien Gâteau c11fc3a4d2 Do not crash if a device does not have a partition table
Aurélien Gâteau b1ce4afc8c Update partitionmanager submodule
Teo Mrnjavac 1b4d62ef4d Add ProcessJobModule for loading external commands.
Teo Mrnjavac b3aae75bed Add working directory to ProcessJob
Teo Mrnjavac 8d36a13d92 Style fix.
Aurélien Gâteau 8d01b9a6fd assert--
Aurélien Gâteau e792f4c9c5 Implement DeletePartitionJob::exec()
Closes 
Aurélien Gâteau 7566221eff Nicer error messages on failure
Aurélien Gâteau 165d28fc23 Abort installation when a job fails
Teo Mrnjavac 7894bb9462 Module type Core ==> Job, plus const correctness.
Teo Mrnjavac 9c8d270ddb Add libcalamaresui to include_directories for calamares_bin and modules
Teo Mrnjavac fe7a64d5ab Add ProcessJob, a wrapper for external commands.
Teo Mrnjavac dbadbf69ec Const correctness.
Teo Mrnjavac d1151d87cf Move implementation to cpp file.
Aurélien Gâteau 6881fdab6e JobResult
Aurélien Gâteau d984489eea Implement CreatePartitionJob
Aurélien Gâteau 04743eb4be Basic JobQueue implementation
Aurélien Gâteau 191f37f5fa Fake CreatePartitionJob::exec() implementation
Teo Mrnjavac f1ba2e1270 Add prettyStatus to Locale module.
Teo Mrnjavac e622fe4f99 Add prettyStatus to Keyboard module.
Teo Mrnjavac c339ac8cfc Add status info to Summary page. Still needs work to make it nice.
Also added onActivate/onLeave to ViewStep and ViewManager.
Teo Mrnjavac 49b91608e3 Stub for Summary viewmodule.
Aurélien Gâteau 4fe50d4569 Add InstallationViewStep::jobs()
Aurélien Gâteau 57d89175dc Merge branch 'master' into wip/install-step2
Aurélien Gâteau 2f774e6c46 Implement PartitionViewStep::jobs()
Aurélien Gâteau b465121e26 Remove RowType enum and associated role
Aurélien Gâteau a84b551ab0 Rename CategoryItem to TextTreeItem
Aurélien Gâteau cb6a25c2ce Show an InstallationStep at the end of the preparation process
Aurélien Gâteau 023ed99aca Coding style
Aurélien Gâteau 36b3de7107 Enable/disable Next button based on whether we have a root mount point
Teo Mrnjavac b98c071f94 Prepare for late enqueuing of jobs to the JobQueue.
Teo Mrnjavac 52028d95f9 Clean up overuse of literals for GUI constants.
Add CalamaresStyle for colors and other style constants and helpers.
Add static functions for font size.
Aurélien Gâteau f10f2026ad Update partitionmanager submodule
demmm c3d40b9428 add ECM to CMakeLists,
remove obsolete CONFIG
Aurélien Gâteau 15c5142d09 Redo partition type UI and enable/disable mount point UI when appropriate
Aurélien Gâteau f27ff4c717 We want to format partitions we create
Aurélien Gâteau 467d89f56f Remove PartitionInfo if we remove a Partition
Aurélien Gâteau 3ed5704818 Refactor: Move creation of CreatePartitionJob to PartitionCoreModule
Aurélien Gâteau d54dfcfb78 Get rid of DeviceInfo
Aurélien Gâteau f3f9bfc2a3 Introduce PartitionInfo, to store Calamares-specifc info for a partition
Aurélien Gâteau 1247077ccc Pass mount point to CreatePartitionJob
Aurélien Gâteau ab4e81504e wip mount point
Aurélien Gâteau a62f3daf25 Adjust logical numbers
Teo Mrnjavac 7a99214ddb New keyboard viewmodule, based on the one from Manjaro's minst.
Teo Mrnjavac ee485f9735 Remove keyboard related functionality from the locale viewmodule.
Teo Mrnjavac e2e66e3cf7 Do not repeat repeat link libraries.
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.
Teo Mrnjavac 1efb4f1101 Added spinner widget to the loading timezone data view.
Teo Mrnjavac 81eafced2f Don't allow to go next if the timezone view hasn't loaded.
Teo Mrnjavac f9aa532d77 Load timezone data asynchronously so we don't block the GUI thread on
startup.
Teo Mrnjavac 4cf6c06dda Useless linkage is useless.
Teo Mrnjavac 87b009cc23 Layout fixes for LocalePage + default location.
Teo Mrnjavac 1ac10b40e6 Initial commit for the locale viewmodule.
Aurélien Gâteau 3a58e2640f Show partition elements in separate column
Aurélien Gâteau 0446bb1079 More readable partition sizes
Teo Mrnjavac 50c40e4272 Fix background of branding placeholder.
Aurélien Gâteau 4ee9f68ceb Remove the outer margin of step widgets
Aurélien Gâteau a318ec49fc Enqueue all partition jobs when leaving the PartitionViewStep
Aurélien Gâteau 4916d0cb88 crash--
Aurélien Gâteau 6f3ec0170e Argh, forgot to commit those files
Aurélien Gâteau d013e663b8 Implement partition removal
Aurélien Gâteau f9ca45face Mark the partition we create as "StateNew"
This way if user wants to remove it later we can remove the creation job
instead of queueing a delete job
Aurélien Gâteau 724780fb23 Coding style fixes
Teo Mrnjavac 20beae8f52 Minor nitpick in module.conf
Teo Mrnjavac 698cff45c8 Lots of model/view/delegate changes.
Created delegate for ProgressTreeView.
No more columns, only roles throughout the model.
Added row types and some user roles to the model.
Look and feel changes to ProgressTreeView.
Teo Mrnjavac 0eddb34c15 Add getter for CalamaresWindow in CalamaresApplication.
Teo Mrnjavac 3b64f29bfc Enforce minimum size for main window.
Teo Mrnjavac 378545c735 No need to call expandAll from outside the model.
Teo Mrnjavac 80789b6143 Added ProgressTreeModel/View, including different kinds of items.
Redone CalamaresWindow without UI file.
Const correctness in ViewStep and plugins.
Teo Mrnjavac 3a3bf71054 Added CalamaresUtilsGui
Aurélien Gâteau 1421a04dd2 Support creation of extended partitions
Aurélien Gâteau e3c6869fbd Let CreatePartitionDialog create the Partition object
Aurélien Gâteau 90d26bfd31 Safer dialog handling
Aurélien Gâteau 5eafb9538e Crude way to distinguish extended from primary partitions + show partition size
Aurélien Gâteau cdfb890e17 Better way to detect free space
Aurélien Gâteau bd44729328 Log plugin loading errors
Aurélien Gâteau 5dc5b4ddc8 Add missing file
Aurélien Gâteau b060f66456 Introduce CreatePartitionDialog and CreatePartitionJob
Aurélien Gâteau bcfbf3eda2 Dummy implementation of JobQueue so that I can call it
Aurélien Gâteau c9409ba6b2 Start implementing support for creating partitions
Aurélien Gâteau 3a59cdeda9 Detect free space using the FS type
Aurélien Gâteau c254fe0b2a Enable/disable partition buttons
Aurélien Gâteau 2000553a10 PartitionModel: Add getter for Partition
Aurélien Gâteau 4429a8fd63 Introduce PMUtils
Aurélien Gâteau 6d0b3218f1 Move PartitionModel management from DeviceModel to PartitionCoreModule
Aurélien Gâteau 578f2e4baa Instantiate DeviceModel in PartitionCoreModule
Aurélien Gâteau 4d2354fb56 Introduce PartitionCoreModule
Owner of the Qt models and PM devices
Aurélien Gâteau 730c3902bf PartitionViewPlugin => PartitionViewStep
Aurélien Gâteau 8f474fa08f Persistent partition model
This will make it possible to update the partition list on changes,
regardless of the actual device state
Teo Mrnjavac e6be09982e Fix back/next logic for Next enabled state.
Teo Mrnjavac c7d62300a0 Make the partition viewmodule compile with the new ViewStep interface.
Teo Mrnjavac 299d4caae5 Fix include guard.
Teo Mrnjavac 20d5a37fef Major ViewStep additions and changes.
Renamed ViewPlugin to ViewStep.
Back/Next button status management.
Subpages are now under a ViewStep's jurisdiction, we only forward back/
next signals if a ViewStep says it's got more pages to show. ViewStep
exposes a QWidget* to ViewManager, this QWidget gets added to a stack.
If a ViewStep wishes to show more than one page, it must manage more
pages on its own inside its single QWidget*.
Teo Mrnjavac f1da3373a8 Added Typedefs.h and Job/JobQueue interfaces.
Aurélien Gâteau 1d0dfa5215 Clean up
Aurélien Gâteau 344d7ac610 Better use QItemSelectionModel to detect selection changes
Aurélien Gâteau 6b164a9dcf Wrap PartitionPage building in WITH_PARTITIONMANAGER
Aurélien Gâteau 8d6b7672bc Start PartitionPage
Teo Mrnjavac afa1d9dce0 To build with partitionmanager: cmake -DWITH_PARTITIONMANAGER=1
Teo Mrnjavac 6388171521 Stubs for JobQueue and Job.
Teo Mrnjavac 5f883556e1 Don't use QPluginLoader's JSON metadata thing, we already have our own.
Teo Mrnjavac f4b1cacc03 Prefer nullptr over 0 for null pointers.
Teo Mrnjavac 23e91ee475 Lots of changes. Module search+load system is now working.
Moved module-related classes to src/calamares/modulesystem.
Fixes to startup code path.
Made ViewPlugins load into ViewManager.
Debug code: ViewManager currently only shows a plugin's prettyName.
Added ViewModule as a subclass of Module. Other kinds of plugins should
be supported in a similar way.
Teo Mrnjavac fae3284bb7 DllMacro.h ==> UiDllMacro.h
Aurélien Gâteau 02af2dccb9 Introduce libcalapm
This adds a submodule pointing to a fork of KDE Partition Manager. All
Calamares-specific changes are in the "calamares" branch of this fork.
Aurélien Gâteau 3cc7fe3245 Rename config.h to CalamaresConfig.h
Avoid name clashes with partitionmanager's config.h
Teo Mrnjavac 205250e7c4 ModuleLoader ==> ModuleManager
Teo Mrnjavac c23d198923 When looking for plugins in a search dir, make sure the path is correct
Teo Mrnjavac 869483055c Load modules asynchronously on startup.
Teo Mrnjavac 041db41b35 Add a Quit button to Calamares::ViewManager.
Teo Mrnjavac fa3dfa2244 Set correct window flags on CalamaresWindow.
Teo Mrnjavac 6324feb2f3 Probably best to not even try to mkdir /usr/lib
Teo Mrnjavac ef48f36445 Add modules path in build dir if --debug.
Also fix config.h location.
Teo Mrnjavac 392c8ec108 PagePlugin ==> ViewPlugin
Teo Mrnjavac 2693f493c9 Added load entry to plugin config.
Teo Mrnjavac 125b7914d5 Added module metadata file to CalamaresAddPlugin macro.
Also improved output.
Teo Mrnjavac 19da31baa4 Made ModuleLoader async, added dependency check.
Teo Mrnjavac ab5c818f4f Fix -Wnarrowing warnings in KDSingleApplicationGuard
Teo Mrnjavac d20e3ce598 Add DLLEXPORT_PRO definitions.
Teo Mrnjavac 13fcf387c7 A bunch of work on loading plugins.
Also switched to C++11.
Aurélien Gâteau 1da7ba446d Fix link error on Qt5 libs
Teo Mrnjavac 1fb0dd3c3d Rename binary calamares_bin -> calamares
Teo Mrnjavac 8c746b8d3b Fix appDataDir paths
Teo Mrnjavac 05d355f21f Config files are YAML, not JSON. We depend on yaml-cpp for parsing.
Teo Mrnjavac 56c6df30e6 --verbose is now --debug, CalamaresApplication keeps track of it
Teo Mrnjavac 1f98c3efae Load settings.
Teo Mrnjavac 4e14ec7834 Fixed defines for Logger
Teo Mrnjavac de93d4eabb Proper include, and layout fix.
Teo Mrnjavac 6899b1f0fa Added CMake magic for plugin infrastructure.
Added ViewManager.
Added dummy Settings class.
Added dummy plugin interface (UI plugins only).
Added dummy greeting plugin.
Added DLLEXPORT macros for UI plugin interface and plugins.
Teo Mrnjavac fe27f8eab8 Use ui file for main window.
Teo Mrnjavac b21dc4fe4c Added Utils, Logger, Translations, QCommandLineParser, init boilerplate
demmm 293446a7bd adding base-ui, first preleminary option
Teo Mrnjavac 2120685822 Fix error in headers.
Teo Mrnjavac 27cea281bc Added KDSingleApplicationGuard boilerplate because it's a singleton.
Also DllMacro.h
Teo Mrnjavac b5ec7c4702 CMake skeleton.