From ee5cffdc79b4c42cd3e1269864a68f46bd3a221a Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Wed, 28 Mar 2018 10:26:33 +0200 Subject: [PATCH] keyboard: Fix special characters mode --- src/controls/QskInputPanel.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/controls/QskInputPanel.cpp b/src/controls/QskInputPanel.cpp index 49aff391..d123a88b 100644 --- a/src/controls/QskInputPanel.cpp +++ b/src/controls/QskInputPanel.cpp @@ -207,12 +207,13 @@ void QskKeyButton::updateText() { QString text = m_inputPanel->currentTextForKeyIndex( m_keyIndex ); - if( text.count() == 1 && text.at( 0 ) == Qt::Key_unknown ) + if( text.count() == 1 && text.at( 0 ) == QChar( 0 ) ) { - setText( QStringLiteral( "" ) ); + setVisible( false ); } else { + setVisible( true ); setText( text ); } } @@ -304,10 +305,15 @@ QskInputPanel::QskInputPanel( QQuickItem* parent ): int keyIndex = m_data->keyTable[ m_data->mode ].indexOf( &keyData ); QskKeyButton* button = new QskKeyButton( keyIndex, this, rowBox ); + rowBox->setRetainSizeWhenHidden( button, true ); m_data->keyButtons.append( button ); } } + + connect( this, &QskInputPanel::modeChanged, this, [ this ]() { + updateLayout(); + }); } QskInputPanel::~QskInputPanel()