X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=src%2Fcx%2Ffbn%2Fnevernote%2FNeverNote.java;h=87e91fd072bb012540bf09572d51c0863cf54ea7;hb=64f85a5999340b549db3cabf0173d5701f786c7a;hp=bc58d73843457b35f40f4c8c68d575b27c55dc10;hpb=e4d5e8d71b2c7ac6e85c7086d81a399825d5d368;p=neighbornote%2FNeighborNote.git diff --git a/src/cx/fbn/nevernote/NeverNote.java b/src/cx/fbn/nevernote/NeverNote.java index bc58d73..87e91fd 100644 --- a/src/cx/fbn/nevernote/NeverNote.java +++ b/src/cx/fbn/nevernote/NeverNote.java @@ -212,9 +212,7 @@ public class NeverNote extends QMainWindow{ ApplicationLogger logger; List selectedNotebookGUIDs; // List of notebook GUIDs List selectedTagGUIDs; // List of selected tag GUIDs - String previousSelectedTag; // Tag that was selected last time List selectedNoteGUIDs; // List of selected notes - String previousSelectedNotebook; // Notebook selected last time String selectedSavedSearchGUID; // Currently selected saved searches private final HashMap externalWindows; // Notes being edited by an external window; @@ -668,14 +666,18 @@ public class NeverNote extends QMainWindow{ 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); @@ -950,8 +952,12 @@ public class NeverNote extends QMainWindow{ 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(); } @@ -1187,7 +1193,8 @@ public class NeverNote extends QMainWindow{ // 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"); } @@ -1210,65 +1217,36 @@ public class NeverNote extends QMainWindow{ menuBar.notebookIconAction.setEnabled(true); menuBar.notebookStackAction.setEnabled(true); List selections = notebookTree.selectedItems(); - QTreeWidgetItem currentSelection; selectedNotebookGUIDs.clear(); - if (!Global.mimicEvernoteInterface) { - for (int i=0; i 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 1) - previousSelectedTag = ""; listManager.setSelectedTags(selectedTagGUIDs); listManager.loadNotesIndex(); noteIndexUpdated(false); @@ -2539,6 +2508,9 @@ public class NeverNote extends QMainWindow{ // 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) { @@ -2548,8 +2520,6 @@ public class NeverNote extends QMainWindow{ noteCache.clear(); readOnlyCache.clear(); inkNoteCache.clear(); - QWebSettings.setMaximumPagesInCache(0); - QWebSettings.setObjectCacheCapacities(0, 0, 0); listManager.setEnSearch(""); listManager.loadNotesIndex(); @@ -3726,7 +3696,12 @@ public class NeverNote extends QMainWindow{ 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); @@ -3743,12 +3718,22 @@ public class NeverNote extends QMainWindow{ 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); @@ -3768,6 +3753,11 @@ public class NeverNote extends QMainWindow{ noteTableView.repositionColumns(); noteTableView.resizeColumnWidths(); noteTableView.resizeRowHeights(); + + sortCol = Global.getSortColumn(); + sortOrder = Global.getSortOrder(); + noteTableView.sortByColumn(sortCol, SortOrder.resolve(sortOrder)); + showColumns(); noteTableView.load(false); scrollToCurrentGuid(); @@ -4347,38 +4337,44 @@ public class NeverNote extends QMainWindow{ @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