[evolution/wip/webkit-composer: 513/966] Initial basic implementation of WebKit-based editor



commit 8d329cf7b1a60c391def1e43b9cc5c39068e47e2
Author: Dan Vrátil <dvratil redhat com>
Date:   Mon Jul 23 10:15:00 2012 +0200

    Initial basic implementation of WebKit-based editor

 e-util/Makefile.am          |   42 +-
 e-util/e-editor-builder.ui  | 3621 +++++++++++++++++++++++++++++++++++++++++++
 e-util/e-editor-manager.ui  |   14 +
 e-util/e-editor-selection.c |  839 ++++++++++
 e-util/e-editor-selection.h |  130 ++
 e-util/e-editor-widget.c    |  144 ++
 e-util/e-editor-widget.h    |   40 +
 e-util/e-util.h             |   20 -
 e-util/test-editor.c        |   52 +
 9 files changed, 4841 insertions(+), 61 deletions(-)
---
diff --git a/e-util/Makefile.am b/e-util/Makefile.am
index 3d94b0f..1d8d6d7 100644
--- a/e-util/Makefile.am
+++ b/e-util/Makefile.am
@@ -40,6 +40,7 @@ errordir = $(privdatadir)/errors
 @EVO_PLUGIN_RULE@
 
 ui_DATA = \
+       e-editor-builder.ui \
        e-editor-manager.ui \
        e-send-options.ui \
        e-table-config.ui \
@@ -178,28 +179,8 @@ evolution_util_include_HEADERS =  \
        e-destination-store.h \
        e-dialog-utils.h \
        e-dialog-widgets.h \
-       e-editor-actions.h \
-       e-editor-cell-dialog.h \
-       e-editor-dialog.h \
-       e-editor-find-dialog.h \
-       e-editor-hrule-dialog.h \
-       e-editor-image-dialog.h \
-       e-editor-link-dialog.h \
-       e-editor-page-dialog.h \
-       e-editor-paragraph-dialog.h \
-       e-editor-replace-dialog.h \
        e-editor-selection.h \
-       e-editor-spell-check-dialog.h \
-       e-editor-table-dialog.h \
-       e-editor-text-dialog.h \
-       e-editor-utils.h \
        e-editor-widget.h \
-       e-editor.h \
-       e-emoticon-action.h \
-       e-emoticon-chooser-menu.h \
-       e-emoticon-chooser.h \
-       e-emoticon-tool-button.h \
-       e-emoticon.h \
        e-event.h \
        e-file-request.h \
        e-file-utils.h \
@@ -449,29 +430,8 @@ libevolution_util_la_SOURCES = \
        e-destination-store.c \
        e-dialog-utils.c \
        e-dialog-widgets.c \
-       e-editor-actions.c \
-       e-editor-cell-dialog.c \
-       e-editor-dialog.c \
-       e-editor-find-dialog.c \
-       e-editor-hrule-dialog.c \
-       e-editor-image-dialog.c \
-       e-editor-link-dialog.c \
-       e-editor-page-dialog.c \
-       e-editor-paragraph-dialog.c \
-       e-editor-private.h \
-       e-editor-replace-dialog.c \
        e-editor-selection.c \
-       e-editor-spell-check-dialog.c \
-       e-editor-table-dialog.c \
-       e-editor-text-dialog.c \
-       e-editor-utils.c \
        e-editor-widget.c \
-       e-editor.c \
-       e-emoticon-action.c \
-       e-emoticon-chooser-menu.c \
-       e-emoticon-chooser.c \
-       e-emoticon-tool-button.c \
-       e-emoticon.c \
        e-event.c \
        e-file-request.c \
        e-file-utils.c \
diff --git a/e-util/e-editor-builder.ui b/e-util/e-editor-builder.ui
new file mode 100644
index 0000000..b6fb0a9
--- /dev/null
+++ b/e-util/e-editor-builder.ui
@@ -0,0 +1,3621 @@
+<?xml version="1.0"?>
+<!--Generated with glade3 3.4.5 on Wed Dec 31 00:39:22 2008 -->
+<interface>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment10">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment11">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment12">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment13">
+    <property name="upper">10000</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment14">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment15">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment16">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment2">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment3">
+    <property name="upper">32767</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment4">
+    <property name="upper">32767</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment5">
+    <property name="upper">100</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">1</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment6">
+    <property name="upper">32767</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment7">
+    <property name="upper">32767</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment8">
+    <property name="upper">32767</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkAdjustment" id="adjustment9">
+    <property name="upper">100</property>
+    <property name="lower">0</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">0</property>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">px</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">%</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model10">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">px</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">%</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">follow</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model11">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Top</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Middle</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bottom</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model2">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Left</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Center</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Right</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model3">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">px</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">%</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model4">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Left</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Center</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Right</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model5">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">None</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Perforated Paper</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Blue Ink</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Paper</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Ribbon</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Midnight</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Confidential</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Draft</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Graph Paper</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model6">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Top</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Middle</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Bottom</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model7">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Left</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Center</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">Right</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model8">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">px</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">%</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model9">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">px</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">%</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">follow</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkWindow" id="text-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Text Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <child>
+      <object class="GtkVBox" id="text-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkHBox" id="text-properties-inner-hbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <object class="GtkTable" id="text-properties-table-left">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="n_rows">4</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkCheckButton" id="text-properties-strikethrough-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Strikethrough</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="text-properties-underline-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Underline</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="text-properties-italic-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Italic</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="text-properties-bold-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Bold</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="text-properties-strikethrough-image">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="stock">gtk-strikethrough</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="x_options"/>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="text-properties-underline-image">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="stock">gtk-underline</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options"/>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="text-properties-italic-image">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="stock">gtk-italic</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options"/>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkImage" id="text-properties-bold-image">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="stock">gtk-bold</property>
+                  </object>
+                  <packing>
+                    <property name="x_options"/>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="GtkTable" id="text-properties-table-right">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">6</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <object class="GtkhtmlColorCombo" id="text-properties-color-combo">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="default_label">Automatic</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="text-properties-size-label">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">Si_ze:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="text-properties-color-label">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Color:</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkAlignment" id="text-properties-alignment">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkhtmlComboBox" id="text-properties-size-combo-box">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"/>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="text-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="text-properties-ok-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-ok</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="text-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="paragraph-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Paragraph Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <child>
+      <object class="GtkVBox" id="paragraph-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="paragraph-properties-general-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="paragraph-properties-general-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">General</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="paragraph-properties-general-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkHBox" id="paragraph-properties-general-hbox">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="paragraph-properties-general-style-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Style:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlComboBox" id="paragraph-properties-style-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+        <child>
+          <object class="GtkVBox" id="paragraph-properties-alignment-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="paragraph-properties-alignment-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Alignment</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="paragraph-properties-alignment-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkHButtonBox" id="paragraph-properties-alignment-button-box">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="spacing">6</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <object class="GtkToggleButton" id="paragraph-properties-left-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label">gtk-justify-left</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkToggleButton" id="paragraph-properties-center-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label">gtk-justify-center</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkToggleButton" id="paragraph-properties-right-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label">gtk-justify-right</property>
+                        <property name="use_stock">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="paragraph-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="paragraph-properties-ok-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-ok</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="paragraph-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="find-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Find</property>
+    <property name="resizable">False</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="icon_name">gtk-find</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <signal handler="gtk_widget_grab_focus" name="show" object="find-entry"/>
+    <child>
+      <object class="GtkVBox" id="find-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="find-inner-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkEntry" id="find-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="activates_default">True</property>
+                <signal handler="gtkhtml_editor_find_entry_changed_cb" name="changed" object="find-window"/>
+                <signal handler="gtkhtml_editor_find_entry_activate_cb" name="activate" 
object="find-window"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="find-hbox">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkCheckButton" id="find-backwards">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">Search _backwards</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal handler="gtkhtml_editor_find_backwards_toggled_cb" name="toggled" 
object="find-window"/>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="find-case-sensitive">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">Case _sensitive</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal handler="gtkhtml_editor_find_case_sensitive_toggled_cb" name="toggled" 
object="find-window"/>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkCheckButton" id="find-regular-expression">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label" translatable="yes">_Regular expression</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal handler="gtkhtml_editor_find_regular_expression_toggled_cb" name="toggled" 
object="find-window"/>
+                  </object>
+                  <packing>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHBox" id="find-inner-hbox">
+            <property name="visible">True</property>
+            <child>
+              <object class="GtkLabel" id="find-result-label">
+                <property name="visible">True</property>
+                <property name="label"></property>
+                <property name="xalign">0</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkHButtonBox" id="find-button-box">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="spacing">12</property>
+                <property name="layout_style">GTK_BUTTONBOX_END</property>
+                <child>
+                  <object class="GtkButton" id="find-close-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label">gtk-close</property>
+                    <property name="use_stock">True</property>
+                    <signal handler="gtk_widget_hide" name="clicked" object="find-window"/>
+                  </object>
+                </child>
+                <child>
+                  <object class="GtkButton" id="find-button">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="has_default">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="label">gtk-find</property>
+                    <property name="use_stock">True</property>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="pack_type">GTK_PACK_END</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="replace-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Replace</property>
+    <property name="resizable">False</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <signal handler="gtk_widget_grab_focus" name="show" object="replace-entry"/>
+    <child>
+      <object class="GtkVBox" id="replace-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkTable" id="replace-table">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="n_rows">3</property>
+            <property name="n_columns">3</property>
+            <property name="column_spacing">6</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkEntry" id="replace-with-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="replace-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="replace-with-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">_With:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">replace-with-entry</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="replace-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">R_eplace:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">replace-entry</property>
+              </object>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="replace-backwards">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">Search _backwards</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options"/>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="replace-case-sensitive">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">Case _sensitive</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="replace-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="top_attach">2</property>
+                <property name="bottom_attach">3</property>
+                <property name="x_options"/>
+                <property name="y_options"/>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="replace-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="replace-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="replace-window"/>
+              </object>
+            </child>
+            <child>
+              <object class="GtkButton" id="replace-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-find-and-replace</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="replace-confirmation-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Replace Confirmation</property>
+    <property name="resizable">False</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="icon_name">gtk-find-and-replace</property>
+    <signal handler="gtkhtml_editor_replace_confirmation_delete_event_cb" name="delete_event"/>
+    <child>
+      <object class="GtkHButtonBox" id="replace-confirmation-button-box">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <property name="homogeneous">True</property>
+        <child>
+          <object class="GtkButton" id="replace-confirmation-replace-all-button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkButton" id="replace-confirmation-next-button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="replace-confirmation-close-button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="use_stock">True</property>
+          </object>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkButton" id="replace-confirmation-replace-button">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="receives_default">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+          </object>
+          <packing>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="link-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="title" translatable="yes">Link Properties</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtkhtml_editor_link_properties_show_window_cb" name="show"/>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <child>
+      <object class="GtkVBox" id="link-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkTable" id="link-properties-table">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">3</property>
+            <property name="column_spacing">6</property>
+            <property name="row_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="link-properties-url-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">1</property>
+                <property name="label" translatable="yes">_URL:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">link-properties-url-entry</property>
+              </object>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="link-properties-description-label">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label" translatable="yes">_Description:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">link-properties-description-entry</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="link-properties-url-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <signal handler="gtkhtml_editor_link_properties_url_changed_cb" name="changed" 
object="link-properties-window"/>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="link-properties-description-entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <signal handler="gtkhtml_editor_link_properties_description_changed_cb" name="changed" 
object="link-properties-window"/>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"/>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="link-properties-test-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">2</property>
+                <property name="right_attach">3</property>
+                <property name="x_options"/>
+                <property name="y_options"/>
+              </packing>
+            </child>
+          </object>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="link-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="link-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="link-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="rule-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes" comments="Translators: Caption of a window. 'Rule' here means 
a horizontal line in an HTML text.">Rule Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtkhtml_editor_rule_properties_show_window_cb" name="show"/>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <child>
+      <object class="GtkVBox" id="rule-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="rule-properties-size-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="rule-properties-size-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Size</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="rule-properties-size-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="rule-properties-size-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="rule-properties-width-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Width:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="rule-properties-width-spin-button">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment1</property>
+                        <signal handler="gtkhtml_editor_rule_properties_width_changed_cb" 
name="value_changed" object="rule-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="rule-properties-size-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Size:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="rule-properties-size-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment2</property>
+                        <signal handler="gtkhtml_editor_rule_properties_size_changed_cb" 
name="value_changed" object="rule-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="rule-properties-width-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_rule_properties_width_changed_cb" name="changed" 
object="rule-properties-window"/>
+                        <property name="model">model1</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer1"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="rule-properties-style-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="rule-properties-style-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Style</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="rule-properties-style-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="rule-properties-style-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="rule-properties-alignment-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Alignment:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="rule-properties-alignment-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_rule_properties_alignment_changed_cb" name="changed" 
object="rule-properties-window"/>
+                        <property name="model">model2</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer2"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="rule-properties-shaded-check-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">S_haded</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal handler="gtkhtml_editor_rule_properties_shaded_toggled_cb" name="toggled" 
object="rule-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="rule-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="rule-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="rule-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="table-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Table Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <signal handler="gtkhtml_editor_table_properties_show_window_cb" name="show"/>
+    <child>
+      <object class="GtkVBox" id="table-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="table-properties-general-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="table-properties-general-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">General</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="table-properties-general-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkHBox" id="table-properties-general-hbox">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkHBox" id="table-properties-rows-hbox">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkImage" id="table-properties-rows-image">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="icon_name">stock_select-row</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="table-properties-rows-label">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">_Rows:</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">table-properties-rows-spin-button</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="table-properties-rows-spin-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="adjustment">adjustment3</property>
+                            <signal handler="gtkhtml_editor_table_properties_rows_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                          </object>
+                          <packing>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkHBox" id="table-properties-cols-hbox">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkImage" id="table-properties-cols-image">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="icon_name">stock_select-column</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="table-properties-cols-label">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">C_olumns:</property>
+                            <property name="use_underline">True</property>
+                            <property name="mnemonic_widget">table-properties-cols-spin-button</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkSpinButton" id="table-properties-cols-spin-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="adjustment">adjustment4</property>
+                            <signal handler="gtkhtml_editor_table_properties_cols_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                          </object>
+                          <packing>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="table-properties-layout-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="table-properties-layout-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Layout</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="table-properties-layout-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="table-properties-layout-left-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">7</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-border-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-padding-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-spacing-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="table-properties-width-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_table_properties_width_changed_cb" name="changed" 
object="table-properties-window"/>
+                        <property name="model">model3</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer3"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="table-properties-width-spin-button">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment5</property>
+                        <signal handler="gtkhtml_editor_table_properties_width_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="table-properties-width-check-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Width:</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">1</property>
+                        <property name="draw_indicator">True</property>
+                        <signal handler="gtkhtml_editor_table_properties_width_changed_cb" name="toggled" 
object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="table-properties-alignment-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_table_properties_alignment_changed_cb" 
name="changed" object="table-properties-window"/>
+                        <property name="model">model4</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer4"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-alignment-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Alignment:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">table-properties-alignment-combo-box</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-spacing-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Spacing:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">table-properties-spacing-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-padding-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Padding:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">table-properties-padding-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-border-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Border:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">table-properties-border-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="table-properties-spacing-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment6</property>
+                        <signal handler="gtkhtml_editor_table_properties_spacing_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="table-properties-padding-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment7</property>
+                        <signal handler="gtkhtml_editor_table_properties_padding_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="table-properties-border-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment8</property>
+                        <signal handler="gtkhtml_editor_table_properties_border_changed_cb" 
name="value_changed" object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="table-properties-background-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="table-properties-background-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Background</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="table-properties-background-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="table-properties-background-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-color-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Co_lor:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="table-properties-image-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Image:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">table-properties-image-button</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFileChooserButton" id="table-properties-image-button">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_table_properties_image_changed_cb" 
name="selection_changed" object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlColorCombo" id="table-properties-color-combo">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="default_color">#000000000000</property>
+                        <property name="default_label">Transparent</property>
+                        <property name="default_transparent">True</property>
+                        <signal handler="gtkhtml_editor_table_properties_color_changed_cb" name="changed" 
object="table-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="table-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="table-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="table-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="page-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Page Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtkhtml_editor_page_properties_window_realized_cb" name="realize"/>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <child>
+      <object class="GtkVBox" id="page-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="page-properties-colors-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="page-properties-colors-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Colors</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="page-properties-colors-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="page-properties-colors-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="page-properties-text-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Text:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="page-properties-link-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Link:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="page-properties-background-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Background:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlColorCombo" id="page-properties-text-color-combo">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="default_color">#000000000000</property>
+                        <property name="default_label">Automatic</property>
+                        <signal handler="gtkhtml_editor_page_properties_text_color_changed_cb" 
name="changed" object="page-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlColorCombo" id="page-properties-link-color-combo">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="default_color">#000000000000</property>
+                        <property name="default_label">_Automatic</property>
+                        <signal handler="gtkhtml_editor_page_properties_link_color_changed_cb" 
name="changed" object="page-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlColorCombo" id="page-properties-background-color-combo">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="default_color">#000000000000</property>
+                        <property name="default_label">Automatic</property>
+                        <signal handler="gtkhtml_editor_page_properties_background_color_changed_cb" 
name="changed" object="page-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="page-properties-background-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="page-properties-background-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Background Image</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="page-properties-background-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="page-properties-backgrond-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="page-properties-template-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">T_emplate:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="page-properties-custom-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">C_ustom:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFileChooserButton" id="page-properties-custom-file-chooser">
+                        <property name="width_request">200</property>
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_page_properties_custom_file_changed_cb" 
name="selection_changed" object="page-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="page-properties-template-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_page_properties_template_changed_cb" name="changed" 
object="page-properties-window"/>
+                        <property name="model">model5</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer5"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="page-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="page-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="page-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="cell-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="border_width">1</property>
+    <property name="title" translatable="yes">Cell Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <signal handler="gtkhtml_editor_cell_properties_show_window_cb" name="show"/>
+    <child>
+      <object class="GtkVBox" id="cell-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="border_width">12</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="cell-properties-scope-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="cell-properties-scope-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Scope</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="cell-properties-scope-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="cell-properties-scope-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">5</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="cell-properties-column-radio-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Col_umn</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">cell-properties-cell-radio-button</property>
+                        <signal handler="gtkhtml_editor_cell_properties_scope_toggled_cb" name="toggled" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="cell-properties-row-radio-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Row</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">cell-properties-cell-radio-button</property>
+                        <signal handler="gtkhtml_editor_cell_properties_scope_toggled_cb" name="toggled" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="cell-properties-table-radio-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Table</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">cell-properties-cell-radio-button</property>
+                        <signal handler="gtkhtml_editor_cell_properties_scope_toggled_cb" name="toggled" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkRadioButton" id="cell-properties-cell-radio-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">C_ell</property>
+                        <property name="use_underline">True</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal handler="gtkhtml_editor_cell_properties_scope_toggled_cb" name="toggled" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="cell-properties-column-image">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="icon_name">stock_select-column</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="cell-properties-row-image">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="icon_name">stock_select-row</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="cell-properties-table-image">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="icon_name">stock_select-table</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="cell-properties-cell-image">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="icon_name">stock_select-cell</property>
+                      </object>
+                      <packing>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="cell-properties-alignment-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="cell-properties-alignment-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Alignment &amp; Behavior</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="cell-properties-alignment-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="cell-properties-alignment-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">5</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkHBox" id="cell-properties-alignment-hbox">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="spacing">12</property>
+                        <child>
+                          <object class="GtkCheckButton" id="cell-properties-wrap-text-check-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">_Wrap Text</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                            <signal handler="gtkhtml_editor_cell_properties_wrap_text_toggled_cb" 
name="toggled" object="cell-properties-window"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkCheckButton" id="cell-properties-header-style-check-button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">Hea_der Style</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                            <signal handler="gtkhtml_editor_cell_properties_header_style_toggled_cb" 
name="toggled" object="cell-properties-window"/>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="cell-properties-vertical-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_cell_properties_vertical_changed_cb" name="changed" 
object="cell-properties-window"/>
+                        <property name="model">model6</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer6"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="cell-properties-horizontal-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_cell_properties_horizontal_changed_cb" 
name="changed" object="cell-properties-window"/>
+                        <property name="model">model7</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer7"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-vertical-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Vertical:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-vertical-combo-box</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">3</property>
+                        <property name="right_attach">4</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-horizontal-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Horizontal:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-horizontal-combo-box</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="cell-properties-layout-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="cell-properties-layout-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Layout</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="cell-properties-layout-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="cell-properties-layout-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">6</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="cell-properties-column-span-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment9</property>
+                        <signal handler="gtkhtml_editor_cell_properties_column_span_changed_cb" 
name="change_value" object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="cell-properties-row-span-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment10</property>
+                        <signal handler="gtkhtml_editor_cell_properties_row_span_changed_cb" 
name="change_value" object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-column-span-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Column Span:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-column-span-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-row-span-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Row Span:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-row-span-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="cell-properties-width-combo-box">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_cell_properties_width_changed_cb" name="changed" 
object="cell-properties-window"/>
+                        <property name="model">model8</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer8"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="cell-properties-width-spin-button">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment11</property>
+                        <signal handler="gtkhtml_editor_cell_properties_width_changed_cb" 
name="value_changed" object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkCheckButton" id="cell-properties-width-check-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">Width:</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal handler="gtkhtml_editor_cell_properties_width_changed_cb" name="toggled" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="cell-properties-background-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="cell-properties-background-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Background</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="cell-properties-background-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="cell-properties-background-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkFileChooserButton" id="cell-properties-image-file-chooser">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="title" translatable="yes">Select An Image</property>
+                        <signal handler="gtkhtml_editor_cell_properties_image_file_set_cb" name="file_set" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkhtmlColorCombo" id="cell-properties-color-combo">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="default_color">#000000000000</property>
+                        <property name="default_label">Transparent</property>
+                        <property name="default_transparent">True</property>
+                        <signal handler="gtkhtml_editor_cell_properties_color_changed_cb" name="changed" 
object="cell-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-image-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">I_mage:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-image-file-chooser</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="cell-properties-color-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">C_olor:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">cell-properties-color-combo</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="cell-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="cell-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="cell-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkWindow" id="image-properties-window">
+    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+    <property name="border_width">12</property>
+    <property name="title" translatable="yes">Image Properties</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
+    <property name="destroy_with_parent">True</property>
+    <signal handler="gtk_widget_hide_on_delete" name="delete_event"/>
+    <signal handler="gtkhtml_editor_image_properties_show_window_cb" name="show"/>
+    <child>
+      <object class="GtkVBox" id="image-properties-vbox">
+        <property name="visible">True</property>
+        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+        <property name="spacing">12</property>
+        <child>
+          <object class="GtkVBox" id="image-properties-general-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="image-properties-general-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">General</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="image-properties-general-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="image-properties-general-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">2</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkEntry" id="image-properties-description-entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_image_properties_description_changed_cb" 
name="changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFileChooserButton" id="image-properties-source-file-chooser">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="local_only">False</property>
+                        <signal handler="gtkhtml_editor_image_properties_source_file_set_cb" name="file_set" 
object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-description-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Description:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-description-entry</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-source-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Source:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-source-file-chooser</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="image-properties-layout-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="image-properties-layout-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Layout</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="image-properties-layout-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="image-properties-layout-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">7</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-width-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Width:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-width-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-height-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Height:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-height-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-alignment-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Alignment:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-alignment-combo-box</property>
+                      </object>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="image-properties-width-spin-button">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment12</property>
+                        <signal handler="gtkhtml_editor_image_properties_size_changed_cb" 
name="value_changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="image-properties-height-spin-button">
+                        <property name="width_request">100</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment13</property>
+                        <signal handler="gtkhtml_editor_image_properties_size_changed_cb" 
name="value_changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="image-properties-width-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_image_properties_size_changed_cb" name="changed" 
object="image-properties-window"/>
+                        <property name="model">model9</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer9"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="image-properties-height-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_image_properties_size_changed_cb" name="changed" 
object="image-properties-window"/>
+                        <property name="model">model10</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer10"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options"/>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="image-properties-alignment-combo-box">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_image_properties_alignment_changed_cb" 
name="changed" object="image-properties-window"/>
+                        <property name="model">model11</property>
+                        <child>
+                          <object class="GtkCellRendererText" id="renderer11"/>
+                          <attributes>
+                            <attribute name="text">0</attribute>
+                          </attributes>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-x-padding-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_X-Padding:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-x-padding-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-y-padding-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Y-Padding:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-y-padding-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-border-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_Border:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-border-spin-button</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">4</property>
+                        <property name="right_attach">5</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="image-properties-x-padding-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment14</property>
+                        <signal handler="gtkhtml_editor_image_properties_padding_changed_cb" 
name="value_changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-x-padding-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-y-padding-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="image-properties-y-padding-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment15</property>
+                        <signal handler="gtkhtml_editor_image_properties_padding_changed_cb" 
name="value_changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-border-units-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">px</property>
+                      </object>
+                      <packing>
+                        <property name="left_attach">6</property>
+                        <property name="right_attach">7</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkSpinButton" id="image-properties-border-spin-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="adjustment">adjustment16</property>
+                        <signal handler="gtkhtml_editor_image_properties_border_changed_cb" 
name="value_changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">5</property>
+                        <property name="right_attach">6</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkVBox" id="image-properties-link-vbox">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="image-properties-link-header">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Link</property>
+                <attributes>
+                  <attribute name="weight" value="bold"/>
+                </attributes>
+              </object>
+            </child>
+            <child>
+              <object class="GtkAlignment" id="image-properties-link-alignment">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="left_padding">12</property>
+                <child>
+                  <object class="GtkTable" id="image-properties-link-table">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="n_columns">3</property>
+                    <property name="column_spacing">6</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <object class="GtkButton" id="image-properties-url-button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label" translatable="yes">_Test URL...</property>
+                        <property name="use_underline">True</property>
+                        <signal handler="gtkhtml_editor_image_properties_url_button_clicked_cb" 
name="clicked" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">2</property>
+                        <property name="right_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="image-properties-url-entry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <signal handler="gtkhtml_editor_image_properties_url_entry_changed_cb" 
name="changed" object="image-properties-window"/>
+                      </object>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="image-properties-url-label">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">_URL:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">image-properties-url-entry</property>
+                      </object>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options"/>
+                      </packing>
+                    </child>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHButtonBox" id="image-properties-button-box">
+            <property name="visible">True</property>
+            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+            <property name="spacing">12</property>
+            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <object class="GtkButton" id="image-properties-close-button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="label">gtk-close</property>
+                <property name="use_stock">True</property>
+                <signal handler="gtk_widget_hide" name="clicked" object="image-properties-window"/>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">GTK_PACK_END</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
+ 
diff --git a/e-util/e-editor-manager.ui b/e-util/e-editor-manager.ui
index 75f2c34..829a299 100644
--- a/e-util/e-editor-manager.ui
+++ b/e-util/e-editor-manager.ui
@@ -23,6 +23,7 @@
       <menuitem action='spell-check'/>
       <menu action='language-menu'/>
     </menu>
