Kaydet (Commit) 7eb71f84 authored tarafından Caolán McNamara's avatar Caolán McNamara

honor getNumDecimalSep for keypad input in native gtk3 dialogs

Change-Id: Ibbd37f18ee97eb6ded0ab90cd70b777ffd20f91d
Reviewed-on: https://gerrit.libreoffice.org/63291
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst c846e85f
......@@ -1187,6 +1187,7 @@ private:
bool m_bFrozen;
gulong m_nFocusInSignalId;
gulong m_nFocusOutSignalId;
gulong m_nKeyPressSignalId;
static void signalFocusIn(GtkWidget*, GdkEvent*, gpointer widget)
{
......@@ -1202,6 +1203,17 @@ private:
pThis->signal_focus_out();
}
static gboolean signalKeyPress(GtkWidget*, GdkEventKey* pEvent, gpointer)
{
// #i1820# use locale specific decimal separator
if (pEvent->keyval == GDK_KEY_KP_Decimal)
{
OUString aSep(Application::GetSettings().GetLocaleDataWrapper().getNumDecimalSep());
pEvent->keyval = aSep[0];
}
return false;
}
public:
GtkInstanceWidget(GtkWidget* pWidget, bool bTakeOwnership)
: m_pWidget(pWidget)
......@@ -1209,6 +1221,7 @@ public:
, m_bFrozen(false)
, m_nFocusInSignalId(0)
, m_nFocusOutSignalId(0)
, m_nKeyPressSignalId(g_signal_connect(pWidget, "key-press-event", G_CALLBACK(signalKeyPress), this))
{
}
......@@ -1509,6 +1522,7 @@ public:
virtual ~GtkInstanceWidget() override
{
g_signal_handler_disconnect(m_pWidget, m_nKeyPressSignalId);
if (m_nFocusInSignalId)
g_signal_handler_disconnect(m_pWidget, m_nFocusInSignalId);
if (m_nFocusOutSignalId)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment