Move button finding to view
This commit is contained in:
		@ -498,7 +498,7 @@ on_button_pressed (struct squeek_button *button,
 | 
			
		||||
 | 
			
		||||
    struct button_place place = {
 | 
			
		||||
        .button = button,
 | 
			
		||||
        .row = eek_keyboard_get_row(view, button),
 | 
			
		||||
        .row = squeek_view_get_row(view, button),
 | 
			
		||||
    };
 | 
			
		||||
    if (!place.row) {
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
@ -294,26 +294,6 @@ struct GetRowData {
 | 
			
		||||
    struct squeek_key *needle;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void find_button_in_row(struct squeek_row *row, gpointer user_data) {
 | 
			
		||||
    struct GetRowData *data = user_data;
 | 
			
		||||
    if (data->row) {
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    if (squeek_row_contains(row, data->button)) {
 | 
			
		||||
        data->row = row;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct squeek_row *eek_keyboard_get_row(struct squeek_view *view,
 | 
			
		||||
                                     struct squeek_button *button) {
 | 
			
		||||
    struct GetRowData data = {
 | 
			
		||||
        .button = button,
 | 
			
		||||
        .row = NULL,
 | 
			
		||||
    };
 | 
			
		||||
    squeek_view_foreach(view, find_button_in_row, &data);
 | 
			
		||||
    return data.row;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void find_key_in_row(struct squeek_row *row, gpointer user_data) {
 | 
			
		||||
    struct GetRowData *data = user_data;
 | 
			
		||||
    if (data->button) {
 | 
			
		||||
 | 
			
		||||
@ -61,8 +61,6 @@ struct _LevelKeyboard {
 | 
			
		||||
};
 | 
			
		||||
typedef struct _LevelKeyboard LevelKeyboard;
 | 
			
		||||
 | 
			
		||||
struct squeek_row *eek_keyboard_get_row(struct squeek_view *view,
 | 
			
		||||
                                      struct squeek_button *button);
 | 
			
		||||
struct squeek_button *eek_keyboard_find_button_by_name(LevelKeyboard *keyboard,
 | 
			
		||||
                                      const gchar        *name);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user