private boolean extendedOn;\r
public boolean buttonsVisible;\r
private final String iconPath;\r
- private final ContentView browser;\r
+ public final ContentView browser;\r
private final QTextEdit sourceEdit;\r
private String sourceEditHeader;\r
Highlighter syntaxHighlighter;\r
alteredTime.setEnabled(!v);\r
subjectTime.setEnabled(!v);\r
getBrowser().setEnabled(true);\r
+ getBrowser().page().setContentEditable(!v);\r
// getBrowser().setEnabled(!v);\r
}\r
\r
}\r
QClipboard clipboard = QApplication.clipboard();\r
QMimeData mime = clipboard.mimeData();\r
- \r
-// String x = mime.html();\r
\r
if (mime.hasImage()) {\r
logger.log(logger.EXTREME, "Image paste found");\r
\r
if (mime.hasUrls()) {\r
logger.log(logger.EXTREME, "URL paste found");\r
- if (!mime.text().startsWith("evernote:")) {\r
+ if (mime.text().startsWith("evernote:")) {\r
handleNoteLink(mime);\r
} else {\r
handleUrls(mime);\r
public void editLatex(String guid) {\r
logger.log(logger.EXTREME, "Inserting latex");\r
String text = browser.selectedText();\r
- if (text.trim().equalsIgnoreCase(" ") || text.trim().equalsIgnoreCase("")) {\r
+ if (text.trim().equalsIgnoreCase("\n") || text.trim().equalsIgnoreCase("")) {\r
InsertLatexImage dialog = new InsertLatexImage();\r
if (guid != null) {\r
String formula = conn.getNoteTable().noteResourceTable.getNoteSourceUrl(guid).replace("http://latex.codecogs.com/gif.latex?", "");\r
return;\r
\r
// If we have a real change, we need to save it.\r
- noteSignal.titleChanged.emit(currentNote.getGuid(), titleLabel.text().trim());\r
- currentNote.setTitle(titleLabel.text().trim());\r
- saveNoteTitle = titleLabel.text().trim();\r
+ String text = titleLabel.text().trim();\r
+ if (text.equals("")) \r
+ text = tr("Untitled Note");\r
+ noteSignal.titleChanged.emit(currentNote.getGuid(), text);\r
+ currentNote.setTitle(text);\r
+ saveNoteTitle = text;\r
checkNoteTitle();\r
}\r
\r
String text = browser.page().currentFrame().toPlainText();\r
if (saveNoteTitle == null)\r
saveNoteTitle = new String();\r
+ text = text.trim();\r
+ if (!saveNoteTitle.trim().equals("") && !saveNoteTitle.trim().equals("Untitled Note"))\r
+ text = saveNoteTitle.trim();\r
+ int newLine = text.indexOf("\n");\r
+ if (newLine > 0)\r
+ text = text.substring(0,newLine);\r
if (saveNoteTitle.trim().equals("") || saveNoteTitle.trim().equals("Untitled Note")) {\r
- int newLine = text.indexOf("\n");\r
- if (newLine > 0) {\r
- text = text.substring(0, newLine);\r
- if (text.trim().equals(""))\r
- text = tr("Untitled Note");\r
+ if (text.trim().equals(""))\r
+ text = tr("Untitled Note");\r
titleLabel.setText(text);\r
- } else {\r
- if (text.length() > Constants.EDAM_NOTE_TITLE_LEN_MAX)\r
- titleLabel.setText(text.substring(0, Constants.EDAM_NOTE_TITLE_LEN_MAX));\r
- else {\r
- titleLabel.blockSignals(true);\r
- if (text.trim().equals(""))\r
- titleLabel.setText(tr("Untitled Note"));\r
- else\r
- titleLabel.setText(text);\r
- titleLabel.blockSignals(false);\r
- }\r
+ } else {\r
+ if (text.length() > Constants.EDAM_NOTE_TITLE_LEN_MAX)\r
+ titleLabel.setText(text.substring(0, Constants.EDAM_NOTE_TITLE_LEN_MAX));\r
+ else {\r
+ titleLabel.blockSignals(true);\r
+ if (text.trim().equals(""))\r
+ titleLabel.setText(tr("Untitled Note"));\r
+ else\r
+ titleLabel.setText(text);\r
+ titleLabel.blockSignals(false);\r
}\r
- if (currentNote != null && titleLabel != null)\r
- noteSignal.titleChanged.emit(currentNote.getGuid(), titleLabel.text());\r
}\r
+ if (currentNote != null && titleLabel != null && !currentNote.getTitle().equals(text))\r
+ noteSignal.titleChanged.emit(currentNote.getGuid(), text);\r
}\r
\r
// Return the note contents so we can email them\r
imageURL = file.fileName() + ".png";\r
}\r
}\r
- \r
+ \r
logger.log(logger.EXTREME, "Generating link tags");\r
buffer.delete(0, buffer.length());\r
buffer.append("<a en-tag=\"en-media\" guid=\"" +newRes.getGuid()+"\" ");\r
buffer.append(" onContextMenu=\"window.jambi.imageContextMenu('")\r
.append(Global.getFileManager().getResDirPath(fileName))\r
- .append("');\" "); buffer.append("type=\"" + mimeType + "\" href=\"nnres://" + fileName +"\" hash=\""+Global.byteArrayToHexString(newRes.getData().getBodyHash()) +"\" >");\r
+ .append("');\" "); \r
+ buffer.append("type=\"" + mimeType + "\" href=\"nnres://" + fileName +"\" hash=\""+Global.byteArrayToHexString(newRes.getData().getBodyHash()) +"\" >");\r
buffer.append("<img src=\"" + imageURL + "\" title=\"" +newRes.getAttributes().getFileName());\r
buffer.append("\"></img>");\r
buffer.append("</a>");\r
\r
private Resource createResource(String url, int sequence, String mime, boolean attachment) {\r
logger.log(logger.EXTREME, "Inside create resource");\r
- QFile resourceFile;\r
+ QFile resourceFile; \r
+ //These two lines are added to handle odd characters in the name like #. Without it\r
+ // toLocalFile() chokes and returns the wrong name.\r
+ logger.log(logger.EXTREME, "File URL:" +url);\r
+ String whichOS = System.getProperty("os.name");\r
+ if (whichOS.contains("Windows")) \r
+ url = url.replace("file:///", "");\r
+ else\r
+ url = url.replace("file://", "");\r
String urlTest = new QUrl(url).toLocalFile();\r
+ logger.log(logger.EXTREME, "File URL toLocalFile():" +urlTest);\r
+ urlTest = url;\r
if (!urlTest.equals(""))\r
url = urlTest;\r
- url = url.replace("/", File.separator);\r
- logger.log(logger.EXTREME, "Reading from file to create resource");\r
- resourceFile = new QFile(url); \r
+// url = url.replace("/", File.separator);\r
+ logger.log(logger.EXTREME, "Reading from file to create resource:" +url);\r
+ resourceFile = new QFile(url); \r
resourceFile.open(new QIODevice.OpenMode(QIODevice.OpenModeFlag.ReadOnly));\r
-// logger.log(logger.EXTREME, "Error opening file "+url.toString() +": "+resourceFile.errorString());\r
+ logger.log(logger.EXTREME, "Error opening file "+url.toString() +": "+resourceFile.errorString());\r
byte[] fileData = resourceFile.readAll().toByteArray();\r
resourceFile.close();\r
+ logger.log(logger.EXTREME, "File Length: " +fileData.length);\r
if (fileData.length == 0)\r
return null;\r
MessageDigest md;\r