[evolution/wip/webkit-composer: 875/966] EEditorWidget: Rework unindentation of block on BackSpace pressing
- From: Tomas Popela <tpopela src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/wip/webkit-composer: 875/966] EEditorWidget: Rework unindentation of block on BackSpace pressing
- Date: Wed, 23 Apr 2014 11:06:59 +0000 (UTC)
commit 5edc0d0f46cedce32885d9861e06ae83e4330c44
Author: Tomas Popela <tpopela redhat com>
Date: Thu Mar 6 16:54:46 2014 +0100
EEditorWidget: Rework unindentation of block on BackSpace pressing
e-util/e-editor-widget.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
---
diff --git a/e-util/e-editor-widget.c b/e-util/e-editor-widget.c
index 9e0aa8b..b0ad46b 100644
--- a/e-util/e-editor-widget.c
+++ b/e-util/e-editor-widget.c
@@ -1650,27 +1650,19 @@ editor_widget_key_press_event (GtkWidget *widget,
/* BackSpace in indented block decrease indent level by one */
if (event->keyval == GDK_KEY_BackSpace) {
EEditorSelection *selection;
- WebKitDOMNode *node;
- WebKitDOMElement *element;
- WebKitDOMRange *range;
selection = e_editor_widget_get_selection (editor);
+ if (e_editor_selection_is_indented (selection)) {
+ WebKitDOMElement *caret;
- range = editor_widget_get_dom_range (editor);
- node = webkit_dom_range_get_end_container (range, NULL);
-
- if (!WEBKIT_DOM_IS_ELEMENT (node))
- node = WEBKIT_DOM_NODE (
- webkit_dom_node_get_parent_element (node));
+ caret = e_editor_selection_save_caret_position (selection);
- element = webkit_dom_node_get_parent_element (node);
-
- if (WEBKIT_DOM_IS_HTML_QUOTE_ELEMENT (element) &&
- element_has_class (element, "-x-evo-indented")) {
- if (!webkit_dom_node_get_previous_sibling (node)) {
+ if (!webkit_dom_node_get_previous_sibling (WEBKIT_DOM_NODE (caret))) {
+ e_editor_selection_clear_caret_position_marker (selection);
e_editor_selection_unindent (selection);
return TRUE;
- }
+ } else
+ e_editor_selection_clear_caret_position_marker (selection);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]