OSDN Git Service

Correct problem where images may not be pasted properly due to ' character messing...
authorRandy Baumgarte <randy@fbn.cx>
Sun, 22 Aug 2010 18:24:52 +0000 (14:24 -0400)
committerRandy Baumgarte <randy@fbn.cx>
Sun, 22 Aug 2010 22:50:07 +0000 (18:50 -0400)
src/cx/fbn/nevernote/NeverNote.java
src/cx/fbn/nevernote/gui/BrowserWindow.java
src/cx/fbn/nevernote/gui/NoteTableModel.java

index 279e92b..e0a846b 100644 (file)
@@ -1520,25 +1520,31 @@ public class NeverNote extends QMainWindow{
                if (tagName == null)
                        return;
                
                if (tagName == null)
                        return;
                
-               for (int i=0; i<listManager.getNoteTableModel().rowCount(); i++) {
-                       QModelIndex modelIndex =  listManager.getNoteTableModel().index(i, Global.noteTableGuidPosition);
-                       if (modelIndex != null) {
-                               SortedMap<Integer, Object> ix = listManager.getNoteTableModel().itemData(modelIndex);
-                               String titleGuid = (String)ix.values().toArray()[0];
-                               if (titleGuid.equals(noteGuid)) {
-                                       String text = (String)listManager.getNoteTableModel().data(i, Global.noteTableTagPosition);
-                                       if (!text.trim().equals(""))
-                                               text = text + Global.tagDelimeter + " " +tagName;
-                                       else
-                                               text = tagName;
-                                       listManager.getNoteTableModel().setData(i, Global.noteTableTagPosition, text);
-                                       listManager.getNoteTableModel().setData(i, Global.noteTableSynchronizedPosition, "false");
-                                       if (noteGuid.equals(currentNoteGuid))
-                                               browserWindow.setTag(text);
-                                       i=listManager.getNoteTableModel().rowCount();
+               for (int i=0; i<listManager.getMasterNoteIndex().size(); i++) {
+                       if (listManager.getMasterNoteIndex().get(i).getGuid().equals(noteGuid)) {
+                               List<String> tagNames = new ArrayList<String>();
+                               tagNames.add(new String(tagName));
+                               Note n = listManager.getMasterNoteIndex().get(i);
+                               for (int j=0; j<n.getTagNames().size(); j++) {
+                                       tagNames.add(new String(n.getTagNames().get(j)));
+                               }
+                               listManager.getNoteTableModel().updateNoteTags(noteGuid, n.getTagGuids(), tagNames);
+                               if (n.getGuid().equals(currentNoteGuid)) {
+                                       Collections.sort(tagNames);
+                                       String display = "";
+                                       for (int j=0; j<tagNames.size(); j++) {
+                                               display = display+tagNames.get(j);
+                                               if (j+2<tagNames.size()) 
+                                                       display = display+Global.tagDelimeter+" ";
+                                       }
+                                       browserWindow.setTag(display);
                                }
                                }
+                               i=listManager.getMasterNoteIndex().size();
                        }
                }
                        }
                }
+               
+               
+               listManager.getNoteTableModel().updateNoteSyncStatus(noteGuid, false);
        }
        private void clearTagFilter() {
                tagTree.blockSignals(true);
        }
        private void clearTagFilter() {
                tagTree.blockSignals(true);
@@ -2597,21 +2603,7 @@ public class NeverNote extends QMainWindow{
     }
        private void updateListNoteNotebook(String guid, String notebook) {
        logger.log(logger.HIGH, "Entering NeverNote.updateListNoteNotebook");
     }
        private void updateListNoteNotebook(String guid, String notebook) {
        logger.log(logger.HIGH, "Entering NeverNote.updateListNoteNotebook");
-
-       for (int i=0; i<listManager.getNoteTableModel().rowCount(); i++) {
-               //QModelIndex modelIndex =  noteTableView.proxyModel.index(i, Global.noteTableGuidPosition);
-               QModelIndex modelIndex =  listManager.getNoteTableModel().index(i, Global.noteTableGuidPosition);
-               if (modelIndex != null) {
-//                     SortedMap<Integer, Object> ix = noteTableView.proxyModel.itemData(modelIndex);
-                       SortedMap<Integer, Object> ix = listManager.getNoteTableModel().itemData(modelIndex);
-                       String tableGuid =  (String)ix.values().toArray()[0];
-                       if (tableGuid.equals(guid)) {
-                               listManager.getNoteTableModel().setData(i, Global.noteTableNotebookPosition,notebook);
-                               listManager.getNoteTableModel().setData(i, Global.noteTableSynchronizedPosition, "false");
-                               return;
-                       }       
-               }
-       }
+       listManager.getNoteTableModel().updateNoteSyncStatus(guid, false);
        logger.log(logger.HIGH, "Leaving NeverNote.updateListNoteNotebook");
     }
     // Update a title for a specific note in the list
        logger.log(logger.HIGH, "Leaving NeverNote.updateListNoteNotebook");
     }
     // Update a title for a specific note in the list
index 37e143a..488cf7c 100644 (file)
@@ -1567,8 +1567,10 @@ public class BrowserWindow extends QWidget {
                buffer.append("\" en-tag=en-media type=\"image/jpeg\""\r
                                +" hash=\""+Global.byteArrayToHexString(newRes.getData().getBodyHash()) +"\""\r
                                +" guid=\"" +newRes.getGuid() +"\""\r
                buffer.append("\" en-tag=en-media type=\"image/jpeg\""\r
                                +" hash=\""+Global.byteArrayToHexString(newRes.getData().getBodyHash()) +"\""\r
                                +" guid=\"" +newRes.getGuid() +"\""\r
-                               +" onContextMenu=\"window.jambi.imageContextMenu('" +tfile.fileName() +"');\""\r
+//                             +" onContextMenu=\"window.jambi.imageContextMenu('" +tfile.fileName() +"');\""\r
+                               +" onContextMenu=\"window.jambi.imageContextMenu(&amp." +tfile.fileName() +"&amp.);\""\r
                                + " />");\r
                                + " />");\r
+               \r
                browser.page().mainFrame().evaluateJavaScript(\r
                                script_start + buffer + script_end);\r
 \r
                browser.page().mainFrame().evaluateJavaScript(\r
                                script_start + buffer + script_end);\r
 \r
index 195d019..f901470 100644 (file)
@@ -2,6 +2,7 @@ package cx.fbn.nevernote.gui;
 \r
 import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
 \r
 import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
+import java.util.Collections;\r
 import java.util.HashMap;\r
 import java.util.List;\r
 \r
 import java.util.HashMap;\r
 import java.util.List;\r
 \r
@@ -236,6 +237,28 @@ public class NoteTableModel extends QAbstractTableModel {
                }\r
        }\r
        \r
                }\r
        }\r
        \r
+       // Update a note title\r
+       public void updateNoteTags(String guid, List<String> tags, List<String> names) {\r
+               for (int i=0; i<getMasterNoteIndex().size(); i++) {\r
+                       if (getMasterNoteIndex().get(i).getGuid().equals(guid)) {\r
+                               getMasterNoteIndex().get(i).setTagGuids(tags);\r
+                               getMasterNoteIndex().get(i).setTagNames(names);\r
+                               String display = new String("");\r
+                               Collections.sort(names);\r
+                               for (int j=0; j<names.size(); j++) {\r
+                                       display = display+names.get(j);\r
+                                       if (j+2<names.size()) {\r
+                                               display = display+Global.tagDelimeter+" ";\r
+                                       }\r
+                               }\r
+                               QModelIndex idx = createIndex(i, Global.noteTableTagPosition, nativePointer());\r
+                               setData(idx, display, Qt.ItemDataRole.EditRole); \r
+                               i = getMasterNoteIndex().size();\r
+                       }       \r
+               }\r
+       }\r
+\r
+       \r
        public void updateNoteCreatedDate(String guid, QDateTime date) {\r
                \r
                for (int i=0; i<getMasterNoteIndex().size(); i++) {\r
        public void updateNoteCreatedDate(String guid, QDateTime date) {\r
                \r
                for (int i=0; i<getMasterNoteIndex().size(); i++) {\r
@@ -436,5 +459,14 @@ public class NoteTableModel extends QAbstractTableModel {
                getTitleColors().put(guid, color);\r
                layoutChanged.emit();\r
        }\r
                getTitleColors().put(guid, color);\r
                layoutChanged.emit();\r
        }\r
+\r
+       @Override\r
+       public Qt.ItemFlags flags(QModelIndex index) {\r
+               Qt.ItemFlag flags[] = { Qt.ItemFlag.ItemIsEnabled, \r
+                                                               Qt.ItemFlag.ItemIsDragEnabled,\r
+                                                               Qt.ItemFlag.ItemIsSelectable };\r
+               \r
+               return new Qt.ItemFlags(flags);\r
+       }\r
        \r
 }\r
        \r
 }\r