[gnome-builder] plugins/vim: clear command/command-bar when page switching
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] plugins/vim: clear command/command-bar when page switching
- Date: Sat, 17 Sep 2022 22:38:12 +0000 (UTC)
commit d1b63e17958bb959b708e5c3f5f3949271406fa6
Author: Christian Hergert <chergert redhat com>
Date: Sat Sep 17 13:45:40 2022 -0700
plugins/vim: clear command/command-bar when page switching
src/plugins/vim/gbp-vim-workspace-addin.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
---
diff --git a/src/plugins/vim/gbp-vim-workspace-addin.c b/src/plugins/vim/gbp-vim-workspace-addin.c
index c7579c191..de76bb91d 100644
--- a/src/plugins/vim/gbp-vim-workspace-addin.c
+++ b/src/plugins/vim/gbp-vim-workspace-addin.c
@@ -25,6 +25,7 @@
#include <gtk/gtk.h>
#include <libpanel.h>
+#include <libide-editor.h>
#include <libide-gui.h>
#include "gbp-vim-workspace-addin.h"
@@ -153,11 +154,33 @@ gbp_vim_workspace_addin_unload (IdeWorkspaceAddin *addin,
IDE_EXIT;
}
+static void
+gbp_vim_workspace_addin_page_changed (IdeWorkspaceAddin *addin,
+ IdePage *page)
+{
+ GbpVimWorkspaceAddin *self = (GbpVimWorkspaceAddin *)addin;
+
+ IDE_ENTRY;
+
+ g_assert (IDE_IS_MAIN_THREAD ());
+ g_assert (GBP_IS_VIM_WORKSPACE_ADDIN (self));
+ g_assert (!page || IDE_IS_PAGE (page));
+
+ if (!IDE_IS_EDITOR_PAGE (page))
+ {
+ gbp_vim_workspace_addin_set_command_bar (self, NULL);
+ gbp_vim_workspace_addin_set_command (self, NULL);
+ }
+
+ IDE_EXIT;
+}
+
static void
workspace_addin_iface_init (IdeWorkspaceAddinInterface *iface)
{
iface->load = gbp_vim_workspace_addin_load;
iface->unload = gbp_vim_workspace_addin_unload;
+ iface->page_changed = gbp_vim_workspace_addin_page_changed;
}
G_DEFINE_FINAL_TYPE_WITH_CODE (GbpVimWorkspaceAddin, gbp_vim_workspace_addin, G_TYPE_OBJECT,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]