import com.evernote.edam.type.Tag;\r
import com.trolltech.qt.QThread;\r
import com.trolltech.qt.core.QDateTime;\r
+import com.trolltech.qt.gui.QImage;\r
+import com.trolltech.qt.gui.QPixmap;\r
import com.trolltech.qt.sql.QSqlQuery;\r
import com.trolltech.qt.xml.QDomAttr;\r
import com.trolltech.qt.xml.QDomDocument;\r
public NotebookSignal notebookSignal;\r
private int trashCount;\r
public SaveRunner saveRunner; // Thread used to save content. Used because the xml conversion is slowwwww\r
- QThread saveThread;\r
+ QThread saveThread;\r
\r
+// private final HashMap<String, QImage> thumbnailList;\r
+ \r
// Constructor\r
public ListManager(DatabaseConnection d, ApplicationLogger l) {\r
conn = d;\r
saveRunner = new SaveRunner("saveRunner.log", Global.getDatabaseUrl(), Global.getDatabaseUserid(), Global.getDatabaseUserPassword(), Global.cipherPassword);\r
saveThread = new QThread(saveRunner, "Save Runner Thread");\r
saveThread.start();\r
-\r
+ \r
+// thumbnailList = conn.getNoteTable().getThumbnails();\r
+// thumbnailList = new HashMap<String,QImage>();\r
+ \r
loadNoteTitleColors();\r
\r
}\r
public List<Note> getMasterNoteIndex() {\r
return noteModel.getMasterNoteIndex();\r
}\r
- \r
+ // Thumbnails\r
+// public HashMap<String, QImage> getThumbnails() {\r
+// return thumbnailList;\r
+// }\r
+ public QImage getThumbnail(String guid) {\r
+// if (getThumbnails().containsKey(guid))\r
+// return getThumbnails().get(guid);\r
+ \r
+ QImage img = new QImage();\r
+ img = QImage.fromData(conn.getNoteTable().getThumbnail(guid));\r
+ if (img == null || img.isNull()) \r
+ return null;\r
+ //getThumbnails().put(guid, img);\r
+ return img;\r
+ }\r
+ public QPixmap getThumbnailPixmap(String guid) {\r
+// if (getThumbnails().containsKey(guid))\r
+// return getThumbnails().get(guid);\r
+ \r
+ QPixmap img = new QPixmap();\r
+ img.loadFromData(conn.getNoteTable().getThumbnail(guid));\r
+ if (img == null || img.isNull()) \r
+ return null;\r
+ //getThumbnails().put(guid, img);\r
+ return img;\r
+ }\r
//***************************************************************\r
//***************************************************************\r
//** These functions deal with setting & retrieving filters\r
}\r
conn.getNotebookTable().expungeNotebook(guid, true); \r
}\r
+ // Rename a stack\r
+ public void renameStack(String oldName, String newName) {\r
+ for (int i=0; i<getNotebookIndex().size(); i++) {\r
+ if (getNotebookIndex().get(i).getStack() != null && \r
+ getNotebookIndex().get(i).getStack().equalsIgnoreCase(oldName)) {\r
+ getNotebookIndex().get(i).setStack(newName);\r
+ }\r
+ } \r
+ }\r
// Update a notebook sequence number\r
public void updateNotebookSequence(String guid, int sequence) {\r
logger.log(logger.HIGH, "Entering ListManager.updateNotebookSequence");\r
logger.log(logger.HIGH, "Leaving ListManager.updateNotebookGuid");\r
\r
}\r
+ // Update a notebook Guid number\r
+ public void updateNotebookStack(String oldGuid, String stack) {\r
+ logger.log(logger.HIGH, "Entering ListManager.updateNotebookGuid");\r
+\r
+ conn.getNotebookTable().setStack(oldGuid, stack);\r
+ \r
+ for (int i=0; i<notebookIndex.size(); i++) {\r
+ if (notebookIndex.get(i).getGuid().equals(oldGuid)) {\r
+ notebookIndex.get(i).setStack(stack);\r
+ i=notebookIndex.size()+1;\r
+ }\r
+ }\r
+ logger.log(logger.HIGH, "Leaving ListManager.updateNotebookGuid");\r
+\r
+ }\r
\r
\r
//************************************************************************************\r
else {\r
if (n.isActive() && !Global.showDeleted)\r
goodStatus = true;\r
- // Begin filtering results\r
- if (goodStatus)\r
- goodNotebook = filterByNotebook(n.getNotebookGuid());\r
- if (goodNotebook) \r
- goodTag = filterByTag(n.getTagGuids());\r
- if (goodTag) {\r
- boolean goodCreatedBefore = false;\r
- boolean goodCreatedSince = false;\r
- boolean goodChangedBefore = false;\r
- boolean goodChangedSince = false;\r
- boolean goodContains = false;\r
- \r
- if (!Global.createdBeforeFilter.hasSelection())\r
- goodCreatedBefore = true;\r
- else\r
- goodCreatedBefore = Global.createdBeforeFilter.check(n);\r
+ }\r
+ \r
+ // Begin filtering results\r
+ if (goodStatus)\r
+ goodNotebook = filterByNotebook(n.getNotebookGuid());\r
+ if (goodNotebook) \r
+ goodTag = filterByTag(n.getTagGuids());\r
+ if (goodTag) {\r
+ boolean goodCreatedBefore = false;\r
+ boolean goodCreatedSince = false;\r
+ boolean goodChangedBefore = false;\r
+ boolean goodChangedSince = false;\r
+ boolean goodContains = false;\r
+ if (!Global.createdBeforeFilter.hasSelection())\r
+ goodCreatedBefore = true;\r
+ else\r
+ goodCreatedBefore = Global.createdBeforeFilter.check(n);\r
\r
- if (!Global.createdSinceFilter.hasSelection())\r
- goodCreatedSince = true;\r
- else\r
- goodCreatedSince = Global.createdSinceFilter.check(n);\r
+ if (!Global.createdSinceFilter.hasSelection())\r
+ goodCreatedSince = true;\r
+ else\r
+ goodCreatedSince = Global.createdSinceFilter.check(n);\r
\r
- if (!Global.changedBeforeFilter.hasSelection())\r
- goodChangedBefore = true;\r
- else\r
- goodChangedBefore = Global.changedBeforeFilter.check(n);\r
- if (!Global.changedSinceFilter.hasSelection())\r
- goodChangedSince = true;\r
- else\r
- goodChangedSince = Global.changedSinceFilter.check(n);\r
- if (!Global.containsFilter.hasSelection())\r
- goodContains = true;\r
- else\r
- goodContains = Global.containsFilter.check(conn.getNoteTable(), n);\r
- \r
- if (goodCreatedSince && goodCreatedBefore && goodChangedSince && goodChangedBefore && goodContains)\r
- return true;\r
- }\r
+ if (!Global.changedBeforeFilter.hasSelection())\r
+ goodChangedBefore = true;\r
+ else\r
+ goodChangedBefore = Global.changedBeforeFilter.check(n);\r
+ if (!Global.changedSinceFilter.hasSelection())\r
+ goodChangedSince = true;\r
+ else\r
+ goodChangedSince = Global.changedSinceFilter.check(n);\r
+ if (!Global.containsFilter.hasSelection())\r
+ goodContains = true;\r
+ else\r
+ goodContains = Global.containsFilter.check(conn.getNoteTable(), n);\r
+ \r
+ if (goodCreatedSince && goodCreatedBefore && goodChangedSince && goodChangedBefore && goodContains)\r
+ return true;\r
} \r
return false;\r
}\r
return false;\r
}\r
\r
- \r
+ public void setNoteSynchronized(String guid, boolean value) {\r
+ getNoteTableModel().updateNoteSyncStatus(guid, value);\r
+ }\r
\r
public void updateNoteTitleColor(String guid, Integer color) {\r
noteModel.updateNoteTitleColor(guid, color);\r