OSDN Git Service

メインメニューバーの「新しいタブでノート追加」表示制御も修正。 version0.1
authoryuki <kimaira7@gmail.com>
Wed, 10 Apr 2013 03:58:37 +0000 (12:58 +0900)
committeryuki <kimaira7@gmail.com>
Wed, 10 Apr 2013 03:58:37 +0000 (12:58 +0900)
src/cx/fbn/nevernote/NeverNote.java
src/cx/fbn/nevernote/gui/TableView.java

index 77d0164..6312510 100644 (file)
@@ -3568,10 +3568,6 @@ public class NeverNote extends QMainWindow{
        // toggle the add buttons
        newButton.setEnabled(!newButton.isEnabled());
        menuBar.noteAdd.setEnabled(newButton.isEnabled());
        // toggle the add buttons
        newButton.setEnabled(!newButton.isEnabled());
        menuBar.noteAdd.setEnabled(newButton.isEnabled());
-       menuBar.noteAddNewTab.setEnabled(newButton.isEnabled());
-               if (currentNoteGuid == null || currentNoteGuid.equals("")) {
-                       menuBar.noteAddNewTab.setEnabled(false);
-               }
        menuBar.noteAdd.setVisible(true);
        
        List<QTreeWidgetItem> selections = trashTree.selectedItems();
        menuBar.noteAdd.setVisible(true);
        
        List<QTreeWidgetItem> selections = trashTree.selectedItems();
@@ -3594,6 +3590,12 @@ public class NeverNote extends QMainWindow{
                                        
                Global.showDeleted = true;
        }
                                        
                Global.showDeleted = true;
        }
+       
+       menuBar.noteAddNewTab.setEnabled(newButton.isEnabled());
+               if (currentNoteGuid == null || currentNoteGuid.equals("")) {
+                       menuBar.noteAddNewTab.setEnabled(false);
+               }
+       
        listManager.loadNotesIndex();
        noteIndexUpdated(false);
 ////           browserWindow.setEnabled(newButton.isEnabled());
        listManager.loadNotesIndex();
        noteIndexUpdated(false);
 ////           browserWindow.setEnabled(newButton.isEnabled());
@@ -3660,7 +3662,6 @@ public class NeverNote extends QMainWindow{
                } else {
                        menuBar.noteAddNewTab.setEnabled(true);
                }
                } else {
                        menuBar.noteAddNewTab.setEnabled(true);
                }
-               System.out.println("currentNoteGuid = " + currentNoteGuid);
        menuBar.noteAdd.setVisible(true);
                trashTree.blockSignals(true);
                trashTree.clearSelection();
        menuBar.noteAdd.setVisible(true);
                trashTree.blockSignals(true);
                trashTree.clearSelection();
@@ -5450,6 +5451,7 @@ public class NeverNote extends QMainWindow{
                }
                if (selectedNoteGUIDs.size() == 0 && !currentNoteGuid.equals("")) 
                        selectedNoteGUIDs.add(currentNoteGuid);
                }
                if (selectedNoteGUIDs.size() == 0 && !currentNoteGuid.equals("")) 
                        selectedNoteGUIDs.add(currentNoteGuid);
+               closeTabs(selectedNoteGUIDs);
                for (int i=0; i<selectedNoteGUIDs.size(); i++) {
                        listManager.deleteNote(selectedNoteGUIDs.get(i));
                }
                for (int i=0; i<selectedNoteGUIDs.size(); i++) {
                        listManager.deleteNote(selectedNoteGUIDs.get(i));
                }
@@ -5485,6 +5487,7 @@ public class NeverNote extends QMainWindow{
                                }
                        }
                }
                                }
                        }
                }
+                       closeTabs(selectedNoteGUIDs);
                        listManager.expungeNote(selectedNoteGUIDs.get(i));
                        
                        // ICHANGED
                        listManager.expungeNote(selectedNoteGUIDs.get(i));
                        
                        // ICHANGED
@@ -5495,33 +5498,20 @@ public class NeverNote extends QMainWindow{
                }
        }
        currentNoteGuid = "";
                }
        }
        currentNoteGuid = "";
-       
-       // ICHANGED ↓↓↓ここから↓↓↓
-               // 削除したノートを外部ウィンドウで開いていたら、閉じる
-               Collection<ExternalBrowse>      windows = externalWindows.values();
-               Iterator<ExternalBrowse>        windowIterator = windows.iterator();
-               Collection<String>                      guids = externalWindows.keySet();
-               Iterator<String>                        guidIterator = guids.iterator();
-               List<ExternalBrowse>            closeWindows = new ArrayList<ExternalBrowse>(); // イテレータ操作中に中身をいじっちゃダメなので
-               
-               while (windowIterator.hasNext()) {
-                       ExternalBrowse browser = windowIterator.next();
-                       String guid = guidIterator.next();
-                       
-                       for (int i = 0; i < selectedNoteGUIDs.size(); i++) {
-                               if (guid.equals(selectedNoteGUIDs.get(i))) {
-                                       closeWindows.add(browser);
-                               }
-                       }
-               }
-               
-               for (int i = closeWindows.size() - 1; i >= 0; i--) {
-                       closeWindows.get(i).close();
+       closeExternalWindows(selectedNoteGUIDs);
+               if (currentNoteGuid == null || currentNoteGuid.equals("")) {
+                       menuBar.noteAddNewTab.setEnabled(false);
                }
                }
