Commit Graph

746 Commits

Author SHA1 Message Date
Adriaan de Groot
0e7c984854 [partition] Add missing includes for Qt 5.15 compatibility 2020-06-03 16:43:31 +02:00
Adriaan de Groot
1c598d769b [partition] Apply coding style (to just this one file) 2020-06-03 16:42:42 +02:00
Adriaan de Groot
3e51fe4651 [partition] Remove spurious Q_FUNC_INFO from logging
- The Q_FUNC_INFO was integrated into regular logging with commit
  5248a37eb3
2020-05-19 16:44:44 +02:00
Adriaan de Groot
68bb066755 [partition] Consolidate SwapChoice handling
- pickOne() may be useful, given a set of swap choices; expose it
- move type definitions to PartitionActions, where some of them
  come from.
2020-05-18 14:12:50 +02:00
Adriaan de Groot
4ae398c18d [partition] Move swap choices into config 2020-05-18 14:03:31 +02:00
Adriaan de Groot
a381d6794f [partition] Migrate required-storage setting to Config object
- Create and use the config object in the view step
- Add setConfigurationMap() to Config
2020-05-18 13:07:12 +02:00
Adriaan de Groot
72857b75d0 [partition] Chase moving PrettyRadioButton to libcalamaresui
- Update includes
- Use exposed API instead of accessing internals of the button
2020-05-18 11:26:22 +02:00
Adriaan de Groot
c4951d5090 [libcalamaresui] Move PrettyRadioButton from partition 2020-05-18 10:38:45 +02:00
Adriaan de Groot
c0a3614f09 [partition] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
cb99f446b3 Merge branch 'issue-1192'
FIXES #1192

(Calls it the *boot* flag when using KPMCore4, which also shows the
flag *boot* in the flags list of the partitioning dialogs)
2020-04-24 11:56:16 +02:00
Adriaan de Groot
479b467bb6 [partition] Substitute in the right flag name
- This uses "esp" in KPMCore 3 and "boot" in KPMCore 4
2020-04-23 13:53:30 +02:00
Gaël PORTAY
d6c373c48d [partition] Allow a configurable EFI System Partition name
This commit adds the new configuration `efiSystemPartitionName` to the
file partition.conf.

This option sets the partition name to the EFI System Partition that is
created. If this option is unset, the partition is left unnamed.
2020-04-21 18:47:05 -04:00
Adriaan de Groot
b271ed19b7 [partition] Fix typo in message 2020-03-28 12:49:34 +01:00
demmm
8dc81b6987 Increase Manual Partition instructions
used downstream since 2014, has helped a lot with increaisng correct setups
2020-03-25 19:43:29 +01:00
Adriaan de Groot
26dd93b67c [partition] Simplify code
- isEfi only used meaningfully once
- if (isEfi) followed by if (!isEfi) can be simpler
- create bios-but-not-GPT strings in one go
- mark TODO that this should warn only if needed
- use weird * notation for branding-strings
2020-03-24 22:32:49 +01:00
Adriaan de Groot
b57e198c29 [partition] Apply coding style
- This isn't particularly related to the change at hand, though.
2020-03-24 22:21:56 +01:00
demmm
b6228d137c Adding popup warning/instructions for GPT with BIOS
see https://github.com/calamares/calamares/issues/1339#issuecomment-600862507
this is a very generic warning, used downstream since 2016
stopped virtual all BIOS GPT failures and questions
2020-03-24 16:59:31 +01:00
Adriaan de Groot
2eb84e2de1 [partition] [tracking] [welcome] Missing Q_OBJECT
- These aren't strictly necessary for the code, but they
  help with translations.
2020-03-19 00:37:37 +01:00
Adriaan de Groot
220fd31226 [partition] Improve EncryptionWidget
- Use normal translation framework. The EncryptWidget was the one place
  not using the "usual" translation framework, but rolled its own.
- Emphasize that the checkbox-state (checked-ness) is the parameter,
  not a state of the EncryptWidget.
- All other instances of UI classes from Designer use a pointer-to-UI,
  not multiple inheritance.
- Convenience method for setting the pixmap in response to
  changes in the passphrase
- Tighten up types: enum -> enum class
- Reduce the scope for int-confusion by using an enum-class for
  the encryption state of the widget
