Commit Graph

206 Commits

Author SHA1 Message Date
Adriaan de Groot
087c88753c [netinstall] Expand the table of common-strings
When one of these common names for the netinstall page is used,
it gets pulled out of the standard translations, so that it
doesn't have to be translated in the per-distro config file.
These labels are common enough that they make sense for
everyone to have lying around.

FIXES #1367

(I say "fixed" but of course it's going to depend on the translation
workflow to make these available)
2020-04-06 17:35:27 +02:00
Adriaan de Groot
065a506470 [netinstall] Resize name column
- Once group data is loaded and pre-expanded groups are open,
  adjust the column width so that all the names are visible.
2020-04-05 00:26:53 +02:00
Adriaan de Groot
9db7dd3f3e [netinstall] Add a group with long names 2020-04-04 23:59:58 +02:00
Adriaan de Groot
83f5f9e1a7 [libcalamares] Introduce generic delete-later class
Don't bother with QScopeGuard just right now, since I can't
find a use-case in the Calamares codebase.

FIXES #1358
2020-03-28 11:49:23 +01:00
Adriaan de Groot
7c56a50632 [netinstall] Expand documentation of groups format 2020-03-28 11:18:31 +01:00
Adriaan de Groot
33a4b08ac0 Merge branch 'issue-1343'
- Also add documentation to CHANGES

FIXES #1343
FIXES #1319
2020-03-27 21:14:47 +01:00
Adriaan de Groot
433ed8384f [netinstall] Inherit criticalness in groups
- Groups inherit slightly differently: if a subgroup **explicitly**
  configures criticalness, use that. It would be weird, but possibly,
  to have a non-critical subgroup of a critical group.
2020-03-27 20:53:13 +01:00
Adriaan de Groot
83a89c144c [netinstall] Packages should inherit critical-ness from parent 2020-03-27 20:45:04 +01:00
Adriaan de Groot
14a3e10cc2 [netinstall] Simplify getItemPackages
- Use convenience predicate isPackage()
- Name child->item(i) for brevity
2020-03-27 20:37:36 +01:00
Adriaan de Groot
464561b420 [netinstall] Update subgroup-checkedness based on children
- An unselected group with (some) selected subgroups was not
  displayed as (semi)checked -- it was unchecked, because
  its checked-ness was not updated based on the children.
2020-03-27 17:28:32 +01:00
Adriaan de Groot
63b940a623 [netinstall] Implement immutable groups
- An immutable group doesn't show a checkbox at all
2020-03-27 16:47:33 +01:00
Adriaan de Groot
7a42a4d71f [netinstall] Add example section that is immutable
- The section can't be changed, but is selected (it doesn't
  make sense otherwise)
2020-03-27 16:47:07 +01:00
Adriaan de Groot
85551f0fdb [netinstall] Various refactoring
- move ready-indication to Config
- don't check pointers that can't be null
- hand the whole Config to the page
2020-03-27 16:12:48 +01:00
Adriaan de Groot
4cdfe1276a [netinstall] Rip loading out of the UI page
- Create a config object in the ViewStep
- Model lives in the config object and loads there
- Give model to the UI page for display
2020-03-27 15:51:03 +01:00
Adriaan de Groot
9a35427113 [netinstall] Remove unused m_jobs
- Netinstall doesn't make any jobs itself, so drop the member variable
- Use type alias, and simplify jobs()
2020-03-27 15:14:37 +01:00
Adriaan de Groot
1a74a713b6 [netinstall] Make status an enum
- Since we might change translations after loading, display
  the message based on the status enum, rather than
  setting it once at load-time.
2020-03-27 14:54:06 +01:00
Adriaan de Groot
1eec1a9fe7 [libcalamares] Fix typo in API
- "asynchronouse" is not a thing
2020-03-24 13:43:19 +01:00
Adriaan de Groot
f5b4e5d5e1 [netinstall] Add data-loading to the Config object
- Mostly copied from NetInstallPage
2020-03-24 13:13:18 +01:00
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
Adriaan de Groot
8286bff95f [netinstall] Shuffle code around a bit
- introduce char const for key name (consistency, it's used lots)
 - polish debugging a bit
 - add some inline code-docs
2020-02-18 11:28:42 +01:00
Adriaan de Groot
17eb3f5e33 [netinstall] Apply coding style 2020-02-18 11:02:53 +01:00
Adriaan de Groot
51e135cfbd CMake: chase introduction of IMPORTED yamlcpp 2020-02-17 15:01:05 +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
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01:00
Adriaan de Groot
9850e4b35b [netinstall] Use the network-manager
- use asynchronousGet and keep the reply
 - drop unused includes
 - apply current coding style
2019-09-02 14:10:36 +02:00
Kevin Kofler
9dbd3a765b [netinstall] Fix typo in netinstall.conf comment
s/inmportant/important/
2019-08-26 19:02:15 +02:00
Adriaan de Groot
56792fdcb5 [netinstall] Polish the README
- describe the format better
 - more consistent typography
 - refer to `packages.conf` for details on shell commands
2019-08-26 16:26:06 +02:00
Adriaan de Groot
ee29c45433 [netinstall] Point documentation towards netinstall README.md 2019-08-26 16:01:14 +02:00
Adriaan de Groot
bedff6b252 [netinstall] Log immediate failures
- If the request is immediately bad (e.g. because of a botched
   url) then log that fact; in this case no finished() is ever
   emitted.
2019-08-01 15:17:24 +02:00
Adriaan de Groot
82055f6854 [netinstall] Logging; code duplication
- If there was an error, the network reply was never deleted
 - Improve logging to show where data is coming from
2019-08-01 14:31:25 +02:00
Adriaan de Groot
9331a25905 [libcalamares] Remove Typedefs.h
- This small header file contained a few unrelated typedefs.
   Move those typedefs to the classes they relate to. This
   **does** mean that some consumers need to #include something
   else instead.
 - Use type names more consistently.

Editorial: why are **pages** responsible for creating the jobs?
2019-05-07 09:51:23 -04:00
Adriaan de Groot
f076dd76ad [libcalamares] Rename YamlUtils.h
- Since we have the utils/ filesystem namespace, and use CalamaresUtils::
   as C++ namespace, simplify naming.
2019-04-29 06:14:21 -04: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
cef2f50510 Reduce warnings about extra ;
- Trailing ; after Q_UNUSED
 - Trailing ; after CALAMARES_RETRANSLATE
2019-04-18 12:06:09 +02:00
Adriaan de Groot
c83395ff6d Reduce warnings for yaml-cpp
- Use only utils/YamlUtils.h to pull in yaml-cpp and supporting code.
 - When compiling with clang, turn off warnings that the system header
   for yaml-cpp would generate.
2019-04-18 12:06:09 +02:00
Adriaan de Groot
520478847c Make logging more consistent.
- Across all the C++ modules, use Logger::SubEntry for sub/continues
   log lines, instead of somewhat-random indent strings.
2019-04-15 09:02:21 -04:00
Adriaan de Groot
6071489788 [libcalamaresui] Provide default implementations of next() and back()
- These methods are used for multi-page view-steps, which are rare.
   For all the others, just drop the empty implementation and defer
   to the base class.
2019-02-25 07:49:10 -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
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
6aa5be192b [netinstall] Drop unused includes 2018-05-22 11:43:14 -04:00
Adriaan de Groot
3133e759d0
Merge pull request #958 from bill-auger/patch-2
avoid pinging hard-coded server for netinstall.yaml
2018-05-22 12:08:01 +02:00
bill auger
d7b1811e56 avoid pinging hard-coded server for netinstall.yaml
groupsUrl is optional and should be commented out by default
also this URL is 404
also only chakra would ever want to ping the chakra server anyways
2018-05-21 18:43:57 -04:00
Adriaan de Groot
fb94c227f6 Merge branch 'netinstall' 2018-05-21 11:00:40 -04:00
Adriaan de Groot
ba85fc760a [netinstall] Remove data-indirection
- There is no need to move data around between two parts of the
   same module via global storage.
2018-05-21 10:58:57 -04:00
Adriaan de Groot
3160bd7a54 [netinstall] Simplify getting configuration
- Use convenience methods for getting bools and strings from
   the configuration map. Ignore empty groupsUrls.
2018-05-21 10:49:47 -04:00
bill auger
4826af97a9 consistent indentation in src/modules/netinstall/page_netinst.ui
this file has 1 space char indentation except for these lines
2018-05-19 19:04:24 -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
b0c4fbc1bb Clang: reduce warnings
- mark some things override
 - make conversion of 0 to flags explicit
2018-01-13 21:40:46 +01:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
3ae65d5771 Merge branch '3.1.x-stable' 2017-11-24 09:28:35 -05:00
Adriaan de Groot
93ab6432c4 [netinstall] Special-case the root node.
Root is always selected, can't be unselected, and has its own explicit
constructor and name. This resolves issue reported where unchecking
all *visible* groups caused the root to be unchecked, after which
hidden-but-still-selected subgroups were not installed.

Reported by crazy@
2017-11-24 07:52:52 -05:00