https://bugs.kde.org/show_bug.cgi?id=524590
Bug ID: 524590
Summary: [SKGTableWidget] Hardcoded accounting parentheses
format (100.00 €) for negative/expense amounts on
Ubuntu 22.04+ (Qt 5.15) with no fallback option
Classification: Applications
Product: skrooge
Version First unspecified
Reported In:
Platform: Ubuntu
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: 25.1.0
Tests effectués avec Gemini
Objet du bug / Title
(FR) Affichage forcé des débits/dépenses entre parenthèses sous Ubuntu 22.04+
(Skrooge 2.27.0) sans option de désactivation
(EN) Hardcoded parentheses for negative/expense amounts on Ubuntu 22.04+
(Skrooge 2.27.0) with no override option
Contexte / Environment
OS : Ubuntu (passage de 20.04 à 22.04 / 24.04 LTS)
Bureau : GNOME / KDE Frameworks
Version Skrooge : 2.27.0 (Paquet APT native Ubuntu)
Version Qt : 5.15.x
Comportement antérieur : Sous Ubuntu 20.04 (Qt 5.12), les montants
négatifs/débits s'affichaient correctement avec le signe - (-10,00 €). Depuis
la mise à niveau vers Ubuntu 22.04+ (Qt 5.15), ils s'affichent systématiquement
sous la forme (100,00 €).
Tests et vérifications effectués (Tests matrix)
Vérification de la configuration système KDE (~/.config/kdeglobals) :
Exécution de grep -i -E "locale|negative|monetary" ~/.config/kdeglobals
Résultat : Seules les lignes de couleurs ForegroundNegative sont présentes.
Aucune clé système n'impose de format monétaire négatif entre parenthèses.
Isolation du thème graphique et des passerelles Qt :
Lancement avec style neutre : QT_STYLE_OVERRIDE=Fusion skrooge
Bascule du thème GNOME / GTK sur Adwaita et Yaru.
Résultat : Les parenthèses restent présentes, ce qui exclut un problème lié au
thème GTK/Qt ou à la passerelle qt5ct.
Variables d'environnement de localisation (POSIX / Locale) :
Lancement en forçant la locale française et d'autres locales francophones :
LC_ALL=fr_FR.UTF-8 LC_NUMERIC=fr_FR.UTF-8 LC_MONETARY=fr_FR.UTF-8 skrooge
LC_ALL=fr_CH.UTF-8 skrooge
LC_ALL=fr_BE.UTF-8 skrooge
Résultat : Échec. Le masque de formatage (X) persiste, indépendamment de la
locale définie.
Fichier de configuration applicatif (~/.config/skroogerc) :
Ajout manuel de la section [Display] avec UseAccountingStyle=false et
NegativeFormat=1.
Résultat : Ignoré par le composant d'affichage dans cette révision.
Décomposition des colonnes d'opérations :
Séparation de la colonne Montant en colonnes distinctes Débit et Crédit.
Résultat : La colonne Débit / Dépense applique elle-même le masque de
parenthèses (montant).
Test des versions récentes via Flatpak (v26.x) :
Résultat : L'application se lance mais bloque à l'ouverture du fichier .skg en
renvoyant l'erreur QSqlDatabase: can not load requested driver 'SKGSQLCIPHER'.
Conclusion pour les développeurs / Expected vs Actual behavior
Comportement attendu : Pouvoir choisir le formatage des nombres négatifs /
débits (utiliser le signe - conformément aux conventions comptables et
monétaires françaises standard) ou respecter la locale du système.
Comportement observé : Le composant SKGTableWidget impose le format comptable
anglo-saxon (100,00 €) de manière indébrayable sous Qt 5.15+, sans possibilité
de configuration dans l'interface utilisateur ou les fichiers .rc.
English
[SKGTableWidget] Hardcoded accounting parentheses format (100.00 €) for
negative/expense amounts on Ubuntu 22.04+ (Qt 5.15) with no fallback option
Software versions:
Application: Skrooge 2.27.0 (Native APT package)
OS: Ubuntu 22.04 / 24.04 LTS (upgraded from 20.04 LTS)
Desktop Environment: GNOME / KDE Frameworks
Qt Version: 5.15.x
Summary / Description
After upgrading from Ubuntu 20.04 to Ubuntu 22.04+, all negative amounts,
debits, and expenses in table views are forcibly formatted using the
Anglo-Saxon accounting style enclosed in parentheses (100.00 €) instead of the
standard minus sign -100.00 €.
On Ubuntu 20.04 (Qt 5.12), the exact same version of Skrooge (2.27.0) displayed
negative amounts with a minus sign -. This behavior appears to stem from
changes in Qt 5.15+ / CLDR monetary formatting handling within SKGTableWidget,
but there is currently no option in the UI or configuration files to disable
this behavior and restore the standard French/European numeric format.
Steps to Reproduce
Launch Skrooge 2.27.0 on Ubuntu 22.04 or 24.04 LTS (Qt 5.15+).
Open any .skg document containing expense/debit transactions.
Observe the display of negative values in the "Amount" or "Expense/Debit"
columns.
Actual Results
All expense and debit amounts are rendered with parentheses: (100,00 €).
Expected Results
Negative amounts should follow the standard system locale format using a minus
sign (e.g., -100,00 €), or Skrooge should provide an explicit setting in the
preferences to toggle between accounting (X) and standard -X formats.
Test Matrix & Troubleshooting Attempted
KDE System Config Check (~/.config/kdeglobals):
Checked with grep -i -E "locale|negative|monetary" ~/.config/kdeglobals. Only
ForegroundNegative color lines are present; no system-wide rule forces
parentheses.
Qt Style & GTK Theme Isolation:
Tested with QT_STYLE_OVERRIDE=Fusion skrooge as well as standard GNOME themes
(Adwaita, Yaru). The parentheses format persists across all widget styles.
Locale Environment Variables:
Ran the application overriding system locales:
LC_ALL=fr_FR.UTF-8 LC_NUMERIC=fr_FR.UTF-8 LC_MONETARY=fr_FR.UTF-8 skrooge
LC_ALL=fr_CH.UTF-8 skrooge
LC_ALL=fr_BE.UTF-8 skrooge
The issue remains unchanged, confirming it bypasses standard POSIX/glibc locale
rules under Qt 5.15.
App Configuration (~/.config/skroogerc):
Added [Display] section with UseAccountingStyle=false and NegativeFormat=1. The
settings are ignored by the table rendering engine in this version.
Column Layout:
Splitting the "Amount" column into separate "Debit" and "Credit" columns still
applies parentheses to positive debit values in the "Expense" column.
Flatpak Testing (v26.x):
Attempted to test newer Flatpak builds, but the Flatpak package currently fails
to open .skg files due to a missing/unloaded SQLCipher driver error:
QSqlDatabase: can not load requested driver 'SKGSQLCIPHER'.
--
You are receiving this mail because:
You are watching all bug changes.