Commit Graph

62 Commits

Author SHA1 Message Date
Adriaan de Groot
344948b5ab Modules: clean up QProcess (part 1) 2021-11-02 23:46:26 +01:00
Adriaan de Groot
d10a952065 [keyboard] Make debug output more readable 2021-10-26 15:19:02 +02:00
Adriaan de Groot
9341a84820 [libcalamares] Make the RETRANSLATE macros more statement-line
Require a ; after RETRANSLATE macros. They are statement-like;
this makes it easier for some of them to be recognized by
clang-format and resolves some existing weird formatting.
2021-03-16 14:55:26 +01:00
Adriaan de Groot
03e09cb7e6 [keyboard] When changing layouts, reset variant
- Need to update the variant that is in use, **and**
  explicitly update it in the widget, in order to re-load
  the keyboard image for the newly-selected layout+variant.
2020-11-12 15:29:15 +01:00
Adriaan de Groot
fdfe3937e9 [keyboard] Tell the keyboard preview to update on config changes
These calls to setLayout() and setVariant() got lost in
the transition to Config object, in 5afe5413.

Reported by Harald Sitter.
2020-11-12 14:50:21 +01:00
Adriaan de Groot
4387b8061e [keyboard] Move responsibility for retranslation to Config
- only widgets get language change events, so we need to
  hook that up to the ViewSteps and inform the Config
  object so that it can (re)load translations for the
  keyboard data.
2020-10-31 20:02:21 +01:00
Adriaan de Groot
2e5301c5c9 [keyboard] Simplify back down to lambdas
- With debugging and untangling done, the lambdas are simple
  and short, so return to using them. One point of improvement
  might be to give the models suitable slots themselves,
  to avoid even this indirection.
2020-10-28 16:54:08 +01:00
Adriaan de Groot
9e141636c5 [keyboard] Tidy up the debugging output, add docs 2020-10-28 16:40:43 +01:00
Adriaan de Groot
d536173d66 [keyboard] Factor out a 2-column k-v list 2020-10-28 16:29:52 +01:00
Adriaan de Groot
5afe54132b [keyboard] Use the models from Config
- Remove code that is duplicated in Config.
- Hook up UI for physical keyboard model, and back.
- For now, introduce some named slots with debugging output.
  This makes debugging a lot easier since we have function names
  to work with rather than anonymous lambdas
2020-10-28 16:01:38 +01:00
Adriaan de Groot
168be02c96 [keyboard] Hook up the model-selection again 2020-10-28 14:03:46 +01:00
Adriaan de Groot
87aafb2442 [keyboard] Tear up connections between widgets and model 2020-10-28 13:57:57 +01:00
Adriaan de Groot
6aedf4401f [keyboard] Apply coding style 2020-10-28 13:41:34 +01:00
Adriaan de Groot
5f1d7b2e8d [keyboard] Rename UI widgets to make code clearer 2020-10-28 10:38:51 +01:00
Adriaan de Groot
d464e98e89 [keyboard] Move remaining variables to Config
- Config already *has* everythind, but drop the useless copies
  and duplicated code from the Page
- Plug the models model into the Page
- While here, document the model / layout / variant distinctions

The code doesn't fill the UI properly, and the drop-down
for the models combobox is not right, but at least the data
is shared.
2020-10-28 01:25:42 +01:00
Adriaan de Groot
0947cd8354 [keyboard] Migrate to Config::onActivate() which is badly-named 2020-10-27 16:12:36 +01:00
Adriaan de Groot
0ffa500432 [keyboard] Remove unused code
- this has already migrated to Config but had not been removed locally
2020-10-27 15:56:50 +01:00
Adriaan de Groot
35a2bd3f0f [keyboard] Use Config's own finalize() 2020-10-27 15:55:29 +01:00
Adriaan de Groot
14c079d1d6 [keyboard] Replace own copy of status by the one from Config 2020-10-27 15:53:59 +01:00
Adriaan de Groot
acb5190217 [keyboard] Use Config methods rather than own copy
- this continues the port of the keyboard module to use the Config
  object, which was horribly botched earlier.
2020-10-27 15:51:48 +01:00
Adriaan de Groot
a955791766 Apply coding style globally again 2020-10-12 14:27:01 +02:00
Adriaan de Groot
6b07bdf6ed [keyboard] Do not use deprecated Qt4-era indexChanged for text 2020-09-22 23:51:35 +02:00
Adriaan de Groot
2126be6d6d Warnings-- (~T() override)
Consistently use
	~T() override;
in class declarations (so no virtual in front, and avoid
warnings due to the missing override in back).
2020-09-22 22:40:52 +02:00
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
192263cf9d [libcalamares][modules] Use compatibility for QString::split()
- Use the compatibility value, which has an enum value suitable
  for the Qt version in use.
