[gnome-builder] plugins/editorui: use simplified restore_session_item
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] plugins/editorui: use simplified restore_session_item
- Date: Fri, 16 Sep 2022 19:47:09 +0000 (UTC)
commit 20a7704a90c9673a9ec4a032a0f4631c4fa7fc24
Author: Christian Hergert <chergert redhat com>
Date: Fri Sep 16 12:47:01 2022 -0700
plugins/editorui: use simplified restore_session_item
This removes a bunch of boilerplate we'd like to avoid in addins.
.../editorui/gbp-editorui-workspace-addin.c | 30 ++++++----------------
1 file changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/src/plugins/editorui/gbp-editorui-workspace-addin.c
b/src/plugins/editorui/gbp-editorui-workspace-addin.c
index fb2f55920..cff5024be 100644
--- a/src/plugins/editorui/gbp-editorui-workspace-addin.c
+++ b/src/plugins/editorui/gbp-editorui-workspace-addin.c
@@ -856,36 +856,22 @@ failure:
}
static void
-gbp_editorui_workspace_addin_restore_session (IdeWorkspaceAddin *addin,
- IdeSession *session)
+gbp_editorui_workspace_addin_restore_session_item (IdeWorkspaceAddin *addin,
+ IdeSession *session,
+ IdeSessionItem *item)
{
GbpEditoruiWorkspaceAddin *self = (GbpEditoruiWorkspaceAddin *)addin;
- const char *our_workspace_id;
- guint n_items;
+ const char *type_hint;
g_assert (IDE_IS_MAIN_THREAD ());
g_assert (GBP_IS_EDITORUI_WORKSPACE_ADDIN (self));
g_assert (IDE_IS_WORKSPACE (self->workspace));
g_assert (IDE_IS_SESSION (session));
- n_items = ide_session_get_n_items (session);
- our_workspace_id = ide_workspace_get_id (self->workspace);
+ type_hint = ide_session_item_get_type_hint (item);
- for (guint i = 0; i < n_items; i++)
- {
- IdeSessionItem *item = ide_session_get_item (session, i);
- const char *module_name = ide_session_item_get_module_name (item);
-
- if (ide_str_equal0 (module_name, "editorui"))
- {
- const char *type_hint = ide_session_item_get_type_hint (item);
- const char *workspace_id = ide_session_item_get_workspace (item);
-
- if (ide_str_equal0 (type_hint, "IdeEditorPage") &&
- ide_str_equal0 (workspace_id, our_workspace_id))
- gbp_editorui_workspace_addin_restore_page (self, item);
- }
- }
+ if (ide_str_equal0 (type_hint, "IdeEditorPage"))
+ gbp_editorui_workspace_addin_restore_page (self, item);
}
static void
@@ -896,7 +882,7 @@ workspace_addin_iface_init (IdeWorkspaceAddinInterface *iface)
iface->page_changed = gbp_editorui_workspace_addin_page_changed;
iface->ref_action_group = gbp_editorui_workspace_addin_ref_action_group;
iface->save_session = gbp_editorui_workspace_addin_save_session;
- iface->restore_session = gbp_editorui_workspace_addin_restore_session;
+ iface->restore_session_item = gbp_editorui_workspace_addin_restore_session_item;
}
G_DEFINE_TYPE_WITH_CODE (GbpEditoruiWorkspaceAddin, gbp_editorui_workspace_addin, G_TYPE_OBJECT,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]