Commit Graph

260 Commits

Author SHA1 Message Date
Adriaan de Groot
d2f4079a18 [partition] Move partitioning options into a class
- As (auto) partitioning grows more options, the parameter
   list becomes more unwieldy. Add some structure to it.
2018-09-17 06:42:14 -04:00
Adriaan de Groot
5136021416 [partition] Move SwapChoice to another namespace
- The choice of swap needs to be handled in more places,
   so make the enum available in the partition module core instead
   of just inside the choice page.
2018-09-13 06:29:59 -04:00
Adriaan de Groot
846e496d76 [partition] Tidy includes 2018-09-13 05:50:46 -04:00
Adriaan de Groot
959cd7b224 [partition] Simplify creation of comboboxes for swap choices 2018-09-13 04:45:36 -04:00
Adriaan de Groot
cfa940b35c [partition] Support translations of swap choices
- Introduce enum to indicate what is selected
 - Support translations
 - Fill selections for erase
2018-09-12 11:18:17 -04:00
Adriaan de Groot
7d0451fe69 [partition] Rename Choice -> InstallChoice
- There are more choices to be made (or to come) when partitioning,
   so don't take the most generic term for one enum.
2018-09-12 10:16:48 -04:00
Adriaan de Groot
dc492b301c [partition] Drop label on swap-options box 2018-09-12 08:42:21 -04:00
Adriaan de Groot
a791818a65 [partition] Add swap drop-down
- This is WIP; the drop-down contents should be customised,
   depending on configuration and the state of the device being
   installed-to.
2018-09-12 08:18:45 -04:00
Caio Carvalho
b5a2a5bbdd [partition] Don't show erase button for inactive RAID. 2018-08-13 12:26:00 -03: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
3315df5df1 [modules] Use new convenience logging methods across the board 2018-02-13 11:07:12 +01:00
Adriaan de Groot
05967311de [partition] Be defensive against no device-device-available.
Scenario is this: you have no suitable installation devices on
your system (everything is mounted, or HDD has died), click through
to partition page, where you have all the buttons available, but no
devices in the list. The following actions then cause a crash:

 - clicking "back"
 - clicking any button

Prevent that:
 - you can click "back", but if there is no device selected
   nothing happens to the device state (no nullptr deref,
   and no crash)
 - button code is now more resilient to this scenario
 - buttons are hidden until a device is available, so you
   can't even click on them to trigger the code.
2018-01-09 06:58:46 -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
31fa9e4251 Clang: fix warnings on partition splitter
- initialize all the fields
 - member-initialization order
 - silence warnings about double<->int
 - drop unused parameter to setSplitPartition
2017-09-10 06:17:28 -04:00
Adriaan de Groot
3e5916157f A mounted partition cannot be resized or replaced
- add check for isMounted()
 - a device with a mounted partition cannot be (entirely) erased

FIXES #639
2017-09-07 04:55:44 -04:00
Adriaan de Groot
851379628c Reduce Qt runtime warnings.
- deleteLater() doesn't like nullptr (produces a warning, but is harmless)
 - reparenting across threads doesn't work, comment on that but leave
   it in, since this may be relevant for memory management.