2020-06-23 11:13:55 +02:00
Adriaan de Groot
c6d147bde6 [keyboard] Give Canadian English the US keyboard layout, eh 2020-06-03 01:38:11 -07:00
Camilo Higuita
835850c02a [keyboardq] apply the style script 2020-04-03 10:27:06 +02:00
Adriaan de Groot
b704933b58 [keyboard] Avoid crash with unconfigured keyboards
- If there's no items at all, ->currentItem() can return nullptr,
   so don't dereference that.

Found on FreeBSD.
2019-04-18 12:56:56 +02:00
Adriaan de Groot
a1e08d2236 [keyboard] Don't use useless rvalue-ref
- Weird && usage here made redundant through RVO, just return
   something normally instead.
2019-04-18 12:06:17 +02: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
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
Harald Sitter
311af6de5d [locale] prefer native language and country names when available
This basically means we talk about localization in the respective
localized variant. e.g. "German (Germany)" ➡ "Deutsch (Deutschland)".

If geoip lookup failed or isn't configured for whatever reason it's a
stretch to expect the user to know english enough to find their own
language. Preferring the localized strings resolves this issue.

Additionally this happens to bypass #712 respectively
https://bugreports.qt.io/browse/QTBUG-34287
as the native names are properly spelled. So, as long as Qt has localized
names the names will also be properly spelled.
2018-12-13 23:18:37 +01: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
ac769d1de8 Style: use QStringLiteral
- In many cases, using QLatin1String is a de-optimization, when
   applied to a C string literal. Kevin Kofler pointed out that
   those should basically all be QStringLiteral, instead. (Compile
   tests with -O3 show that in the optimized object file, the
   code size difference is negligible).
 - Drop the explicit constructor entirely in cases where we're calling
   QProcess::execute(), for consistency.
 - Do a little less messing around in the mapping of keyboard locales
   to keyboard map names.
2018-06-15 04:41:41 -04:00
Adriaan de Groot
3ff68bce98 [keyboard] Correct guessing for Arabic variants 2018-01-09 16:24:55 +01:00
Adriaan de Groot
7249b41e3e [keyboard] Explain table format, add more edge cases 2018-01-08 11:02:20 -05:00
Adriaan de Groot
0d56b9b9c5 Merge branch 'master' into i689-kayboard-layout 2018-01-08 16:19:27 +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
6704121946 Keyboard: try a little harder to match keyboard layouts with selected system language 2017-09-26 11:32:52 -04:00
Adriaan de Groot
9b9801d48d Code-style: format the keyboard module 2017-09-26 11:22:51 +02:00
Adriaan de Groot
ea07d9e1d8 Merge branch 'master' into i689-kayboard-layout 2017-09-26 11:20:17 +02:00
Adriaan de Groot
3527c82327 Clang: make private internal class less visible 2017-09-10 13:22:54 -04:00
Adriaan de Groot
bd3786ebeb Clang: reduce warnings in various places 2017-09-10 13:22:32 -04:00
Adriaan de Groot
e9ab78cd52 Keyboard: special-case, pc+latin interpreted as us,
instead of as unknown which selects the first layout in the list.
2017-06-19 11:12:23 -04:00
Adriaan de Groot
6ef2f5d769 Keyboard: code-docs, copyright 2017-06-19 10:46:30 -04:00
Adriaan de Groot
59605d552e Keyboard: simplify execution of setxkbmap.
Use QProcess::execute() with the 'safer' argument-list, rather than
escaping and de-escaping strings. Also reduce noise by only passing
a variant if there is one.
2017-06-19 10:41:56 -04:00
Adriaan de Groot
88715b9a0f Keyboard: guess at layout based on locale
Split locale into <language>_<country> and go looking for keyboard
layouts that match. Do that in reverse, so look for country first.

- known weakness is el_CY (should get layout gr) because CY and el
  don't name any keyboard layout.
- known weakness are Hausa, Igbo .. which are ha_NG and ig_NG. They select
  keyboard layout ng, which is labeled "English (Nigeria)"; they ought
  to select ng(hausa) and ng(igbo), which are the right variant keyboard
  layouts to use.
- similar selecting a locale in Canada (en_CA, fr_CA, iu_CA ...) will
  select keyboard layout ca, which is for French-speaking Canada.
  Locale en_CA should select keyboard en -- e.g. en(us). But iu_CA
  (Inuktituk) needs layout ca(ike).
2017-06-08 10:15:30 +02:00
Adriaan de Groot
3ae12f2573 Keyboard: avoid multiple connects
When selecting keyboard layout, pause, then select another, the
QTimer wasn't being disconnected from the previously selected
language, so the second selection would fire the timeout, and
then call *two* slots .. and then three, ... Disconnect when
the timer fires, too.
2017-06-06 09:22:21 -04:00
Teo Mrnjavac
5bf4bb8787 Make writeEtcDefaultKeyboard an option in keyboard.conf. 2016-09-26 10:57:57 +02:00