[gnome-builder/wip/chergert/libpanel-changes] libide/editor: handle save delegate close signal
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/libpanel-changes] libide/editor: handle save delegate close signal
- Date: Tue, 13 Sep 2022 18:25:54 +0000 (UTC)
commit f2cb289e63e38c789c24f1d10eef72cc48328076
Author: Christian Hergert <chergert redhat com>
Date: Tue Sep 13 11:25:45 2022 -0700
libide/editor: handle save delegate close signal
src/libide/editor/ide-editor-save-delegate.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
---
diff --git a/src/libide/editor/ide-editor-save-delegate.c b/src/libide/editor/ide-editor-save-delegate.c
index 2b2ce1e04..b984f3a44 100644
--- a/src/libide/editor/ide-editor-save-delegate.c
+++ b/src/libide/editor/ide-editor-save-delegate.c
@@ -123,6 +123,18 @@ ide_editor_save_delegate_save_finish (PanelSaveDelegate *delegate,
IDE_RETURN (ret);
}
+static void
+ide_editor_save_delegate_close (PanelSaveDelegate *delegate)
+{
+ IdeEditorSaveDelegate *self = (IdeEditorSaveDelegate *)delegate;
+
+ g_assert (IDE_IS_MAIN_THREAD ());
+ g_assert (IDE_IS_EDITOR_SAVE_DELEGATE (self));
+
+ if (self->page != NULL)
+ panel_widget_force_close (PANEL_WIDGET (self->page));
+}
+
static void
ide_editor_save_delegate_discard (PanelSaveDelegate *delegate)
{
@@ -194,6 +206,7 @@ ide_editor_save_delegate_class_init (IdeEditorSaveDelegateClass *klass)
object_class->get_property = ide_editor_save_delegate_get_property;
object_class->set_property = ide_editor_save_delegate_set_property;
+ save_delegate_class->close = ide_editor_save_delegate_close;
save_delegate_class->discard = ide_editor_save_delegate_discard;
save_delegate_class->save_async = ide_editor_save_delegate_save_async;
save_delegate_class->save_finish = ide_editor_save_delegate_save_finish;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]