+<<<<<<< HEAD
     <placeholder name='pre-insert-menu'>
       <menu action='view-menu'>
         <placeholder name='view-menu-top'/>
@@ -30,6 +31,11 @@
         <separator/>
       </menu>
     </placeholder>
+=======
+    <placeholder name='pre-view-menu'/>
+    <menu action='view-menu'/>
+    <placeholder name='pre-insert-menu'/>
+>>>>>>> Initial basic implementation of WebKit-based editor
     <menu action='insert-menu'>
       <placeholder name='insert-menu-top'/>
       <menuitem action='insert-image'/>
@@ -38,7 +44,11 @@
       <menuitem action='insert-table'/>
       <menuitem action='insert-text-file'/>
       <menuitem action='insert-html-file'/>
+<<<<<<< HEAD
       <menuitem action='insert-emoticon'/>
+=======
+      <menuitem action='insert-face'/>
+>>>>>>> Initial basic implementation of WebKit-based editor
     </menu>
     <placeholder name='pre-format-menu'/>
     <menu action='format-menu'>
@@ -128,7 +138,11 @@
     <toolitem action='insert-link'/>
     <toolitem action='insert-rule'/>
     <toolitem action='insert-table'/>
+<<<<<<< HEAD
     <toolitem action='insert-emoticon'/>
