Index: app/display.c =================================================================== --- app/display.c (revision 3710) +++ app/display.c (working copy) @@ -96,6 +96,12 @@ GtkStatusbar *statusbar; guint context_id; + if (is_integrated_ui ()) + { + integrated_ui_show_diagram_modified_status (ddisp); + return; + } + if (diagram_is_modified(ddisp->diagram)) { statusbar = GTK_STATUSBAR (ddisp->modified_status); Index: app/interface.c =================================================================== --- app/interface.c (revision 3710) +++ app/interface.c (working copy) @@ -438,6 +438,41 @@ } /** + * Change diagram notebook label to show that the diagram has + * been modified (or that it hasn't been modified). + * + * @param ddisp The display which needs the label updated. + */ +void integrated_ui_show_diagram_modified_status (DDisplay *ddisp) +{ + GtkLabel * label = g_object_get_data (G_OBJECT (ddisp->container), "tab-label"); + const gchar * name; + const gchar * sep; + + sep = g_strrstr (ddisp->diagram->filename,G_DIR_SEPARATOR_S); + + if (sep) + { + name = sep + 1; /* IS THIS PORTABLE??? */ + } + else + { + name = ddisp->diagram->filename; + } + + if (diagram_is_modified (ddisp->diagram)) + { + const gchar * text = g_strdup_printf ("*%s",name); + gtk_label_set_text (label, text); + g_free (text); + } + else + { + gtk_label_set_text (label,name); + } +} + +/** * @param ddisp The diagram display object that a window is created for * @param title */ Index: app/interface.h =================================================================== --- app/interface.h (revision 3710) +++ app/interface.h (working copy) @@ -53,12 +53,10 @@ void integrated_ui_main_statusbar_show (void); void integrated_ui_main_statusbar_hide (void); -/* -void synchronize_ui_to_active_display (DDisplay *ddisp); -*/ - int is_integrated_ui (void); +void integrated_ui_show_diagram_modified_status (DDisplay *ddisp); + void create_display_shell(DDisplay *ddisp, int width, int height, char *title, int use_mbar, int top_level_window);