Commit Graph

347 Commits

Author SHA1 Message Date
Adriaan de Groot
0c9480aa3f [locale] Move more business logic to Config
- writing *localeConf* settings to GS can be done always when the
  formats are set, rather than special-cased. The code
  that handles the "special case" of no widget existing for the ViewStep
  overlooks the other crashes that happen then.
- Since Config knows what jobs to create, just ask it rather than
  keeping a copy.
2020-07-22 00:23:50 +02:00
Adriaan de Groot
f6419d5de1 [locale] New setting *adjustLiveTimezone*
- allow finer-grained control over whether-or-not to adjust the
  timezone in the live system.
- handle some special cases at the point of loading-configuration.
- document the setting in locale.conf
- correct some documentation bugs
- adjust the YAML schema for locale.conf so it's legal YAML syntax
  **and** validates the current file.
2020-07-22 00:11:55 +02:00
Adriaan de Groot
995ebd5c83 [locale] Remove unused #includes 2020-07-21 17:44:44 +02:00
Adriaan de Groot
1de2210d29 [locale] Move the GS updating to the Config object
- since all locale changes need to be entered into GS anyway, this
  is something the Config object can do because it is the source
  of truth for locale settings.
- drop all the GS settings from the Page.
2020-07-21 17:38:22 +02:00
Adriaan de Groot
f7c2e4a3e7 [locale] Sanitize Config signals and slots
- remove the weirdly-structured prettyStatus and similar:
  the Config object has human-readable status strings (three,
  for location, language, and LC-formats) which can be
  normal properties with signals.
- Implement prettyStatus in the view step by querying the Config.
2020-07-21 17:38:22 +02:00
Adriaan de Groot
ef08ff6ac0 [locale] Move status strings from Page to Config
- the config knows the status and how to describe it,
  fetch the strings from there.
2020-07-21 15:51:49 +02:00
Adriaan de Groot
855b21a7db [locale] Remove redundant method
- configuration information lives in the Config object
2020-07-21 15:35:38 +02:00
Adriaan de Groot
abc98cfa79 [locale] Simplify allocation, guard against crashes if the dialog is deleted. 2020-07-21 14:57:09 +02:00
Adriaan de Groot
66eacce654 [locale] Move localeconfiguration to Config object
- the language and LC settings migrate from page to config
- add API for explicitly setting language (which is then preserved
  when clicking new locations)
2020-07-21 13:16:52 +02:00
Adriaan de Groot
a307217d83 [locale] Tidy LocaleConfiguration
- expand API documentation
- minor coding-style adjustments
2020-07-21 11:13:40 +02:00
Adriaan de Groot
81520bbbf9 [locale] Chase RAII conveniences
- several early-return paths would leave the TZ widget blocked
- use the zones data from config
2020-07-21 00:21:42 +02:00
Adriaan de Groot
98f912f80a [locale] Drop LocalePage:;init
- setting the initial location is something the Config-object should do
- setting up the combo-boxes can be done in the constructor
2020-07-21 00:11:16 +02:00
Adriaan de Groot
726f882185 [locale] Move current-location to Config 2020-07-20 23:06:12 +02:00
Adriaan de Groot
5a6a9a0d45 [locale] Move job-creation to Config
- since Config knows what settings there are, it should create the
  jobs to run later -- not the Page.
- this doesn't work yet, because the Config does **not** know what
  the selected timezone is yet.
2020-07-20 22:21:29 +02:00
Adriaan de Groot
8c21b59853 [locale] Remove unused localegen (moved to Config earlier) 2020-07-20 18:13:33 +02:00
Adriaan de Groot
f0cac7d669 [locale] Hook tz widget up to the Config's data 2020-07-20 16:54:44 +02:00
Adriaan de Groot
4d5ff6d5c4 [locale] Make the Page use the region model from Config 2020-07-20 16:27:15 +02:00
Adriaan de Groot
88d1d255f6 [locale] Add regions & zones models to Config
- The models are constant pointers, even if their contents aren't.
- Make the top-level (region) model point to the global TZ list.
2020-07-20 16:16:53 +02:00
Adriaan de Groot
51b7ec875f [locale] Don't need own copy of zones list 2020-07-20 13:55:00 +02:00
Adriaan de Groot
439f828d9b [locale] Document TZ widget 2020-07-20 13:47:23 +02:00
Adriaan de Groot
931ce20f30 [locale] Reduce API surface
- getLocationPosition doesn't need to be a method, since it calls out
  to a static function of TimeZoneImageList anyway.
