Commit Graph

958 Commits

Author SHA1 Message Date
Adriaan de Groot
3c3c0f99f8 C++ trickery, part two: shorten code 2017-07-04 08:42:14 -04:00
Adriaan de Groot
232bbe18bc Be more verbose while scanning devices 2017-07-04 05:32:05 -04:00
Adriaan de Groot
ee4e4dfccc C++ trickery to make the code shorter to read. 2017-07-03 18:07:18 -04:00
Adriaan de Groot
79595eb532 Coverity: explicitly initialize 2017-07-03 09:21:05 -04:00
Adriaan de Groot
c0b3f3fe9d Clang: reduce warnings; make enum-switch explicit 2017-06-28 05:49:53 -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
6616315269 Partitionmanager: minor docs edit 2017-06-20 10:03:44 -04:00
Adriaan de Groot
8708260689 Partitionmanager: fix PM-tests build 2017-06-20 09:45:32 -04:00
Adriaan de Groot
7ebbcc33b2 Partitionmanager: remove unused code files 2017-06-20 07:23:04 -04:00
Adriaan de Groot
ea44021cb4 Partitionmanager: partly fix PM-tests build 2017-06-20 07:10:29 -04:00
Adriaan de Groot
46a2503c87 PartitionModule: skip nullptr devices, and report count
FIXES #686
2017-06-14 12:24:32 -04:00
Adriaan de Groot
92a2c7aa70 PartitionModule: avoid nullptr crashes
Fix up iterator code so that it handles nullptr better.
This avoids part of #686.
2017-06-14 12:24:32 -04:00
Adriaan de Groot
3677708d3e PartitionModule: look for atasmart and blkid, to avoid link-time failure.
This just puts a warning in the cmake log, but will help diagnose
situations where libatasmart.so.4 is installed, but libatasmart.so
is not -- in which case -latasmart fails.
2017-06-14 12:23:33 -04:00
Adriaan de Groot
e92d82c5db Cleanup: add copyright lines 2017-06-12 09:59:04 -04:00
Adriaan de Groot
fc5522741a Bump required KPMCore to 3.0.3
The newer release resolves (upstream) a problem with NVMe encryption.

