Commit Graph

3075 Commits

Author SHA1 Message Date
Adriaan de Groot
939cdff93b [locale] Add alternate GeoIP data format 2018-04-12 12:18:43 -04:00
Adriaan de Groot
aaae1507cd [locale] Convenience function for TZ splitting 2018-04-12 11:51:50 -04:00
Adriaan de Groot
3636226425 [locale] Document change to the way GeoIPURL is handled. 2018-04-12 10:18:15 -04:00
Adriaan de Groot
fe98b789f0 [locale] Document the settings in locale.conf
- The geoipUrl is weird, because it is not a complete URL.
   Document that, and what kind of data is expected.

FIXES #920
2018-04-12 10:15:19 -04:00
Adriaan de Groot
d5623af8ef [locale] Refactor geoip handling
- Configuration **must** be a complete URL. The implementation no
   longer appends /json to the URL.
2018-04-12 10:11:48 -04:00
Adriaan de Groot
c0d5a153d4 [locale] Refactor GeoIP handler
- Move GeoIP to its own cpp file
 - Provide a default implementation of the URL mangler
2018-04-12 09:54:22 -04:00
Adriaan de Groot
445f181cc3 [locale] Start refactoring geoip handling
- Introduce a handler interface for GeoIP providers
 - Move the implementation of FreeGeoIP into a struct of its own
2018-04-12 09:45:48 -04:00
Adriaan de Groot
fa933b9a16 [plasmalnf] Search for theme screenshots
- Search in branding dir, and ., for relative paths,
 - Absolute paths used as-is.
 - Document search as such.
2018-04-10 08:54:47 -04:00
Adriaan de Groot
bfb37e6b37 [plasmalnf] Avoid use of 'uint' 2018-04-09 11:39:45 -04:00
Adriaan de Groot
cb616ec1bb [plasmalnf] Keep fixed size of screenshots (relative to font size) 2018-04-09 11:39:05 -04:00
Adriaan de Groot
5ab01eba9f [plasmalnf] Don't even try to load an empty filename for screenshot.
- Avoid one attempt-to-load if the filename is empty, and one
   re-creating of the Pixmap.
2018-04-09 11:26:43 -04:00
Adriaan de Groot
00a5baa3d9 [libcalamares] Improve process logging
- Don't insert a space before the output of a process
 - To do this, suppress space and quoting on the output, and to do
   that move the labeling-output for warnings and errors into
   the constructor (so that an idiomatic .nospace() does the right thing).
2018-04-05 05:17:21 -04:00
Adriaan de Groot
b5c3fc8cf6 [libcalamares] Improve process logging
- Log output on crash
 - If debugging is on (-d) then also log output on success

FIXES #925
2018-04-05 04:51:51 -04:00
Adriaan de Groot
4d459f7fc0 [libcalamares] Move non-UI stuff from libcalamaresui
- Settings is just a settings class, no UI involved, so
   move to libcalamares where it can be used also from
   system helpers.
 - YAML utilities are useful at a lower level of the stack, too.
2018-04-05 04:31:13 -04:00
Adriaan de Groot
7e5c91aae6 [locale] Reduce debugging bla bla 2018-04-04 11:42:38 -04:00
Adriaan de Groot
032b33f56f [libcalamaresui] Improve logging.
- Put the (constant) 'Calamares will now quit' on its own debug line.
 - Tell the user what the search paths are if a module is not found
   (prompted by a mis-configuration in a Neon live image).
2018-04-04 11:25:28 -04:00
Adriaan de Groot
ddbb9eaebc Merge branch 'improve-logging' 2018-04-04 11:10:51 -04:00
Adriaan de Groot
9fe85e592f Merge branch '3.1.x-stable' 2018-04-04 11:10:34 -04:00
Adriaan de Groot
b8e6144553 [locale] Document how the locale entry in Global Storage works.
- Make the BCP47 value explicitly lower-case.
 - Add some constness and encapsulation.
 - Fix up documentation in the packages module explaining the
   format of the ${LOCALE} replacement (now forced to lower-case,
   but it is also only the language part, not e.g. en-UK).