+=======
+    <toolitem action='insert-face'/>
+>>>>>>> Initial basic implementation of WebKit-based editor
   </toolbar>
   <popup name='context-menu'>
     <placeholder name='context-spell-suggest'/>
diff --git a/e-util/e-editor-selection.c b/e-util/e-editor-selection.c
index 363af63..71b43d9 100644
--- a/e-util/e-editor-selection.c
+++ b/e-util/e-editor-selection.c
@@ -1,8 +1,11 @@
 /*
  * e-editor-selection.c
  *
+<<<<<<< HEAD
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -23,22 +26,29 @@
 #endif
 
 #include "e-editor-selection.h"
+<<<<<<< HEAD
 #include "e-editor-widget.h"
 #include "e-editor.h"
 #include "e-editor-utils.h"
 
 #include <e-util/e-util.h>
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
 
 #include <webkit/webkit.h>
 #include <webkit/webkitdom.h>
 #include <string.h>
 #include <stdlib.h>
+<<<<<<< HEAD
 #include <ctype.h>
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
 
 #define E_EDITOR_SELECTION_GET_PRIVATE(obj) \
        (G_TYPE_INSTANCE_GET_PRIVATE \
        ((obj), E_TYPE_EDITOR_SELECTION, EEditorSelectionPrivate))
 
+<<<<<<< HEAD
 #define UNICODE_ZERO_WIDTH_SPACE "\xe2\x80\x8b"
 #define SPACES_PER_INDENTATION 4
 
@@ -88,10 +98,41 @@ enum {
        PROP_INDENTED,
        PROP_ITALIC,
        PROP_MONOSPACED,
+=======
+
+struct _EEditorSelectionPrivate {
+
+       WebKitWebView *webview;
+       WebKitDOMRange *range;
+
+       gchar *text;
+       gchar *background_color;
+       gchar *font_color;
+       gchar *font_family;
+};
+
+G_DEFINE_TYPE (
+       EEditorSelection,
+       e_editor_selection,
+       G_TYPE_OBJECT
+);
+
+enum {
+       PROP_0,
+       PROP_WEBVIEW,
+       PROP_BACKGROUND_COLOR,
+       PROP_BOLD,
+       PROP_FONT_NAME,
+       PROP_FONT_SIZE,
+       PROP_FONT_COLOR,
+       PROP_BLOCK_FORMAT,
+       PROP_ITALIC,
+>>>>>>> Initial basic implementation of WebKit-based editor
        PROP_STRIKE_THROUGH,
        PROP_SUBSCRIPT,
        PROP_SUPERSCRIPT,
        PROP_TEXT,
+<<<<<<< HEAD
        PROP_UNDERLINE
 };
 
@@ -202,10 +243,35 @@ get_has_style (EEditorSelection *selection,
                element = webkit_dom_node_get_parent_element (
                        WEBKIT_DOM_NODE (element));
        }
+=======
+       PROP_UNDERLINE,
+};
+
+static gboolean
+get_has_style_property (EEditorSelection *selection,
+                       const gchar *style,
+                       const gchar *value)
+{
+       WebKitDOMNode *node;
+       WebKitDOMCSSStyleDeclaration *css;
+       gchar *style_value;
+       gboolean result;
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+       css = webkit_dom_element_get_style (WEBKIT_DOM_ELEMENT (node));
+       style_value = webkit_dom_css_style_declaration_get_property_value (
+                       css, style);
+
+       result = (g_ascii_strncasecmp (style_value, value, strlen (value)) == 0);
+       g_free (style_value);
+>>>>>>> Initial basic implementation of WebKit-based editor
 
        return result;
 }
 
+<<<<<<< HEAD
 static gchar *
 get_font_property (EEditorSelection *selection,
                    const gchar *font_property)
@@ -236,20 +302,44 @@ editor_selection_selection_changed_cb (WebKitWebView *webview,
        g_object_freeze_notify (G_OBJECT (selection));
 
        g_object_notify (G_OBJECT (selection), "alignment");
+=======
+static void
+webview_selection_changed (WebKitWebView *webview,
+                          EEditorSelection *selection)
+{
+       WebKitDOMDocument *doc;
+       WebKitDOMDOMWindow *window;
+       WebKitDOMDOMSelection *sel;
+
+       g_clear_object (&selection->priv->range);
+
+       doc = webkit_web_view_get_dom_document (webview);
+       window = webkit_dom_document_get_default_view (doc);
+       sel = webkit_dom_dom_window_get_selection (window);
+
+       selection->priv->range =
+               webkit_dom_dom_selection_get_range_at (sel, 0, NULL);
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_notify (G_OBJECT (selection), "background-color");
        g_object_notify (G_OBJECT (selection), "bold");
        g_object_notify (G_OBJECT (selection), "font-name");
        g_object_notify (G_OBJECT (selection), "font-size");
        g_object_notify (G_OBJECT (selection), "font-color");
        g_object_notify (G_OBJECT (selection), "block-format");
+<<<<<<< HEAD
        g_object_notify (G_OBJECT (selection), "indented");
        g_object_notify (G_OBJECT (selection), "italic");
        g_object_notify (G_OBJECT (selection), "monospaced");
+=======
+       g_object_notify (G_OBJECT (selection), "italic");
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_notify (G_OBJECT (selection), "strike-through");
        g_object_notify (G_OBJECT (selection), "subscript");
        g_object_notify (G_OBJECT (selection), "superscript");
        g_object_notify (G_OBJECT (selection), "text");
        g_object_notify (G_OBJECT (selection), "underline");
+<<<<<<< HEAD
 
        g_object_thaw_notify (G_OBJECT (selection));
 }
@@ -390,6 +480,88 @@ editor_selection_get_property (GObject *object,
                                value,
                                e_editor_selection_is_underline (
                                E_EDITOR_SELECTION (object)));
+=======
+}
+
+static void
+editor_selection_set_webview (EEditorSelection *selection,
+                             WebKitWebView *webview)
+{
+       selection->priv->webview = g_object_ref (webview);
+       g_signal_connect (webview, "selection-changed",
+                         G_CALLBACK (webview_selection_changed), selection);
+}
+
+
+static void
+e_editor_selection_get_property (GObject *object,
+                                guint property_id,
+                                GValue *value,
+                                GParamSpec *pspec)
+{
+       EEditorSelection *selection = E_EDITOR_SELECTION (object);
+
+       switch (property_id) {
+               case PROP_BACKGROUND_COLOR:
+                       g_value_set_string (value,
+                               e_editor_selection_get_background_color (
+                                       selection));
+                       return;
+
+               case PROP_BOLD:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_bold (selection));
+                       return;
+
+               case PROP_FONT_NAME:
+                       g_value_set_string (value,
+                               e_editor_selection_get_font_name (selection));
+                       return;
+
+               case PROP_FONT_SIZE:
+                       g_value_set_int (value,
+                               e_editor_selection_get_font_size (selection));
+                       return;
+
+               case PROP_FONT_COLOR:
+                       g_value_set_string (value,
+                               e_editor_selection_get_font_color (selection));
+                       return;
+
+               case PROP_BLOCK_FORMAT:
+                       g_value_set_int (value,
+                               e_editor_selection_get_block_format (selection));
+                       return;
+
+               case PROP_ITALIC:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_italic (selection));
+                       return;
+
+               case PROP_STRIKE_THROUGH:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_strike_through (selection));
+                       return;
+
+               case PROP_SUBSCRIPT:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_subscript (selection));
+                       return;
+
+               case PROP_SUPERSCRIPT:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_superscript (selection));
+                       return;
+
+               case PROP_TEXT:
+                       g_value_set_string (value,
+                               e_editor_selection_get_string (selection));
+                       break;
+
+               case PROP_UNDERLINE:
+                       g_value_set_boolean (value,
+                               e_editor_selection_get_underline (selection));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
        }
 
@@ -397,6 +569,7 @@ editor_selection_get_property (GObject *object,
 }
 
 static void
+<<<<<<< HEAD
 editor_selection_set_property (GObject *object,
                                guint property_id,
                                const GValue *value,
@@ -413,10 +586,29 @@ editor_selection_set_property (GObject *object,
                        e_editor_selection_set_background_color (
                                E_EDITOR_SELECTION (object),
                                g_value_get_string (value));
+=======
+e_editor_selection_set_property (GObject *object,
+                                guint property_id,
+                                const GValue *value,
+                                GParamSpec *pspec)
+{
+       EEditorSelection *selection = E_EDITOR_SELECTION (object);
+
+       switch (property_id) {
+               case PROP_WEBVIEW:
+                       editor_selection_set_webview (
+                               selection, g_value_get_object (value));
+                       break;
+
+               case PROP_BACKGROUND_COLOR:
+                       e_editor_selection_set_background_color (
+                               selection, g_value_get_string (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_BOLD:
                        e_editor_selection_set_bold (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
                        return;
@@ -425,10 +617,14 @@ editor_selection_set_property (GObject *object,
                        editor_selection_set_editor_widget (
                                E_EDITOR_SELECTION (object),
                                g_value_get_object (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_FONT_COLOR:
                        e_editor_selection_set_font_color (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boxed (value));
                        return;
@@ -437,22 +633,34 @@ editor_selection_set_property (GObject *object,
                        e_editor_selection_set_block_format (
                                E_EDITOR_SELECTION (object),
                                g_value_get_int (value));
+=======
+                               selection, g_value_get_string (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_FONT_NAME:
                        e_editor_selection_set_font_name (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_string (value));
+=======
+                               selection, g_value_get_string (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_FONT_SIZE:
                        e_editor_selection_set_font_size (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_int (value));
+=======
+                               selection, g_value_get_uint (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_ITALIC:
                        e_editor_selection_set_italic (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
                        return;
@@ -461,30 +669,49 @@ editor_selection_set_property (GObject *object,
                        e_editor_selection_set_monospaced (
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_STRIKE_THROUGH:
                        e_editor_selection_set_strike_through (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_SUBSCRIPT:
                        e_editor_selection_set_subscript (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_SUPERSCRIPT:
                        e_editor_selection_set_superscript (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
 
                case PROP_UNDERLINE:
                        e_editor_selection_set_underline (
+<<<<<<< HEAD
                                E_EDITOR_SELECTION (object),
                                g_value_get_boolean (value));
+=======
+                               selection, g_value_get_boolean (value));
+>>>>>>> Initial basic implementation of WebKit-based editor
                        return;
        }
 
@@ -492,6 +719,7 @@ editor_selection_set_property (GObject *object,
 }
 
 static void
+<<<<<<< HEAD
 editor_selection_dispose (GObject *object)
 {
        EEditorSelectionPrivate *priv;
@@ -564,11 +792,45 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds background color of current selection or at current cursor
         * position.
         */
