Commit Graph

24 Commits

Author SHA1 Message Date
Seitseman 2275fe4f1f fix(Stored): Make stores typed
Adding types instead of var for stores used in qml components

Closes: #14801
2024-08-27 10:52:18 +02:00
Lukáš Tinkl d0658feb26 feat: disable language/translations selection
- make it conditionally available for testing via
Settings/Advanced/Enable translations
- display a tooltip and infobox explaining the current and future
situation
- upon app start, force the language to "en" if the translations are not
enabled; and suggest app restart when they get disabled

Fixes #14527
2024-04-30 13:25:01 +02:00
Lukáš Tinkl 630da7caaa fix: 150% and 200% zoom levels prevent the user from logging in
- TLDR: we were scaling twice, resulting in ginourmous pixel values

The long story:
- since Qt treats the various scale factors in a multiplicative way (see
https://www.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6 for
explanation) and there's no way to get the screen's baseline scale
factor programatically, we also have to export `QT_SCREEN_SCALE_FACTORS`
to something that's not equal to `0` or `1` to force the monitor scale
factor to `100%` and then compensate for it when exporting our own scale
value using `QT_SCALE_FACTOR`
- make the UI slider values go in `25%` steps, allowing for more fine
grained control; with `100%` we fallback to the Qt's native handling of
highdpi
- raised the maximum to `300%` since on highres displays, one wouldn't
be able to go over the implicit maximum of `200%` (due to the internal
scaling being 2x)
- scale our main window's minimum width/height so that we don't overflow
the monitor's available space
- modernize the `ConfirmAppRestartModal` to use `StatusDialog`
- use the new `Utils.restartApplication()` when changing the UI language
as well
- remove some dead code

In the (very) long term, we should take a different approach of scaling
our app independently of Qt, just taking the monitor
`Screen.devicePixelRatio` into account, similar to what other apps like
Telegram do

Fixes #13484
2024-02-27 10:39:05 +01:00
Lukáš Tinkl b4958689bd fix: fixup left margin in settings to be 64px
as intended in Figma; also fix the icon size to be 24px
2023-09-25 14:09:45 +02:00
Patryk Osmaczko 35a2dd5244 [Popups]: added destroy() function in all popups by default
Also switched StatusModal to derive from StatusDialog instead
of Popup type

Closes #10149
2023-06-02 14:28:39 +03:00
Lukáš Tinkl c548a96a2a fix(Settings/LanguageView): do not change language on the fly
disable retranslation, display a confirmation dialog and apply the
language change after app restart

rationale: the way the retranslation works internally is that it force
reevaluation of _all_ QML bindings which:
- might lead to crashes (immediately or later)
- lots of warnings printed to console, some bindings can get broken as a result
- not all UI is correctly retranslated on the fly (we have lots of places
where we assign the text imperatively via JS code), so these wouldn't
appear translated before app restart anyway

Fixes #7823
2023-04-27 16:12:33 +02:00
Lukáš Tinkl b2328d6643 chore: Consolidate date/time formatting
- simplify locale settings
- extract/fix datetime related functions into LocaleUtils
- port code to the new LocaleUtils

Closes #7230
2023-01-17 16:42:34 +01:00
Jonathan Rainville cea4945cba feat(storybook): add browser settings in the storybook 2022-10-25 14:27:50 -04:00
Noelia 11fcd82b82 fix(Language): App crashes when language is changed
Enabled restart info popup after language is changed --> Workaround to temporary resolve the crash we have when language is changed (`startupModule` is null and some qml bindings are still calling this dead pointer) so, change language will not retranslate and instead, also on mac and win, the app will need a restart to apply the new language.

Disabled retranslations for all os on the corresponding service.