FIXES #697
2017-06-12 12:36:45 +02:00
Adriaan de Groot
aea73b982e Cleanup: require ECM 5.10 or later (released 2015) 2017-06-12 05:14:27 -04:00
Adriaan de Groot
5382a510a9 Cleanup: switch to C++11 user-defined literals 2017-06-12 04:51:55 -04:00
Adriaan de Groot
4fab3c93c2 Docs: document effect of ensureSuspendToisk more thoroughly 2017-06-12 04:19:31 -04:00
Adriaan de Groot
829f72363e Cleanup: remove duplicate #define 2017-06-12 03:32:22 -04:00
Rohan Garg
bba2f65079
Add additional variables to help improve readability 2017-04-20 01:38:30 +02:00
Teo Mrnjavac
6545443b24 Documentation++ 2017-03-03 12:32:44 +01:00
Teo Mrnjavac
80beb87ae9 Documentation++ 2017-03-03 12:32:44 +01:00
Teo Mrnjavac
6c7cdb5f50 Documentation++ 2017-03-01 13:35:06 +01:00
Teo Mrnjavac
3aebb79d30 Add optional config value neverCreateSwap in partition module.
CAL-458 #close The feature has landed in master, please test.
2017-02-09 18:08:47 +01:00
Ramon Buldó
f0b4a21b2d partition: use always double click to activate a partition tree view item
Using activated signal may use single or double click depending on environment settings
2017-02-07 17:58:56 +01:00
Teo Mrnjavac
06b1d4abd2 Don't hardcode /dev/sd* as device path. 2017-02-02 16:59:17 +01:00
Teo Mrnjavac
f4732de975 Always write bootloader path. 2017-01-18 19:38:12 +01:00
Teo Mrnjavac
45adde11e1 Do not write bootloader install path if the system is EFI. 2017-01-18 12:11:25 +01:00
Teo Mrnjavac
4f1317d1b7 Force the correct flags for EFI system partition. 2017-01-12 16:52:22 +01:00
Teo Mrnjavac
a59a79a816 bootloaderInstallPath only applies if !isEfi. 2017-01-12 13:28:34 +01:00
Teo Mrnjavac
3285ebae67 Bump KPMcore dependency to 3.0.2. 2017-01-11 12:25:49 +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
c158893b22 Style + translation. 2017-01-04 15:28:09 +01:00
Teo Mrnjavac
2aeadf9682 Better to keep font style manipulation to a minimum. 2017-01-04 15:28:09 +01:00
Teo Mrnjavac
e9f113a6a8 Translate user-visible strings! 2017-01-04 15:28:09 +01:00
Teo Mrnjavac
028f56d94a Better to keep font style manipulation to a minimum. 2017-01-04 15:28:09 +01:00
Teo Mrnjavac
3ec7c6f881 Style. 2017-01-04 15:28:09 +01:00
Lisa
02abc0d0a7 Merge pull request #276 from shainer/mountpoint
Disallow assigning the same mountpoint to two partitions
2016-12-31 18:49:05 +01:00
Teo Mrnjavac
40eba50821 Improve debug output. 2016-12-23 14:17:57 +01:00
Teo Mrnjavac
244b4dff83 Improve debug output. 2016-12-23 14:03:47 +01:00
Teo Mrnjavac
457172df66 Do not dereference nullptr. 2016-12-13 12:17:07 +01:00
Teo Mrnjavac
e2b2d761c2 Do not LINK_PUBLIC by default. 2016-12-07 16:37:29 +01:00
Teo Mrnjavac
45315e6ae9 Improve debug output for bootloader code path. 2016-12-02 18:36:02 +01:00
Teo Mrnjavac
e10034c670 Bump KPMcore requirement. 2016-12-01 19:15:11 +01:00
Teo Mrnjavac
2230cd6941 Use the LUKS filesystem's outer UUID for the color index. 2016-11-30 17:26:49 +01:00
Teo Mrnjavac
0ad819e301 Make sure we write the inner fs type to globalstorage. 2016-11-25 16:21:25 +01:00
shainer
2759529841 Remove current partition's mountpoint from used list.
This means that when we edit a partition, we don't consider
its current mountpoint invalid because it is already in-use.

We need to do this for both "edit existing partition" and
"edit a partition that we are still creating".
2016-11-20 23:19:33 +00:00
shainer
349470ae71 Check mountpoints when editing a partition too. 2016-11-20 23:06:03 +00:00
shainer
8c1199df2d Check first selection of mountpoint too.
When opening the dialog.
2016-11-20 23:05:44 +00:00
shainer
f51b05e8aa Get the mountpoint from PartitionInfo.
The Partition object includes the root mountpoint in
the partition mountpoint, which is not what we want.
2016-11-20 22:46:28 +00:00
shainer
c8dbeb5341 Avoid creating a new partition with a used mountpoint.
We get the mountpoints already used by other partitions, and
disable the Ok button in the "Create new partition" dialog if
the user selects/writes a mountpoint which is already used.

We are going to do the same in the Edit partition dialog
after testing.
2016-11-20 22:05:55 +00:00
Teo Mrnjavac
83b51a5867 Show warning. 2016-11-17 19:03:24 +01:00
Teo Mrnjavac
17fe2d82f4 Oops. 2016-11-17 18:28:58 +01:00
Teo Mrnjavac
a55bef5d2d Warn user about encrypted root with unencrypted /boot. 2016-11-17 18:15:37 +01:00
Philip
e8f694fe02 [partition] Bump kpmcore requirements 2016-11-09 08:47:27 +01:00
Kevin Kofler
1548fe4810 [partition] Use FlagEsp instead of sgdisk to scan for ESPs.
Address an old FIXME in
PartitionCoreModule::scanForEfiSystemPartitions(): Check the FlagEsp on
the Partition object (that KPMcore has been supporting since 2.1.0)
instead of running sgdisk.
2016-10-29 01:09:14 +02:00
Kevin Kofler
5377003f89 Set the ESP flag in partition rather than bootloader.
The manual partitioning setup was already requiring the user to check
the ESP flag for the EFI System Partition. Now the autopartitioning also
sets it directly (a one-line change). The sgdisk call in the bootloader
module is thus no longer necessary (it was only a workaround because
kpmcore < 2.1.0 did not support FlagEsp), so remove that snippet.

