From e33b38d4db96bc5d525201eafeb39449a4a7fae8 Mon Sep 17 00:00:00 2001 From: Randy Baumgarte Date: Sun, 9 Jan 2011 20:05:11 -0500 Subject: [PATCH] Add insert/delete columns to tables. --- src/cx/fbn/nevernote/gui/BrowserWindow.java | 56 ++++++++++++++++++++++++++++- src/cx/fbn/nevernote/gui/ContentView.java | 21 +++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/src/cx/fbn/nevernote/gui/BrowserWindow.java b/src/cx/fbn/nevernote/gui/BrowserWindow.java index 4da0b3c..e800124 100644 --- a/src/cx/fbn/nevernote/gui/BrowserWindow.java +++ b/src/cx/fbn/nevernote/gui/BrowserWindow.java @@ -2364,6 +2364,7 @@ public class BrowserWindow extends QWidget { browser.rotateImageRight.setEnabled(false); browser.insertTableAction.setEnabled(true); browser.insertTableRowAction.setEnabled(false); + browser.insertTableColumnAction.setEnabled(false); browser.deleteTableRowAction.setEnabled(false); browser.insertLinkAction.setText(tr("Insert Hyperlink")); insertHyperlink = true; @@ -2431,8 +2432,34 @@ public class BrowserWindow extends QWidget { browser.page().mainFrame().evaluateJavaScript(js); contentChanged(); } + + public void insertTableColumn() { + String js = new String( "function insertTableColumn() {" + +" var selObj = window.getSelection();" + +" var selRange = selObj.getRangeAt(0);" + +" var workingNode = window.getSelection().anchorNode.parentNode;" + +" var current = 0;" + +" while (workingNode.nodeName.toLowerCase() != 'table' && workingNode != null) {" + +" if (workingNode.nodeName.toLowerCase() == 'td') {" + +" var td = workingNode;" + +" while (td.previousSibling != null) { " + +" current = current+1; td = td.previousSibling;" + +" }" + +" }" + +" workingNode = workingNode.parentNode; " + +" }" + +" if (workingNode == null) return;" + +" for (var i=0; i