Will temporary fix #7709
2022-10-07 18:45:41 +02:00
Lukáš Tinkl f4a6fa8012 fix(LanguageView): simplify the radio buttons handling
- pull in required StatusQ changes (see status-im/StatusQ#882)
- simplify the radio buttons handling, no need for a ButtonGroup as they
share the same parent
- the radio buttons have the desired font size as a result ;)
2022-09-06 09:54:11 +02:00
Noelia b06bae0d4e test(Settings/Language): Can change language
`tst_languageSettings`:
- Feature and basic scenarios definition: Change language by selection and change language by search.
- Added `StatusLanguageScreen` class and related methods to change and validate language.

`SquishDriver`:
- Added support to scroll at a specific list view index.
- Added support  to directly type into a focused element.

`settings_names.py`:
- Added support for object names related to `side bar` options.
- Unified some nomenclature related to settings objects.

`LanguageView`:
- Updated to allow registering the change on Linux before the restart popup is shown so the language test can work.

Closes #6903
2022-08-18 11:28:55 +02:00
Patryk Osmaczko 43de90e80e feat(settings): add alpha and beta language sections
closes: #6662
2022-08-02 17:27:32 +02:00
Patryk Osmaczko 8e31303c6d fix(settings): remove usage of proxyRoles
- SortFilterProxyModel::proxyRoles have big performance impact, don't
  use it util it's fixed
2022-08-02 17:27:32 +02:00
Patryk Osmaczko 5b51a7ce81 chore(settings): fix naming: locale->language 2022-07-27 14:22:50 +02:00
Patryk Osmaczko 0dfdcc727a feat(settigns): use nim provided language model
closes: #6416
2022-07-27 14:22:50 +02:00
Noelia 2154626a5b feat(Language&Currency): Add Date & Time Format
Added Date & Time selectors in `Language & Currency" screen.

Added new properties in `local_app_settings` to set the date and time format.

Created all the chain from view to service to update date and time format.

Added date and time format functions in `Utils`.

Updated `FetchMoreMessagesButton`, `ChatTimePanel`,  `AppSearch`, `TransactionBubbleView` and `TransactionDelegate` date and time text depending on the selected format.

Closes #5386
2022-05-12 18:42:06 +02:00
Sale Djenic 2904018173 fix(@desktop/settings): content on the right side for all subsections need to have the same geometry
Structure of the all subsection of the settings section has the same
high level structure

Fixes #5650
2022-05-10 20:47:29 +02:00
Noelia 59631cad8f feat(Language & Currency): Currency settings screen
Added currency picker into `LanguageView.qml`.

Added `category` and `imageSource` property to existing `CurrenciesStore.qml`. Renamed `code` to `shortName`.

Added `currenciesModel` property to `WalletStore.qml`.

Added wallet store into `LanguageView.qml` in order to link to the currencies model.

Added some tokens in the currencies store.

Made wallet and any currency related UI code that uses current currency use the new Display Currency value.

Removed no longer used wallet/settings related files.

Closes #5385
2022-05-04 16:16:59 +02:00
Noelia d7fa1b96d3 feat(Language): Redesign of Language settings screen
Renamed setting section "Language" to "Language & Currency".

Updated link to StatusQ - Needed new `StatusListPicker` component.

Added language model in `LanguageStore` and created first view approach for `Language` setting.

Added temporal confirmation dialog for Linux OS (since it is currently needed to restart the app to apply changes).

Removed no longer used files.

Closes #5384
2022-04-07 11:19:15 -04:00
Sale Djenic 9b1e794e8f refactor(@desktop/settings-pivacy-security): privacy and security section updated 2022-02-01 11:47:43 +01:00
Sale Djenic b4df87b7a6 refactor(@desktop/settings-language): language settings added 2022-02-01 11:47:18 +01:00
Khushboo Mehta 1977420db2 refactor: remove dynamic scoping from profile module
closes #4247
2022-02-01 11:43:27 +01:00
Sale Djenic 3f6bb66536 refactor(@desktop/general): `globalSettings` moved to Nim 2021-11-05 11:02:45 -04:00
Pascal Precht 4e8f2303e6 refactor(@desktop/profile): introduce new QML and store structure in profile section
Closes #3712
2021-10-14 09:29:05 -04:00