This fixes configurations such as NVME disks where splitting boot_device
into boot_device[-1:] and boot_device[:-1] is not the correct split
(because the partition gets a 2-letter suffix) (reported by demmm on
IRC).
2016-10-29 00:52:38 +02:00
Teo Mrnjavac
fbe72b3663 Improve user-visible strings in SetPartFlagsJob. 2016-10-28 09:24:00 +02:00
Teo Mrnjavac
6e7dc0b437 Use the target system's boot name in partitioning summary widget. 2016-10-14 15:27:24 +02:00
Teo Mrnjavac
5796b05fda Allow disabling automated LUKS modes. 2016-09-26 13:14:54 +02:00
Chantara Tith
64db6d5ba1 Use device's immutable copy instead of rescanning. 2016-09-11 16:20:50 +07:00
Teo Mrnjavac
c316d22b08 Keep an immutable copy for every scanned Device* to avoid rescans. 2016-09-09 11:28:39 +02:00
Teo Mrnjavac
464336d609 Assert on nullptr Device*. 2016-09-09 11:28:39 +02:00
Chantara Tith
23026252a8 Update to KPMcore LUKS' API changes 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
Teo Mrnjavac
cbb2162ee9 Merge pull request #255 from stikonas/master
Port away from most cases of Q_FOREACH to C++11 ranged for loop.
2016-09-02 15:14:25 +02:00
Teo Mrnjavac
6c928e0404 Exclude ISO9660 volumes. 2016-09-02 15:12:48 +02:00
Teo Mrnjavac
ad219e1b8e Exclude loop devices with mounted children from devices list. 2016-09-02 12:08:00 +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
849137c20b Use UUIDs instead of paths to match osprober entries with partitions. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
811261258b Try to load filesystem UUIDs into the OsproberEntryList structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
f13f6a1faf Add filesystem UUID to OsproberEntry structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
18b6e56271 nullptr safety. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
754cfc78b3 Make che color cache indexed by UUID instead of by path. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
003456594e Try with new enumeration but no cache reset. 2016-07-27 16:55:22 +02:00
Teo Mrnjavac
1da4360ed6 Go on with colors enumeration even when there's a new partition. 2016-07-27 16:53:17 +02:00
Teo Mrnjavac
c08eecbbaf Invalidate colors cache on delete. 2016-07-27 16:49:53 +02:00
Teo Mrnjavac
9f1f3a8f54 Add invalidateCache to ColorUtils. 2016-07-27 16:49:13 +02:00
Teo Mrnjavac
e9da3acd95 Fix EncryptWidget height. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
04ab71bad9 Fix default new partition text. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
9c90a2a500 Useless margins are useless. 2016-07-22 16:36:26 +02: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
bc345b3ddc Add "reuse home" check box to .ui. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
45ed210192 Add OsproberHomePartitionPathRole to PartitionModel. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
be3070ca48 Populate /home partition path, if any. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
1443b335d3 OsproberEntry.cpp be gone! 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
edecccfa46 Build it. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
5fe5b8a4f3 Add some guesswork to acquire a part node from a fstab entry for /home. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
f2f5a18984 Reading a system's fstab lines into the osprober entries list. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
098aa5546c Add struct FstabEntry to OsproberEntry.h. 2016-07-22 16:36:26 +02:00
Teo Mrnjavac
2951c88990 Init filesystems asynchronously. 2016-07-20 13:02:04 +02:00
Teo Mrnjavac
45f6e6c55b Rearrange asynchronous scan in PartitionCoreModule a bit. 2016-07-19 13:04:00 +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
9d4a636a16 Revert "Improve debug output in PartitionBarsView."
This reverts commit 9e186190fc.
2016-06-24 17:38:52 +02:00
Teo Mrnjavac
59f0e9cc2d Revert "Improve debug output."
This reverts commit 3d5ccb2712.
2016-06-24 17:38:45 +02:00
Teo Mrnjavac
e96c7f95ef Improve debug output. 2016-06-24 17:15:26 +02:00
Teo Mrnjavac
9888a4e5d3 Only make it dirty if something changes. 2016-06-24 17:06:39 +02:00
Teo Mrnjavac
a96b7c1596 Reset previous spinBox value on resizer widget reset. 2016-06-24 17:00:55 +02:00
Teo Mrnjavac
1f664f1eec Keep track of previous spinbox value. 2016-06-24 16:58:23 +02:00
Teo Mrnjavac
cd94768850 Revert "Try to work around spinbox dirty status change on apply issue."
This reverts commit 9c90d54eda.
2016-06-24 16:46:56 +02:00
Teo Mrnjavac
9c90d54eda Try to work around spinbox dirty status change on apply issue. 2016-06-24 16:28:17 +02:00
Teo Mrnjavac
5450a18c85 Copyright. 2016-06-24 16:05:33 +02:00
Teo Mrnjavac
2e173c183f Do not align partition boundaries unless explicitly requested. 2016-06-24 16:04:48 +02:00
Teo Mrnjavac
9d995f3625 Use length instead of calculating sectors count. 2016-06-24 15:10:20 +02:00
Teo Mrnjavac
4f41cf54a9 Hook up PartitionLabelsView to model. 2016-06-23 10:01:13 +02:00
Teo Mrnjavac
3940e2b09d Add config option for always showing partition labels. 2016-06-23 10:00:55 +02:00
Teo Mrnjavac
5520972e5a Add labels view to manual partitioning page. 2016-06-23 10:00:00 +02:00
Teo Mrnjavac
3d5ccb2712 Improve debug output. 2016-06-23 09:48:03 +02:00
Teo Mrnjavac
9e186190fc Improve debug output in PartitionBarsView. 2016-06-22 18:18:53 +02:00
Teo Mrnjavac
d6676b2245 Retry mke2fs before giving up. 2016-06-21 17:20:45 +02:00
Teo Mrnjavac
ce8ffb8e52 Bump KPMcore. 2016-06-17 15:24:14 +02:00
Teo Mrnjavac
49cb6d304d Add a controlled number of retries to fsck, 2sec apart. 2016-06-17 13:55:37 +02:00
Teo Mrnjavac
e7c5a2b1a5 Try running fsck twice before giving up. 2016-06-17 12:07:57 +02:00
Teo Mrnjavac
bea6b5f17e Stupid compilers are stupid. 2016-06-13 15:13:26 +02:00
Teo Mrnjavac
8ff943e5b5 Improve check for encryption status. 2016-06-10 17:52:54 +02:00
Teo Mrnjavac
7a03dc102d Update fields when the default filesystem is chosen. 2016-06-10 16:05:34 +02:00
Teo Mrnjavac
fe107ac762 Obey default FS type setting in EditExistingPartitionDialog. 2016-06-10 15:41:53 +02:00
Teo Mrnjavac
395fb340b7 Make the Create Partition dialog obey the default FS type setting. 2016-06-10 15:37:11 +02:00
Teo Mrnjavac
a00ebc01e7 Use EncryptWidget for relevant partition types in CreatePartitionDialog. 2016-06-10 15:22:40 +02:00
Teo Mrnjavac
d75d5c76fe Add EncryptWidget to CreatePartitionDialog.ui. 2016-06-10 15:22:40 +02:00
Teo Mrnjavac
99e719882f Add setText/reset to EncryptWidget, and fix tooltip string. 2016-06-10 15:22:40 +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
6fa467715c Add default value to partition.conf. 2016-06-10 15:08:37 +02:00
Teo Mrnjavac
498af8deef Add defaultFileSystemType to settings. 2016-06-10 15:08:24 +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
c9fac9bc5c Manage PCM loading with QtConcurrent. 2016-05-26 15:35:24 +02:00
Teo Mrnjavac
0666fb4977 Defer PartitionCoreModule initialization so it doesn't block startup. 2016-05-26 15:08:37 +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
Chantara Tith
a25a0ffa2c Update PartitionPage.cpp
increase readability.
2016-05-14 02:29:56 +07:00
Teo Mrnjavac
2050ce97d7 Merge pull request #241 from tctara/master
Disk selections in partitioner are not sticky[CAL-361]
2016-05-13 19:44:33 +02:00
Teo Mrnjavac
4c2a327d21 Close crypto devices in ClearMountsJob. 2016-05-13 17:11:13 +02:00
Chantara Tith
625bbb6a4b Disk selections in partitioner are not sticky 2016-05-13 19:26:03 +07:00