return tabWindows;
}
- // 最後に開いていたノート群をセット
- public static void setLastViewedTabs(HashMap<Integer, String> tabs) {
+ // 最後に開いていたノート群を保存
+ public static void saveLastViewedTabs(HashMap<Integer, String> tabs) {
settings.beginGroup("General");
if (tabs != null) {
settings.setValue("lastViewedTabs", tabs);
}
settings.endGroup();
}
+
+ // 最後に開いていたタブのインデックスを取得
+ public static int getLastViewedTabIndex() {
+ settings.beginGroup("General");
+ Integer index;
+ try {
+ String val = (String) settings.value("lastViewedTabIndex", 0);
+ index = new Integer(val.trim());
+ } catch (Exception e) {
+ try {
+ index = (Integer) settings.value("lastViewedTabIndex", 0);
+ } catch (Exception e1) {
+ index = 0;
+ }
+ }
+ settings.endGroup();
+ return index;
+ }
+
+ // 最後に開いていたタブのインデックスを保存
+ public static void saveLastViewedTabIndex(Integer index) {
+ settings.beginGroup("General");
+ if (index != null) {
+ settings.setValue("lastViewedTabIndex", index);
+ } else {
+ settings.setValue("lastViewedTabIndex", 0);
+ }
+ settings.endGroup();
+ }
}
currentNote = conn.getNoteTable().getNote(currentNoteGuid, true,true,false,false,true);
}
- // タブのフォーカスをcurrentNoteGuidのノートに移す
+ // タブのフォーカスをlastViewedTabIndexに移す
if (tabBrowser.count() >= 2) {
- Collection<TabBrowse> tabBrowsers = tabWindows.values();
- Iterator<TabBrowse> tabBrowserIterator = tabBrowsers.iterator();
- Collection<Integer> tabIndexes = tabWindows.keySet();
- Iterator<Integer> tabIndexIterator = tabIndexes.iterator();
-
- while (tabBrowserIterator.hasNext()) {
- TabBrowse tab = tabBrowserIterator.next();
- int i = tabIndexIterator.next();
- String guid = tab.getBrowserWindow().getNote().getGuid();
- if (currentNoteGuid.equals(guid)) {
- tabBrowser.setCurrentIndex(i);
- break;
- }
- }
+ tabBrowser.setCurrentIndex(Global.getLastViewedTabIndex());
}
noteIndexUpdated(true);
Global.saveWindowMaximized(isMaximized());
Global.saveCurrentNoteGuid(currentNoteGuid);
+ Global.saveLastViewedTabIndex(tabBrowser.currentIndex());
// 開いていたタブ群をsettingsに保存しておく
Collection<TabBrowse> tabBrowsers = tabWindows.values();
while (tabIterator.hasNext()) {
TabBrowse tab = tabIterator.next();
int index = indexIterator.next();
- String guid = tab.getBrowserWindow().getNote().getGuid();
- tabs.put(index, guid);
+ if (tab.getBrowserWindow() != null && tab.getBrowserWindow().getNote() != null) {
+ String guid = tab.getBrowserWindow().getNote().getGuid();
+ tabs.put(index, guid);
+ }
}
- Global.setLastViewedTabs(tabs);
+ Global.saveLastViewedTabs(tabs);
int sortCol = noteTableView.proxyModel.sortColumn();
int sortOrder = noteTableView.proxyModel.sortOrder().value();