Commit Graph

30 Commits

Author SHA1 Message Date
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
30a85668b7 REUSE: (GPL-3.0-or-later) C++ modules 2020-08-26 02:22:49 +02:00
Adriaan de Groot
1dfb25372b [tracking] Warnings-reduction
- Give classes a virtual destructor that need them
- Remove spurious ;
- Refactor addJobs() because that doesn't need to be in a class
- Remove redundant intermediate base-classes
2020-06-23 13:37:56 +02:00
Adriaan de Groot
789561be6a [tracking] Apply coding style 2020-06-17 14:14:06 +02:00
Adriaan de Groot
48d0c5beeb [tracking] Do user tracking in the job queue 2020-06-17 11:33:48 +02:00
Adriaan de Groot
cb2909f6d8 [tracking] Rename "neon" tracking
KDE neon does not do this kind of tracking -- although it was originally
requested by KDE neon, no server roll-out was done once the
privacy policy was thought out.
2020-06-17 11:33:48 +02:00
Adriaan de Groot
bed884c971 [tracking] Move setup of initial-tracking states to Config
- the *default* level from the config, can be handled inside
  the Config object as well; remove TrackingPage method that
  does the same.
2020-05-25 09:22:51 -04:00
Adriaan de Groot
49e66b11a2 [tracking] Refactor creation of jobs
- Let the jobs handle their own styling and handling, simplify
  the ViewStep code.
2020-05-19 10:42:25 +02:00
Adriaan de Groot
309b2f872d [tracking] Drop configuration fields from ViewStep
- All the configuration lives in the Config object (or the
  tracking objects that it exposes).
- Get data from the config object for the jobs; TODO: give the
  jobs a less-clunky interface.

The UI isn't hooked up to the Config object yet, though.
2020-05-18 20:18:34 +02:00
Adriaan de Groot
044f5ce2b5 [tracking] Use the config object
- right now only holds the global policy URL (as a string)
2020-05-12 14:39:42 +02:00
Adriaan de Groot
fd2853b2cf [tracking] Switch setTrackingLevel() to use enum 2020-05-12 11:41:02 +02:00
Adriaan de Groot
6d744374db [tracking] Use enum-conveniences 2020-05-12 11:24:16 +02:00
Adriaan de Groot
5183200515 [tracking] Apply current coding style 2019-08-01 23:05:42 +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
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
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
22f5a121cb [tracking] stub implementation of neon machine feedback configuration 2017-11-22 07:39:52 -05:00
Adriaan de Groot
4a96e83203 [tracking] Adjust wording, drop page title 2017-11-22 07:21:58 -05:00
Adriaan de Groot
93052311aa [tracking] Switch UI to use radio buttons
Following KDE Pholio M116, switch to using a radio button; instead
of 4 individually toggle-able settings, use a "level" indicator
to select none, install, machine, user .. each of which implies
the previous levels. Each level is individually enable-able from
the distro side.
2017-11-22 06:52:14 -05:00
Adriaan de Groot
9a43b8a0e8 [tracking] hook the install-tracking job into the build.
(it doesn't work yet, though .. multi-threading issues).
2017-11-09 05:45:25 -05:00
Adriaan de Groot
a0b1410a50 [tracking] Do the install-tracking ping with QNAM 2017-11-09 05:19:24 -05:00
Adriaan de Groot
ff8af7d5e2 [tracking] Switch to typedef for job list 2017-11-08 09:59:40 -05:00
Adriaan de Groot
fbfb103b5f [tracking] Fix deduced type
'auto' doesn't pick up the reference-type returned from tracking(),
and 'auto&' reads funny to me, so make the type explicit.
2017-11-08 09:51:46 -05:00
Adriaan de Groot
7311204572 [tracking] Step 1 of getting the install-tracking URL
- document substitutions
 - build URL when creating jobs
2017-11-08 09:51:46 -05:00
Adriaan de Groot
a0e8f76348 [tracking] Enable policy websites
Each kind of tracking has an associated webpage / URL describing
the policy for that tracking. The Calamares User Guide has some
generic information. When the user clicks on the Help (?) button
in a tracking-option block, go to that URL.
2017-11-08 09:51:46 -05:00
Adriaan de Groot
c7120277ca [tracking] Polish UI some more
- Enable translations, substitute ShortProductName into string,
 - Simplify code for enabling tracking option blocks,
 - Set checkboxes based on configuration,
 - Read checkboxes when leaving page,
 - Don't stretch the tracking option blocks.
2017-11-08 05:01:26 -05:00
Adriaan de Groot
20a2465cc7 [tracking] Polish UI a bit
- add icons for graphical display of actions
 - extend description of tracking options
 - add debug logging
 - enable next button
 - show/hide tracking options based on configuration
2017-11-08 04:03:38 -05:00
Adriaan de Groot
1926399378 Telemetry stub.
This is experimental, off-by-default, code for developing a telemetry /
tracking configuration module. It is preliminary work for issue #628,
but also for KDE Neon configuration. Any telemetry should conform to
the KDE Telemetry Policy [1] or similar Free Software telemetry policy
(e.g. the Mozilla one).

[1] https://community.kde.org/Policies/Telemetry_Policy

Initial idea is to distinguish three kinds of tracking:
 - installs. This tracks that OS <foo> has been installed somewhere.
   It might send some machine information to a remote server.
 - machines. This enables some kind of machine tracking in the

   installed system, for instance it could enable popcon on
   Debian, or periodic phone-home-pings.
 - users. This enables some kind of telemetry / tracking on the
   installed user in the system.

A simple and transparent setting is to enable install-tracking and set
it to opt-in, and disable machine and user tracking. Explain to the
user that <foo> would like to know when <foo> is installed, and that
the following information <d1>, <d2> will be sent to <url> in accordance
to the <foo> telemetry policy at <url2>.

Work in this branch is subject to VDG review for the visuals, and
privacy oversight by whatever group is responsible for <foo> privacy.

Note that this module makes it *possible* for telemetry configuration
to be visible inside the installer; what distro's do with telemetry
already is entirely outside the scope of this configuration module.
2017-08-29 08:00:37 -04:00