+=======
+e_editor_selection_finalize (GObject *object)
+{
+       EEditorSelection *selection = E_EDITOR_SELECTION (object);
+
+       g_clear_object (&selection->priv->range);
+       g_clear_object (&selection->priv->webview);
+
+       g_free (selection->priv->text);
+       selection->priv->text = NULL;
+}
+
+static void
+e_editor_selection_class_init (EEditorSelectionClass *klass)
+{
+       GObjectClass *object_class;
+
+       object_class = G_OBJECT_CLASS (klass);
+       object_class->get_property = e_editor_selection_get_property;
+       object_class->set_property = e_editor_selection_set_property;
+       object_class->finalize = e_editor_selection_finalize;
+
+       g_object_class_install_property (
+               object_class,
+               PROP_WEBVIEW,
+               g_param_spec_object (
+                       "webview",
+                       NULL,
+                       NULL,
+                       WEBKIT_TYPE_WEB_VIEW,
+                       G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_BACKGROUND_COLOR,
                g_param_spec_string (
                        "background-color",
+<<<<<<< HEAD
                        NULL,
                        NULL,
                        NULL,
@@ -601,6 +863,13 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds whether current selection or text at current cursor position
         * is bold.
         */
+=======
+                       NULL,
+                       NULL,
+                       NULL,
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_BOLD,
@@ -609,6 +878,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        NULL,
                        NULL,
                        FALSE,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 
@@ -662,6 +932,20 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         *
         * Holds point size of current selection or at current cursor position.
         */
+=======
+                       G_PARAM_READWRITE));
+
+       g_object_class_install_property (
+               object_class,
+               PROP_FONT_NAME,
+               g_param_spec_string (
+                       "font-name",
+                       NULL,
+                       NULL,
+                       NULL,
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_FONT_SIZE,
@@ -672,6 +956,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        1,
                        7,
                        3,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 
@@ -732,6 +1017,42 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds whether current selection or letter at current cursor position
         * is strike-through.
         */
+=======
+                       G_PARAM_READWRITE));
+
+       g_object_class_install_property (
+               object_class,
+               PROP_FONT_COLOR,
+               g_param_spec_string (
+                       "font-color",
+                       NULL,
+                       NULL,
+                       NULL,
+                       G_PARAM_READWRITE));
+
+       g_object_class_install_property (
+               object_class,
+               PROP_BLOCK_FORMAT,
+               g_param_spec_uint (
+                       "block-format",
+                       NULL,
+                       NULL,
+                       0,
+                       G_MAXUINT,
+                       0,
+                       G_PARAM_READWRITE));
+
+       g_object_class_install_property (
+               object_class,
+               PROP_ITALIC,
+               g_param_spec_boolean (
+                       "italic",
+                       NULL,
+                       NULL,
+                       FALSE,
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_STRIKE_THROUGH,
@@ -740,6 +1061,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        NULL,
                        NULL,
                        FALSE,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 
@@ -749,6 +1071,10 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds whether current selection or letter at current cursor position
         * is in superscript.
         */
+=======
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_SUPERSCRIPT,
@@ -757,6 +1083,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        NULL,
                        NULL,
                        FALSE,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 
@@ -766,6 +1093,10 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds whether current selection or letter at current cursor position
         * is in subscript.
         */
+=======
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_SUBSCRIPT,
@@ -774,6 +1105,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        NULL,
                        NULL,
                        FALSE,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 
@@ -782,11 +1114,16 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         *
         * Holds always up-to-date text of current selection.
         */
+=======
+                       G_PARAM_READWRITE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_TEXT,
                g_param_spec_string (
                        "text",
+<<<<<<< HEAD
                        NULL,
                        NULL,
                        NULL,
@@ -799,6 +1136,13 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
         * Holds whether current selection or letter at current cursor position
         * is underlined.
         */
+=======
+                      NULL,
+                      NULL,
+                      NULL,
+                      G_PARAM_READABLE));
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        g_object_class_install_property (
                object_class,
                PROP_UNDERLINE,
@@ -807,6 +1151,7 @@ e_editor_selection_class_init (EEditorSelectionClass *class)
                        NULL,
                        NULL,
                        FALSE,
+<<<<<<< HEAD
                        G_PARAM_READWRITE |
                        G_PARAM_STATIC_STRINGS));
 }
@@ -1502,10 +1847,182 @@ e_editor_selection_set_block_format (EEditorSelection *selection,
                case E_EDITOR_SELECTION_BLOCK_FORMAT_NONE:
                default:
                        command = E_EDITOR_WIDGET_COMMAND_REMOVE_FORMAT;
+=======
+                       G_PARAM_READWRITE));
+}
+
+
+static void
+e_editor_selection_init (EEditorSelection *selection)
+{
+       selection->priv = E_EDITOR_SELECTION_GET_PRIVATE (selection);
+}
+
+EEditorSelection *
+e_editor_selection_new (WebKitWebView *parent_view)
+{
+       g_return_val_if_fail (WEBKIT_IS_WEB_VIEW (parent_view), NULL);
+
+       return g_object_new (
+                       E_TYPE_EDITOR_SELECTION,
+                       "webview", parent_view, NULL);
+}
+
+
+const gchar *
+e_editor_selection_get_string(EEditorSelection *selection)
+{
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
+
+       g_free (selection->priv->text);
+       selection->priv->text = webkit_dom_range_get_text (selection->priv->range);
+
+       return selection->priv->text;
+}
+
+void
+e_editor_selection_replace (EEditorSelection *selection,
+                           const gchar *new_string)
+{
+       WebKitDOMDocumentFragment *frag;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       frag = webkit_dom_range_create_contextual_fragment (
+                       selection->priv->range, new_string, NULL);
+
+       webkit_dom_range_delete_contents (selection->priv->range, NULL);
+       webkit_dom_range_insert_node (
+               selection->priv->range, WEBKIT_DOM_NODE (frag), NULL);
+}
+
+const gchar *
+e_editor_selection_get_background_color        (EEditorSelection *selection)
+{
+       WebKitDOMNode *ancestor;
+       WebKitDOMCSSStyleDeclaration *css;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
+
+       ancestor = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+       css = webkit_dom_element_get_style (WEBKIT_DOM_ELEMENT (ancestor));
+       selection->priv->background_color =
+               webkit_dom_css_style_declaration_get_property_value (
+                       css, "background-color");
+
+       return selection->priv->background_color;
+}
+
+void
+e_editor_selection_set_background_color (EEditorSelection *selection,
+                                       const gchar *color)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+       g_return_if_fail (color && *color);
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (
+               document, "backColor", FALSE, color);
+
+       g_object_notify (G_OBJECT (selection), "background-color");
+}
+
+EEditorSelectionBlockFormat
+e_editor_selection_get_block_format (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+       gchar *tmp, *node_name;
+       EEditorSelectionBlockFormat result;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection),
+                             E_EDITOR_SELECTION_BLOCK_FORMAT_NONE);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+       tmp = webkit_dom_node_get_node_name (node);
+       node_name = g_ascii_strdown (tmp, -1);
+       g_free (tmp);
+
+       if (g_strcmp0 (node_name, "blockquote") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_BLOCKQUOTE;
+       else if (g_strcmp0 (node_name, "h1") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H1;
+       else if (g_strcmp0 (node_name, "h2") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H2;
+       else if (g_strcmp0 (node_name, "h3") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H3;
+       else if (g_strcmp0 (node_name, "h4") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H4;
+       else if (g_strcmp0 (node_name, "h5") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H5;
+       else if (g_strcmp0 (node_name, "h6") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_H6;
+       else if (g_strcmp0 (node_name, "p") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_PARAGRAPH;
+       else if (g_strcmp0 (node_name, "pre") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_PRE;
+       else if (g_strcmp0 (node_name, "address") == 0)
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_ADDRESS;
+       else
+               result = E_EDITOR_SELECTION_BLOCK_FORMAT_NONE;
+
+       g_free (node_name);
+       return result;
+}
+
+void
+e_editor_selection_set_block_format (EEditorSelection *selection,
+                                    EEditorSelectionBlockFormat format)
+{
+       WebKitDOMDocument *document;
+       const gchar *value;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       switch (format) {
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_BLOCKQUOTE:
+                       value = "BLOCKQUOTE";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H1:
+                       value = "H1";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H2:
+                       value = "H2";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H3:
+                       value = "H3";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H4:
+                       value = "H4";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H5:
+                       value = "H5";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_H6:
+                       value = "H6";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_PARAGRAPH:
+                       value = "P";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_PRE:
+                       value = "PRE";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_ADDRESS:
+                       value = "ADDRESS";
+                       break;
+               case E_EDITOR_SELECTION_BLOCK_FORMAT_NONE:
+               default:
+>>>>>>> Initial basic implementation of WebKit-based editor
                        value = NULL;
                        break;
        }
 
+<<<<<<< HEAD
        /* H1 - H6 have bold font by default */
        if (format >= E_EDITOR_SELECTION_BLOCK_FORMAT_H1 && format <= E_EDITOR_SELECTION_BLOCK_FORMAT_H6)
                selection->priv->is_bold = TRUE;
@@ -4409,4 +4926,326 @@ e_editor_selection_move (EEditorSelection *selection,
                          EEditorSelectionGranularity granularity)
 {
        editor_selection_modify (selection, "move", forward, granularity);
+=======
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       if (value) {
+               webkit_dom_document_exec_command (
+                       document, "formatBlock", FALSE, value);
+       } else {
+               webkit_dom_document_exec_command (
+                       document, "removeFormat", FALSE, NULL);
+       }
+
+       g_object_notify (G_OBJECT (selection), "block-format");
+}
+
+gboolean
+e_editor_selection_get_bold (EEditorSelection *selection)
+{
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       return (get_has_style_property (selection, "fontWeight", "bold") ||
+              get_has_style_property (selection, "fontWeight", "700"));
+}
+
+void
+e_editor_selection_set_bold (EEditorSelection *selection,
+                            gboolean bold)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_bold (selection) ? TRUE : FALSE)
+                               == (bold ? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "bold", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "bold");
+}
+
+const gchar *
+e_editor_selection_get_font_color (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+       WebKitDOMCSSStyleDeclaration *css;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+
+       g_free (selection->priv->font_color);
+       css = webkit_dom_element_get_style (WEBKIT_DOM_ELEMENT (node));
+       selection->priv->font_color =
+               webkit_dom_css_style_declaration_get_property_value (css, "color");
+
+       return selection->priv->font_color;
+}
+
+void
+e_editor_selection_set_font_color (EEditorSelection *selection,
+                                  const gchar *color)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "foreColor", FALSE, color);
+
+       g_object_notify (G_OBJECT (selection), "font-color");
+}
+
+const gchar *
+e_editor_selection_get_font_name (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+       WebKitDOMCSSStyleDeclaration *css;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), NULL);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+
+       g_free (selection->priv->font_family);
+       css = webkit_dom_element_get_style (WEBKIT_DOM_ELEMENT (node));
+       selection->priv->font_family =
+               webkit_dom_css_style_declaration_get_property_value (css, "fontFamily");
+
+       return selection->priv->font_family;
+}
+
+void
+e_editor_selection_set_font_name (EEditorSelection *selection,
+                                 const gchar *font_name)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "fontName", FALSE, font_name);
+
+       g_object_notify (G_OBJECT (selection), "font-name");
+}
+
+guint
+e_editor_selection_get_font_size (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+       WebKitDOMCSSStyleDeclaration *css;
+       gchar *size;
+       gint size_int;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), 0);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+
+       g_free (selection->priv->font_family);
+       css = webkit_dom_element_get_style (WEBKIT_DOM_ELEMENT (node));
+       size = webkit_dom_css_style_declaration_get_property_value (css, "fontSize");
+
+       size_int = atoi (size);
+       g_free (size);
+
+       return size_int;
+}
+
+void
+e_editor_selection_set_font_size (EEditorSelection *selection,
+                                 guint font_size)
+{
+       WebKitDOMDocument *document;
+       gchar *size_str;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       size_str = g_strdup_printf("%d", font_size);
+       webkit_dom_document_exec_command (document, "fontSize", FALSE, size_str);
+       g_free (size_str);
+
+       g_object_notify (G_OBJECT (selection), "font-size");
+}
+
+gboolean
+e_editor_selection_get_italic (EEditorSelection *selection)
+{
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       return get_has_style_property (selection, "fontStyle", "italic");
+}
+
+void
+e_editor_selection_set_italic (EEditorSelection *selection,
+                              gboolean italic)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_italic (selection) ? TRUE : FALSE)
+                               == (italic ? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "italic", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "italic");
+}
+
+gboolean
+e_editor_selection_get_strike_through (EEditorSelection *selection)
+{
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       return get_has_style_property (selection, "textDecoration", "overline");
+}
+
+void
+e_editor_selection_set_strike_through (EEditorSelection *selection,
+                                      gboolean strike_through)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_strike_through (selection) ? TRUE : FALSE)
+                               == (strike_through? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "strikeThrough", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "strike-through");
+}
+
+gboolean
+e_editor_selection_get_subscript (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+       while (node) {
+               gchar *tag_name;
+
+               tag_name = webkit_dom_element_get_tag_name (WEBKIT_DOM_ELEMENT (node));
+
+               if (g_ascii_strncasecmp (tag_name, "sub", 3) == 0) {
+                       g_free (tag_name);
+                       break;
+               }
+
+               g_free (tag_name);
+               node = webkit_dom_node_get_parent_node (node);
+       }
+
+       return (node != NULL);
+}
+
+void
+e_editor_selection_set_subscript (EEditorSelection *selection,
+                                 gboolean subscript)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_subscript (selection) ? TRUE : FALSE)
+                               == (subscript? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "subscript", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "subscript");
+}
+
+gboolean
+e_editor_selection_get_superscript (EEditorSelection *selection)
+{
+       WebKitDOMNode *node;
+
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       node = webkit_dom_range_get_common_ancestor_container (
+                       selection->priv->range, NULL);
+
+       while (node) {
+               gchar *tag_name;
+
+               tag_name = webkit_dom_element_get_tag_name (WEBKIT_DOM_ELEMENT (node));
+
+               if (g_ascii_strncasecmp (tag_name, "sup", 3) == 0) {
+                       g_free (tag_name);
+                       break;
+               }
+
+               g_free (tag_name);
+               node = webkit_dom_node_get_parent_node (node);
+       }
+
+       return (node != NULL);
+}
+
+void
+e_editor_selection_set_superscript (EEditorSelection *selection,
+                                   gboolean superscript)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_superscript (selection) ? TRUE : FALSE)
+                               == (superscript? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "superscript", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "superscript");
+}
+
+gboolean
+e_editor_selection_get_underline (EEditorSelection *selection)
+{
+       g_return_val_if_fail (E_IS_EDITOR_SELECTION (selection), FALSE);
+
+       return get_has_style_property (selection, "textDecoration", "underline");
+}
+
+void
+e_editor_selection_set_underline (EEditorSelection *selection,
+                                 gboolean underline)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_SELECTION (selection));
+
+       if ((e_editor_selection_get_underline (selection) ? TRUE : FALSE)
+                               == (underline? TRUE : FALSE)) {
+               return;
+       }
+
+       document = webkit_web_view_get_dom_document (selection->priv->webview);
+       webkit_dom_document_exec_command (document, "underline", FALSE, NULL);
+
+       g_object_notify (G_OBJECT (selection), "underline");
+>>>>>>> Initial basic implementation of WebKit-based editor
 }
