List<QPixmap> syncIcons; // Array of icons used in sync animation
private boolean closeAction = false; // Used to say when to close or when to minimize
private static Logger log = Logger.getLogger(NeverNote.class);
+ private String saveLastPath; // last path we used
String iconPath = new String("classpath:cx/fbn/nevernote/icons/");
indexRunner.thread().join(50);
if (!indexRunner.thread().isAlive())
logger.log(logger.MEDIUM, "Index thread has stopped");
- else
- logger.log(logger.MEDIUM, "Index thread still running - bypassing");
+ else {
+ logger.log(logger.MEDIUM, "Index thread still running - interrupting");
+ indexRunner.thread().interrupt();
+ }
} catch (InterruptedException e1) {
e1.printStackTrace();
}
if (decryptOnShutdown) {
decryptOnShutdown();
}
+ try {
+ Global.getFileManager().purgeResDirectory(false);
+ } catch (InitializationException e) {
+ System.out.println(tr("Empty res directory purge failed"));
+ e.printStackTrace();
+ }
logger.log(logger.HIGH, "Leaving NeverNote.closeEvent");
}
if (!stackSelected && !allNotebookSelected) {
icon = conn.getNotebookTable().getIcon(guid);
if (icon == null) {
- dialog = new SetIcon(currentIcon);
+ dialog = new SetIcon(currentIcon, saveLastPath);
dialog.setUseDefaultIcon(true);
} else {
- dialog = new SetIcon(icon);
+ dialog = new SetIcon(icon, saveLastPath);
dialog.setUseDefaultIcon(false);
}
} else {
icon = conn.getSystemIconTable().getIcon(currentSelection.text(0), "ALLNOTEBOOK");
}
if (icon == null) {
- dialog = new SetIcon(currentIcon);
+ dialog = new SetIcon(currentIcon, saveLastPath);
dialog.setUseDefaultIcon(true);
} else {
- dialog = new SetIcon(icon);
+ dialog = new SetIcon(icon, saveLastPath);
dialog.setUseDefaultIcon(false);
}
}
dialog.exec();
if (dialog.okPressed()) {
+ saveLastPath = dialog.getPath();
+
QIcon newIcon = dialog.getIcon();
if (stackSelected) {
conn.getSystemIconTable().setIcon(currentSelection.text(0), "STACK", newIcon, dialog.getFileType());
QIcon icon = conn.getTagTable().getIcon(guid);
SetIcon dialog;
if (icon == null) {
- dialog = new SetIcon(currentIcon);
+ dialog = new SetIcon(currentIcon, saveLastPath);
dialog.setUseDefaultIcon(true);
} else {
- dialog = new SetIcon(icon);
+ dialog = new SetIcon(icon, saveLastPath);
dialog.setUseDefaultIcon(false);
}
dialog.exec();
if (dialog.okPressed()) {
+ saveLastPath = dialog.getPath();
QIcon newIcon = dialog.getIcon();
conn.getTagTable().setIcon(guid, newIcon, dialog.getFileType());
if (newIcon == null)
QIcon icon = conn.getSavedSearchTable().getIcon(guid);
SetIcon dialog;
if (icon == null) {
- dialog = new SetIcon(currentIcon);
+ dialog = new SetIcon(currentIcon, saveLastPath);
dialog.setUseDefaultIcon(true);
} else {
- dialog = new SetIcon(icon);
+ dialog = new SetIcon(icon, saveLastPath);
dialog.setUseDefaultIcon(false);
}
dialog.exec();
if (dialog.okPressed()) {
+ saveLastPath = dialog.getPath();
QIcon newIcon = dialog.getIcon();
conn.getSavedSearchTable().setIcon(guid, newIcon, dialog.getFileType());
if (newIcon == null)
version = osxVersion;
if (System.getProperty("os.name").toLowerCase().contains("Linux")) {
if (System.getProperty("os.arch").contains("amd64") ||
- System.getProperty("os.arch").contains("x86_64") ||
- System.getProperty("os.arch").contains("i686"))
+ System.getProperty("os.arch").contains("x86_64"))
version = linux64Version;
else
version = linuxVersion;
refreshEvernoteNoteList();
logger.log(logger.HIGH, "Calling note table reload in NeverNote.noteIndexUpdated() - "+reload);
noteTableView.load(reload);
+ if (currentNoteGuid == null || currentNoteGuid.equals("")) {
+ int pos;
+ if (noteTableView.proxyModel.sortOrder() == SortOrder.AscendingOrder)
+ pos = noteTableView.proxyModel.rowCount();
+ else
+ pos = 1;
+ if (noteTableView.proxyModel.rowCount() == 0)
+ pos = 0;
+ if (pos>0) {
+ QModelIndex i = noteTableView.proxyModel.index(pos-1, Global.noteTableGuidPosition);
+ if (i!=null) {
+ currentNoteGuid = (String)i.data();
+ noteTableView.selectRow(pos-1);
+ }
+ }
+ }
scrollToGuid(currentNoteGuid);
logger.log(logger.HIGH, "Leaving NeverNote.noteIndexUpdated");
}
browserWindow.setDisabled(true);
}
- if (saveCurrentNoteGuid.equals("") && listManager.getNoteIndex().size() > 0) {
- currentNote = listManager.getNoteIndex().get(listManager.getNoteIndex().size()-1);
- currentNoteGuid = currentNote.getGuid();
- refreshEvernoteNote(true);
- } else {
- //we can reload if note not dirty
-// refreshEvernoteNote(!noteDirty);
+ if (!saveCurrentNoteGuid.equals("")) {
refreshEvernoteNote(false);
+ } else {
+ currentNoteGuid = "";
}
reloadTagTree(false);
fd.setWindowTitle(tr("Backup Database"));
fd.setFilter(tr("NeverNote Export (*.nnex);;All Files (*.*)"));
fd.setAcceptMode(AcceptMode.AcceptSave);
- fd.setDirectory(System.getProperty("user.home"));
+ if (saveLastPath == null || saveLastPath.equals(""))
+ fd.setDirectory(System.getProperty("user.home"));
+ else
+ fd.setDirectory(saveLastPath);
if (fd.exec() == 0 || fd.selectedFiles().size() == 0) {
return;
}
waitCursor(true);
+ saveLastPath = fd.selectedFiles().get(0);
+ saveLastPath = saveLastPath.substring(0,saveLastPath.lastIndexOf("/"));
setMessage(tr("Backing up database"));
saveNote();
// conn.backupDatabase(Global.getUpdateSequenceNumber(), Global.getSequenceDate());
fd.setWindowTitle(tr("Restore Database"));
fd.setFilter(tr("NeverNote Export (*.nnex);;All Files (*.*)"));
fd.setAcceptMode(AcceptMode.AcceptOpen);
- fd.setDirectory(System.getProperty("user.home"));
+ if (saveLastPath == null || saveLastPath.equals(""))
+ fd.setDirectory(System.getProperty("user.home"));
+ else
+ fd.setDirectory(saveLastPath);
if (fd.exec() == 0 || fd.selectedFiles().size() == 0) {
return;
}
waitCursor(true);
+ saveLastPath = fd.selectedFiles().get(0);
+ saveLastPath = saveLastPath.substring(0,saveLastPath.lastIndexOf("/"));
+
setMessage(tr("Restoring database"));
ImportData noteReader = new ImportData(conn, true);
noteReader.importData(fd.selectedFiles().get(0));
fd.setWindowTitle(tr("Import Notes"));
fd.setFilter(tr("NeverNote Export (*.nnex);;All Files (*.*)"));
fd.setAcceptMode(AcceptMode.AcceptOpen);
- fd.setDirectory(System.getProperty("user.home"));
+ if (saveLastPath == null || saveLastPath.equals(""))
+ fd.setDirectory(System.getProperty("user.home"));
+ else
+ fd.setDirectory(saveLastPath);
if (fd.exec() == 0 || fd.selectedFiles().size() == 0) {
return;
}
ImportData noteReader = new ImportData(conn, false);
String fileName = fd.selectedFiles().get(0);
+// saveLastPath.substring(0,fileName.lastIndexOf("/"));
if (!fileName.endsWith(".nnex"))
fileName = fileName +".nnex";