Commit Graph

138 Commits

Author SHA1 Message Date
Adriaan de Groot
938536c0c3 [netinstall] Allow post-creation loading of model data
- Instead of loading all in the constructor, provide a public
  setupModelData().
- This allows creating the model and setting it for UI, before
  the load completes.
2020-03-24 12:36:31 +01:00
Adriaan de Groot
5e03df723c [netinstall] Add a (stub) Config object
- Add initial definition of Config object, which will extract the model-
  setting and loading code from the page, and which is also prep-work
  for a QML version of this module.
- While here, remove superfluous code
2020-03-24 12:05:48 +01:00
Adriaan de Groot
1a5c916923 [netinstall] Implement local loading of packages
- For a static list of selectable packages (e.g. what you might otherwise
  use file:/// for with a static file on the ISO) you can now stick the
  list in the config file itself, simplifying some setups.
- Also saves faffing about with network.

SEE #1319
2020-03-24 11:35:58 +01:00
Adriaan de Groot
f59cae2dbb [netinstall] Document local URL
- `local` is supposed to read from the config-file, rather than
  externally; this simplifies examples, makes it easier to have
  multiple netinstalls, and condenses the documentation.
2020-03-23 17:20:14 +01:00
Adriaan de Groot
fa28788f78 [netinstall] Build the model from QVariantList always 2020-03-23 17:20:14 +01:00
Adriaan de Groot
ebc1db6a7b [netinstall] Test loading of a whole (example) file 2020-03-23 17:20:14 +01:00
Adriaan de Groot
f592a3f373 [netinstall] Expand tests to include group-checking
- Check groups
- Check whole treemodels recursively (this is not in PackageTreeItem,
  because that explicitly ignores the tree structure).
- Also a stub of checking example files (from the src dir)
2020-03-23 17:19:32 +01:00
Adriaan de Groot
025ab8b524 [netinstall] Be explicit about checkedness-to-bool conversions 2020-03-23 17:19:32 +01:00
Adriaan de Groot
0e2b3986b9 [netinstall] Use explicit accessor for the type-of-item 2020-03-23 17:19:32 +01:00
Adriaan de Groot
f7191ac29e [netinstall] Compare two PackageTreeItems
- Packages and groups check different fields for equality.
- Selected-state is **not** part of equality.
- Also operator !=
2020-03-23 17:19:15 +01:00
Adriaan de Groot
52d3f4417f [netinstall] Add explicit isGroup()
- Previously you would either need to know where in the tree a
  PackageTreeItem was, or guess that an empty packageName() means that
  it's a group.
2020-03-23 17:19:14 +01:00
Adriaan de Groot
bca316299e [netinstall] Add tests
- Just some simple tests for the Items
- Test creation of package group from variant
- This needs Qt5::Gui to link because QStandardItem is a GUI class,
  although we can run the tests without a GUI.
2020-03-23 17:19:00 +01:00
Adriaan de Groot
dc403237f2 [netinstall] Build model from QVariantList
- As an alternative to the YAML-wranging, build the model from
  a QVariantList instead.
- Expose this as a constructor, too.
2020-03-23 17:18:44 +01:00
Adriaan de Groot
4143ad67af [netinstall] Remove superfluous code
- The constructor for PackageTreeItem now takes over the selected
  state from the parent.
2020-03-23 17:18:44 +01:00
Adriaan de Groot
c7b646315a [netinstall] Add immutable to groups settings 2020-03-23 17:18:44 +01:00
Adriaan de Groot
4cb2ed9552 [netinstall] Chase removal of ItemData
- Simplify creation of PackageTreeItems by interpreting the
  YAML directly (instead of via ItemData),
- Simplify list types,
- Drop superfluous API.
2020-03-23 17:18:44 +01:00
Adriaan de Groot
c66ef5a201 [netinstall] Refactor: kill ItemData
- This doesn't compile right now.
- The nested class ItemData doesn't do anything useful or
  meaningful that having model items with the right data wouldn't.
2020-03-23 17:18:44 +01:00
Adriaan de Groot
8825c9c995 [netinstall] Apply coding style 2020-03-23 17:18:44 +01:00
Adriaan de Groot
e2d9ce737c [netinstall] Implement pre-expanded groups
- Return relevant data
- Document code
- Add to README.md documentation about new key
2020-03-10 12:59:41 -05:00
Adriaan de Groot
b9b48cfbb1 [netinstall] Apply coding style
- Some missing {} were not noticed by astyle
2020-03-10 12:49:12 -05:00
Adriaan de Groot
4f216b0394 [netinstall] Refactor model-data setting
- Introduce convenience methods getString(), getBool() to pick
  out an entry from item definitions in YAML format.
- Apply coding style.
- Pick up the "expanded" property as well.
2020-03-10 12:46:49 -05:00
Adriaan de Groot
0f7f5216ee [netinstall] isHidden is const after construction 2020-03-10 12:39:35 -05:00
Adriaan de Groot
b074696ac1 [netinstall] isCritical is const after construction 2020-03-10 12:38:11 -05:00
Adriaan de Groot
09006a936d [netinstall] Expand groups if requested 2020-03-10 12:37:57 -05:00
Adriaan de Groot
4f22a70b08 [netinstall] Restructure model-method data() 2020-03-10 12:30:33 -05:00
Adriaan de Groot
df86972ea7 [netinstall] Introduce constexpr names for columns and roles 2020-03-10 12:22:56 -05:00
Adriaan de Groot
3d68c74a19 [netinstall] Sanitize PackageTreeItem::data()
- Use of != nullptr for QString just a bad idea
- Massage code so structure for packages resembles that of groups
2020-03-09 22:46:59 -05:00
Adriaan de Groot
201c5ddfe1 [netinstall] Add some debug-logging
- Also, prepare for a start-expanded setting
2020-03-09 22:44:16 -05:00
Adriaan de Groot
4cf3ec8663 [netinstall] Resolve TODO (changes translations) 2020-03-09 22:01:39 -05:00
Adriaan de Groot
3302fe319b [netinstall] Fix typo's in README 2020-03-09 21:58:30 -05:00
Adriaan de Groot
bfe45aea18 [netinstall] Warnings--, unused parameter 2020-02-27 23:19:55 +01:00
Adriaan de Groot
7cbc43616e [netinstall] Some more "standard" alternative labels
- Hide the labels from the compiler to avoid warnings
- Add some more labels proposed by ArcoLinux
2020-02-19 17:21:12 +01:00
Adriaan de Groot
51ad7df31c [netinstall] Don't give the translators a bogus string 2020-02-19 17:13:01 +01:00
Adriaan de Groot
538779991e [netinstall] Add some "standard" sidebar labels for the module 2020-02-19 14:37:47 +01:00
Adriaan de Groot
81752b6f7c [libcalamares] Document how TranslatedString context works
- Support re-using class-specific tr() calls in a standard way
- Document this in the netinstall.conf which uses it
2020-02-19 14:23:34 +01:00
Adriaan de Groot
a03394f177 [netinstall] Use tr() infrastructure for config-translations 2020-02-19 14:09:04 +01:00
Adriaan de Groot
c20f7ee534 [netinstall] Rip out derpy translations of PackageModel
- The model always has two columns, and the column names are always
  the same. We don't need to specially set headers for that.
- Use QCoreApplication::translation() to re-use the existing
  translations and avoid creating "new" strings (in a new context).
2020-02-19 12:51:01 +01:00
Adriaan de Groot
f6d8ed85e4 [netinstall] Allow a title above the netinstall tree
- Supports translation via the config file. This is useful
  (like label:sidebar) when displaying more than one netinstall page.
2020-02-19 09:29:23 +01:00
Adriaan de Groot
5b67ca315a [netinstall] It should be easier to get the number 2 2020-02-19 01:24:24 +01:00
Adriaan de Groot
497ecda14d [netinstall] Move translation of widget headers
Editorial: I really don't like plain CALAMARES_RETRANSLATE() thrown
into the middle of code.
2020-02-18 23:17:18 +01:00
Adriaan de Groot
45c15de623 [netinstall] Configurable name in the sidebar 2020-02-18 17:59:34 +01:00
Adriaan de Groot
be567dc508 [netinstall] Remove unused m_prettyStatus 2020-02-18 17:50:39 +01:00
Adriaan de Groot
4ae484dbca [netinstall] Initial work for configurable sidebar label
- Now that multiple netinstall pages may be supported, it's annoying
  that they all have the same name. Copy the approach from other
  modules (e.g. notesQML) of having the sidebar and other labels
  configured in the config file.
2020-02-18 17:46:56 +01:00
Adriaan de Groot
0877a994f1 [netinstall] Update copyright 2020-02-18 17:40:15 +01:00
Adriaan de Groot
d909b8119e [netinstall] Code-style 2020-02-18 17:37:58 +01:00
Adriaan de Groot
bc5aa1f837 [netinstall] Pretend to clean up resources 2020-02-18 17:37:16 +01:00
Adriaan de Groot
5f1bd4396e [netinstall] Avoid duplicate operations
- Since operations are added each time you leave this page,
   the existing operations (from a previous visit) need to be
   cleaned up. With the old setup of only **one** possible
   set of operations, this wasn't a problem. Now, merging
   in operations is necessary. Implement that by looking for
   the *source* property in an operation.

FIXES #1303
2020-02-18 14:46:00 +01:00
Adriaan de Groot
74169c166a [netinstall] Mark operations with source-module
- This will allow us to find the operations later, by looking for
  the same source-module.
- While here, tidy up types
2020-02-18 14:19:48 +01:00
Adriaan de Groot
056b0d7548 [netinstall] Refactor variant-from-ItemData 2020-02-18 11:40:43 +01:00
Adriaan de Groot
d5675508fa [netinstall] More coding-style
The tools don't always pick up all the style changes in one go
(I think astyle has trouble parsing some Calamares code)
2020-02-18 11:39:54 +01:00