Commit Graph

76 Commits

Author SHA1 Message Date
Adriaan de Groot
683bad19fc i18n: introduce a "TranslationFix"
This is intended to apply translations to some common Qt UI components.

Example: a QMessageBox with standard buttons OK and Cancel; the text
for that is determined at startup using the system locale, and later
changes to the current locale or the current translation catalog,
do not affect OK and Cancel. It might be possible to load a catalog
with the right translation strings, except that there is no way to
know what the context or catalog **is** for the strings that are
used to label standard buttons: they can come from Qt base, or
the platform, or the theme. Merely loading the Qt Base translations
for the correct language does not help, because those translations
do not contain an "OK" string with the context used for standard
buttons.

Do the translation by hand; then we have all of the Calamares
languages covered, too, which is more than the Qt translations do.
2021-09-08 11:14:46 +02:00
Adriaan de Groot
bc9d8fb13a [libcalamares] Rename files Label -> Translation 2021-07-28 14:22:28 +02:00
Adriaan de Groot
bf9f1c95bc [libcalamares] Rename classes describing Translations
- the name 'Label' was a relic of the class being UI-centered
2021-07-28 14:22:28 +02:00
Adriaan de Groot
51c5c9ba26 [welcome] Switch to using the message from the Config object
- The Config object owns the requirements model, and has messages /
  strings describing the state of the model. Use that message,
  dropping the duplicate message from the requirements widget.
- Re-jig to pass the Config object around rather than the model
  that it owns.
