gtkhtml r8796 - branches/mbarnes-composer/components/editor



Author: mbarnes
Date: Fri Mar 28 19:22:54 2008
New Revision: 8796
URL: http://svn.gnome.org/viewvc/gtkhtml?rev=8796&view=rev

Log:
Add gtkhtml_editor_get_changed() and gtkhtml_editor_set_changed() to
manage the editor's "changed" state.


Modified:
   branches/mbarnes-composer/components/editor/gtkhtml-editor-private.h
   branches/mbarnes-composer/components/editor/gtkhtml-editor.c
   branches/mbarnes-composer/components/editor/gtkhtml-editor.h

Modified: branches/mbarnes-composer/components/editor/gtkhtml-editor-private.h
==============================================================================
--- branches/mbarnes-composer/components/editor/gtkhtml-editor-private.h	(original)
+++ branches/mbarnes-composer/components/editor/gtkhtml-editor-private.h	Fri Mar 28 19:22:54 2008
@@ -163,6 +163,7 @@
 	gchar *current_folder;
 	GtkhtmlColorPalette *palette;
 	GtkhtmlColorState *text_color;
+	gboolean changed;
 };
 
 void		gtkhtml_editor_private_init	 (GtkhtmlEditor *editor);

Modified: branches/mbarnes-composer/components/editor/gtkhtml-editor.c
==============================================================================
--- branches/mbarnes-composer/components/editor/gtkhtml-editor.c	(original)
+++ branches/mbarnes-composer/components/editor/gtkhtml-editor.c	Fri Mar 28 19:22:54 2008
@@ -210,16 +210,19 @@
 static void
 editor_command_popup_menu (GtkhtmlEditor *editor)
 {
+	g_warning ("GtkHTML command \"popup-menu\" not implemented");
 }
 
 static void
 editor_command_properties_dialog (GtkhtmlEditor *editor)
 {
+	g_warning ("GtkHTML command \"property-dialog\" not implemented");
 }
 
 static void
 editor_command_text_color_apply (GtkhtmlEditor *editor)
 {
+	g_warning ("GtkHTML command \"text-color-apply\" not implemented");
 }
 
 static gboolean
@@ -247,7 +250,7 @@
 editor_method_suggestion_request (GtkHTML *html,
                                   gpointer user_data)
 {
-	GtkhtmlEditor *editor = user_data;
+	g_warning ("GtkHTML suggestion_request() method not implemented");
 }
 
 static void
@@ -255,7 +258,7 @@
                               const gchar *word,
                               gpointer user_data)
 {
-	/* TODO - I guess just add it to the first active spell checker? */
+	g_warning ("GtkHTML add_to_session() method not implemented");
 }
 
 static void
@@ -341,7 +344,9 @@
 editor_method_create_input_line (GtkHTML *html,
                                  gpointer user_data)
 {
-	GtkhtmlEditor *editor = user_data;
+	g_warning ("GtkHTML create_input_line() method not implemented");
+
+	return NULL;
 }
 
 static void
@@ -877,6 +882,42 @@
 	return widget;
 }
 
+gboolean
+gtkhtml_editor_get_changed (GtkhtmlEditor *editor)
+{
+	GtkHTML *html;
+
+	/* XXX GtkHTML does not notify us when its internal "saved" state
+	 *     changes, so we can't have a "changed" property because its
+	 *     notifications would be unreliable. */
+
+	g_return_val_if_fail (GTKHTML_IS_EDITOR (editor), FALSE);
+
+	html = gtkhtml_editor_get_html (editor);
+
+	return editor->priv->changed || html_engine_is_saved (html->engine);
+}
+
+void
+gtkhtml_editor_set_changed (GtkhtmlEditor *editor,
+                            gboolean changed)
+{
+	GtkHTML *html;
+
+	/* XXX GtkHTML does not notify us when its internal "saved" state
+	 *     changes, so we can't have a "changed" property because its
+	 *     notifications would be unreliable. */
+
+	g_return_if_fail (GTKHTML_IS_EDITOR (editor));
+
+	html = gtkhtml_editor_get_html (editor);
+
+	if (!changed)
+		html_engine_saved (html->engine);
+
+	editor->priv->changed = changed;
+}
+
 const gchar *
 gtkhtml_editor_get_current_folder (GtkhtmlEditor *editor)
 {

Modified: branches/mbarnes-composer/components/editor/gtkhtml-editor.h
==============================================================================
--- branches/mbarnes-composer/components/editor/gtkhtml-editor.h	(original)
+++ branches/mbarnes-composer/components/editor/gtkhtml-editor.h	Fri Mar 28 19:22:54 2008
@@ -83,6 +83,9 @@
 GtkWidget *	gtkhtml_editor_get_managed_widget
 						(GtkhtmlEditor *editor,
 						 const gchar *widget_path);
+gboolean	gtkhtml_editor_get_changed	(GtkhtmlEditor *editor);
+void		gtkhtml_editor_set_changed	(GtkhtmlEditor *editor,
+						 gboolean changed);
 const gchar *	gtkhtml_editor_get_current_folder
 						(GtkhtmlEditor *editor);
 void		gtkhtml_editor_set_current_folder



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]