browser.rotateImageRight.setEnabled(false);\r
browser.insertTableAction.setEnabled(true);\r
browser.insertTableRowAction.setEnabled(false);\r
+ browser.insertTableColumnAction.setEnabled(false);\r
browser.deleteTableRowAction.setEnabled(false);\r
browser.insertLinkAction.setText(tr("Insert Hyperlink"));\r
insertHyperlink = true;\r
browser.page().mainFrame().evaluateJavaScript(js);\r
contentChanged();\r
}\r
+ \r
+ public void insertTableColumn() {\r
+ String js = new String( "function insertTableColumn() {"\r
+ +" var selObj = window.getSelection();"\r
+ +" var selRange = selObj.getRangeAt(0);"\r
+ +" var workingNode = window.getSelection().anchorNode.parentNode;"\r
+ +" var current = 0;"\r
+ +" while (workingNode.nodeName.toLowerCase() != 'table' && workingNode != null) {"\r
+ +" if (workingNode.nodeName.toLowerCase() == 'td') {"\r
+ +" var td = workingNode;"\r
+ +" while (td.previousSibling != null) { " \r
+ +" current = current+1; td = td.previousSibling;"\r
+ +" }"\r
+ +" }"\r
+ +" workingNode = workingNode.parentNode; "\r
+ +" }"\r
+ +" if (workingNode == null) return;"\r
+ +" for (var i=0; i<workingNode.rows.length; i++) { " \r
+ +" var cell = workingNode.rows[i].insertCell(current+1); " \r
+ +" cell.innerHTML = ' '; "\r
+ +" }"\r
+ +"} insertTableColumn();");\r
+ browser.page().mainFrame().evaluateJavaScript(js);\r
+ contentChanged();\r
+ }\r
+ \r
//****************************************************************\r
- //* Insert a table row\r
+ //* Delete a table row\r
//****************************************************************\r
public void deleteTableRow() {\r
\r
browser.page().mainFrame().evaluateJavaScript(js);\r
contentChanged();\r
}\r
+\r
+ public void deleteTableColumn() {\r
+ String js = new String( "function deleteTableColumn() {"\r
+ +" var selObj = window.getSelection();"\r
+ +" var selRange = selObj.getRangeAt(0);"\r
+ +" var workingNode = window.getSelection().anchorNode.parentNode;"\r
+ +" var current = 0;"\r
+ +" while (workingNode.nodeName.toLowerCase() != 'table' && workingNode != null) {"\r
+ +" if (workingNode.nodeName.toLowerCase() == 'td') {"\r
+ +" var td = workingNode;"\r
+ +" while (td.previousSibling != null) { " \r
+ +" current = current+1; td = td.previousSibling;"\r
+ +" }"\r
+ +" }"\r
+ +" workingNode = workingNode.parentNode; "\r
+ +" }"\r
+ +" if (workingNode == null) return;"\r
+ +" for (var i=0; i<workingNode.rows.length; i++) { " \r
+ +" workingNode.rows[i].deleteCell(current); " \r
+ +" }"\r
+ +"} deleteTableColumn();");\r
+ browser.page().mainFrame().evaluateJavaScript(js);\r
+ contentChanged();\r
+ }\r
+ \r
+ \r
public void setInsideTable() {\r
browser.insertTableRowAction.setEnabled(true);\r
+ browser.insertTableColumnAction.setEnabled(true);\r
browser.deleteTableRowAction.setEnabled(true);\r
browser.insertTableAction.setEnabled(false);\r
browser.encryptAction.setEnabled(false);\r
QShortcut insertTableShortcut;\r
QAction insertTableRowAction;\r
QShortcut insertTableRowShortcut;\r
+ QAction insertTableColumnAction;\r
+ QShortcut insertTableColumnShortcut;\r
QAction deleteTableRowAction;\r
QShortcut deleteTableRowShortcut;\r
+ QAction deleteTableColumnAction;\r
+ QShortcut deleteTableColumnShortcut;\r
QAction openAction;\r
\r
QAction redBackgroundColor;\r
setupShortcut(insertTableRowShortcut, "Edit_Insert_Table_Row");\r
insertTableRowShortcut.activated.connect(parent, "insertTableRow()");\r
\r
+ insertTableColumnAction = new QAction(tr("Insert Column"), this);\r
+ insertTableColumnAction.triggered.connect(parent, "insertTableColumn()");\r
+ setupShortcut(insertTableColumnAction, "Edit_Insert_Table_Column");\r
+ tableMenu.addAction(insertTableColumnAction);\r
+ insertTableColumnShortcut = new QShortcut(this);\r
+ setupShortcut(insertTableColumnShortcut, "Edit_Insert_Table_Column");\r
+ insertTableColumnShortcut.activated.connect(parent, "insertTableColumn()");\r
+ \r
deleteTableRowAction = new QAction(tr("Delete Row"), this);\r
deleteTableRowAction.triggered.connect(parent, "deleteTableRow()");\r
setupShortcut(deleteTableRowAction, "Edit_Delete_Table_Row");\r
setupShortcut(deleteTableRowShortcut, "Edit_Delete_Table_Row");\r
deleteTableRowShortcut.activated.connect(parent, "deleteTableRow()");\r
\r
+ deleteTableColumnAction = new QAction(tr("Delete Column"), this);\r
+ deleteTableColumnAction.triggered.connect(parent, "deleteTableColumn()");\r
+ setupShortcut(deleteTableColumnAction, "Edit_Delete_Table_Column");\r
+ tableMenu.addAction(deleteTableColumnAction);\r
+ deleteTableColumnShortcut = new QShortcut(this);\r
+ setupShortcut(deleteTableColumnShortcut, "Edit_Delete_Table_Column");\r
+ deleteTableColumnShortcut.activated.connect(parent, "deleteTableColumn()");\r
+ \r
+ \r
insertDateTimeShortcut = new QShortcut(this);\r
insertDateTimeShortcut.activated.connect(parent, "insertDateTime()");\r
setupShortcut(insertDateTimeShortcut, "Insert_DateTime");\r