mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
src/osd.c: make osd_preview_restore() private in osd.c
This commit is contained in:
parent
1e0a7e2562
commit
0ef9906557
3 changed files with 28 additions and 32 deletions
|
|
@ -43,9 +43,6 @@ void osd_update(struct server *server);
|
|||
/* Closes the OSD */
|
||||
void osd_finish(struct server *server);
|
||||
|
||||
/* Moves preview views back into their original stacking order and state */
|
||||
void osd_preview_restore(struct server *server);
|
||||
|
||||
/* Notify OSD about a destroying view */
|
||||
void osd_on_view_destroy(struct view *view);
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ end_cycling(struct server *server)
|
|||
}
|
||||
|
||||
struct view *cycle_view = server->osd_state.cycle_view;
|
||||
osd_preview_restore(server);
|
||||
/* FIXME: osd_finish() transiently sets focus to the old surface */
|
||||
osd_finish(server);
|
||||
/* Note that server->osd_state.cycle_view is cleared at this point */
|
||||
|
|
@ -464,7 +463,6 @@ handle_cycle_view_key(struct server *server, struct keyinfo *keyinfo)
|
|||
for (int i = 0; i < keyinfo->translated.nr_syms; i++) {
|
||||
if (keyinfo->translated.syms[i] == XKB_KEY_Escape) {
|
||||
/* cancel view-cycle */
|
||||
osd_preview_restore(server);
|
||||
osd_finish(server);
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
55
src/osd.c
55
src/osd.c
|
|
@ -102,9 +102,36 @@ osd_on_view_destroy(struct view *view)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
restore_preview_node(struct server *server)
|
||||
{
|
||||
struct osd_state *osd_state = &server->osd_state;
|
||||
if (osd_state->preview_node) {
|
||||
wlr_scene_node_reparent(osd_state->preview_node,
|
||||
osd_state->preview_parent);
|
||||
|
||||
if (osd_state->preview_anchor) {
|
||||
wlr_scene_node_place_above(osd_state->preview_node,
|
||||
osd_state->preview_anchor);
|
||||
} else {
|
||||
/* Selected view was the first node */
|
||||
wlr_scene_node_lower_to_bottom(osd_state->preview_node);
|
||||
}
|
||||
|
||||
/* Node was disabled / minimized before, disable again */
|
||||
if (!osd_state->preview_was_enabled) {
|
||||
wlr_scene_node_set_enabled(osd_state->preview_node, false);
|
||||
}
|
||||
osd_state->preview_node = NULL;
|
||||
osd_state->preview_parent = NULL;
|
||||
osd_state->preview_anchor = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
osd_finish(struct server *server)
|
||||
{
|
||||
restore_preview_node(server);
|
||||
seat_focus_override_end(&server->seat);
|
||||
|
||||
server->osd_state.preview_node = NULL;
|
||||
|
|
@ -134,32 +161,6 @@ osd_finish(struct server *server)
|
|||
server->osd_state.cycle_view = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
osd_preview_restore(struct server *server)
|
||||
{
|
||||
struct osd_state *osd_state = &server->osd_state;
|
||||
if (osd_state->preview_node) {
|
||||
wlr_scene_node_reparent(osd_state->preview_node,
|
||||
osd_state->preview_parent);
|
||||
|
||||
if (osd_state->preview_anchor) {
|
||||
wlr_scene_node_place_above(osd_state->preview_node,
|
||||
osd_state->preview_anchor);
|
||||
} else {
|
||||
/* Selected view was the first node */
|
||||
wlr_scene_node_lower_to_bottom(osd_state->preview_node);
|
||||
}
|
||||
|
||||
/* Node was disabled / minimized before, disable again */
|
||||
if (!osd_state->preview_was_enabled) {
|
||||
wlr_scene_node_set_enabled(osd_state->preview_node, false);
|
||||
}
|
||||
osd_state->preview_node = NULL;
|
||||
osd_state->preview_parent = NULL;
|
||||
osd_state->preview_anchor = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
preview_cycled_view(struct view *view)
|
||||
{
|
||||
|
|
@ -168,7 +169,7 @@ preview_cycled_view(struct view *view)
|
|||
struct osd_state *osd_state = &view->server->osd_state;
|
||||
|
||||
/* Move previous selected node back to its original place */
|
||||
osd_preview_restore(view->server);
|
||||
restore_preview_node(view->server);
|
||||
|
||||
/* Store some pointers so we can reset the preview later on */
|
||||
osd_state->preview_node = &view->scene_tree->node;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue