Commit Graph

5153 Commits

Author SHA1 Message Date
Adriaan de Groot
52a82ea1e6 [partition] Improve warning message in log 2021-08-26 17:39:06 +02:00
Adriaan de Groot
46ca4d93e7 [partition] Improve constness, naming 2021-08-26 17:30:55 +02:00
Adriaan de Groot
ad9306d7bb
Merge pull request #1749 from LordTermor/calamares
[partition] Disable delete button for extended partition
2021-08-26 17:18:09 +02:00
Adriaan de Groot
51c18baedb Merge branch 'issue-1669' into calamares 2021-08-26 17:15:03 +02:00
Adriaan de Groot
f376b42c31 [welcome] Add a handful of tests for different URL configs 2021-08-26 16:58:46 +02:00
Adriaan de Groot
ad76a2cbe8 [welcome] [welcomeq] Move requirements to Config
The Config object can hold all of the configuration information,
including also the requirements-checking parts. Move requirements-
checking configuration there, so it is shared and consistent
across welcome and welcomeq, regardless.

This repairs the test that expects the Config object to handle
**all** of the configuration, too.
2021-08-26 16:39:55 +02:00
Adriaan de Groot
67d2b5568d [welcome] Fix test, check that the internet check URLs are loaded 2021-08-26 14:40:52 +02:00
demmm
7bfb769288 [localeq] redo i18n.qml
set colors as vars, mostly kirigami colors, to make it work for boths dark & light themes
highlights now full width and on hover
currentindex still at -1, not implemented in cofig.cpp/h, possible to use js, or is
https://github.com/calamares/calamares/blob/calamares/src/modules/locale/LCLocaleDialog.cpp#L43 accessible to QML?
2021-08-26 12:05:38 +02:00
Adriaan de Groot
d5e6e1075d [welcome] Expand stub tests to check that crashes are gone 2021-08-24 13:37:02 +02:00
Adriaan de Groot
e0ee2d9514 [welcome] Handle nullptrs nicely in Config
- Branding, Settings, and ModuleManager may all be nullptr,
  in which case the corresponding code shouldn't call methods
  of those instances -- this is demonstrated by just creating
  a Config object
2021-08-24 12:50:03 +02:00
Adriaan de Groot
e9a98f35ad [welcome] Avoid crash when no Branding available
- don't install translators twice -- do it in setLocaleIndex only
- avoid crash if the branding instance is nullptr
2021-08-24 11:58:24 +02:00
Adriaan de Groot
f1a47a9f0a [welcome] Add (stub) test for the Config object
This crashes because there's no translations object yet,
but that is an internal issue.
2021-08-24 10:24:11 +02:00
demmm
805fed559c [networkcfg] use os.getlogin()
cala running as root returns root for live_user otherwise
2021-08-16 20:17:07 +02:00
demmm
8913317a44 [networkcfg] add setting the correct target user in copied file
see https://github.com/calamares/calamares/issues/1753
2021-08-16 14:06:13 +02:00
Artem Grinev
74a3a2da78 [partition] Fix Delete button for extended
Extended partition can't be removed when contains children. This commit
adds missing check.
2021-08-12 02:13:16 +04:00
Adriaan de Groot
b7a3f58df4 [partition] Update waiting widget only if it (still) exists 2021-08-05 14:51:31 +02:00
Adriaan de Groot
a1690ac2d6 [partition] Set up swap-choice texts correctly 2021-08-04 01:47:55 +02:00
Adriaan de Groot
0be4c38a87 [partition] Remove useless parameter
- previously, updateSwapChoicesTr() wanted to be a static free function,
  but it needs QObject::tr() ; drop the unnecessary parameter (since it
  is a member function).
2021-08-04 01:45:22 +02:00
Adriaan de Groot
390acd41b2 [partition] Factor out manual partitioning translation
- needs to be called when the button is created, too
2021-08-04 01:42:00 +02:00
Adriaan de Groot
c5fa6383d7 [welcome] Remove annoying debug message 2021-08-05 14:25:20 +02:00
Adriaan de Groot
2820316d16 Partition: don't set text if button doesn't exist 2021-08-05 14:23:11 +02:00
Adriaan de Groot
1452b74740 [welcome] Load potentially a list of URLs to check 2021-08-01 23:52:27 +02:00
Adriaan de Groot
559c53b09c [libcalamares]: stronger type for translation name
QString -> Id for translations in the external API, to avoid
accidentally converting a QLocale name (e.g. ca_ES) into a
Calamares translation name. This preserves special-cases
like ca@valencia and sr@latin.
2021-07-28 14:22:28 +02:00
Adriaan de Groot
bc9d8fb13a [libcalamares] Rename files Label -> Translation 2021-07-28 14:22:28 +02:00
Adriaan de Groot
bf9f1c95bc [libcalamares] Rename classes describing Translations
- the name 'Label' was a relic of the class being UI-centered
2021-07-28 14:22:28 +02:00
Adriaan de Groot
fc2286117d [packages] Move package-list-logic into PM base class 2021-07-28 13:13:39 +02:00
Adriaan de Groot
2b485a5e59 [keyboard] Only guess layouts until the user picks one
- when activating the page, the "guess" functions do their
  work and afterwards the config is left in a "guessable"
  state, but if the user makes a specific choice, then
  the config leaves the "guessable" state and the user's
  explicit choice is preserved.