-               // ICHANGED ↑↑↑ここまで↑↑↑
                
                
-       // ICHANGED ↓↓↓ここから↓↓↓
-       // 削除したノートをタブで開いていたら、閉じる
+       listManager.loadNotesIndex();
+       noteIndexUpdated(false);
+       refreshEvernoteNote(true);
+       scrollToGuid(currentNoteGuid);
+       logger.log(logger.HIGH, "Leaving NeverNote.deleteNote");
+    }
+    
+    // 対象ノートをタブで開いていたら閉じる
+    private void closeTabs(List<String> noteGUIDs) {
                Collection<TabBrowse> tabBrowsers = tabWindows.values();
                Iterator<TabBrowse> tabIterator = tabBrowsers.iterator();
                Collection<Integer> tabIndexes = tabWindows.keySet();
                Collection<TabBrowse> tabBrowsers = tabWindows.values();
                Iterator<TabBrowse> tabIterator = tabBrowsers.iterator();
                Collection<Integer> tabIndexes = tabWindows.keySet();
@@ -5533,8 +5523,8 @@ public class NeverNote extends QMainWindow{
                        int index = indexIterator.next();
                        String guid = tab.getBrowserWindow().getNote().getGuid();
                        
                        int index = indexIterator.next();
                        String guid = tab.getBrowserWindow().getNote().getGuid();
                        
-                       for(int i = 0; i < selectedNoteGUIDs.size(); i++){
-                               if(guid.equals(selectedNoteGUIDs.get(i))){
+                       for(int i = 0; i < noteGUIDs.size(); i++){
+                               if(guid.equals(noteGUIDs.get(i))){
                                        closeIndexes.add(index);
                                }
                        }
                                        closeIndexes.add(index);
                                }
                        }
@@ -5543,20 +5533,33 @@ public class NeverNote extends QMainWindow{
                for(int i = closeIndexes.size() - 1; i >= 0; i--){
                        tabWindowClosing(closeIndexes.get(i));
                }
                for(int i = closeIndexes.size() - 1; i >= 0; i--){
                        tabWindowClosing(closeIndexes.get(i));
                }
-               // ICHANGED ↑↑↑ここまで↑↑↑              
-       
-               if (currentNoteGuid == null || currentNoteGuid.equals("")) {
-                       menuBar.noteAddNewTab.setEnabled(false);
+    }
+    
+    // 対象ノートを外部ウィンドウで開いていたら閉じる
+    private void closeExternalWindows(List<String> noteGUIDs) {
+               Collection<ExternalBrowse>      windows = externalWindows.values();
+               Iterator<ExternalBrowse>        windowIterator = windows.iterator();
+               Collection<String>                      guids = externalWindows.keySet();
+               Iterator<String>                        guidIterator = guids.iterator();
+               List<ExternalBrowse>            closeWindows = new ArrayList<ExternalBrowse>(); // イテレータ操作中に中身をいじっちゃダメなので
+               
+               while (windowIterator.hasNext()) {
+                       ExternalBrowse browser = windowIterator.next();
+                       String guid = guidIterator.next();
+                       
+                       for (int i = 0; i < noteGUIDs.size(); i++) {
+                               if (guid.equals(noteGUIDs.get(i))) {
+                                       closeWindows.add(browser);
+                               }
+                       }
                }
                
                }
                
-       listManager.loadNotesIndex();
-       noteIndexUpdated(false);
-       refreshEvernoteNote(true);
-       scrollToGuid(currentNoteGuid);
-       logger.log(logger.HIGH, "Leaving NeverNote.deleteNote");
+               for (int i = closeWindows.size() - 1; i >= 0; i--) {
+                       closeWindows.get(i).close();
+               }
     }
     }
+    
     // Add a new note
     // Add a new note
-    // ICHANGED @SuppressWarnings("unused") を削除
        private void addNote() {
        logger.log(logger.HIGH, "Inside NeverNote.addNote");
 //     browserWindow.setEnabled(true);
        private void addNote() {
        logger.log(logger.HIGH, "Inside NeverNote.addNote");
 //     browserWindow.setEnabled(true);
index 14c91c0..c26e605 100644 (file)
@@ -402,7 +402,6 @@ public class TableView extends QTableView {
        
        @Override
        public void contextMenuEvent(QContextMenuEvent event) {
        
        @Override
        public void contextMenuEvent(QContextMenuEvent event) {
-               // ICHANGED QMenu から NoteTableContextMenu へ
                QMenu menu = new QMenu(this);
                
                // ICHANGED
                QMenu menu = new QMenu(this);
                
                // ICHANGED
@@ -428,7 +427,6 @@ public class TableView extends QTableView {
                menu.addAction(noteHistoryAction);
                menu.addAction(mergeNotesAction);
                
                menu.addAction(noteHistoryAction);
                menu.addAction(mergeNotesAction);
                
-               // ICHANGED QMenu から NoteTableContextMenu へ
                QMenu titleColorMenu = new QMenu(this);
                
                titleColorMenu.setTitle(tr("Title Color"));
                QMenu titleColorMenu = new QMenu(this);
                
                titleColorMenu.setTitle(tr("Title Color"));