[gnome-builder] libide: add IdeSourceView::set_overwrite signal
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide: add IdeSourceView::set_overwrite signal
- Date: Mon, 23 Mar 2015 23:54:27 +0000 (UTC)
commit acfe65ea76c9e138b94a3279241327c43bac5dd8
Author: Christian Hergert <christian hergert me>
Date: Wed Mar 4 14:15:03 2015 -0800
libide: add IdeSourceView::set_overwrite signal
toggle-overwrite does not allow for setting a specific mode. This will let
us forcefully disable overwrite as needed during escape hatch.
libide/ide-source-view.c | 24 ++++++++++++++++++++++++
libide/ide-source-view.h | 2 ++
2 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index 526e3d8..b33d405 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -109,6 +109,7 @@ enum {
PUSH_SNIPPET,
POP_SNIPPET,
SET_MODE,
+ SET_OVERWRITE,
LAST_SIGNAL
};
@@ -1594,6 +1595,17 @@ ide_source_view_real_set_mode (IdeSourceView *self,
}
static void
+ide_source_view_real_set_overwrite (IdeSourceView *self,
+ gboolean overwrite)
+{
+ g_assert (IDE_IS_SOURCE_VIEW (self));
+
+ IDE_TRACE_MSG ("Setting overwrite to %s", overwrite ? "TRUE" : "FALSE");
+
+ gtk_text_view_set_overwrite (GTK_TEXT_VIEW (self), overwrite);
+}
+
+static void
ide_source_view_real_movement (IdeSourceView *self,
IdeSourceViewMovement movement,
gboolean extend_selection)
@@ -1784,6 +1796,7 @@ ide_source_view_class_init (IdeSourceViewClass *klass)
klass->jump = ide_source_view_real_jump;
klass->movement = ide_source_view_real_movement;
klass->set_mode = ide_source_view_real_set_mode;
+ klass->set_overwrite = ide_source_view_real_set_overwrite;
g_object_class_override_property (object_class, PROP_AUTO_INDENT, "auto-indent");
@@ -1930,6 +1943,17 @@ ide_source_view_class_init (IdeSourceViewClass *klass)
2,
G_TYPE_STRING,
IDE_TYPE_SOURCE_VIEW_MODE_TYPE);
+
+ gSignals [SET_OVERWRITE] =
+ g_signal_new ("set-overwrite",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (IdeSourceViewClass, set_overwrite),
+ NULL, NULL,
+ g_cclosure_marshal_generic,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_BOOLEAN);
}
static void
diff --git a/libide/ide-source-view.h b/libide/ide-source-view.h
index b9a9833..309b5fa 100644
--- a/libide/ide-source-view.h
+++ b/libide/ide-source-view.h
@@ -178,6 +178,8 @@ struct _IdeSourceViewClass
void (*set_mode) (IdeSourceView *self,
const gchar *mode,
IdeSourceViewModeType type);
+ void (*set_overwrite) (IdeSourceView *self,
+ gboolean overwrite);
};
void ide_source_view_clear_snippets (IdeSourceView *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]