Inheritance: MahTweets.Core.Interfaces.Notify
        public StreamConfigurationViewModel(
            IApplicationSettingsProvider applicationSettingsProvider,
            IGlobalExcludeSettings globalExcludeSettings,
            IAccountSettingsProvider accountSettingsProvider,
            IColumnsSettingsProvider columnsSettingsProvider,
            IContactService contactService)
        {
            _applicationSettingsProvider = applicationSettingsProvider;
            _accountSettingsProvider = accountSettingsProvider;
            _globalExcludeSettings = globalExcludeSettings;
            _columnsSettingsProvider = columnsSettingsProvider;
            _contactService = contactService;
            _scriptLibrary = CompositionManager.Get<IScriptingLibrarian>();

            ShowConfiguration = false;

            Filters = new StreamModel {Direction = ListSortDirection.Descending};
            FilterBefore = DateTime.Now.Subtract(new TimeSpan(365, 0, 0, 0, 0));

            ScriptFilters = _scriptLibrary.ScriptFilters;

            EditCommand = new DelegateCommand(SetEdit);
            CancelCommand = new DelegateCommand(CancelChanges);
            SaveCommand = new DelegateCommand(SaveChanges);
        }
 public void CreateNewStream(StreamModel f)
 {
     Model.CreateStream(f, null);
 }
        public void CreateStream(StreamModel f, String title, double columnWidth)
        {
            var model = _createStreamViewModel();
            model.Parent = this;

            if (f != null)
            {
                model.StreamConfiguration.Filters = f;
                if (string.IsNullOrEmpty(f.GroupName))
                {
                    model.Title = "New Column " + (StreamContainers.Count + 1);
                    model.StreamConfiguration.ShowConfiguration = true;
                }
                else
                {
                    model.Title = f.GroupName;
                }

                if (!FilterGroups.Contains(f))
                    FilterGroups.Add(f);
            }
            else
            {
                model.Title = title;
            }

            if (!StreamContainers.Contains(model))
                StreamContainers.Add(model);

            var container = new StreamView(model);

            model.View = container;
            model.Start();

            var showContainerPayload = new ShowContainerPayload(model);

            ShowContainer(showContainerPayload, null);

            container.Width = columnWidth;
            model.Width = columnWidth;
        }
 public void CreateStream(StreamModel f, String title)
 {
     CreateStream(f, title, DefaultStreamWidth);
 }
 public void CreateStream(StreamModel f)
 {
     CreateStream(f, null, DefaultStreamWidth);
 }
 private static XElement SerializeFilters(StreamModel f)
 {
     return new XElement("StreamModel", Serialization.Serialize(f, Serialization.SerializerType.Xml, null));
 }