Fixed save-and-close, fixed auto syntax check
This commit is contained in:
parent
f348d7f24c
commit
c59b768027
|
@ -24,6 +24,7 @@
|
||||||
struct _GmEditorViewPrivate {
|
struct _GmEditorViewPrivate {
|
||||||
GmWorld *world;
|
GmWorld *world;
|
||||||
GmEditor *editor;
|
GmEditor *editor;
|
||||||
|
GtkWidget *tool_execute;
|
||||||
|
|
||||||
GtkExpander *expander;
|
GtkExpander *expander;
|
||||||
GtkWidget *message_area;
|
GtkWidget *message_area;
|
||||||
|
@ -190,14 +191,21 @@ gm_editor_view_create_source_view(GmEditorView *view) {
|
||||||
source_view), TRUE);
|
source_view), TRUE);
|
||||||
gtk_source_view_set_auto_indent(GTK_SOURCE_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_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_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_left_margin(GTK_TEXT_VIEW(source_view), 6);
|
||||||
gtk_text_view_set_right_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)) {
|
if (gm_editor_is_code(view->priv->editor)) {
|
||||||
gtk_source_buffer_set_highlight(GTK_SOURCE_BUFFER(buffer), TRUE);
|
gtk_source_buffer_set_highlight(GTK_SOURCE_BUFFER(buffer), TRUE);
|
||||||
|
|
||||||
|
g_signal_connect(buffer, "changed",
|
||||||
|
G_CALLBACK(on_gm_editor_view_changed), view);
|
||||||
} else {
|
} else {
|
||||||
gtk_source_buffer_set_highlight(GTK_SOURCE_BUFFER(buffer), FALSE);
|
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",
|
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_signal_connect(buffer, "modified_changed",
|
||||||
G_CALLBACK(on_gm_editor_view_modified_changed), view);
|
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);
|
gtk_widget_show(source_view);
|
||||||
|
|
||||||
return GTK_SOURCE_VIEW(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);
|
G_CALLBACK(on_gm_editor_view_execute_clicked), obj);
|
||||||
gtk_container_add(GTK_CONTAINER(toolbar), item);
|
gtk_container_add(GTK_CONTAINER(toolbar), item);
|
||||||
|
|
||||||
|
obj->priv->tool_execute = item;
|
||||||
|
|
||||||
item = GTK_WIDGET(gtk_separator_tool_item_new());
|
item = GTK_WIDGET(gtk_separator_tool_item_new());
|
||||||
gtk_container_add(GTK_CONTAINER(toolbar), item);
|
gtk_container_add(GTK_CONTAINER(toolbar), item);
|
||||||
|
|
||||||
|
@ -604,7 +612,7 @@ on_gm_editor_view_save_clicked(GtkToolButton *button,
|
||||||
void
|
void
|
||||||
on_gm_editor_view_saveclose_clicked(GtkToolButton *button,
|
on_gm_editor_view_saveclose_clicked(GtkToolButton *button,
|
||||||
GmEditorView *view) {
|
GmEditorView *view) {
|
||||||
gm_editor_save(view->priv->editor);
|
gm_editor_view_save(view);
|
||||||
gm_editor_close(view->priv->editor);
|
gm_editor_close(view->priv->editor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue