import java.text.SimpleDateFormat;\r
import java.util.ArrayList;\r
import java.util.Calendar;\r
+import java.util.Collections;\r
import java.util.Date;\r
import java.util.GregorianCalendar;\r
import java.util.HashMap;\r
setNote(null);\r
browser.setContent(new QByteArray());\r
tagEdit.setText("");\r
+ tagEdit.tagCompleter.reset();\r
urlLabel.setText(tr("Source URL:"));\r
titleLabel.setText("");\r
logger.log(logger.EXTREME, "Exiting BrowserWindow.clear()");\r
public void setTag(String t) {\r
saveTagList = t;\r
tagEdit.setText(t);\r
+ tagEdit.tagCompleter.reset();\r
}\r
\r
// Set the source URL\r
// Tag line has been modified by typing text\r
@SuppressWarnings("unused")\r
private void modifyTagsTyping() {\r
-\r
- String newTags = tagEdit.text();\r
- List<String> test = tagEdit.tagCompleter.getTagList();\r
- if (newTags.equalsIgnoreCase(saveTagList))\r
+ String completionText = "";\r
+ if (tagEdit.currentCompleterSelection != null && !tagEdit.currentCompleterSelection.equals("")) {\r
+ completionText = tagEdit.currentCompleterSelection;\r
+ tagEdit.currentCompleterSelection = "";\r
+ }\r
+ \r
+ if (tagEdit.text().equalsIgnoreCase(saveTagList))\r
return;\r
\r
// We know something has changed...\r
String oldTagArray[] = saveTagList.split(Global.tagDelimeter);\r
- String newTagArray[] = newTags.split(Global.tagDelimeter);\r
+ String newTagArray[] = tagEdit.text().split(Global.tagDelimeter);\r
+ \r
+ if (!completionText.equals("") && newTagArray.length > 0) {\r
+ newTagArray[newTagArray.length-1] = completionText;\r
+ }\r
+ // Remove any potential duplicates from the new list\r
+ for (int i=0; i<newTagArray.length; i++) {\r
+ boolean foundOnce = false;\r
+ for (int j=0; j<newTagArray.length; j++) {\r
+ if (newTagArray[j].equalsIgnoreCase(newTagArray[i])) {\r
+ if (!foundOnce) {\r
+ foundOnce = true;\r
+ } else\r
+ newTagArray[j] = "";\r
+ }\r
+ }\r
+ }\r
\r
List<String> newTagList = new ArrayList<String>();\r
List<String> oldTagList = new ArrayList<String>();\r
if (!newTagArray[i].trim().equals(""))\r
newTagList.add(newTagArray[i]);\r
\r
+ // Let's cleanup the appearance of the tag list\r
+ Collections.sort(newTagList);\r
+ String newDisplay = "";\r
+ for (int i=0; i<newTagList.size(); i++) {\r
+ newDisplay = newDisplay+newTagList.get(i);\r
+ if (i<newTagList.size()-1)\r
+ newDisplay = newDisplay+", ";\r
+ }\r
+ tagEdit.blockSignals(true);\r
+ tagEdit.setText(newDisplay);\r
+ tagEdit.blockSignals(false);\r
+ \r
// We now have lists of the new & old. Remove duplicates. If all\r
// are removed from both then nothing has really changed\r
for (int i = newTagList.size() - 1; i >= 0; i--) {\r
\r
if (oldTagList.size() != 0 || newTagList.size() != 0) {\r
currentTags.clear();\r
+ newTagArray = tagEdit.text().split(Global.tagDelimeter);\r
for (int i = 0; i < newTagArray.length; i++)\r
if (!newTagArray[i].trim().equals(""))\r
currentTags.add(newTagArray[i].trim());\r
\r
noteSignal.tagsChanged.emit(currentNote.getGuid(), currentTags);\r
}\r
-\r
+ \r
}\r
\r
// Tab button was pressed\r
String content = getContent();\r
checkNoteTitle();\r
noteSignal.noteChanged.emit(currentNote.getGuid(), content); \r
- \r
- \r
-// noteSignal.noteChanged.emit(currentNote.getGuid(), unicode);\r
}\r
\r
// The notebook selection has changed\r
icon = findIcon(type[0]);\r
if (icon.equals("attachment.png"))\r
icon = findIcon(url.substring(url.lastIndexOf(".")+1));\r
- StringBuffer imageBuffer = new StringBuffer();\r
String imageURL = FileUtils.toFileURLString(Global.getFileManager().getImageDirFile(icon));\r
\r
logger.log(logger.EXTREME, "Creating resource ");\r
noteSignal.authorChanged.emit(currentNote.getGuid(), authorText.text());\r
}\r
\r
+ @SuppressWarnings("unused")\r
private void geoBoxChanged() {\r
int index = geoBox.currentIndex();\r
geoBox.setCurrentIndex(0);\r
//* MicroFocus changed\r
//****************************************************************\r
private void microFocusChanged() {\r
- \r
boldButton.setDown(false);\r
italicButton.setDown(false);\r
underlineButton.setDown(false);\r