2020-07-20 13:38:20 +02:00
Adriaan de Groot
25ba1bb767 [locale] Remove localeGenLines from page
- the Config object took over loading of the string list
- expose the list as a property
- drop loading code from the page.
2020-07-20 13:24:31 +02:00
Adriaan de Groot
338635146f [locale] Hand the Config object also to the page 2020-07-20 12:58:35 +02:00
Adriaan de Groot
b6b5c44996 [locale] Load supported locales in Config 2020-07-20 12:55:07 +02:00
Adriaan de Groot
8119c7e72a [locale] Reset Config object
The Config object wasn't being used at all in the locale module;
reset it to empty and start using it in locale, so that
configuration functionality can be added to it as-needed,
and with the necessary refactoring built-in.
2020-07-20 12:37:27 +02:00
Adriaan de Groot
0bede0692a [locale] Warnings-- on static_cast with no message 2020-06-23 13:18:30 +02:00
Adriaan de Groot
4a07bd4ae3 CI: import all the rest of the YAML schema
- These have **not** been fixed for validation, so the schema's themselves
  will fail to load. This is a consequence of variations in JSON-Schema
  representations through various drafts. Fixing the schemata is
  fairly straightforward.

This gives us 19 new tests, all of which fail.
2020-06-16 16:06:56 +02:00
Adriaan de Groot
38b4f45b92 [locale] Repair timezone graphics -- west-Africa and Pacific 2020-06-09 14:54:19 +02:00
Adriaan de Groot
d511cc2f7a [locale] Norfolk Island gave up +11.5 in 2015 2020-06-09 14:21:11 +02:00
Adriaan de Groot
67d7c700fd [locale] Update documentation to mention *fixed* style 2020-06-03 15:11:19 +02:00
Adriaan de Groot
27d4fa675b [locale] remove unneeded this-> 2020-05-18 10:03:34 +02:00
Adriaan de Groot
55fb7565d4
Merge pull request #1396 from FLVAL/master
Add files via upload
2020-05-08 17:19:15 +02:00
FLVAL
e5f2aba8e2
Add files via upload
Region "Africa" zones # 52 
14:25:19 [6]:  ..  Zone "Asmara" QPoint(445,183) 
14:25:19 [6]:  ..  First zone found 2 "2.0" 
14:25:19 [6]:  ..  Also in zone 3 "3.0"
2020-05-07 13:46:48 +02:00
Adriaan de Groot
e51fbdc851 [locale] Apply coding style 2020-04-21 15:35:10 +02:00
Adriaan de Groot
1f3046dcca Merge branch 'issue-1374'
This is just updating tests, not fixing things.
2020-04-21 12:44:46 +02:00
Adriaan de Groot
69fae85fe8 [locale] Fix test-build
- needs <set> if it doesn't get pulled in implicitly
- mark tests as expected-to-fail to not block release
- SEE #1374
2020-04-21 12:43:45 +02:00
Adriaan de Groot
a63a92e3d5 [locale]Fix build (clang, Debian)
- This is a follow-up to d0c205c1cc6a2ae49935c92bfd52911b9a0d43f7;
  I really don't know why static constexpr const elements that are
  not referenced by address need to be defined separately.
2020-04-17 13:41:21 +02:00
Adriaan de Groot
ebb5efcd42 [locale] Mark test as expected-to-fail
- There are still 88 issues with the timezone images
2020-04-17 13:06:05 +02:00
Adriaan de Groot
e804ad2488 [libcalamaresui] Rename enlarge()
- rename enlarge to ensureSize() and change the meaning from
  "make this much bigger" to "make sure this is displayed",
  which is easier on the caller to calculate.