FIXES #922
2018-04-03 13:07:36 -04:00
Adriaan de Groot
4c04260b97 [packages] Don't change the global package list.
- Count only the packages that will be changed, given the current
   locale settings.
 - Preserve global storage unchanged (don't remove any locale-packages).
2018-04-03 08:28:29 -04:00
Adriaan de Groot
36aede52ef [packages] Example configuration installs a localization package 2018-04-03 08:20:01 -04:00
Adriaan de Groot
fd1279dbe3 [welcome] Make the example configuration less strict 2018-04-03 08:19:45 -04:00
Adriaan de Groot
9cdb6734bf [packages] If locale is empty, pretend it is 'en'.
- Otherwise packages like vi-$LOCALE will be retained in the
   package list, which will cause install problems.
2018-04-03 08:02:16 -04:00
Adriaan de Groot
240efd30f1 [libcalamares] Add support for formatted, table-like output
- Use DebugRow for one-row-at-a-time output with continuations.
 - Use DebugList for one-item-per-line with continuations.
 - Use DebugMap for one-row-at-a-time output of a QVariantMap.
2018-03-30 17:18:45 -04:00
Adriaan de Groot
20e9c2c8e3 Merge branch '3.1.x-stable' 2018-03-29 17:35:36 -04:00
Adriaan de Groot
32a1c84935 [locale] Document the settings in locale.conf
- The geoipUrl is weird, because it is not a complete URL.
   Document that, and what kind of data is expected.

FIXES #920
2018-03-29 16:50:02 -04:00
Adriaan de Groot
fb93a8288e [plasmalnf] Simplify showAll handling
- Only need the showAll parameter once, when passing in the list
   of themes to show.
2018-03-29 10:09:45 -04:00
Adriaan de Groot
b0828faadb [plasmalnf] New setting to show all installed LnF themes
- This enables working in three modes:
   - No themes listed; all are shown without screenshots,
   - Themes listed, showAll false; only those are shown,
   - Themes listed, showAll true; the installed-but-not-listed
     themes are shown after the listed ones, and have limited info.
2018-03-29 09:57:19 -04:00
Adriaan de Groot
c2efae765d [plasmalnf] Add auto-detection of Plasma theme.
- Although it's not necessarily accurate for an extensively-modified
   Plasma configuration, we can read the Look-and-Feel from the
   configuration files. Allows auto-detection.
2018-03-29 08:49:22 -04:00
Adriaan de Groot
11652c5856 [plasmalnf] Add pre-selected theme
- For OEM modes where there is already a theme, add a preselect:
   key to pick a specific theme and have that one come up as already-
   selected in the list.
 - Don't re-run the lnftool if an already-selected theme is clicked
   again. Use toggled() instead of clicked().
2018-03-29 07:59:16 -04:00
Adriaan de Groot
94000b6847 [plasmalnf] Improve wording of LnF explanation. 2018-03-29 04:33:55 -04:00
Adriaan de Groot
6bb72d173d [libcalamares] Drop generic cLog()
- Use cWarning or cError() for errors
 - Use cDebug(level) for other uses (but there aren't any)
2018-03-28 09:31:45 -04:00
Adriaan de Groot
ad6227ce21 [libcalamares] Remove internal functions from the logging API 2018-03-28 09:27:11 -04:00
Adriaan de Groot
3e30bb682e [libcalamaresui] Use cError() for logging errors, not cLog() 2018-03-28 09:22:37 -04:00
Adriaan de Groot
e2b8fb0afe [welcome] Log if no translations matched at all 2018-03-28 07:47:13 -04:00
Adriaan de Groot
cdf80615b8 [libcalamares] Rename the log file 2018-03-28 07:20:19 -04:00
Adriaan de Groot
0f289e2552 [calamares]: Improve startup logging
- Don't bother with the address of the main thread
 - Do put a marker on restart into the log file
 - Do put the Calamares version into the log file (previously, the version
   was printed through cDebug() before the log file was opened, so it was
   lost to the on-disk log).
2018-03-28 05:01:07 -04:00
Calamares CI
1791ac2d43 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-03-09 11:34:30 -05:00
Adriaan de Groot
70fe023347 Merge branch 'branding'
Documentation lives both in Calamares and in the calamares-branding
repo. Whether a slideshow has navigation arrows or not is up to the
slideshow / branding component author, but Calamares now ships some
support QML to make that easy.

FIXES #841
FIXES #904
2018-03-09 11:24:50 -05:00
Adriaan de Groot
2f66aa9b07 [plasmalnf] Change to IgnoreAspectRatio
It is the distro's responsibility to produce screenshots that look
good; previously I chose to preserve the aspect ratio on the grounds
that this would keep the look of the screenshot even if the distro
had done one in a weird size. This makes the screenshot part
of the LNF selection look weird, though, since then you get
blank parts.

Switch to ignoring the aspect ration; distro's should produce
screenshots in a 12x8 (i.e. 3:2) aspect ratio, preferrably at
least 120x80 pixels -- but keep in mind hiDPI and the default
font sizes of the distro, which may make other sizes look better.

(this follows discussion with BlueStar Linux)
2018-03-09 11:24:41 -05:00
Adriaan de Groot
986c5f5a9a CMake: improve branding component macros
- document preferred component layout
 - simplify parameters to the branding macros
 - allow structured branding components with SUBDIRECTORIES
2018-03-09 11:03:42 -05:00
Adriaan de Groot
f29da8e39e Branding: document preference for standalone branding 2018-03-09 08:48:24 -05:00
Adriaan de Groot
25b9663a40 Branding: remove fancy/ and samegame/ examples
The examples of branding have moved to the calamares-branding repo.
2018-03-09 08:44:20 -05:00
Adriaan de Groot
e4cca9b830 Branding: document how to translate branding 2018-03-09 07:22:36 -05:00
Adriaan de Groot
75df6a4f88 Branding: add example translations to fancy/ 2018-03-09 07:22:30 -05:00
Adriaan de Groot
f8bc195fb4 [libcalamaresui] Improve warning when branding has no translation 2018-03-09 07:21:16 -05:00
Adriaan de Groot
c1bb5e708b QML: apply translation to the slide counter 2018-03-09 07:21:16 -05:00
Adriaan de Groot
97eff28383 QML: Remove binding for quit key in presentation 2018-03-09 07:21:16 -05:00
Adriaan de Groot
8125698696 Branding: expand documentation
- Auto-advance the default presentation
 - Add more example slides to the fancy presentation
 - Expand README.md explaining what the default classes can do
2018-03-08 12:57:50 +01:00
Adriaan de Groot
e7849c5ed0 Branding: fix reference error 2018-03-08 12:19:02 +01:00
Adriaan de Groot
3b8673fb99 Branding: update example, use NavButtons 2018-03-08 12:14:45 +01:00
Adriaan de Groot
7ab79a944b Branding: add example SVGs from Quassel 2018-03-08 12:14:44 +01:00
Adriaan de Groot
b6fd8de126 QML: Use QtQuick 2.5 consistently 2018-03-08 12:14:44 +01:00
Adriaan de Groot
3d89828fe1 QML: drop potentially confusing shortcuts
Removed these features that make sense in a presentation slideshow
(e.g. during a talk) but that are potentially confusing during
a passive slideshow like Calamares has:
 - Using 'c' blanks the slideshow.
 - Entering a slide number + enter changes slides.
2018-03-08 12:14:44 +01:00
Adriaan de Groot
c116dba2e8 QML: add navigation items
- Add a NavButton, which shows a directional arrow, and fades in on hover.
   It can be used left- or right- by setting an image source
   and click handler.
 - Specialize NavButton to Forward and BackButton.
 - Add a SlideCounter navigation aid.
2018-03-08 12:13:44 +01:00
Adriaan de Groot
74080c31f5 Branding: add a fancy branding example 2018-03-07 06:18:18 -05:00
Adriaan de Groot
1e0ecbcc18 [contextualprocess] Warnings-- by dropping destructor 2018-03-06 16:24:12 +01:00
Adriaan de Groot
583cc06f7c [keyboard] Warnings-- for nullptr 2018-03-06 16:23:44 +01:00
Adriaan de Groot
51ccd6be4d [license] Warnings-- by making the one default case explicit 2018-03-06 16:23:29 +01: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
defc7d4df8 [welcome] Compile warnings-- 2018-03-06 16:10:53 +01:00
Adriaan de Groot
a9e751bb31 [users] Compile warnings-- 2018-03-06 16:10:31 +01:00
AlmAck
58952b685c the first character must be a comment
to original code would match both lines:
zen_US.UTF-8 UTF-8
#en_US.UTF-8 UTF-8

introducing "#" should check only the commented lines
2018-03-03 14:30:08 +01:00
AlmAck
382c193afa Enable the correct language in the locale.gen list
the original code does not distinguish the document comments inside the locale.gen file from the real locale list. The language was then enabled from the header comments of the file instead of the correct value in the list.

The new code verify tha the complete locale string is just after the first character of the string, enablig only the correct value of the locale list.
An example:
#  en_US.UTF-8 UTF-8 --> document header, should not be enabled
#en_US.UTF-8 UTF-8 --> correct section to enable

Related to this request:
https://code.chakralinux.org/tools/calamares-chakra/issues/2
2018-03-03 12:56:03 +01:00
Calamares CI
1762d5e5d6 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-03-01 15:42:24 +01:00
Adriaan de Groot
09f30194d7 CMake: revert un-versioning of libcalamares*.so
The install-bits branch commit 83639b182b
dropped .so-versioning for libcalamares and the creation of the Python-
support symlink. This broke KDE Neon dev-unstable because the embedded
Python can no longer find libcalamares.

Installing unversioned .so's straight to LIBDIR is also not a good thing
(according to Debian), so revert to the original scheme with versioned
.so and a Python-support symlink.

Medium-term fix is to install unversioned straight into LIBDIR/calamares
and fix up the RPATH for the executable.
2018-03-01 12:37:52 +01:00
Adriaan de Groot
73a5e0bbcd [libcalamares] Fix up debugging
Using plain cLog() is weird, it doesn't attach a debugging level
so it seems like it's level 0, beyond-critical.
2018-02-27 01:09:43 +01:00
Adriaan de Groot
36ef4556b4 Merge branch 'install-bits'
FIXES #729
2018-02-21 10:15:58 -05:00
Adriaan de Groot
56ce22908e CMake: drop empty calamaresUi
- Empty variable and some unused wrappings doing nothing.
2018-02-21 10:01:23 -05:00
Adriaan de Groot
db0c1ffd6d CMake: just install unversioned .so
- Applies to libcalamares and libcalamaresui.so, install with no
   version, just the bare .so. Since Calamares doesn't do versioning
   anyway, and its plugins should be re-compiled for any change,
   putting them in lib as unversioned .so's should make Calamares
   happy and silence lintian.
2018-02-21 09:52:56 -05:00
Adriaan de Groot
de1710a9f3 [calamares] Refactor argument-handling
- Move parameter handling out of main
 - Give -D an argument (log level)
2018-02-20 07:47:06 -05:00
Adriaan de Groot
a1cbb161ee [libcalamares] Make setup of log-level explicit
- Replace the implicit setting of a logging level
   (the first time logging is called) with explicit
   setupLogLevel().
2018-02-20 07:47:06 -05:00
Adriaan de Groot
247a0e3a56 [umount] Make a pretty_name() 2018-02-20 04:49:51 -05:00
Adriaan de Groot
060990bdd0 Python: use warning() method in modules 2018-02-20 04:42:56 -05:00
Adriaan de Groot
84d599625f [libcalamares] Give Python jobs a warning()
- Add libcalamares.utils.warning() alongside debug() for
   Python modules to output warnings.
2018-02-20 04:28:45 -05:00
Adriaan de Groot
dbbec4f76d [libcalamares] Use cDebug, polish messages 2018-02-19 17:23:05 -05:00
Adriaan de Groot
d62c7b93c6 [libcalamares] Polish weird namespace use 2018-02-19 17:17:03 -05:00
Adriaan de Groot
0c16bf1179 [finished] Remove useless debugging 2018-02-19 16:55:34 -05:00
Adriaan de Groot
cf02f7aab5 [libcalamares] Avoid nullptr crashes
- The Python testmodule script can end up calling in to System
   methods (via System::instance()). This is unusual, and the
   System instance has not been created at that point.
   Now, create an instance and warn about it.
2018-02-19 09:47:15 -05:00
Adriaan de Groot
94014a52d4 Merge branch 'context-wildcard'
FIXES #906
2018-02-19 07:04:43 -05:00
Adriaan de Groot
713add5795 [contextualprocess] Add tests
- Tests showed issues with memory management, fixed in previous commits.
2018-02-19 07:04:21 -05:00
Adriaan de Groot
f0ec6c02a3 [shellprocess] ECM has already been searched-for 2018-02-19 07:03:43 -05:00
Adriaan de Groot
23a23a01f1 [contextualprocess] Cleanup destructors
- ValueCheck shouldn't own the pointer, since it's just a QPair
   and there are temporary copies made (e.g. in
   ContextualProcessBinding::append() ) and we get double-deletes.
 - Do deletion by hand; going full unique_ptr would be a bit overkill.
2018-02-19 06:58:42 -05:00
Adriaan de Groot
87e2f13dc2 [contextualprocess] Helper methods for counting checks 2018-02-19 06:42:13 -05:00
Adriaan de Groot
8664400ee9 [contextualprocess] Warn if (global) variable not found. 2018-02-19 06:34:52 -05:00
Adriaan de Groot
699b42a756 [contextualprocess] Add wildcard
- Re-build the structures for doing value-checks, is now more tree-like.
 - Document pointer ownership.
 - Introduce wildcard matches ("*")
 - Don't drop empty command-lists, since they can be used to avoid
   wildcard matches. (E.g. "in this case, do nothing, but don't
   fall through to wildcard").
2018-02-19 06:18:08 -05:00
Adriaan de Groot
2fa6361d63 [branding] Expand documentation
- Make CMakeLists a little more resilient
 - Format docs source
 - Add documentation for the examples
2018-02-19 05:10:17 -05:00
Adriaan de Groot
04de4a0b02 [plasmalnf] Properly scale the image
- Since the image size isn't known a priori (due to sizing based on fonts),
   load the image and then resize in all code paths.
 - Use the right resizing flags.
 - .. and actually use the resulting scaled pixmap.

Thanks to Jeff Hodd.
2018-02-14 11:23:53 -05:00
Adriaan de Groot
83639b182b CMake: try installing outside of regular lib/
- Install unversioned libraries
 - Install to lib/calamares instead of directly to lib/
2018-02-14 08:55:30 -05:00
Adriaan de Groot
958aee1d41 [libcalamaresui] Switch text on 'next' button
- If the next step will be an install-step (e.g. hit the optional
   confirmation step) then change the text on the 'next' button to
   'install'.
 - Do a little refactoring to make that more pleasant.

FIXES #905
2018-02-13 08:11:11 -05:00
Adriaan de Groot
e9d9efce20 Merge branch 'sanitize-logging' 2018-02-13 12:00:17 +01:00
Adriaan de Groot
3ae126f589 [modules] Use cError() as well
- Switch KPMHelpers to using Calamares logging instead of qDebug()
2018-02-13 11:59:38 +01:00
Calamares CI
b33e3294e1 i18n: [dummypythonqt] Automatic merge of Transifex translations 2018-02-13 11:28:28 +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
3f77fb1d16 [modules] Use new convenience logging methods 2018-02-12 11:58:34 -05:00
Adriaan de Groot
60f440f72b [libcalamaresui] Use new convenience logging methods
- Remove a few confusing Q_FUNCINFO
2018-02-12 11:58:34 -05:00
Adriaan de Groot
df0d9dcb88 [libcalamares] Provide convenience functions for warning and error 2018-02-12 11:58:34 -05:00
Adriaan de Groot
79d81700b3 [libcalamares] Use -D for just debug-level setting
- Original flag -d sets debugging but also changes behavior
 - New -D just sets debugging
 - Simplify QStringList (use C++ 11)
2018-02-12 10:39:09 -05:00
Adriaan de Groot
ae5511c2f3 [libcalamares] Rationalize logging
- Move logging-levels to an enum
 - (re-)Order logging-levels so that the normal debug statement is
   not the most-important (lowest level).
 - Drop using namespace std;
2018-02-12 10:37:25 -05:00
Adriaan de Groot
6693f81375 [plasmalnf] Document configuration
- Improve documentation, explain necessity of theme: and image: keys
 - Scale screenshot up with font size (numbers picked arbitrarily)
2018-02-12 10:24:33 +01:00