@ -11,7 +11,7 @@ const QString ENTER_KEY = "→";
const QMap < QString , int > KEY_STRETCH = { { " " , 5 } , { ENTER_KEY , 2 } } ;
const QMap < QString , int > KEY_STRETCH = { { " " , 5 } , { ENTER_KEY , 2 } } ;
const QStringList CONTROL_BUTTONS = { " ↑ " , " ↓ " , " ABC " , " #+= " , " 123 " } ;
const QStringList CONTROL_BUTTONS = { " ↑ " , " ↓ " , " ABC " , " #+= " , " 123 " , BACKSPACE_KEY , ENTER_KEY } ;
const float key_spacing_vertical = 20 ;
const float key_spacing_vertical = 20 ;
const float key_spacing_horizontal = 15 ;
const float key_spacing_horizontal = 15 ;
@ -113,28 +113,26 @@ Keyboard::Keyboard(QWidget *parent) : QFrame(parent) {
}
}
void Keyboard : : handleButton ( QAbstractButton * btn ) {
void Keyboard : : handleButton ( QAbstractButton * btn ) {
const QString key = btn - > text ( ) ;
const QString & key = btn - > text ( ) ;
if ( ! QString : : compare ( key , " ↓ " ) | | ! QString : : compare ( key , " ABC " ) ) {
if ( CONTROL_BUTTONS . contains ( key ) ) {
main_layout - > setCurrentIndex ( 0 ) ;
if ( key = = " ↓ " | | key = = " ABC " ) {
}
main_layout - > setCurrentIndex ( 0 ) ;
if ( ! QString : : compare ( key , " ↑ " ) ) {
} else if ( key = = " ↑ " ) {
main_layout - > setCurrentIndex ( 1 ) ;
main_layout - > setCurrentIndex ( 1 ) ;
}
} else if ( key = = " 123 " ) {
if ( ! QString : : compare ( key , " 123 " ) ) {
main_layout - > setCurrentIndex ( 2 ) ;
main_layout - > setCurrentIndex ( 2 ) ;
} else if ( key = = " #+= " ) {
}
main_layout - > setCurrentIndex ( 3 ) ;
if ( ! QString : : compare ( key , " #+= " ) ) {
} else if ( key = = ENTER_KEY ) {
main_layout - > setCurrentIndex ( 3 ) ;
main_layout - > setCurrentIndex ( 0 ) ;
}
emit emitEnter ( ) ;
if ( ! QString : : compare ( key , ENTER_KEY ) ) {
} else if ( key = = BACKSPACE_KEY ) {
main_layout - > setCurrentIndex ( 0 ) ;
emit emitBackspace ( ) ;
}
}
if ( " A " < = key & & key < = " Z " ) {
} else {
main_layout - > setCurrentIndex ( 0 ) ;
if ( " A " < = key & & key < = " Z " ) {
}
main_layout - > setCurrentIndex ( 0 ) ;
}
// TODO: break up into separate signals
emit emitKey ( key ) ;
if ( ! CONTROL_BUTTONS . contains ( key ) ) {
emit emitButton ( key ) ;
}
}
}
}