/** Installs new model. */
private void installModel()
{
final GuidesSet guidesSet = model.getGuidesSet();
final StarzPreferences starzPreferences = model.getStarzPreferences();
final UserPreferences userPreferences = model.getUserPreferences();
userPreferences.addPropertyChangeListener(propertyChangeDispatcher);
starzPreferences.addPropertyChangeListener(propertyChangeDispatcher);
scoresCalculator.loadPreferences(starzPreferences);
ArticleFilterProtector.init();
navigator.setViewModel(model.getGuideModel());
navigator.guideSelected(model.getSelectedGuide());
navigator.feedSelected(model.getSelectedFeed());
navigator.setGuidesSet(guidesSet);
domainEventsListener = new DomainEventsListener(guidesSet);
searchFeedsManager = new SearchFeedsManager(guidesSet);
domainEventsListener.addDomainListener(searchFeedsManager);
if (eventNotifier != null) domainEventsListener.addDomainListener(eventNotifier);
domainEventsListener.addDomainListener(deletedObjectsRepository);
if (dockIconUnreadMonitor != null)
{
dockIconUnreadMonitor.setSet(guidesSet);
addControllerListener(dockIconUnreadMonitor.getMonitor());
domainEventsListener.addDomainListener(dockIconUnreadMonitor);
userPreferences.addPropertyChangeListener(dockIconUnreadMonitor);
FeedDisplayModeManager.getInstance().addListener(dockIconUnreadMonitor);
}
guidesListModel.setGuidesSet(guidesSet);
addDomainListener(guidesListModel.getDomainListener());
userPreferences.addPropertyChangeListener(guidesListModel.getUserPreferencesListener());
addControllerListener(guidesListModel.getControllerListener());
pinTagger.setUserPreferences(userPreferences);
// This listener should go after the searchFeedsManager
addDomainListener(autoSaver);
tagsSaver.setGuidesSet(guidesSet);
changeTagsStorage(userPreferences.getTagsStorage());
metaDataUpdater.setGuidesSet(guidesSet);
poller.setGuidesSet(guidesSet);
poller.update();