keyboard: Store ints rather than Qt::Keys

This commit is contained in:
Peter Hartmann 2018-03-28 11:46:31 +02:00
parent ee5cffdc79
commit 745adf463e
2 changed files with 10 additions and 9 deletions

View File

@ -80,8 +80,8 @@ static constexpr const QskInputPanelLayouts qskInputPanelLayouts =
QSK_DECLARE_OPERATORS_FOR_FLAGS( Qt::Key ) // Must appear after the LOWER macro
static const Qt::Key KeyLocked = static_cast< Qt::Key >( Qt::ControlModifier );
static const Qt::Key KeyStates = static_cast< Qt::Key >( Qt::KeyboardModifierMask );
static const int KeyLocked = static_cast< int >( Qt::ControlModifier );
static const int KeyStates = static_cast< int >( Qt::KeyboardModifierMask );
static qreal qskKeyStretch( Qt::Key key )
{
@ -128,7 +128,7 @@ static qreal qskRowStretch( const QskInputPanel::KeyRow& keyRow )
return stretch;
}
static bool qskIsAutorepeat( Qt::Key key )
static bool qskIsAutorepeat( int key )
{
return ( key != Qt::Key_Return && key != Qt::Key_Enter
&& key != Qt::Key_Shift && key!= Qt::Key_CapsLock
@ -344,7 +344,7 @@ const QskInputPanel::KeyDataSet& QskInputPanel::keyData( Mode mode ) const
return m_data->keyTable[ mode ].data;
}
QString QskInputPanel::textForKey( Qt::Key key ) const
QString QskInputPanel::textForKey( int key ) const
{
key &= ~KeyStates;
@ -703,7 +703,7 @@ QString QskInputPanel::currentTextForKeyIndex( int keyIndex ) const
return text;
}
void QskInputPanel::compose( Qt::Key key )
void QskInputPanel::compose( int key )
{
QGuiApplication::inputMethod()->invokeAction(
static_cast< QInputMethod::Action >( Compose ), key );
@ -715,7 +715,8 @@ void QskInputPanel::selectGroup( int index )
if( m_data->selectedGroup >= 0 )
{
topRow[ m_data->selectedGroup ].key &= ~KeyLocked;
auto group = static_cast< int >( m_data->selectedGroup );
topRow[ group ].key &= ~KeyLocked;
}
if( m_data->selectedGroup == index )

View File

@ -55,7 +55,7 @@ public:
struct KeyData
{
Qt::Key key = Qt::Key( 0 );
int key = 0;
bool isSuggestionKey = false;
QRectF rect;
};
@ -100,7 +100,7 @@ public:
const KeyDataSet& keyData( QskInputPanel::Mode = CurrentMode ) const;
QString textForKey( Qt::Key ) const;
QString textForKey( int ) const;
QString displayLanguageName() const;
QRectF keyboardRect() const;
@ -125,7 +125,7 @@ private:
void createUI();
void updateUI(); // e.g. called when updating Pinyin suggestions
void compose( Qt::Key );
void compose( int );
void selectGroup( int );
void selectCandidate( int );
void setCandidateOffset( int );