1
0
Fork 0
forked from Miroirs/x49gp

build keyboard by rows and columns

This commit is contained in:
Gwenhael Le Moine 2024-11-10 11:10:48 +01:00
parent 3c38e3e46e
commit 3b8474337d
No known key found for this signature in database
GPG key ID: FDFE3669426707A7

View file

@ -1722,11 +1722,13 @@ static int ui_load( x49gp_module_t* module, GKeyFile* keyfile )
if ( ui->calculator == UI_CALCULATOR_HP49GP_NEWRPL || ui->calculator == UI_CALCULATOR_HP50G_NEWRPL ) if ( ui->calculator == UI_CALCULATOR_HP49GP_NEWRPL || ui->calculator == UI_CALCULATOR_HP50G_NEWRPL )
_ui_load__newrplify_ui_keys(); _ui_load__newrplify_ui_keys();
for ( int i = 0; i < NB_KEYS; i++ ) { int key_index = 0;
button = &ui->buttons[ i ]; for ( int row = 0; row < 10; row++ ) {
for ( int column = 0; column < ( ( row == 0 ) ? 6 : 5 ); column++ ) {
button = &ui->buttons[ key_index ];
button->x49gp = x49gp; button->x49gp = x49gp;
button->key = &ui_keys[ i ]; button->key = &ui_keys[ key_index ];
button->button = gtk_button_new(); button->button = gtk_button_new();
gtk_widget_set_size_request( button->button, button->key->width, button->key->height ); gtk_widget_set_size_request( button->button, button->key->width, button->key->height );
@ -1775,8 +1777,10 @@ static int ui_load( x49gp_module_t* module, GKeyFile* keyfile )
x2 = button->key->x + button->key->width - _tiny_text_width( button->key->right ); x2 = button->key->x + button->key->width - _tiny_text_width( button->key->right );
if ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) > button->key->width ) { if ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) > button->key->width ) {
x -= ( ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) ) - button->key->width ) / 2; x -=
x2 += ( ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) ) - button->key->width ) / 2; ( ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) ) - button->key->width ) / 2;
x2 +=
( ( _tiny_text_width( button->key->right ) + _tiny_text_width( button->key->left ) ) - button->key->width ) / 2;
} }
gtk_fixed_put( GTK_FIXED( keyboard_container ), ui_left, x, KEYBOARD_PADDING + y ); gtk_fixed_put( GTK_FIXED( keyboard_container ), ui_left, x, KEYBOARD_PADDING + y );
@ -1806,8 +1810,10 @@ static int ui_load( x49gp_module_t* module, GKeyFile* keyfile )
y = button->key->y + button->key->height + 2; y = button->key->y + button->key->height + 2;
gtk_fixed_put( GTK_FIXED( keyboard_container ), ui_below, x, KEYBOARD_PADDING + y ); gtk_fixed_put( GTK_FIXED( keyboard_container ), ui_below, x, KEYBOARD_PADDING + y );
} }
}
key_index++;
}
}
// Right-click menu // Right-click menu
ui->menu = gtk_menu_new(); ui->menu = gtk_menu_new();