diff --git a/e-util/e-editor-selection.h b/e-util/e-editor-selection.h
index 920cab3..44aba2c 100644
--- a/e-util/e-editor-selection.h
+++ b/e-util/e-editor-selection.h
@@ -1,8 +1,11 @@
 /*
  * e-editor-selection.h
  *
+<<<<<<< HEAD
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -25,8 +28,12 @@
 #ifndef E_EDITOR_SELECTION_H
 #define E_EDITOR_SELECTION_H
 
+<<<<<<< HEAD
 #include <gtk/gtk.h>
 #include <e-util/e-util-enums.h>
+=======
+#include <glib-object.h>
+>>>>>>> Initial basic implementation of WebKit-based editor
 #include <webkit/webkit.h>
 
 /* Standard GObject macros */
@@ -50,14 +57,57 @@
 
 G_BEGIN_DECLS
 
+<<<<<<< HEAD
 struct _EEditorWidget;
 
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
 typedef struct _EEditorSelection EEditorSelection;
 typedef struct _EEditorSelectionClass EEditorSelectionClass;
 typedef struct _EEditorSelectionPrivate EEditorSelectionPrivate;
 
+<<<<<<< HEAD
 struct _EEditorSelection {
        GObject parent;
+=======
+typedef enum {
+       E_EDITOR_SELECTION_BLOCK_FORMAT_NONE = 0,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H1,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H2,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H3,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H4,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H5,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_H6,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_PARAGRAPH,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_BLOCKQUOTE,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_PRE,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_ADDRESS,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_UNORDERED_LIST, /* FIXME WEBKIT Not implemented VVVVV */
+       E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST_ROMAN,
+       E_EDITOR_SELECTION_BLOCK_FORMAT_ORDERED_LIST_ALPHA,
+} EEditorSelectionBlockFormat;
+
+typedef enum {
+       E_EDITOR_SELECTION_FONT_SIZE_TINY,
+       E_EDITOR_SELECTION_FONT_SIZE_SMALL,
+       E_EDITOR_SELECTION_FONT_SIZE_NORMAL,
+       E_EDITOR_SELECTION_FONT_SIZE_BIG,
+       E_EDITOR_SELECTION_FONT_SIZE_BIGGER,
+       E_EDITOR_SELECTION_FONT_SIZE_LARGE,
+       E_EDITOR_SELECTION_FONT_SIZE_VERY_LARGE,
+} EEditorSelectionFontSize;
+
+typedef enum {
+       E_EDITOR_SELECTION_ALIGNMENT_LEFT,
+       E_EDITOR_SELECTION_ALIGNMENT_CENTER,
+       E_EDITOR_SELECTION_ALIGNMENT_RIGHT,
+} EEditorSelectionAlignment;
+
+struct _EEditorSelection {
+       GObject parent;
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        EEditorSelectionPrivate *priv;
 };
 
@@ -65,6 +115,7 @@ struct _EEditorSelectionClass {
        GObjectClass parent_class;
 };
 
+<<<<<<< HEAD
 GType          e_editor_selection_get_type     (void) G_GNUC_CONST;
 struct _EEditorWidget *
                e_editor_selection_ref_editor_widget
@@ -202,7 +253,86 @@ void               e_editor_selection_move         (EEditorSelection *selection,
 void           e_editor_selection_extend       (EEditorSelection *selection,
                                                 gboolean forward,
                                                 EEditorSelectionGranularity granularity);
+=======
+GType                  e_editor_selection_get_type     (void);
+
+EEditorSelection *     e_editor_selection_new          (WebKitWebView *parent_view);
+
+void                   e_editor_selection_set_background_color
+                                                       (EEditorSelection *selection,
+                                                        const gchar *color);
+const gchar*           e_editor_selection_get_background_color
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_bold     (EEditorSelection *selection,
+                                                        gboolean bold);
+gboolean               e_editor_selection_get_bold     (EEditorSelection *selection);
+
+void                   e_editor_selection_set_font_name
+                                                       (EEditorSelection *selection,
+                                                        const gchar *font_name);
+const gchar *          e_editor_selection_get_font_name
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_font_size
+                                                       (EEditorSelection *selection,
+                                                        guint font_size);
+guint                  e_editor_selection_get_font_size
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_font_color
+                                                       (EEditorSelection *selection,
+                                                        const gchar *color);
+const gchar *          e_editor_selection_get_font_color
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_block_format
+                                                       (EEditorSelection *selection,
+                                                        EEditorSelectionBlockFormat format);
+EEditorSelectionBlockFormat
+                       e_editor_selection_get_block_format
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_italic   (EEditorSelection *selection,
+                                                        gboolean italic);
+gboolean               e_editor_selection_get_italic   (EEditorSelection *selection);
+
+void                   e_editor_selection_set_strike_through
+                                                       (EEditorSelection *selection,
+                                                        gboolean strike_through);
+gboolean               e_editor_selection_get_strike_through
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_superscript
+                                                       (EEditorSelection *selection,
+                                                        gboolean superscript);
+gboolean               e_editor_selection_get_superscript
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_subscript
+                                                       (EEditorSelection *selection,
+                                                        gboolean subscript);
+gboolean               e_editor_selection_get_subscript
+                                                       (EEditorSelection *selection);
+
+void                   e_editor_selection_set_underline
+                                                       (EEditorSelection *selection,
+                                                        gboolean underline);
+gboolean               e_editor_selection_get_underline
+                                                       (EEditorSelection *selection);
+
+const gchar *          e_editor_selection_get_string   (EEditorSelection *selection);
+
+void                   e_editor_selection_replace      (EEditorSelection *selection,
+                                                        const gchar *new_string);
+
+>>>>>>> Initial basic implementation of WebKit-based editor
 
 G_END_DECLS
 
 #endif /* E_EDITOR_SELECTION_H */
+<<<<<<< HEAD
+=======
+
+ 
+>>>>>>> Initial basic implementation of WebKit-based editor
diff --git a/e-util/e-editor-widget.c b/e-util/e-editor-widget.c
index 06d0f22..78a032d 100644
--- a/e-util/e-editor-widget.c
+++ b/e-util/e-editor-widget.c
@@ -1,8 +1,11 @@
 /*
  * e-editor-widget.c
  *
+<<<<<<< HEAD
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -23,6 +26,7 @@
 #endif
 
 #include "e-editor-widget.h"
+<<<<<<< HEAD
 #include "e-editor.h"
 #include "e-emoticon-chooser.h"
 
@@ -3928,3 +3932,143 @@ e_editor_widget_add_inline_image_from_mime_part (EEditorWidget *widget,
        g_free (mime_type);
        g_object_unref (stream);
 }
+=======
+
+struct _EEditorWidgetPrivate {
+       gint dummy;
+};
+
+G_DEFINE_TYPE (
+       EEditorWidget,
+       e_editor_widget,
+       WEBKIT_TYPE_WEB_VIEW
+);
+
+
+static void
+e_editor_widget_get_property (GObject *object,
+                             guint property_id,
+                             GValue *value,
+                             GParamSpec *pspec)
+{
+
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+e_editor_widget_set_property (GObject *object,
+                             guint property_id,
+                             const GValue *value,
+                             GParamSpec *pspec)
+{
+
+       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
+e_editor_widget_finalize (GObject *object)
+{
+       EEditorWidget *editor = E_EDITOR_WIDGET (object);
+}
+
+static void
+e_editor_widget_class_init (EEditorWidgetClass *klass)
+{
+       GObjectClass *object_class;
+
+       object_class = G_OBJECT_CLASS (klass);
+       object_class->get_property = e_editor_widget_get_property;
+       object_class->set_property = e_editor_widget_set_property;
+       object_class->finalize = e_editor_widget_finalize;
+}
+
+static void
+e_editor_widget_init (EEditorWidget *editor)
+{
+       WebKitWebSettings *settings;
+       GSettings *g_settings;
+       gboolean enable_spellchecking;
+
+       settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (editor));
+
+       g_settings = g_settings_new ("org.gnome.evolution.mail");
+       enable_spellchecking = g_settings_get_boolean (
+                       g_settings, "composer-inline-spelling");
+
+       g_object_set (
+               G_OBJECT (settings),
+               "enable-developer-extras", TRUE,
+               "enable-dom-paste", TRUE,
+               "enable-plugins", FALSE,
+               "enable-spell-checking", enable_spellchecking,
+               "enable-scripts", FALSE,
+               NULL);
+
+       g_object_unref(g_settings);
+
+       webkit_web_view_set_settings (WEBKIT_WEB_VIEW (editor), settings);
+}
+
+EEditorWidget *
+e_editor_widget_new (void)
+{
+       return g_object_new (
+                       E_TYPE_EDITOR_WIDGET,
+                       "editable", TRUE, NULL);
+}
+
+EEditorSelection *
+e_editor_widget_get_selection (EEditorWidget *widget)
+{
+       return e_editor_selection_new (WEBKIT_WEB_VIEW (widget));
+}
+
+void
+e_editor_widget_insert_html (EEditorWidget *widget,
+                            const gchar *html)
+{
+       WebKitDOMDocument *document;
+
+       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (html != NULL);
+
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       webkit_dom_document_exec_command (
+                       document, "insertHTML", FALSE, html);
+}
+
+void
+e_editor_widget_insert_text (EEditorWidget *widget,
+                            const gchar *text)
+{
+       WebKitDOMDocument *document;
+       WebKitDOMDOMWindow *window;
+       WebKitDOMDOMSelection *selection;
+       WebKitDOMRange *range;
+       WebKitDOMElement *element;
+
+       g_return_if_fail (E_IS_EDITOR_WIDGET (widget));
+       g_return_if_fail (text != NULL);
+
+       document = webkit_web_view_get_dom_document (WEBKIT_WEB_VIEW (widget));
+       window = webkit_dom_document_get_default_view (document);
+       selection = webkit_dom_dom_window_get_selection (window);
+
+       if (webkit_dom_dom_selection_get_range_count (selection) < 1) {
+               return;
+       }
+
+       range = webkit_dom_dom_selection_get_range_at (selection, 0, NULL);
+
+       element = webkit_dom_document_create_element (document, "DIV", NULL);
+       webkit_dom_html_element_set_inner_text (
+               WEBKIT_DOM_HTML_ELEMENT (element), text, NULL);
+
+       webkit_dom_range_insert_node (
+               range, webkit_dom_node_get_first_child (
+                       WEBKIT_DOM_NODE (element)), NULL);
+
+       g_object_unref (element);
+}
+
+>>>>>>> Initial basic implementation of WebKit-based editor
diff --git a/e-util/e-editor-widget.h b/e-util/e-editor-widget.h
index 7f4769a..4c57217 100644
--- a/e-util/e-editor-widget.h
+++ b/e-util/e-editor-widget.h
@@ -1,8 +1,11 @@
 /*
  * e-editor-widget.h
  *
+<<<<<<< HEAD
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -27,12 +30,16 @@
 
 #include <webkit/webkit.h>
 
+<<<<<<< HEAD
 #include <camel/camel.h>
 
 #include <e-util/e-editor-selection.h>
 #include <e-util/e-emoticon.h>
 #include <e-util/e-spell-checker.h>
 #include <e-util/e-util-enums.h>
+=======
+#include <e-util/e-editor-selection.h>
+>>>>>>> Initial basic implementation of WebKit-based editor
 
 /* Standard GObject macros */
 #define E_TYPE_EDITOR_WIDGET \
@@ -55,17 +62,30 @@
 
 G_BEGIN_DECLS
 
+<<<<<<< HEAD
+=======
+typedef enum {
+       E_EDITOR_WIDGET_MODE_PLAIN_TEXT,
+       E_EDITOR_WIDGET_MODE_HTML,
+} EEditorWidgetMode;
+
+>>>>>>> Initial basic implementation of WebKit-based editor
 typedef struct _EEditorWidget EEditorWidget;
 typedef struct _EEditorWidgetClass EEditorWidgetClass;
 typedef struct _EEditorWidgetPrivate EEditorWidgetPrivate;
 
 struct _EEditorWidget {
        WebKitWebView parent;
+<<<<<<< HEAD
+=======
+
+>>>>>>> Initial basic implementation of WebKit-based editor
        EEditorWidgetPrivate *priv;
 };
 
 struct _EEditorWidgetClass {
        WebKitWebViewClass parent_class;
+<<<<<<< HEAD
 
        void            (*paste_clipboard_quoted)
                                                (EEditorWidget *widget);
@@ -137,3 +157,23 @@ GList *            e_editor_widget_get_parts_for_inline_images
 G_END_DECLS
 
 #endif /* E_EDITOR_WIDGET_H */
+=======
+};
+
+GType                  e_editor_widget_get_type        (void);
+
+EEditorWidget *                e_editor_widget_new             (void);
+
+EEditorSelection *     e_editor_widget_get_selection   (EEditorWidget *widget);
+
+void                   e_editor_widget_insert_html     (EEditorWidget *widget,
+                                                        const gchar *html);
+
+void                   e_editor_widget_insert_text     (EEditorWidget *widget,
+                                                        const gchar *html);
+
+G_END_DECLS
+
+#endif /* E_EDITOR_WIDGET_H */
+ 
+>>>>>>> Initial basic implementation of WebKit-based editor
diff --git a/e-util/e-util.h b/e-util/e-util.h
index edaec44..8d85f40 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -91,28 +91,8 @@
 #include <e-util/e-destination-store.h>
 #include <e-util/e-dialog-utils.h>
 #include <e-util/e-dialog-widgets.h>
-#include <e-util/e-editor-actions.h>
-#include <e-util/e-editor-cell-dialog.h>
-#include <e-util/e-editor-dialog.h>
-#include <e-util/e-editor-find-dialog.h>
-#include <e-util/e-editor-hrule-dialog.h>
-#include <e-util/e-editor-image-dialog.h>
-#include <e-util/e-editor-link-dialog.h>
-#include <e-util/e-editor-page-dialog.h>
-#include <e-util/e-editor-paragraph-dialog.h>
-#include <e-util/e-editor-replace-dialog.h>
 #include <e-util/e-editor-selection.h>
-#include <e-util/e-editor-spell-check-dialog.h>
-#include <e-util/e-editor-table-dialog.h>
-#include <e-util/e-editor-text-dialog.h>
-#include <e-util/e-editor-utils.h>
 #include <e-util/e-editor-widget.h>
-#include <e-util/e-editor.h>
-#include <e-util/e-emoticon-action.h>
-#include <e-util/e-emoticon-chooser-menu.h>
-#include <e-util/e-emoticon-chooser.h>
-#include <e-util/e-emoticon-tool-button.h>
-#include <e-util/e-emoticon.h>
 #include <e-util/e-event.h>
 #include <e-util/e-file-request.h>
 #include <e-util/e-file-utils.h>
diff --git a/e-util/test-editor.c b/e-util/test-editor.c
index 94f6901..f1ac4b8 100644
--- a/e-util/test-editor.c
+++ b/e-util/test-editor.c
@@ -1,8 +1,11 @@
 /*
  * e-editor-test.c
  *
+<<<<<<< HEAD
  * Copyright (C) 2012 Dan Vrátil <dvratil redhat com>
  *
+=======
+>>>>>>> Initial basic implementation of WebKit-based editor
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
@@ -18,6 +21,7 @@
  *
  */
 
+<<<<<<< HEAD
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -391,6 +395,15 @@ static WebKitWebView *
 open_inspector (WebKitWebInspector *inspector,
                 WebKitWebView *webview,
                 gpointer user_data)
+=======
+#include <gtk/gtk.h>
+#include <e-util/e-util.h>
+
+static WebKitWebView *
+open_inspector (WebKitWebInspector *inspector,
+               WebKitWebView *webview,
+               gpointer user_data)
+>>>>>>> Initial basic implementation of WebKit-based editor
 {
        GtkWidget *window;
        GtkWidget *inspector_view;
@@ -406,6 +419,7 @@ open_inspector (WebKitWebInspector *inspector,
        return WEBKIT_WEB_VIEW (inspector_view);
 }
 
+<<<<<<< HEAD
 gint
 main (gint argc,
       gchar **argv)
@@ -498,4 +512,42 @@ main (gint argc,
        g_object_unref (editor);
 
        return 0;
+=======
+gint main (gint argc,
+          gchar **argv)
+{
+        GtkWidget *window;
+       GtkWidget *editor;
+       WebKitWebInspector *inspector;
+
+       gtk_init (&argc, &argv);
+
+        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+        gtk_widget_set_size_request (window, 600, 400);
+        g_signal_connect_swapped (window, "destroy",
+                G_CALLBACK (gtk_main_quit), NULL);
+
+       editor = GTK_WIDGET (e_editor_widget_new ());
+        gtk_container_add (GTK_CONTAINER (window), editor);
+
+        gtk_widget_show_all (window);
+
+       inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (editor));
+       g_signal_connect (inspector, "inspect-web-view",
+                         G_CALLBACK (open_inspector), NULL);
+       /*
+       webkit_web_view_load_html_string (
+               WEBKIT_WEB_VIEW (editor),
+               "<html><head></head><body>\n"
+               "<table border=1 width=100%>\n"
+               "  <tr><td></td><td></td><td></td></tr>\n"
+               "  <tr><td></td><td></td><td></td></tr>\n"
+               "  <tr><td></td><td></td><td></td></tr>\n"
+               "</table></body></html>", NULL);
+       */
+
+        gtk_main ();
+
+        return 0;
+>>>>>>> Initial basic implementation of WebKit-based editor
 }



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