2020-04-17 12:56:47 +02:00
Adriaan de Groot
ade623f6b8 [locale] Shuffle code
- Put the building-up-the-overall-page in one spot
- Claim a little more vertical space for the TZ widget
2020-04-17 12:56:39 +02:00
Adriaan de Groot
c0be53523c [locale] Give TZWidget a fixed size 2020-04-17 10:02:54 +02:00
FLVAL
3f6e242fd9
Add files via upload
Resaved cause showing not 100% upload with latest correction
2020-04-16 19:21:44 +02:00
FLVAL
82c4e7aa54
Add files via upload
- udpated the _0.0 and _1.0 to not get overlap between Gibraltar and Cueta
- Fakaofo correction on _10.0 and _-11.0
- pin reduced size
2020-04-16 19:09:49 +02:00
Adriaan de Groot
82ba4be5e7 [locale] Test for pixel-perfect location of Gibraltar and Ceuta
- Can't get Gibraltar (and Ceuta) to be distinguished
2020-04-16 17:59:12 +02:00
Adriaan de Groot
3db901bd09 [locale] Expand tests to show overlapping locations
- This isn't something that Calamares can acutally fix,
  so the test will be disabled later. After all, if
  Brazzaville and Kinshasa are close enough that on the
  map they are the same pixel, we can't move the cities.
2020-04-16 15:48:17 +02:00
FLVAL
e5b2faad9a
Add files via upload
Timezones updated for these countries found on pixel detection tool 

Dublin is in 0 (-1 needs editing)
Gibraltar should be 1.0 (0 needs editing)
Guernsey and Jersey are in 0 (1.0 needs editing)
Lisbon is in 0 (-1 needs editing)
Vilnius should be in 2 (1 needs editing)
2020-04-16 02:54:38 +02:00
Adriaan de Groot
cd66405363 [locale] Test TZ images properly
- the test wasn't built with DEBUG_TIMEZONES, so it didn't get the
   overlap-checking code at all.
2020-04-15 14:30:10 +02:00
Adriaan de Groot
d0c205c1cc [locale] Fix build (gcc, Debian) 2020-04-15 14:19:47 +02:00
Adriaan de Groot
b890345b1f [locale] Tidy includes 2020-04-15 11:45:27 +02:00
Adriaan de Groot
f7a87338b8 [locale] math headers got lost 2020-04-15 11:41:59 +02:00
Adriaan de Groot
a2a10d14b6 [locale] Improve logging in tests 2020-04-14 16:24:56 +02:00
Adriaan de Groot
29fd0e0319 [locale] Expand test to check zones-overlap
- Document index and find methods,
- Check that each location is claimed by only one image (e.g. by
  one zone). This is currently false.
2020-04-14 16:21:24 +02:00
Adriaan de Groot
1d5c4f13aa [locale] Move the find-a-zone-image-for position to the image list 2020-04-14 16:06:21 +02:00
Adriaan de Groot
6173f9337a [locale] Refactor long+lat -> x,y mapping
- Move this code to a static method since it only depends on the
  expected image size (which here, is managed by the image list).
2020-04-14 15:24:05 +02:00
Adriaan de Groot
3945008956 [locale] Test the TZ image loader
- QImage needs Qt5::Gui, so this isn't a guiless-test; it can use
  the offscreen QPA, though.
- Check that the images are all the same size
- Debugging / check code removed from timezonewidget
2020-04-14 15:10:04 +02:00
Adriaan de Groot
340c462062 [locale] Refactor loading of timezone images
- Move the image-loading to a separate class
2020-04-14 14:44:24 +02:00
Adriaan de Groot
4b65600c08 [locale] Remove useless localeglobal
- Although ::init() was called, none of the actual functionality
   from localeglobal was still in use.
2020-04-14 12:37:22 +02:00
Adriaan de Groot
36d9e7d8f4 [locale] Extend tests with tz-image-validation
- The idea is to check all the TZ images for consistency, like
  TimeZoneWidget::setCurrentLocation() does when DEBUG_TIMEZONES is
  on; a zone-pixel should be set in only **one** image.

