Opened 9 years ago

Closed 9 years ago

#31295 closed defect (fixed)

kmymoney4 starts with an error

Reported by: vazspam-forum@… Owned by: mkae (Marko Käning)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: pixilla (Bradley Giesbrecht), kurtjaeke@…
Port: kmymoney4

Description

When I start KMyMoney it opens an error dialog and then exits. The dialog mentions incorrect decimal symbol that is not correctly set in the KDE System Settings module

kmymoney4 @4.6.0

Attachments (1)

Screen Shot 2011-09-17 at 14.45.43 .png (36.1 KB) - added by vazspam-forum@… 9 years ago.
Dialog box

Download all attachments as: .zip

Change History (13)

Changed 9 years ago by vazspam-forum@…

Dialog box

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: pixilla@… added
Keywords: kmymoney removed
Milestone: MacPorts 2.0.4
Owner: changed from macports-tickets@… to mk@…
Port: kmymoney4 added
Summary: KMyMoney starts with an errorkmymoney4 starts with an error

comment:2 Changed 9 years ago by mkae (Marko Käning)

I'll contact KMM's mailing list to figure out how to properly set a valid currency for KDE.

comment:3 Changed 9 years ago by mkae (Marko Käning)

In a full KDE system, there is an item on the main menu for "System Settings." (I believe the app name is systemsettings.) On the main page that comes up, click "locales" and then under "Country/Region & Language" there is a "Money" tab, where you set the currency, currency symbol, and some other format items. I haven't yet found where the settings are stored, but I assume somewhere under ~/.kde4.

Jack

comment:4 Changed 9 years ago by mkae (Marko Käning)

and the code you mention checks that the decimal symbol is not empty:

if (KGlobal::locale()->monetaryDecimalSymbol().isEmpty()) {
   KMessageBox::error(0, i18n("The monetary decimal symbol is not correctly 
set in the KDE System Settings module Country/Region & Language. Please set it 
to a reasonable value and start KMyMoney again."), i18n("Invalid settings"));
   delete a;
   exit(1);
 }

There needs to be a value, otherwise the whole application would not work properly.

Jack wrote:

I haven't yet found where the settings are stored, but I assume somewhere under ~/.kde4.

They are stored in ~/.kde4/share/config/kdeglobals. Here you see the German version :)

[Locale]
DecimalSymbol=,
MonetaryDecimalSymbol=,
MonetaryThousandsSeparator=.
ThousandsSeparator=.

There can also be global places, but the exact location depend on the distro as it seems to me. In case the value returned is empty, there must be a setting somewhere, as the default in code when no entry is found is ',' and '.' as used in the US locale.

Note: On my openSUSE system, I found /etc/kde4/share/config/kdeglobals.

Hope that helps.

Thomas

comment:5 Changed 9 years ago by mkae (Marko Käning)

I hope the above two comments from Jack & Thomas help to solve your issue.

Greets, Marko

comment:6 Changed 9 years ago by mkae (Marko Käning)

BTW, I've found the global config in ~/.kde/share/config/kdeglobals but the [Locale] entries mentioned above aren't in there either...

comment:7 Changed 9 years ago by vazspam-forum@…

Guys, thanks for the support so far, but I wasn't able to make this issue go away. Does anyone has more ideas?

comment:8 Changed 9 years ago by kurtjaeke@…

From a Terminal window, launch kmymoney4 like this:

/Applications/MacPorts/KDE4/kmymoney.app/Contents/MacOS/kmymoney

and see if the error persists.

If you already do that, play with your locales:

export LANG=en_US.UTF-8

...or whatever your home/preferred language may be. Please report back if that helps.

comment:9 Changed 9 years ago by kurtjaeke@…

Cc: kurtjaeke@… added

Cc Me!

comment:10 Changed 9 years ago by mkae (Marko Käning)

vazspam-forum, did you try out kurtjaeke's hint?

Any news on this issue?

comment:11 Changed 9 years ago by mkae (Marko Käning)

But what happens if you set in your ~/Library/Preferences/KDE/share/config/kdeglobals deliberately

[Locale]
MonetaryDecimalSymbol=.

Does that change anything?

In my kdeglobals I actually do not have such an entry, but when I insert it without the dot after the equal sign I also get exactly your error message.

comment:12 Changed 9 years ago by mkae (Marko Käning)

Resolution: fixed
Status: newclosed

The above addition to kdeglobals obviously solved the issue for the original poster.

It's a workaround and it stays unclear why he suffered this rather singular case of this error.

Note: See TracTickets for help on using tickets.