From c59b7680271217a2b6a6b0c88fb208d95bcace91 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Sun, 8 Jan 2006 16:31:56 +0000 Subject: [PATCH] Fixed save-and-close, fixed auto syntax check --- gnoemoe/widgets/gm-editor-view.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnoemoe/widgets/gm-editor-view.c b/gnoemoe/widgets/gm-editor-view.c index 627ad5b..1cd31ee 100644 --- a/gnoemoe/widgets/gm-editor-view.c +++ b/gnoemoe/widgets/gm-editor-view.c @@ -24,6 +24,7 @@ struct _GmEditorViewPrivate { GmWorld *world; GmEditor *editor; + GtkWidget *tool_execute; GtkExpander *expander; GtkWidget *message_area; @@ -190,14 +191,21 @@ gm_editor_view_create_source_view(GmEditorView *view) { source_view), TRUE); gtk_source_view_set_auto_indent(GTK_SOURCE_VIEW(source_view), TRUE); gtk_source_view_set_show_line_numbers(GTK_SOURCE_VIEW(source_view), TRUE); + gtk_source_view_set_tabs_width(GTK_SOURCE_VIEW(source_view), 2); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(source_view), GTK_WRAP_WORD_CHAR); gtk_text_view_set_left_margin(GTK_TEXT_VIEW(source_view), 6); gtk_text_view_set_right_margin(GTK_TEXT_VIEW(source_view), 6); if (gm_editor_is_code(view->priv->editor)) { gtk_source_buffer_set_highlight(GTK_SOURCE_BUFFER(buffer), TRUE); + + g_signal_connect(buffer, "changed", + G_CALLBACK(on_gm_editor_view_changed), view); } else { gtk_source_buffer_set_highlight(GTK_SOURCE_BUFFER(buffer), FALSE); + gtk_source_buffer_set_check_brackets(GTK_SOURCE_BUFFER(buffer), FALSE); + + gtk_widget_set_sensitive(view->priv->tool_execute, FALSE); } gtk_text_buffer_create_tag(buffer, "gm_error", "underline", @@ -205,9 +213,7 @@ gm_editor_view_create_source_view(GmEditorView *view) { g_signal_connect(buffer, "modified_changed", G_CALLBACK(on_gm_editor_view_modified_changed), view); - g_signal_connect(buffer, "changed", - G_CALLBACK(on_gm_editor_view_changed), view); - + gtk_widget_show(source_view); return GTK_SOURCE_VIEW(source_view); @@ -328,6 +334,8 @@ gm_editor_view_init(GmEditorView *obj) { G_CALLBACK(on_gm_editor_view_execute_clicked), obj); gtk_container_add(GTK_CONTAINER(toolbar), item); + obj->priv->tool_execute = item; + item = GTK_WIDGET(gtk_separator_tool_item_new()); gtk_container_add(GTK_CONTAINER(toolbar), item); @@ -604,7 +612,7 @@ on_gm_editor_view_save_clicked(GtkToolButton *button, void on_gm_editor_view_saveclose_clicked(GtkToolButton *button, GmEditorView *view) { - gm_editor_save(view->priv->editor); + gm_editor_view_save(view); gm_editor_close(view->priv->editor); }