- This does not work, because translation events do not arrive
  (and the slot isn't called automatically either).
2021-07-24 23:15:05 +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
a2180936ef CI: apply coding style across the entire codebase again 2020-08-26 02:28:43 +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
1a1fde1885 [welcome] [welcomeq] Chase API change for requirements progress 2020-05-12 17:07:15 +02:00
Adriaan de Groot
fabe5ec439 [welcome] Config should not have its own RequirementsModel
- Use the one from ModuleManager
2020-05-11 16:30:26 +02:00
Adriaan de Groot
5dc358093e [welcome] Apply coding style 2020-05-06 15:52:56 +02:00
Adriaan de Groot
70054e5db4 [welcome] Chase Branding API change 2020-05-04 12:52:14 +02:00
Adriaan de Groot
1f6752307d [welcome] Massage layout when banner is used
- simplify handling of image loading (if the image doesn't exist,
  Branding will bail out on startup)
- reduce space above the banner if it is in use
2020-04-22 14:53:55 +02:00
Adriaan de Groot
c3941b6e65 [welcome] Shuffle code
- things that can be done in the designer file should be there,
  not weirdly repeated in code elsewhere
- drop the insertion of an extra spacer (why not include it in the
  designer file?)
- shuffle all the connect() calls down to the end of the constructor
2020-04-22 14:53:55 +02:00
bill-auger
7bce58f6f2 [welcome] add optional branding banner to welcome page 2020-04-19 04:01:22 -04:00
Adriaan de Groot
215bc46469 [welcome] Update copyright years in about-popup 2020-03-25 13:54:54 +01:00
Adriaan de Groot
1ede7003c0 [welcome] Apply coding style 2020-03-25 11:41:39 +01:00
Camilo Higuita
d7f7c16958 [welcome] using config for both qcc2 or qwidgets 2020-03-11 14:48:06 +01:00
Adriaan de Groot
0aabc89449 [partition] [welcome] Simplify retranslation 2019-08-29 15:02:12 +02:00
Adriaan de Groot
535bf01475 [welcome] Refactor lambdas to full slots
- This helps give meaningful names to code chunks
 - Gives clang-format something to work with
 - Reduces indentation depth

I think this is a bit of a code-style opinion issue: big complicated
lambdas doing UI things just don't seem like a good idea.
2019-08-29 11:06:55 +02:00
Adriaan de Groot
fc5aa54cb2 [welcome] Fix code formatting
- the RETRANSLATE macro is a real challenge for astyle and clang-format
2019-08-29 11:01:02 +02:00
bill-auger
4c3c6f3f91
eliminate magic number in src/modules/welcome/WelcomePage.cpp 2019-08-28 13:02:42 -04:00
Adriaan de Groot
119f84d6c1 [welcome] Remove setupLinks() method, use generic
- the generic (enum-based) setupButton() can handle all four
   of the buttons, so setupLinks() can go away. Only the
   (re)translation of the text on the button needs to be
   done, so move that to the main RETRANSLATE.
2019-08-13 23:10:56 +02:00
Adriaan de Groot
64d4b0a46c [welcome] Switch API for buttons to an enum + string
- Handle buttons and their URL-opening in a more
   general way with an enum; drop existing three-boot
   method and special setupDonateButton()
 - Doesn't compile because consumers haven't changed.
2019-08-13 23:10:56 +02:00
Adriaan de Groot
03e506a826 [welcome] Add a donate button
FIXES #1197
2019-08-13 23:10:56 +02:00
Adriaan de Groot
f54b7dee9f [welcome] Use convenience image loader from Branding 2019-05-31 17:27:11 +02:00
Adriaan de Groot
07c638ed48 [welcome] Allow theming the international language-select icon 2019-05-31 17:27:11 +02:00
Adriaan de Groot
f18f9dcd14 [welcome] Lookup GeoIP language and pass to language widget
- FIXES #934
 - Whether this is really wanted depends on the distro, and I'm not
   100% convinced the likely tags from Unicode are correct (or it'd
   take a lot more data). In any case, starting Calamares in "NL"
   gets me "nl_NL" as translation; presumably starting it in "BE"
   will get me that as well (what about Les Wallons?)
 - This also shows off that it's a real hack to have so much program
   logic in the *widget* parts of each ViewStep. Longer-term,
   a lot of functionality should go to the ViewStep itself, which
   will then control the UI.
2019-05-10 15:02:12 -04:00
Adriaan de Groot
1857952431 [libcalamares] Add convenience accessor for translations
- Which translations are available is a global property
   of Calamares itself, not of the plugins, so getting
   the model of available translations should live there.
   Move the relevant code (which is simple) from the
   Welcome module.
2019-05-10 12:07:24 -04:00
Adriaan de Groot
18ed4c74ef [libcalamares] Move more into the locale service
- Use namespace CalamaresUtils::Locale consistently for this service.
 - Move locale-related non-GUI support code from the Welcome module
   to libcalamares; these are generally useful. Both Label (naming a locale)
   and LabelModel (managing a bunch of those Labels) have been moved.
2019-05-10 11:46:20 -04:00
Adriaan de Groot
08e4090354 Merge remote-tracking branch 'origin/raurodse-branding'
FIXES #961
2019-04-23 16:41:22 -04:00
Adriaan de Groot
81acc496dc [welcome] Introduce a delegate for drawing the languages list
- Show the native name left, English name right
2019-04-19 13:40:28 +02:00
Adriaan de Groot
53fd1590b8 [welcome] Don't use combobox itemdata for locale information 2019-04-19 10:24:10 +02:00
Adriaan de Groot
e5d1c0ae27 [welcome] Fix matched-with-a-locale
- Previously the matchLocale() function set the index in the
   combobox; do it separately now.
2019-04-19 10:15:57 +02:00
Adriaan de Groot
57452b8c38 [locale] [welcome] Adjust to moved LocaleLabel
- Adjust #includes
 - In [welcome], use find() on the model rather than querying
   the combo-box.
2019-04-19 10:10:36 +02:00
Adriaan de Groot
94765d40cd [welcome] Switch to using LocaleModel for language combobox
- Use the model instead of inserting items
 - While here, tidy includes and documentation
2019-04-18 23:17:49 +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
Adriaan de Groot
8ee2375ee6 [welcome] Adjust welcome message to setup-mode 2019-04-01 06:16:37 -04:00
Adriaan de Groot
43f6405714 [welcome] Simplify team listing
- There are a lot more contributors who should be named, but
   it's not going to fit here. Instead, link to the website.
2019-03-17 04:43:42 -04:00
Adriaan de Groot
c508e3ed4d [welcome] Show progress during requirements checking 2019-02-24 09:07:44 -05:00
Adriaan de Groot
a19d81e38c [welcome] Chase renaming of files
- Rename the classes to match
 - Drop some unused includes
2019-02-23 12:29:59 -05:00
Adriaan de Groot
43eae0bc47 Merge branch 'master' into requirements-checking 2019-02-15 00:32:45 +01:00
Adriaan de Groot
084f4d2445 [libcalamaresui] Refactor: move LocaleLabel to UI library
- This is prep-work for making locale labels consistent everywhere.
 - While here, improve code documentation.
2018-12-14 10:52:55 +01: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
bf40f3bd23 Merge branch 'master' into requirements-checking 2018-08-10 12:02:57 -04:00
Adriaan de Groot
975004fc63 [libcalamaresui] Document accessors in Branding
- document accessors
 - put all path and directory accessors together
 - make simple accessors inline
 - rename "pathprefix" to "directory" to be consistent with others
2018-05-22 05:28:00 -04:00
Adriaan de Groot
39bf2eb9aa [welcome] Fix display of unsupported locales
- Some locales have no nativeLanguageName(), so instead display
   the locale id (e.g. "eo") and the resulting language in English
   (which, if it is really unsupported, will be "C").
2018-05-14 06:28:57 -04:00
Adriaan de Groot
42f5ed5d41 [welcome] Fix build, reduce redundancy
- constexpr isn't applicable because of non-trivial destructor
 - May as well only create " (%1)" once.

FIXES #938
2018-04-23 10:47:31 -04:00
Adriaan de Groot
e5b599fbe3 [welcome] Drop accidental logging 2018-04-19 09:24:59 -04:00
Adriaan de Groot
a9ffd3351d [welcome] Support sr@latin
- The QLocale constructor which takes a string (locale name) doesn't
   understand sr@latin, and returns the Cyrillic locale. Fix that
   by creating locales ourselves for @latin locales.
 - sr and sr@latin now display correctly in the right script in the
   native language dropdown.
2018-04-19 08:40:04 -04:00