Commit Graph

96 Commits

Author SHA1 Message Date
Adriaan de Groot
8ed8b5dfa3 [tracking] Reduce compiler warnings
- Newly added enum value NoTracking needs explicit handling
  in some switch()es, although it will never be passed in.
2020-05-12 12:11:11 +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
0046c3f161 [tracking] Chase Branding API change
- While here, apply coding style
2020-05-04 12:52:14 +02: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
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
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
Adriaan de Groot
72ee9742f3 [tracking] Correct the example URLs 2019-12-03 12:24:47 +01:00
Adriaan de Groot
f7215393d1 [tracking] Use the network service
- drop own NAM handling
 - use timeout mechanism
 - report timeout as fatal error (like it already did), other
   errors are ignored.
2019-08-26 15:47:17 +02:00
Adriaan de Groot
d76c33bd3a [tracking] Tidy code some more 2019-08-02 09:19:15 +02:00
Adriaan de Groot
d363732302 [tracking] Use std::chrono where appropriate 2019-08-01 23:07:45 +02:00
Adriaan de Groot
5183200515 [tracking] Apply current coding style 2019-08-01 23:05:42 +02:00
Adriaan de Groot
a0854a999e Modules: chase API change, use std::chrono::seconds 2019-08-01 22:59:06 +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
369c5f4619 [tracking] Don't translate placeholder text 2019-04-11 09:59:58 -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
fa08e0ad73 Copyright: fix bad email address 2018-06-15 06:15:43 -04: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
e2f6d160f8 [tracking] Reduce compile warnings
The fallthrough construction in a switch is a bit confusing
to read, and generates compile warnings too, so break it up.
2018-03-06 16:11:50 +01: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
ae4508011c [tracking] swap out PNG for SVG icons 2017-11-28 11:47:51 -05:00
Adriaan de Groot
858372d93e [tracking] Remove derp. 2017-11-23 17:38:06 +01:00
Adriaan de Groot
8e79ad1a14 [tracking] Implement Neon machine tracking configuration 2017-11-22 08:04:37 -05:00
Adriaan de Groot
6cb88c86f1 [tracking] Improve phrasing 2017-11-22 07:49:06 -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
9a3ba75c2c [tracking] Switch icons to sensible names 2017-11-22 13:04:18 +01:00
Adriaan de Groot
cb8f698ce0 [tracking] Switch to VDG icons (version 1) 2017-11-22 13:01:41 +01: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
f4368d05f9 [tracking] Fix install-tracking HTTP GET 2017-11-13 05:13:19 -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
806799ece4 [tracking] Fix configuration file.
- The sample configuration file didn't use sub-maps, but list items.
2017-11-07 07:49:44 -05:00
Adriaan de Groot
0d4bd59818 [tracking] Document the configuration file format
- switch to 'enabled' and 'default' settings, independently.
 - document user-tracking as unimplemented.
2017-11-01 09:10:25 -04:00
Adriaan de Groot
aa26ac5dd9 Clang: warnings-- 2017-09-26 11:07:15 +02: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