The test so far is just a stub.
2020-04-14 11:59:45 +02:00
Adriaan de Groot
e84db033b0 [locale] Debug-message typo 2020-04-14 11:57:03 +02:00
Adriaan de Groot
f9d888ec24 [locale] Warnings--
- remove unused variables, tighten up code some
- while here, apply coding style
2020-04-14 11:32:15 +02:00
Adriaan de Groot
022e62b829 [licale] Fix build with DEBUG_TIMEZONES
- QLatin1String isn't a constexpr; the whole ZONE is a bit derpy,
  so let's just #define it.
2020-04-14 11:26:03 +02:00
Adriaan de Groot
08b5012946 [locale] Apply coding style to Config
- ci/calamaresstyle
- sort includes by kind (local module, Calamares, Qt, STL)
- add copyright line
2020-03-24 22:48:14 +01:00
Camilo Higuita
8ff1996e12 add the localq module and config to locale 2020-03-24 09:47:53 -05: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
adf81c0ab5 [locale][packagechooser] Fix tests, QCOMPARE again 2020-02-21 18:24:39 +01:00
Adriaan de Groot
6f996d8eed CMake: give yamlcpp a proper imported target
- This makes linking easier,
 - Adds the right includes (needed on FreeBSD),
 - Lets us drop silly GUI setting for non-GUI tests (I think this was
   a side-effect of compiling on FreeBSD, where UI would pull in
   /usr/local/include).
2020-02-17 14:55:12 +01:00
Adriaan de Groot
4495a4c739 CMake: Allow extra libraries in calamares_add_test
- Extra libraries specified via LIBRARIES part of CMake function
 - Convert all the other module tests
2020-02-17 14:36:52 +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
Adriaan de Groot
a09593e4a2 [locale] Tighten up language-matching
- Drop plain startsWith() matching, since we now have "as" and "ast"
   as supported languages, where one name is a prefix of the other.
2020-01-28 17:35:54 +01:00
Adriaan de Groot
49690fc681 [locale] Remove superfluous code
- the list is already filtered for UTF-8, so this is redundant
 - this *incidentally* fixes the problem with Assamese and Asturian,
   since Assamese (as_IN) was having its only entry removed,
   after which it would match Asturian (ast_ES)
2020-01-28 16:41:15 +01:00
Adriaan de Groot
97f622e094 [locale] Use standard algorithms 2020-01-28 15:50:08 +01:00
Adriaan de Groot
1a8926181e [locale] Warnings-- (initialization-order) 2020-01-07 10:46:26 +01:00
Adriaan de Groot
1625bb1dae [locale] Support Qt 5.9
FIXES #1296
2020-01-07 00:09:04 +01:00
Adriaan de Groot
7bea19a62c [locale] Fix build with debugging enabled (API changes) 2019-12-11 08:45:35 -05:00
Adriaan de Groot
242b79e2e1 [locale] Remove old Location information
- all the TZ location information now lives in the Calamares
   locale service and the TZ list
 - replace the Location class that was local to the timezone
   widget by the TZZone class
 - chase a bunch of small API changes that this needs
2019-12-11 08:45:35 -05:00
Adriaan de Groot
e164f8d63a [locale] Fix build with DEBUG_TIMEZONE
- all the API changes were not reflected in the debugging code
2019-12-10 16:19:06 -01:00
Adriaan de Groot
fb9d53909e [locale] Drop ZONES #define
- this was a "cheap" way to write a list, but going through
   QStringList::split() is just a long-way-around for static
   initialization
2019-12-10 16:09:48 -01:00
Adriaan de Groot
2dfbed40c5 [locale] Move defines
- Used in only one place, move to .cpp
 - Drop useless scaling all the images *are* that size already
 - Add debugging check that the images match expected size
2019-12-10 10:00:16 -07:00
Adriaan de Groot
9d9d9c361d [locale] Clean up constants
- move LOCALESDIR to the one place it's used
 - remove file with only unused #defines
