ApplicationLogger logger;
List<String> selectedNotebookGUIDs; // List of notebook GUIDs
List<String> selectedTagGUIDs; // List of selected tag GUIDs
- String previousSelectedTag; // Tag that was selected last time
List<String> selectedNoteGUIDs; // List of selected notes
- String previousSelectedNotebook; // Notebook selected last time
String selectedSavedSearchGUID; // Currently selected saved searches
private final HashMap<String, ExternalBrowse> externalWindows; // Notes being edited by an external window;
historyGuids.add(currentNoteGuid);
historyPosition = 1;
+ menuBar.blockSignals(true);
+ menuBar.narrowListView.blockSignals(true);
+ menuBar.wideListView.blockSignals(true);
if (Global.getListView() == Global.View_List_Narrow) {
menuBar.narrowListView.setChecked(true);
-// narrowListView();
}
else{
menuBar.wideListView.setChecked(true);
-// wideListView();
}
+ menuBar.blockSignals(false);
+ menuBar.narrowListView.blockSignals(false);
+ menuBar.wideListView.blockSignals(false);
if (Global.getListView() == Global.View_List_Wide) {
browserIndexSplitter.addWidget(noteTableView);
Global.keepRunning = false;
try {
logger.log(logger.MEDIUM, "Waiting for indexThread to stop");
- indexRunner.thread().join(50);
- logger.log(logger.MEDIUM, "Index thread has stopped");
+ if (indexRunner.thread().isAlive())
+ 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");
} catch (InterruptedException e1) {
e1.printStackTrace();
}
// Setup the tree containing the user's notebooks.
private void initializeNotebookTree() {
logger.log(logger.HIGH, "Entering NeverNote.initializeNotebookTree");
- notebookTree.itemClicked.connect(this, "notebookTreeSelection()");
+// notebookTree.itemClicked.connect(this, "notebookTreeSelection()");
+ notebookTree.selectionSignal.connect(this, "notebookTreeSelection()");
listManager.notebookSignal.refreshNotebookTreeCounts.connect(notebookTree, "updateCounts(List, List)");
logger.log(logger.HIGH, "Leaving NeverNote.initializeNotebookTree");
}
menuBar.notebookIconAction.setEnabled(true);
menuBar.notebookStackAction.setEnabled(true);
List<QTreeWidgetItem> selections = notebookTree.selectedItems();
- QTreeWidgetItem currentSelection;
selectedNotebookGUIDs.clear();
- if (!Global.mimicEvernoteInterface) {
- for (int i=0; i<selections.size(); i++) {
- currentSelection = selections.get(i);
- if (!currentSelection.text(2).equals("STACK"))
- selectedNotebookGUIDs.add(currentSelection.text(2));
- else {
- String stackName = currentSelection.text(0);
- for (int j=0; j<listManager.getNotebookIndex().size(); j++) {
- Notebook book = listManager.getNotebookIndex().get(j);
- if (book.getStack()!=null && book.getStack().equalsIgnoreCase(stackName))
- selectedNotebookGUIDs.add(book.getGuid());
- }
- }
- }
-
-
- // There is the potential for no notebooks to be selected if this
- // happens then we make it look like all notebooks were selecetd.
- // If that happens, just select the "all notebooks"
- selections = notebookTree.selectedItems();
- if (selections.size()==0) {
- selectedNotebookGUIDs.clear();
- menuBar.notebookEditAction.setEnabled(false);
- menuBar.notebookDeleteAction.setEnabled(false);
- menuBar.notebookIconAction.setEnabled(false);
- menuBar.notebookStackAction.setEnabled(false);
- }
- if (selectedNotebookGUIDs.size() == 1 && selectedNotebookGUIDs.get(0).equals(previousSelectedNotebook)) {
- previousSelectedNotebook = selectedNotebookGUIDs.get(0);
- previousSelectedNotebook = "";
- notebookTree.clearSelection();
- notebookTreeSelection();
- return;
- }
- if (selectedNotebookGUIDs.size() == 1)
- previousSelectedNotebook = selectedNotebookGUIDs.get(0);
- if (selectedNotebookGUIDs.size() > 1)
- previousSelectedNotebook = "";
+ String guid = "";
+ String stackName = "";
+ if (selections.size() > 0) {
+ guid = (selections.get(0).text(2));
+ stackName = selections.get(0).text(0);
+ }
+ if (!Global.mimicEvernoteInterface) {
+ // If no notebooks are selected, we make it look like the "all notebooks" one was selected
+ if (selections.size()==0) {
+ selectedNotebookGUIDs.clear();
+ for (int i=0; i < listManager.getNotebookIndex().size(); i++) {
+ selectedNotebookGUIDs.add(listManager.getNotebookIndex().get(i).getGuid());
+ }
+ menuBar.notebookEditAction.setEnabled(false);
+ menuBar.notebookDeleteAction.setEnabled(false);
+ menuBar.notebookStackAction.setEnabled(false);
+ menuBar.notebookIconAction.setEnabled(false);
+ }
+ }
+ if (!guid.equals("") && !guid.equals("STACK")) {
+ selectedNotebookGUIDs.add(guid);
+ menuBar.notebookIconAction.setEnabled(true);
} else {
- String guid = "";
- String stackName = "";
- if (selections.size() > 0) {
- guid = (selections.get(0).text(2));
- stackName = selections.get(0).text(0);
- }
- if (!guid.equals("") && !guid.equals("STACK")) {
- selectedNotebookGUIDs.add(guid);
- menuBar.notebookIconAction.setEnabled(true);
- }
- else {
- menuBar.notebookIconAction.setEnabled(true);
- for (int j=0; j<listManager.getNotebookIndex().size(); j++) {
- Notebook book = listManager.getNotebookIndex().get(j);
- if (book.getStack() != null && book.getStack().equalsIgnoreCase(stackName))
- selectedNotebookGUIDs.add(book.getGuid());
- }
- }
+ menuBar.notebookIconAction.setEnabled(true);
+ for (int j=0; j<listManager.getNotebookIndex().size(); j++) {
+ Notebook book = listManager.getNotebookIndex().get(j);
+ if (book.getStack() != null && book.getStack().equalsIgnoreCase(stackName))
+ selectedNotebookGUIDs.add(book.getGuid());
+ }
}
listManager.setSelectedNotebooks(selectedNotebookGUIDs);
listManager.loadNotesIndex();
}
}
- notebookTreeSelection();
- notebookTree.load(listManager.getNotebookIndex(), listManager.getLocalNotebooks());
- listManager.countNotebookResults(listManager.getNoteIndex());
+ notebookIndexUpdated();
+// notebookTreeSelection();
+// notebookTree.load(listManager.getNotebookIndex(), listManager.getLocalNotebooks());
+// listManager.countNotebookResults(listManager.getNoteIndex());
logger.log(logger.HIGH, "Entering NeverNote.deleteNotebook");
}
// A note's notebook has been updated
private void initializeTagTree() {
logger.log(logger.HIGH, "Entering NeverNote.initializeTagTree");
// tagTree.itemSelectionChanged.connect(this, "tagTreeSelection()");
- tagTree.itemClicked.connect(this, "tagTreeSelection()");
+// tagTree.itemClicked.connect(this, "tagTreeSelection()");
+ tagTree.selectionSignal.connect(this, "tagTreeSelection()");
listManager.tagSignal.refreshTagTreeCounts.connect(tagTree, "updateCounts(List)");
logger.log(logger.HIGH, "Leaving NeverNote.initializeTagTree");
}
menuBar.tagDeleteAction.setEnabled(false);
menuBar.tagIconAction.setEnabled(true);
}
- if (selectedTagGUIDs.size() == 1 && selectedTagGUIDs.get(0).equals(previousSelectedTag)) {
- previousSelectedTag = selectedTagGUIDs.get(0);
- previousSelectedTag = "";
- tagTree.clearSelection();
- tagTreeSelection();
- return;
- }
- if (selectedTagGUIDs.size() == 1)
- previousSelectedTag = selectedTagGUIDs.get(0);
- if (selectedTagGUIDs.size() > 1)
- previousSelectedTag = "";
listManager.setSelectedTags(selectedTagGUIDs);
listManager.loadNotesIndex();
noteIndexUpdated(false);
// otherwise we trigger off searchFieldChanged.
@SuppressWarnings("unused")
private void searchFieldTextChanged(String text) {
+ QWebSettings.setMaximumPagesInCache(0);
+ QWebSettings.setObjectCacheCapacities(0, 0, 0);
+
if (text.trim().equals("")) {
searchFieldCleared();
if (searchPerformed) {
noteCache.clear();
readOnlyCache.clear();
inkNoteCache.clear();
- QWebSettings.setMaximumPagesInCache(0);
- QWebSettings.setObjectCacheCapacities(0, 0, 0);
listManager.setEnSearch("");
listManager.loadNotesIndex();
saveNoteColumnPositions();
saveNoteIndexWidth();
saveWindowState();
- Global.setListView(Global.View_List_Narrow);
+ int sortCol = noteTableView.proxyModel.sortColumn();
+ int sortOrder = noteTableView.proxyModel.sortOrder().value();
+ Global.setSortColumn(sortCol);
+ Global.setSortOrder(sortOrder);
+
+ Global.setListView(Global.View_List_Narrow);
menuBar.wideListView.blockSignals(true);
menuBar.narrowListView.blockSignals(true);
noteTableView.repositionColumns();
noteTableView.resizeColumnWidths();
noteTableView.resizeRowHeights();
+
+ sortCol = Global.getSortColumn();
+ sortOrder = Global.getSortOrder();
+ noteTableView.sortByColumn(sortCol, SortOrder.resolve(sortOrder));
+
showColumns();
noteTableView.load(false);
scrollToCurrentGuid();
}
public void wideListView() {
- saveWindowState();
+ int sortCol = noteTableView.proxyModel.sortColumn();
+ int sortOrder = noteTableView.proxyModel.sortOrder().value();
+ Global.setSortColumn(sortCol);
+ Global.setSortOrder(sortOrder);
+
+ saveWindowState();
saveNoteColumnPositions();
saveNoteIndexWidth();
Global.setListView(Global.View_List_Wide);
noteTableView.repositionColumns();
noteTableView.resizeColumnWidths();
noteTableView.resizeRowHeights();
+
+ sortCol = Global.getSortColumn();
+ sortOrder = Global.getSortOrder();
+ noteTableView.sortByColumn(sortCol, SortOrder.resolve(sortOrder));
+
showColumns();
noteTableView.load(false);
scrollToCurrentGuid();
@SuppressWarnings("unused")
private void invalidateNoteCache(String guid, String content) {
String v = noteCache.remove(guid);
- if (content != null && !noteDirty) {
- //noteCache.put(guid, content);
- }
- if (guid.equals(currentNoteGuid) && !noteDirty)
+// if (guid.equals(currentNoteGuid) && !noteDirty)
refreshEvernoteNote(true);
}
// Signal received that a note guid has changed
@SuppressWarnings("unused")
private void noteGuidChanged(String oldGuid, String newGuid) {
if (noteCache.containsKey(oldGuid)) {
- String cache = noteCache.get(oldGuid);
- noteCache.put(newGuid, cache);
- noteCache.remove(oldGuid);
+ if (!oldGuid.equals(currentNoteGuid)) {
+ String cache = noteCache.get(oldGuid);
+ noteCache.put(newGuid, cache);
+ noteCache.remove(oldGuid);
+ } else {
+ noteCache.remove(oldGuid);
+ noteCache.put(newGuid, browserWindow.getContent());
+ }
}
+
listManager.updateNoteGuid(oldGuid, newGuid, false);
if (currentNoteGuid.equals(oldGuid)) {
if (currentNote != null)
currentNote.setGuid(newGuid);
currentNoteGuid = newGuid;
}
- if (externalWindows.containsKey(oldGuid)) {
+
+ if (externalWindows.containsKey(oldGuid)) {
ExternalBrowse b = externalWindows.get(oldGuid);
externalWindows.remove(oldGuid);
b.getBrowserWindow().getNote().setGuid(newGuid);
externalWindows.put(newGuid, b);
}
+
for (int i=0; i<listManager.getNoteIndex().size(); i++) {
if (listManager.getNoteIndex().get(i).getGuid().equals(newGuid)) {
noteTableView.proxyModel.addGuid(newGuid);
i=listManager.getNoteIndex().size();
}
}
+
if (listManager.getNoteTableModel().titleColors.containsKey(oldGuid)) {
int color = listManager.getNoteTableModel().titleColors.get(oldGuid);
listManager.getNoteTableModel().titleColors.put(newGuid, color);