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