2019-12-10 17:46:09 +01:00
Adriaan de Groot
7354d35faf [locale] Apply coding style to timezonewidget/ 2019-12-10 17:42:58 +01:00
Adriaan de Groot
1e04924224 [locale] Drop the TZ-widget's timezone database
- use the global TZ service instead
 - contains hacks to keep some of the API unchanged, which will be
   removed shortly
2019-12-10 17:29:35 +01:00
Adriaan de Groot
4089a01cb1 [locale] Create TZ model earlier 2019-12-11 01:31:56 +10:00
Adriaan de Groot
226530cf6f [locale] Use model functions from locale service
- drop the home-grown combo-box filling, use model
2019-12-11 01:04:09 +10:00
Adriaan de Groot
c75e870073 [libcalamares] CStringList::find() convenience function
- search for a key and return a type-cast pointer to the result
 - while here, simplify some other code
 - the find() function could be done with std::find_if but doesn't
   get any shorter or more elegant
2019-12-10 15:54:43 +01:00
Adriaan de Groot
6092172f8d [libcalamares] Regions and zones change to QList<Base*>
- By using QList< CStringPair* > consistently, we can save
   a bunch of model code at the cost of an occasional dynamic_cast;
   it's fairly rare for there to be a need for the derived pointer.
2019-12-10 15:32:15 +01:00
Adriaan de Groot
f4509f3380 [libcalamares] Move loading to TZRegion
- don't make the model load files, provide convenience functions
   for loading in the value classes
 - create model from lists of value pointers
2019-12-10 10:48:39 -01:00
Adriaan de Groot
9f06903115 [local] Chase API change in TZRegionModel 2019-12-09 23:36:32 -11:00
Adriaan de Groot
afb5430c42 [locale] Use TZRegionModel
- instead of populating combo box with texts, use the model
   read in from zone.tab
 - this **partly** deprecates the LocaleGlobal stuff
2019-12-10 11:30:48 +02:00
Adriaan de Groot
ddc2f60768 Merge branch 'master' into zone-data 2019-12-09 17:44:32 +01:00
Adriaan de Groot
ad868033f3 [locale] Chase deprecations in Qt 2019-11-26 16:56:12 +01:00
Adriaan de Groot
906aeec5d3 [locale] Replace #define with a static const
- TZ_DATA_FILE is only used in one place
2019-11-25 11:49:41 +01:00
Adriaan de Groot
1df6454cfe [locale] Tidy up types
- use JobList typedef where possible
 - remove unused forward type definitions
2019-11-25 10:52:22 +01:00
Adriaan de Groot
5d0a5c035d
Merge pull request #1243 from stikonas/master
QLatin1Literal->QLatin1String.
2019-09-30 10:30:02 +02:00
Adriaan de Groot
4799e821d3 [locale] Reduce warnings, missing override 2019-09-23 11:25:18 +02:00
Andrius Štikonas
490c14d93d QLatin1Literal->QLatin1String. 2019-09-21 20:44:33 +01:00
Adriaan de Groot
11d3f10e26 [locale] Dispose of waiting widget
- Do the async GeoIP checking in the async requirements-checking phase
 - Do not return any requirements results -- we just need the async bit
 - Drop the waiting widget, since it's not needed (done by the
   requirements phase)
2019-09-10 14:18:47 +02:00
Adriaan de Groot
41ece863de [locale] Create widgets when needed instead of at startup
- this blocks forever, since now the GeoIP lookup isn't done at all.
2019-09-10 06:19:20 -04:00
Adriaan de Groot
0a1dc77f9b [locale] Hang on to GeoIP::Handler just once
- replace configuration settings by putting them in an object
 - use unique_ptr to allow us to create one optionally.
2019-09-10 11:26:47 +02:00
Adriaan de Groot
d70d418d92 [locale] Refactor setting of LC entries 2019-09-07 17:02:59 +02:00
Adriaan de Groot
5cac3ac6ad [locale] Apply coding style 2019-09-07 16:58:37 +02:00