- Include UI implementation header only in .cpp
- Apply coding style
- Update copyright
2020-03-09 21:43:14 -05:00
Adriaan de Groot
ebb3f319cc [modules] Be more consistent in include punctuation
- Use <> for Qt, system, externals
 - Use double-quotes for Calamares headers
2020-03-09 21:05:15 -05:00
Adriaan de Groot
1bb43e06e2 Merge branch 'master' into kpmcore-manager 2020-02-19 18:34:44 +01:00
Adriaan de Groot
b044549013 [libcalamares] Merge PluginDllMacro.h into DllMacro.h
- Let's just have one header definining export- and visibility-
   macros for Calamares. They are still selected based on the
   export flags (*_PRO), just defined in one header instead of two.
2020-02-17 11:37:35 +01:00
Yuri Chornoivan
ea82a26dae
Fix typo:; partitons -> partitions
Many thanks in advance for reviewing.
2020-02-16 14:12:48 +02:00
Adriaan de Groot
45a31a3022 [partition] Tidy includes
- sort includes a little
 - remove superfluous includes
 - update copyright
2020-02-13 13:54:04 +01:00
Adriaan de Groot
d931b146e3 [partition] Shuffle new conveniences into partition service
- the general stuff from KPMHelpers ends up in the partition
   service; that only gets compiled when KPMCore is available anyway.
2020-02-13 13:48:12 +01:00
Adriaan de Groot
e72ecaafd3 Merge branch 'kpmcore-manager'
Introduces a "partitioning service" into libcalamares,
shuffles a bunch of things into it, tries to help out
with settling the system between partitioning actions.
2020-02-13 13:41:53 +01:00
Adriaan de Groot
5a50a3a40c [partition] Consistent FS name usage
- explicit use of user-visible names in EditExistingPartitionDialog
 - consistent conversion of config-values to FS names (user-visible).
   The GS value comes from the ViewStep, and should always match
   something -- it's already converted to the canonical un-translated
   so the type should be good.
2020-02-13 13:24:53 +01:00
Adriaan de Groot
ca67534cd2 [partition] Improve logging of bad configs 2020-02-13 13:15:06 +01:00
Adriaan de Groot
472ec32617 [partition] Be explicit about user-visible FS names, ReplaceWidget 2020-02-13 11:49:20 +01:00
Adriaan de Groot
05dfc24af6 [partition] Be explicit about user-visible FS names, CreatePartitionDialog 2020-02-13 11:45:04 +01:00
Adriaan de Groot
f6d89354a1 Merge branch 'master' into kpmcore-manager 2020-01-10 14:54:13 +01:00
Adriaan de Groot
7fd218d7bf [partition] Chase deprecations in Qt 2019-11-26 16:56:45 +01:00
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01:00
Adriaan de Groot
0aabc89449 [partition] [welcome] Simplify retranslation 2019-08-29 15:02:12 +02:00
Adriaan de Groot
48a25858f0 [partition] Chase 3rdparty move 2019-08-08 12:42:47 -04:00
Adriaan de Groot
4b3bb54320 [libcalamares] Move partition-finding into libcalamares
- Moved from KPMHelpers to the partition service
 - The is-partition and find-partition methods that make sense
   in general, are moved to libcalamares.
2019-06-13 14:41:33 +02:00
Adriaan de Groot
9f0f08b571 [partition] Replace useless qobject_cast
- We know the type of the widget, but were declaring it as
   a QWidget. Just forward-declare the class and be done with it.
2019-06-13 14:02:43 +02:00
Adriaan de Groot
4202126f34 [fsresizer] [partition] Fix build with moved headers
- PartitionIterator has moved into libcalamares
 - While here, sort and organize #include lines
 - Add using to keep code impact small
2019-06-13 12:27:39 +02:00
Adriaan de Groot
74432f698f [partition] Allow the requiredStorage setting to propagate
- store into globalStorage if the welcome module hasn't already done so.
 - this ends up used in PartUtils (via globalStorage).
2019-06-08 14:36:11 +02:00
Adriaan de Groot
e6a2cb607f [partition] Add setting for requiredstorage
- If the welcome module isn't used, can set a required amount
   of storage for the installation here.
2019-06-08 07:48:47 -04:00
Adriaan de Groot
3bdbfe6bff [partition] Avoid crash if combobox is gone and model resets
- Since the lambda is connected to the model only, it should
   check that the target combo exists as well.
2019-05-31 12:08:58 +02:00
Adriaan de Groot
2ce2b08027 [partition] Indent lambdas to tab-stop.
- Lambdas are all over the place in this codebase, formulate
   a standard and start adjusting code to it in passing.
2019-05-31 12:08:58 +02:00
Adriaan de Groot
2bc95d11d3 [partition] Unrelated typo in comment 2019-05-31 12:08:58 +02:00
Adriaan de Groot
f1f5b6c1bb [partition] Restore BootLoader path in Choice Page
- after model resets, restore what was previously selected.
 - This avoids having an **empty** combobox, SEE #1141 but does
   not actually set it back to the value the user had previously
   picked (e.g. changing swap settings **still** breaks the
   selection).
2019-05-31 12:08:58 +02:00
Adriaan de Groot
0ebabfafd4 [partition] Move BootLoaderModel convenience functions
- These were hidden inside PartitionPage, but are useful elsewhere.
2019-05-31 12:08:58 +02:00
Adriaan de Groot
8d451622db [partition] Idiomatic use of Calamares::JobList 2019-05-28 16:39:00 +02:00
Adriaan de Groot
e2b71e669e [partition] When running UNSAFE, no-install-partition is a warning 2019-05-28 16:29:45 +02:00
Adriaan de Groot
81715ba199 [partition] Warnings-- by using nullptr instead of 0 2019-05-14 05:29:19 -04:00
Adriaan de Groot
bffaf47900 [partition] Reduce warnings about integer size 2019-05-14 05:29:18 -04:00
Adriaan de Groot
707ec98553 [partition] Tidy labels view
- Use MiB terminology and support code
 - Remove debugging chattiness
 - Fix up include style
2019-05-09 07:58:20 -04:00
Adriaan de Groot
d3783ef293 [partition] Use GiB and MiB consistently 2019-05-06 16:47:11 +02:00
Adriaan de Groot
502d43d111 [welcome] [partition] Rename GlobalStorage variable used for storage
- Change name passed into GS to use "GiB" instead of "GB", for
   consistency. This needs to be done in consumers as well.
2019-05-06 16:39:14 +02:00
Adriaan de Groot
090aee9196 Modules: adjust to split-out utils/Variant.h
- Most modules only needed the variant support, not the "whole"
   CalamaresUtils header.
 - While here improve ordering of headers as well.
2019-04-29 06:14:21 -04:00
Adriaan de Groot
e8264a4503 [partition] Prefer GPT on EFI systems for new partition table 2019-04-25 14:40:27 +02:00
Adriaan de Groot
516b3b4b6c [partition] Adjust to logging-API changes
- missed due to #ifdef on a KPMcore API version I don't have on
   my main workstation.
2019-04-25 13:42:59 +02:00
Adriaan de Groot
3533bb3c2d Merge branch 'master' into issue-1061 2019-04-24 12:26:01 -04:00
Adriaan de Groot
08e4090354 Merge remote-tracking branch 'origin/raurodse-branding'
FIXES #961
2019-04-23 16:41:22 -04:00
Adriaan de Groot
cef2f50510 Reduce warnings about extra ;
- Trailing ; after Q_UNUSED
 - Trailing ; after CALAMARES_RETRANSLATE
2019-04-18 12:06:09 +02:00
Adriaan de Groot
dbac9ecf7b [partition] Remove unused code
- The name table is in PartitionActions::Choices
2019-04-15 10:14:37 -04:00
Adriaan de Groot
63b317902d [libcalamares] [partition] Adjust to logging changes
- Use the un-paren'ed Continuation and SubEntry
2019-04-15 08:27:43 -04:00
Adriaan de Groot
c0710cabe4 [partition] [fsresizer] Adjust to new #define
- Using KPMCORE4API is clearer than just relying on a version number
2019-04-12 12:16:55 +02:00
Adriaan de Groot
1a063a9b5d [partition] Use modern tr() annotation 2019-04-11 10:28:35 -04:00
Adriaan de Groot
78d6b51c3c [partition] Don't translate placeholder --- 2019-04-11 10:01:34 -04:00
Adriaan de Groot
04146df36b [partition] Reduce logging for mounted partitions
- The other log entries say when something is possible,
   not when something is **not** possible.