FIXES #1744
2021-07-31 00:24:10 +02:00
Adriaan de Groot
12b23db286 [keyboard] Re-phrase API
- expose only intended API, guessLayout() becomes internal and static
- rename onActivate() since it was *called* for activation, but does
  something totally different.
2021-07-30 22:17:26 +02:00
Adriaan de Groot
f38b518e86 [keyboard] Factor out lambdas to regular slots
- Long and complicated, nested, lambdas are not convenient for reasoning.
- The debug messages from the innermost lambda have a totally useless
  function name, which makes debugging harder.
2021-07-30 13:22:40 +02:00
Adriaan de Groot
e8cb5c621a [partition] Fix build 2021-07-26 20:54:43 +02:00
Adriaan de Groot
616f3d4fd7 [partition] Simplify retranslation of swap choices and manual partitioning 2021-07-26 16:18:31 +02:00
Adriaan de Groot
e0b8942242 [partition] Introduce retranslate slot for ChoicePage, code style 2021-07-26 16:12:41 +02:00
Adriaan de Groot
4114a2bbe8 CMake: chase renamed YAMLCPP 2021-07-26 15:08:29 +02:00
Adriaan de Groot
03e621f4a2 Modules: clean up linking
- do not link (explicitly) to Calamares libraries, the CMake
  functions do that automatically.
- while here, tidy and remove commented-out-bits
- while here, remove unneeded includes
2021-07-26 15:04:43 +02:00
Adriaan de Groot
85a1eb95ee [welcome] Some translation / label fixes
- the message had been arbitrarily changed; change it back
- update (warning) message when there is progress in checking the
  model, so it doesn't stay at "unchecked" until you change language
- minor clean-ups
2021-07-25 00:08:47 +02:00
Adriaan de Groot
51c5c9ba26 [welcome] Switch to using the message from the Config object
- The Config object owns the requirements model, and has messages /
  strings describing the state of the model. Use that message,
  dropping the duplicate message from the requirements widget.
- Re-jig to pass the Config object around rather than the model
  that it owns.