2017-09-07 04:24:08 -04:00
Adriaan de Groot
7e66499f36 Refactor check for EFI system.
The TODO stands, to delegate this to KPMCore.
2017-08-28 05:36:45 -04:00
Adriaan de Groot
3c3c0f99f8 C++ trickery, part two: shorten code 2017-07-04 08:42:14 -04:00
Adriaan de Groot
ee4e4dfccc C++ trickery to make the code shorter to read. 2017-07-03 18:07:18 -04:00
Teo Mrnjavac
6545443b24 Documentation++ 2017-03-03 12:32:44 +01:00
Teo Mrnjavac
f4732de975 Always write bootloader path. 2017-01-18 19:38:12 +01:00
Teo Mrnjavac
a59a79a816 bootloaderInstallPath only applies if !isEfi. 2017-01-12 13:28:34 +01:00
Teo Mrnjavac
f3848cd428 The sender QObject should be in scope so the bootloader path is written.
CAL-388
CAL-417
CAL-441
2017-01-10 14:46:07 +01:00
Teo Mrnjavac
5796b05fda Allow disabling automated LUKS modes. 2016-09-26 13:14:54 +02:00
Teo Mrnjavac
c316d22b08 Keep an immutable copy for every scanned Device* to avoid rescans. 2016-09-09 11:28:39 +02:00
Chantara Tith
aa10fe982a API Changes, logicalSectorSize -> logicalSize, totalSectors -> totalLogical. 2016-09-09 11:28:39 +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
edeee85cd3 Write reuse Home check box string. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
e6f9714f84 Avoid homePartitionPath going out of scope. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
90bb64fb17 Pass current index by value. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
aaf85407fb Only look for a separate /home partition if a partition was found. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
6c6e4a1f88 Write reuseHome to GlobalStorage. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
8b0b4c73de Add Q_UNUSED where relevant. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
d44a3d831b Warning fixes: avoid C-style casts. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
30ff216dea Warning fix: implicit cast. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
90c06bd733 Warning fixage (init list order, lossy cast, Q_UNUSED). 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
c1e535a8e8 Hide reuse checkbox on action selection change. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
a17f369cee React to reuse home checkbox by setting /home mount point.
Rearranged Replace workflow a bit: onPartitionReplaceSelected is now
the on choice slot, which in turn calls doReplaceSelectedPartition.
onHomeCheckBoxStateChanged also calls doReplaceSelectedPartition if we
need to redo the Replace task with/without a separate home to keep.
m_reuseHomeCheckBox is hidden by default.
2016-07-22 16:36:26 +02:00
Teo Mrnjavac
2c68802446 Reapply the action choice instead. 2016-06-29 18:46:02 +02:00
Teo Mrnjavac
b2b202d190 Do a full revert. 2016-06-29 18:34:02 +02:00
Teo Mrnjavac
f1a29033a2 Revert PCM before applying Alongside operation. 2016-06-29 18:21:38 +02:00
Teo Mrnjavac
18742d2afd Ignore encrypt widget if the choice is Manual. 2016-06-10 15:22:40 +02:00
Teo Mrnjavac
f5ff716369 Make everything obey the default filesystem type setting. 2016-06-10 15:22:21 +02:00
Teo Mrnjavac
936e7fab7c Initial support for Alongside install with LUKS. 2016-06-07 17:35:39 +02:00
Teo Mrnjavac
fd2d24d650 Always show encrypt widget for Replace. 2016-06-03 17:56:31 +02:00
Teo Mrnjavac
4113207e00 Fix next status handling in alongside and replace. 2016-06-03 17:55:14 +02:00
Teo Mrnjavac
e84108e234 Add encryption support in PartitionActions::doReplacePartition. 2016-06-03 16:39:28 +02:00
Teo Mrnjavac
6cd1bf6b3d Initial work on having the Replace feature obey the encryption setting. 2016-06-02 18:29:17 +02:00
Teo Mrnjavac
a4ab8dad46 Hide encryption widget if not Erase. 2016-05-18 07:22:13 +02:00
Teo Mrnjavac
60dcba8735 Update next state slightly later. 2016-05-17 11:34:30 +02:00
Teo Mrnjavac
b792ea0216 Rebuild autopartition proposal when encryption choice changes. 2016-05-06 18:59:51 +02:00
Teo Mrnjavac
0cc9560a99 Hook up EncryptWidget in ChoicePage, plus improve next status handling. 2016-05-06 18:59:51 +02:00
Teo Mrnjavac
dacb8f2a94 Make sure we don't hide actions based on osprober. 2016-03-18 12:28:54 +01:00
Chantara Tith
fd8c131b26 implement free-space partition replace install 2016-03-18 17:09:50 +07:00
Teo Mrnjavac
83d440f37e Add note. 2016-03-10 13:16:18 +01:00
Teo Mrnjavac
06ebf69afe Initialize all members (fix Coverity defect 98200). 2016-02-26 14:02:22 +01:00
Teo Mrnjavac
a0ac9d9f07 Don't dereference nullptr (fix Coverity defect 121863). 2016-02-26 13:00:58 +01:00
Teo Mrnjavac
e91d213872 Improve setting ESP. 2016-02-19 16:57:49 +01:00
Teo Mrnjavac
e27b9fc295 Handle ESP selector visibility. 2016-02-19 16:51:24 +01:00
Teo Mrnjavac
a4831085fb Only override BIOS bootloader install path if there's no UI. 2016-02-19 16:42:51 +01:00
Teo Mrnjavac
7a89b53538 Refactor leave event of ChoicePage, add ESP mount point support.
PVS now calls ChoicePage::onLeave, which in turn runs ChoicePage::
doAlongsideApply and/or sets up the ESP mount point based on the UI
state if it's running in EFI mode and the action is Alongside or
Replace.
If setting up under BIOS, Alongside and Replace always install
the bootloader in the MBR of the current device.
2016-02-19 16:33:19 +01:00
Teo Mrnjavac
485176d70d And always do that, please. 2016-02-12 16:48:29 +01:00
Teo Mrnjavac
12ec3bb74b Iterate over all partitions for canBeResized check, not just osprober. 2016-02-12 16:45:52 +01:00
Teo Mrnjavac
c3404769dc Use new check as selection filter in view. 2016-02-12 15:02:49 +01:00
Teo Mrnjavac
ffe419751c Use the new canBeResized in ChoicePage. 2016-02-11 17:04:36 +01:00
Teo Mrnjavac
56e6509341 Use it in ChoicePage. 2016-02-11 16:00:36 +01:00
Teo Mrnjavac
0f756c7167 Use it in ChoicePage. 2016-02-10 17:02:42 +01:00
Teo Mrnjavac
7bb76c70ba Set the nested partitions mode in ChoicePage. 2016-02-10 15:00:02 +01:00
Teo Mrnjavac
b17b7a9c89 Asynchronous rescan on device change. 2016-02-09 13:23:23 +01:00
Teo Mrnjavac
877fa98ea6 Revert all devices if core dirty on device choice. 2016-02-09 13:03:14 +01:00
Teo Mrnjavac
ec5a464eda Make sure a default bootloader location is set. 2016-01-29 17:43:55 +01:00
Teo Mrnjavac
7f235525f2 Try slightly smaller action icons. 2016-01-29 17:10:28 +01:00
Teo Mrnjavac
30c38c4f4d Safer pointer. 2016-01-29 17:07:08 +01:00
Teo Mrnjavac
1bc6556b65 We don't need this any more... 2016-01-29 16:49:39 +01:00
Teo Mrnjavac
5ccfc20258 Refactor bootloader picker into the bottom layout. 2016-01-28 18:43:35 +01:00
Teo Mrnjavac
e1a6085a1b Try different layout for first row in ChoicePage. 2016-01-28 13:04:44 +01:00
Teo Mrnjavac
30351d125a Reduce spacing. 2016-01-28 12:53:54 +01:00
Teo Mrnjavac
1a11d8589a Fix layout. 2016-01-27 18:27:03 +01:00
Teo Mrnjavac
b6218272f3 Add BootInfoWidget to ChoicePage. 2016-01-27 18:23:56 +01:00
Teo Mrnjavac
b811f9e261 Fixup strings. 2016-01-25 16:59:05 +01:00
Teo Mrnjavac
16da0bd8d8 I guess this is a better spot. 2016-01-15 18:40:59 +01:00
Teo Mrnjavac
7c7c635d87 Set filter on both views. 2016-01-15 18:40:59 +01:00
Teo Mrnjavac
65230c7954 Add a SelectionFilter lambda for Alongside. 2016-01-15 18:40:59 +01:00
Teo Mrnjavac
f958f69218 Fix weird issue with alongside failing to create new partition. 2016-01-14 18:47:02 +01:00
Teo Mrnjavac
423d2dfc5c Make sure we update the splitter widget after a rescan. 2016-01-14 16:14:57 +01:00
Teo Mrnjavac
601d67988d Fix shrink size computation.
I don't get how this could possibly ever have worked.
2016-01-13 18:23:50 +01:00
Teo Mrnjavac
8525cefb6b Fix next status handling. 2016-01-13 17:55:51 +01:00
Teo Mrnjavac
27d69502a3 Alongside apply slot. 2016-01-13 17:43:59 +01:00
Teo Mrnjavac
cad8845f12 Better name for alongside slot. 2016-01-12 14:04:25 +01:00
Teo Mrnjavac
4537103a43 Set up split widget when a partition is selected. 2016-01-12 11:43:02 +01:00
Teo Mrnjavac
d85bf01107 Initialized view is the best kind of view. 2016-01-11 19:26:14 +01:00
Teo Mrnjavac
37df381404 Proper parenting. 2016-01-11 19:07:48 +01:00
Teo Mrnjavac
80018e1d5b Signal-slot plumbing and splitter setup for Alongside. 2016-01-11 19:02:34 +01:00
Teo Mrnjavac
b3f86925a8 Fix m_choice state. 2016-01-08 16:51:25 +01:00
Teo Mrnjavac
b422f646a6 Make sure the checked state change can happen. 2016-01-08 16:43:58 +01:00
Teo Mrnjavac
bc9ec8e5ba Fix build. 2016-01-08 16:37:45 +01:00
Teo Mrnjavac
3869338c39 Make the QButtonGroup a member in ChoicePage. 2016-01-08 16:35:50 +01:00
Teo Mrnjavac
85a6f2068a Refactor action choice handling with QButtonGroup.
This should improve the situation when unselecting an action without
selecting another one. Unselection can only happen when switching from
a device that supports the currently chosen action to a device that
doesn't support it, so the action gets hidden and unselected.
2016-01-08 15:38:01 +01:00
Teo Mrnjavac
53c27208f1 Also uncheck if hidden. 2016-01-08 14:50:09 +01:00
Teo Mrnjavac
f71ce22f3b Make sure to show all the relevant partitioning actions. 2016-01-08 14:45:58 +01:00