view: add move_to_front to struct view_impl

...to increase xwayland and xdg-shell encapsulation and to avoid passing a
function pointer as an argument in `xwayland_move_sub_views_to_front()`
which is inconsistent with labwc design patterns.

Rename view-impl.c to view-impl-common.c

Move function declarations that are common to view-implementations from
view.h into view-impl-common.h
This commit is contained in:
Johan Malm 2023-02-05 19:29:24 +00:00 committed by Johan Malm
parent 440372c2da
commit b8ec5a3e2e
10 changed files with 74 additions and 55 deletions

24
src/view-impl-common.c Normal file
View file

@ -0,0 +1,24 @@
// SPDX-License-Identifier: GPL-2.0-only
/* view-impl-common.c: common code for shell view->impl functions */
#include <stdio.h>
#include <strings.h>
#include "labwc.h"
#include "view.h"
#include "view-impl-common.h"
void
view_impl_move_to_front(struct view *view)
{
wl_list_remove(&view->link);
wl_list_insert(&view->server->views, &view->link);
wlr_scene_node_raise_to_top(&view->scene_tree->node);
}
void
view_impl_map(struct view *view)
{
desktop_focus_and_activate_view(&view->server->seat, view);
desktop_move_to_front(view);
view_update_title(view);
view_update_app_id(view);
}