2019-04-04 17:46:48 +02:00
Adriaan de Groot
6bccbcd1f5 [partition] Improve logging of status of choice buttons 2019-04-04 17:37:37 +02:00
Adriaan de Groot
4282e4c31f [partition] Instantiate the manual-partitioning page on-demand
- When the manual partitioning page exists, it reacts to
   changes in a bunch of models; these models can be changed
   repeatedly from the choice page.
 - the manual partitioning page really only needs to deal with
   the relevant selections at the moment it is instantiated.
2019-04-02 05:46:37 -04:00
Adriaan de Groot
71fd3ab010 [partition] Check-which-page consistently 2019-04-02 05:46:37 -04:00
Adriaan de Groot
8f9b9a2ccf [partition] Remove unused include 2019-04-02 05:46:37 -04:00
Adriaan de Groot
df921606b9 [partition] Update copyright headers
- Files modified in 2019 by me
2019-04-01 07:55:14 -04:00
Adriaan de Groot
b55a6cf716 [partition] Improve type-constness
- Don't bother copying the vector of available PVs, we need the
   contained pointers.
2019-04-01 07:50:59 -04:00
Adriaan de Groot
7806ccbe72 [partition] Drop superfluous debug logging
- While here, update copyright header
2019-04-01 07:39:19 -04:00
Adriaan de Groot
b03d72952b [partition] Improve logging 2019-03-30 06:36:51 -04:00
Adriaan de Groot
273c32705d [partition] Restore selected bootloader
- After the BootLoader model is reset, if a bootloader location
   has been selected before, try to find it in the (now-reset)
   model to preserve the selection.
2019-03-29 12:00:27 -04:00
Adriaan de Groot
dc04aa999d [partition] Introduce post-reset slot for boot loader selection 2019-03-29 11:34:07 -04:00
Adriaan de Groot
2a2795c54c [partition] Avoid KPMCore warnings
- Get ready for KPMCore post-3.3.0, which deprecates a bunch of
   Flag<foo> and State<foo> in preparation of enum classes.
2019-03-20 18:13:39 +01:00
Adriaan de Groot
1ffc0bf77d [partition] Allow all the unsafe options
- If the unsafe actions are enabled, but won't be executed,
   allow more unsafe actions like erasing mounted partitions
   and everything.
2019-03-20 11:26:02 +01:00
Adriaan de Groot
105f9c4861 [partition] Set firmware type
- This got lost in 3.2.4.
 - Thanks Gabriel for hunting it down; patch applied with some changes.
2019-03-11 17:50:27 -04:00
Adriaan de Groot
fdb4311a70 Merge branch 'issue-1098'
- Doesn't fix the issue, but adds useful things I want in master
   already, also for debugging other issues.
2019-03-01 07:09:45 -05:00
Adriaan de Groot
2b149fb944 [partition] Uncomment updateButtons()
- This was commented out to combat the crash in device->type()
 - I believe the crash was caused by double-deletion, which was
   fixed in 2092ec3c9a by not re-
   parenting an immutable copy of something.
 - Restore the button-fix, since we need that to keep the
   *create* button in-sync with the selected partition.

FIXES #1097
2019-03-01 06:56:52 -05:00
Arnaud Ferraris
982840bafd [partition] Allow a configurable EFI System Partition size
As requested, this commit adds a new configuration option to the
partition.conf file, name `efiSystemPartitionSize`.

When this option is absent, the default size of 300MiB will be used.

Fixes #1090

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-28 13:51:32 +01:00
Adriaan de Groot
b4cefff975 [partition] Avoid heap-wrangling
- The CreatePartitionDialog doesn't need to be on the heap, it's
   modal here. Avoid QPointer weirdness as well.
2019-02-26 07:21:36 -05:00
Adriaan de Groot
943f3fb1f9 [partition] Improve debug-logging
- Use cDebug() instead of qDebug()
 - Be more chatty when selecting a bootloader installation path
