@Override public void load() throws AccessDeniedException { source.load(); } };
@Override public void collectionItemAdded(final Host item) { source.add(item); }
protected void load(Collection<Host> c) { this.addAll(c); this.collectionLoaded(); }
@Override public void selectionDidChange(NSNotification notification) { addBookmarkButton.setEnabled(bookmarkModel.getSource().allowsAdd()); final int selected = bookmarkTable.numberOfSelectedRows().intValue(); editBookmarkButton.setEnabled(bookmarkModel.getSource().allowsEdit() && selected == 1); deleteBookmarkButton.setEnabled(bookmarkModel.getSource().allowsDelete() && selected > 0); }
@Override public void cleanup(final Path workdir) { if(null != workdir) { final HistoryCollection history = HistoryCollection.defaultCollection(); if(history.isLoaded()) { history.add(bookmark); } // Notify changed bookmark final AbstractHostCollection bookmarks = FolderBookmarkCollection.favoritesCollection(); if(bookmarks.isLoaded()) { if(bookmarks.contains(bookmark)) { bookmarks.collectionItemChanged(bookmark); } } } }
source.add(row.intValue(), h); view.selectRowIndexes(NSIndexSet.indexSetWithIndex(row), false); view.scrollRowToVisible(row); source.add(row.intValue(), HostReaderFactory.get().read(f)); view.selectRowIndexes(NSIndexSet.indexSetWithIndex(row), true); view.scrollRowToVisible(row); final Host h = source.get(row.intValue()); if(null == host) { host = h; if(StringUtils.isNotBlank(url)) { final Host h = HostParser.parse(url); source.add(row.intValue(), h); view.selectRowIndexes(NSIndexSet.indexSetWithIndex(row), true); view.scrollRowToVisible(row); source.add(row.intValue(), duplicate); duplicates.add(duplicate); int index = source.indexOf(bookmark); view.selectRowIndexes(NSIndexSet.indexSetWithIndex(new NSInteger(index)), true); view.scrollRowToVisible(new NSInteger(index)); int insert = row.intValue(); for(Host bookmark : pasteboard) { int previous = source.indexOf(bookmark); if(previous == insert) {
@Override public void save(final Host bookmark, final Local directory) { if(!directory.exists()) { return; } if(log.isInfoEnabled()) { log.info(String.format("Save default download folder %s for bookmark %s", directory, bookmark)); } bookmark.setDownloadFolder(directory); if(collection.contains(bookmark)) { collection.collectionItemChanged(bookmark); } } }
if(!source.isLoaded()) { browserSpinner.startAnimation(null); source.addListener(new AbstractCollectionListener<Host>() { @Override public void collectionLoaded() { this.reloadBookmarks(); if(this.isMounted()) { int row = this.bookmarkModel.getSource().indexOf(pool.getHost()); if(row != -1) { this.bookmarkTable.selectRowIndexes(NSIndexSet.indexSetWithIndex(new NSInteger(row)), false);
for(final Host bookmark : source) { if(filter.accept(bookmark)) { filtered.add(bookmark); filtered.addListener(new CollectionListener<Host>() { @Override public void collectionLoaded() {
@Override public boolean allowsEdit() { for(AbstractHostCollection c : this) { if(!c.allowsEdit()) { return false; } } return true; } }
@Override public void collectionItemChanged(final Host item) { source.collectionItemChanged(item); } });
@Override public boolean allowsDelete() { for(AbstractHostCollection c : this) { if(!c.allowsDelete()) { return false; } } return true; }
public void addBookmark(Host item) { bookmarkModel.setFilter(null); bookmarkModel.getSource().add(item); final int row = bookmarkModel.getSource().lastIndexOf(item); final NSInteger index = new NSInteger(row); bookmarkTable.selectRowIndexes(NSIndexSet.indexSetWithIndex(index), false); bookmarkTable.scrollRowToVisible(index); final BookmarkController c = BookmarkControllerFactory.create(bookmarks, item); c.window().makeKeyAndOrderFront(null); }
@Override public boolean allowsAdd() { for(AbstractHostCollection c : this) { if(!c.allowsAdd()) { return false; } } return true; }
@Override public void save() { source.save(); }
@Override public void collectionLoaded() { source.collectionLoaded(); }
@Override public void cleanup() { for(ThirdpartyBookmarkCollection t : collections) { t.filter(bookmarks); if(t.isEmpty()) { preferences.setProperty(t.getConfiguration(), true); continue; } final NSAlert alert = NSAlert.alert( MessageFormat.format(LocaleFactory.localizedString("Import {0} Bookmarks", "Configuration"), t.getName()), MessageFormat.format(LocaleFactory.localizedString("{0} bookmarks found. Do you want to add these to your bookmarks?", "Configuration"), t.size()), LocaleFactory.localizedString("Import", "Configuration"), //default null, //other LocaleFactory.localizedString("Cancel", "Configuration")); alert.setShowsSuppressionButton(true); alert.suppressionButton().setTitle(LocaleFactory.localizedString("Don't ask again", "Configuration")); alert.setAlertStyle(NSAlert.NSInformationalAlertStyle); int choice = new AlertSheetReturnCodeMapper().getOption(alert.runModal()); //alternate if(alert.suppressionButton().state() == NSCell.NSOnState) { // Never show again. preferences.setProperty(t.getConfiguration(), true); } if(choice == SheetCallback.DEFAULT_OPTION) { bookmarks.addAll(t); // Flag as imported preferences.setProperty(t.getConfiguration(), true); } } } }
return controller.getBookmarkModel().getSource().allowsAdd(); return controller.getBookmarkModel().getSource().allowsDelete() && controller.getBookmarkTable().selectedRow().intValue() != -1; return controller.getBookmarkModel().getSource().allowsEdit() && controller.getBookmarkTable().numberOfSelectedRows().intValue() == 1; return controller.getBookmarkModel().getSource().allowsEdit() && controller.getBookmarkTable().numberOfSelectedRows().intValue() == 1;
@Override public void save(final Host bookmark, final Local directory) { if(!directory.exists()) { return; } if(log.isInfoEnabled()) { log.info(String.format("Save default upload folder %s for bookmark %s", directory, bookmark)); } bookmark.setUploadFolder(directory); if(collection.contains(bookmark)) { collection.collectionItemChanged(bookmark); } } }