瀏覽代碼

Delete section

Kandrashin Denis 12 年之前
父節點
當前提交
c453ae474b
共有 2 個文件被更改,包括 19 次插入0 次删除
  1. 16 0
      source/fb2text.cpp
  2. 3 0
      source/js/new_section.js

+ 16 - 0
source/fb2text.cpp

@@ -285,6 +285,22 @@ void FbTextPage::createSection()
 
 
 void FbTextPage::deleteSection()
 void FbTextPage::deleteSection()
 {
 {
+    FbTextElement element = current();
+    while (!element.isNull()) {
+        if (element.isSection()) {
+            FbTextElement parent = element.parent();
+            FbTextElement subling = element.previousSibling();
+            QString xml = element.toInnerXml();
+            element.setOuterXml(xml);
+            if (subling.isNull()) {
+                parent.select();
+            } else {
+                subling.nextSibling().select();
+            }
+            break;
+        }
+        element = element.parent();
+    }
 }
 }
 
 
 FbTextElement FbTextPage::current()
 FbTextElement FbTextPage::current()

+ 3 - 0
source/js/new_section.js

@@ -29,4 +29,7 @@ range.setEndAfter(end);
 var newNode=document.createElement("div");
 var newNode=document.createElement("div");
 newNode.className="section";
 newNode.className="section";
 range.surroundContents(newNode);
 range.surroundContents(newNode);
+range.setEndBefore(start);
+selection.removeAllRanges();
+selection.addRange(range);
 })()
 })()