2019-02-26 07:10:56 -05:00
Adriaan de Groot
92d9c9491a [partition] Reduce lambda-happiness
- Make some methods that are called mostly as slots, actual slots,
   instead of going through extra lambdas.
 - Use QOverload<>::of for disambiguation instead of homebrew casts.
2019-02-26 07:05:32 -05:00
Adriaan de Groot
8cf3c217f7 Merge branch 'requirements-checking' 2019-02-25 10:00:43 -05:00
Adriaan de Groot
cece01e3c5 [partition] Simplify next() 2019-02-25 07:59:58 -05:00
Adriaan de Groot
08565b5f17 [libcalamaresui] Remove the signal done() from ViewStep
- The signal is emitted, generally from next(), but not actually used.
2019-02-25 07:34:40 -05:00
Adriaan de Groot
fbb513eee3 [partition] Remove artificial delay
- The sleep(3) was meant as a debugging aid for the multi-threaded
   part of requirements checking.
2019-02-25 06:45:17 -05:00
Adriaan de Groot
40de1bd2eb [partition] Give requirement entry a description
- The description is used in the Details dialog when the
   requirements fail. This one should be visible.
2019-02-25 05:12:03 -05:00
Adriaan de Groot
2092ec3c9a [partition] Drop some re-parenting trickery
- Can't re-parent across threads easily
 - If device is made by immutableDeviceCopy(), then it's still owned by the
   PartitionCoreModule; giving it away to the widget is not a good idea.
2019-02-25 04:36:46 -05:00
Adriaan de Groot
be5abf08dc
Merge pull request #1094 from a-wai/fix-default-fs
[partition] Fix default fs

FIXES: #1093
2019-02-22 15:55:44 -05:00
Arnaud Ferraris
74ead4c7ba [partition] improve filesystem search operation
Due to changes to the FileSsytem::typeForName() function, more
processing is needed to deal with locales and different cases.
This is done by refactoring the findFS() function, initially located in
the PartitionViewStep class, and making it available to the whole module.

Additionnally, more checks have been implemented regarding the use of
global storage in the PartitionLayout class, and the filesystem types
now use the correct FileSystem::Type, as requested.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2019-02-22 18:42:16 +01:00
Adriaan de Groot
79c20b8fbd [partition] Fix user-visible strings
- The default window title in the designer file wasn't a good string
   to translate. Use one of the titles instanced from elsewhere.
 - The window titles set in subclasses were not translatable.

FIXES #1092
2019-02-22 07:03:38 -05:00
Dan Simmons
651b52ead9 Fix spelling typo 2019-02-20 05:00:58 -05:00
Adriaan de Groot
43eae0bc47 Merge branch 'master' into requirements-checking 2019-02-15 00:32:45 +01:00
Adriaan de Groot
6fbc467795 [partition] Reduce Transifex warnings
- the string here has no context (no QObject-derived class that
   it is called in) so use the static method instead.
2019-02-14 16:08:55 -05:00
Adriaan de Groot
2a8960cd0f [partition] Ensure combobox pre-selects consistently
- Match the selected item in the combobox with a given default,
   which should be whatever is selected from the available set of
   choices.
2019-02-12 07:30:34 -05:00
Adriaan de Groot
5f20eedb6e [partition] Use swap-choice member, not the combobox pointer
- Store changes to the selected swap-choice when the combobox changes
 - Use that member instead of dereferencing the combobox

This avoids nullptr crashes when the combobox isn't even created
(e.g. when there is only one swap choice).
2019-02-12 07:21:35 -05:00
Adriaan de Groot
a4e6d4cd35 [partition] Rename combo box
- Too much confusion possible between the different members all
   named variations of *SwapChoice*
 - Update copyright years, too
2019-02-12 05:40:11 -05:00
Adriaan de Groot
335976e32c [partition] Improve defaultFS handling
- drop the localized comparisons; that's just confusing
 - warn when no default FS is set (then use ext4)
 - fix case-insensitive fallback; it used fsType, which was
   set to Unknown in the for loop.
2019-02-12 05:15:56 -05:00
Adriaan de Groot
b9fa0398c0 [partition] Disable one call to updateButtons()
- suggested by @abucodonosor, removing this one call seems
   to solve the data race for the device model.
2019-02-11 18:26:45 -05:00