- This does not work, because translation events do not arrive
  (and the slot isn't called automatically either).
2021-07-24 23:15:05 +02:00
Adriaan de Groot
b81bc17560 [welcome] Log when translation events arrive 2021-07-24 16:59:38 +02:00
Adriaan de Groot
949f9e466f [summary] createContentWidget is called exactly once, refactor 2021-07-20 16:24:29 +02:00
Adriaan de Groot
d6fe30dfdb [summary] No need for widget-creation to be a method of the Page 2021-07-20 16:21:59 +02:00
Adriaan de Groot
5de99d53d2 [summary] Move title to Config object
Rather than Config asking its (owning) ViewStep what the title
is -- all existing implementations have a prettyName() for that --
move the title into Config and re-do-the ViewSteps to use it.

Rename init() to something meaningful.
2021-07-20 16:00:53 +02:00
Adriaan de Groot
4e588584d7 [summary] Hook up Config message to page
- the Page displays a simple message describing what the
  summary is all about; Config has the same message,
  use that. Needed some re-jigging to get the signals
  and slots right.
2021-07-20 15:49:03 +02:00
Adriaan de Groot
9eee00c286 [summary] Create Config object
- Create Config object, even if it's not used just yet
- Introduce onLeave() for the Page, better name than
  (re-)creating the content (!?) when leaving
2021-07-20 15:17:35 +02:00
Adriaan de Groot
aba212d700 [summary*] Move Config to the non-QML module, so it can be shared 2021-07-20 14:57:09 +02:00
Adriaan de Groot
f8c3b76367 [summary] Stylistic fixes before moving Config objects around 2021-07-20 14:49:08 +02:00
Adriaan de Groot
6c7e7a6d55 [summaryq] a handful of code-style fixes 2021-07-20 14:45:55 +02:00
demmm
c98b5d7667 [usersq] replace one more (missed) kirigami color 2021-07-16 18:19:10 +02:00
demmm
6bdc655719 [usersq] complete using names for colors
add line breaks
add negative outline color
2021-07-15 19:30:43 +02:00
Adriaan de Groot
1bf73c29c4 [usersq] Use a name instead of a magic number 2021-07-15 17:05:49 +02:00
Adriaan de Groot
56f71501cc [usersq] Back out color-scheme merge 2021-07-15 16:54:02 +02:00
Adriaan de Groot
e361f52415
Merge pull request #1738 from Nitrux/calamares
[usersq]: use system colorscheme instead of hardcoded colors
2021-07-14 16:41:35 +02:00
Adriaan de Groot
3a5334071d [packages] Fix wording problem 2021-07-14 12:54:07 +02:00
Adriaan de Groot
235db9f961 [summaryq] No need to be a ParserStatus object
Config classes, which intend to be shared between widgets-
and QML-based view-steps, should not tie closely to internals.
None of the ParserStatus methods are used in a meaningful
way (init() can be called by the view step).
2021-07-13 22:07:06 +02:00
Adriaan de Groot
768760793a [summaryq] Hide internals of building the summary model 2021-07-13 22:04:01 +02:00
Adriaan de Groot
792ba8c0af [summaryq] Nothing uses the derived type of the model
(This assertion may be dialed back if the Config object is used
in the summary ViewStep, which will want to get at the widget
pointers, but that's for later)
2021-07-13 21:29:17 +02:00
Adriaan de Groot
a658e88575 [summaryq] Nothing in the Config is specific to this QML view-step 2021-07-13 21:25:57 +02:00
Adriaan de Groot
a316f1b40d [summaryq] Repair translatable properties
- doesn't make sense to have NOTIFY and CONSTANT
- connect to translation signals
- document the properties
2021-07-13 20:42:19 +02:00
demmm
1570105ddb [usersq] correct plural form as reported in IRC 2021-07-13 12:46:04 +02:00
Adriaan de Groot
3b7c2b2221 [summaryq] Remove memory leak
Don't use a vector of pointers, it is too easy (like when calling clear())
to leak memory.
2021-07-13 11:02:24 +02:00
Adriaan de Groot
d2e11dd5d1 [summaryq] Apply coding style 2021-07-13 10:36:05 +02:00
Adriaan de Groot
c2d0a247a3 [partition] Simplify code for overloads 2021-07-12 16:52:24 +02:00
Adriaan de Groot
b43759c6a5 [partition] Apply coding style 2021-07-12 15:42:54 +02:00
Adriaan de Groot
e8b17b9878 [partition] Factor out the descriptions per-disk 2021-07-12 15:39:45 +02:00
Adriaan de Groot
400a5751f9 [partition] Factor out description of action in status and widget 2021-07-12 15:17:34 +02:00
Adriaan de Groot
535f81ba8a [partition] Factor out gather job-descriptions
Since prettyStatus() and the summaryWidget share a lot of
strings and code, start factoring that out.
2021-07-12 15:02:24 +02:00
Adriaan de Groot
7094c7bf39 [partition] Minor stylistic bits 2021-07-12 14:56:04 +02:00
Adriaan de Groot
6b9a1530f8 [mount] Add test exercising partial-filtering 2021-07-07 13:08:11 +02:00
Adriaan de Groot
eb4ffe737e [mount] Fix logic
- filter() returns the items for which the predicate is True;
  we want to keep the subvolumes that do not have an explicit
  partition already associated.
- need list() to hammer it back into a list for appending swap subvol.
2021-07-07 12:57:08 +02:00
Adriaan de Groot
995646936f [mount] Add test exercising refactored btrfs code 2021-07-07 12:38:41 +02:00
Camilo Higuita
6ea73a8ca2 usersq: use system colorscheme instead of hardcoded colors 2021-07-06 18:56:45 -05:00
demmm
373b94b968 [packagechooser] Config files adjusted for new QML modules
function added to store selections from packagechooserq
line 103 in Config.cpp needs adjusting to restore working regular widget based packagechooser

prettyStatus added, made visible in packagechooserq only, ViewStep not altered in packagechooser for this yet
2021-07-06 19:37:28 +02:00
demmm
6ccdf79f77 [packagechooserq] adding packagechooserq
QML is not using a model as is now, pkgc option is used for setting the default state
2021-07-06 19:30:50 +02:00
demmm
6bb7df918d [summaryq] adding summaryq
initial work done by Nitrux/Camilo Higuita in 2020, reflected in license headers
C++ adjusted to make it build & work
as noted in the inline comments e80618ef1c
there are quite a few errors in the C++, but it builds, runs and shows the correct output
2021-07-06 19:09:20 +02:00
demmm
6388b41e6c [partition] adding prettyStatus
will be used in summaryq, reading from widgets not an option
section probably better suited for Config.cpp/h, since quite a bit of duplicated code from
createSummaryWidget
2021-07-06 18:59:58 +02:00
Adriaan de Groot
e800b2da2d [mount] Factor out swap-subvolume setting 2021-07-06 16:48:46 +02:00
Adriaan de Groot
cc357140e5 [mount] Factor out the subvolume-filtering for partitions 2021-07-06 16:43:56 +02:00
Adriaan de Groot
6b2088c94e [mount] Restore @home subvolume
In 942221c764 the fixed-setup
(with /@ and /@home) was replaced by the configurable btrfs
layout, but the default went away. Restore the two-subvolume
layout if nothing is configured.
2021-07-06 15:34:13 +02:00
Adriaan de Groot
3531896892 [mount] Factor out the default btrfs configuration 2021-07-06 15:31:00 +02:00
Adriaan de Groot
96c2c62470 [partition] Fix build on older KPMCore 2021-07-06 12:59:01 +02:00
Adriaan de Groot
a4fadcd9be [partition] Introduce check for EFI partition type-and-size
Re-use the existing message about partition type and size,
since I don't want to introduce another message with all the
specifics; give a works-always message instead.

The check itself is also straightforward, avoiding all of the
nuances and technically-this-might-work cases: FAT32, 300MiB+.

FIXES #607
2021-07-06 12:54:25 +02:00
Adriaan de Groot
b5c56fd579 [partition] Clarify comments on boot-flags 2021-07-05 13:33:09 +02:00
Adriaan de Groot
1a542d3afe [partition] Write out type rather than aliasing to T 2021-07-05 13:11:00 +02:00
Adriaan de Groot
7ea6768852 [partition] Pick slightly more sensible defaults for FS selection 2021-07-05 12:39:56 +02:00
Adriaan de Groot
56ecf01dea Merge branch 'pr-1667' into calamares
Allow user-selection of FS type

FIXES #1667
2021-07-05 12:31:58 +02:00
Adriaan de Groot
6a7a486b8c [partition] Document interactions between defaultFS and layout 2021-07-05 12:28:17 +02:00
demmm
8b561a29f5 [usersq] add close button to all password message fields 2021-07-03 14:23:01 +02:00
demmm
fce798dadf [users] add an OK message to password message fields
empty text box on all good status in usersq is confusing
2021-07-03 14:21:07 +02:00
demmm
a156d2e63f [usersq] working password validity check
kirigami inlinemessages adjusted for password fields
coding style, break lines in variables
add closing button for root password inline message, needed bc of
re-use root password option does not remove all messages
2021-07-03 00:10:31 +02:00
demmm
ce699d8e3d [usersq] add warnings for forbidden names
root & localhost set as forbidden in loginname & hostname
2021-06-30 22:29:32 +02:00
demmm
00b6694073 [usersq] use validator for login & hostname
pallette for colors
inline warning messages now work, password fields checks included
left to implement are password validation inline messages
2021-06-30 18:29:32 +02:00
Adriaan de Groot
453d533d2c [partition] Use default FS for layout items with type Unknown 2021-06-29 23:47:33 +02:00
demmm
70df0b0bc8 [localeq] prevent MouseArea from stealing all map interaction
bug introduced with Qt 5.15 KDE patches makes near impossible to set location
adding - 5 seems to fix, otherwise the coordinates label will have to be removed
2021-06-29 17:41:07 +02:00
Adriaan de Groot
c3528e4e40 [partition] Document that the default FS is used, also when erasing 2021-06-29 14:52:16 +02:00
Adriaan de Groot
67fafa04ac [partition] Move fs-type handling into Config
- the defaultFileSystemType interacts with availableFileSystemTypes
  so set them together.
2021-06-29 14:47:09 +02:00
Adriaan de Groot
f494440895 [partition] Don't run bool allowManualPartitioning through GS
It's a bit over-wrought to store a bool in a QVariant in GS for
consumption **only** by ChoicePage, so drop that GS key and store
it locally.
2021-06-29 13:21:46 +02:00
Adriaan de Groot
5e3a0eda73 [partition] Reduce confused naming 2021-06-29 13:01:21 +02:00
Adriaan de Groot
ebecfb9f8b [partition] Simplify config-reading (now the variant-docs are better) 2021-06-29 12:21:14 +02:00
Adriaan de Groot
46f2d72b4c [partition] requiredPartitionTableType: improve docs 2021-06-29 11:48:53 +02:00
Adriaan de Groot
5f7cfefed7 [partition] Migrate EFI settings-setting to Config object 2021-06-29 11:43:20 +02:00
Adriaan de Groot
c3bc305bb6 [partition] Shuffle Config and ViewStep to top
Modules nearly always have a Config and either a Job or ViewStep
as their "top level" components. Everything else is implementation-
detail. The *partition* module was unusual in that those two
"top level" components were tucked away in subdirectories.

Shuffle them to the top: this makes it more clear that these
two files are there to coordinate the module.
2021-06-29 11:22:47 +02:00
Adriaan de Groot
cba5b9e4fb [partition]: restore defaultFileSystemType in config
Add the old key back, document the new key, expand schema.
2021-06-28 22:25:54 +02:00