Exemplo n.º 1
0
 public static void saveToHistory(SearchSetting s) {
   if (searchHistory.isEmpty() || !s.equals(searchHistory.getFirst())) {
     searchHistory.addFirst(new SearchSetting(s));
   } else if (searchHistory.contains(s)) {
     // move existing entry to front, fixes #8032 - search history loses entries when re-using
     // queries
     searchHistory.remove(s);
     searchHistory.addFirst(new SearchSetting(s));
   }
   int maxsize = Main.pref.getInteger("search.history-size", DEFAULT_SEARCH_HISTORY_SIZE);
   while (searchHistory.size() > maxsize) {
     searchHistory.removeLast();
   }
   Set<String> savedHistory = new LinkedHashSet<>(searchHistory.size());
   for (SearchSetting item : searchHistory) {
     savedHistory.add(item.writeToString());
   }
   Main.pref.putCollection("search.history", savedHistory);
 }